From admin at opensuse.org Fri May 1 01:40:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 01 May 2020 01:40:56 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eab7e45aa336_97e2b20445445f4763312@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 744s] | CONFIG_LINKS = [ 744s] | CONFIG_COMMANDS = [ 744s] | $ ./config.status Doxyfile.core [ 744s] | [ 744s] | on obs-arm-5 [ 744s] | [ 744s] | config.status:1341: creating Doxyfile.core [ 744s] [ 744s] # -*- compilation -*- [ 744s] 59. testsuite.at:372: testing exec ... [ 744s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 744s] --- experr 2020-05-01 01:40:36.960000000 +0000 [ 744s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-05-01 01:40:36.960000000 +0000 [ 744s] @@ -1 +0,0 @@ [ 744s] -MAHLZEIT=spaet [ 744s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 744s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 744s] make[1]: *** [override_dh_auto_test] Error 1 [ 744s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 744s] debian/rules:15: recipe for target 'build' failed [ 744s] make: *** [build] Error 2 [ 744s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 744s] ### VM INTERACTION START ### [ 746s] [ 728.341575] sysrq: SysRq : Power Off [ 746s] [ 728.343579] reboot: Power down [ 746s] ### VM INTERACTION END ### [ 746s] [ 746s] obs-arm-5 failed "build libosmocore_1.3.0.72.d87d.dsc" at Fri May 1 01:40:42 UTC 2020. [ 746s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 1 07:09:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:09:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 ) Change subject: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id91ed01759c3e1e2b52f1e35b1f4198fbc052408 Gerrit-Change-Number: 17985 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:09:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 07:10:27 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:10:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi unin... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 ) Change subject: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi uninitialized instead of omit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id63ae66cd715512f12eb87fd9ff0a9f5af93d5d2 Gerrit-Change-Number: 17986 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:10:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 07:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:12:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 ) Change subject: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieb061d2914be086791e264a78ae14d3d55e10815 Gerrit-Change-Number: 17987 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:12:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 07:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:13:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul Hdea... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 ) Change subject: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul HdeaderType3 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id0f7cb29cf3a30aafdaaed2aca7d34277e3c975d Gerrit-Change-Number: 17988 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:13:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 07:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:15:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 ) Change subject: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffe45b3d220c0f95f1fdb54e1b90f0a0cef88ee3 Gerrit-Change-Number: 17989 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:15:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 07:21:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 1 May 2020 07:21:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 ) Change subject: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4dfc994beb7d0ee5522770651150c77701c573fe Gerrit-Change-Number: 17990 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 07:21:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 1 07:23:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 01 May 2020 07:23:30 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eabce884e761_97e2b20445445f480022e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 472s] ^~~~~~~~~~~~~~~~~~~ [ 472s] main.c: In function 'main': [ 472s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 472s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 472s] ^~~~~~~~~~~~~~~~~~~ [ 472s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 472s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 472s] ^ [ 472s] cc1: some warnings being treated as errors [ 472s] Makefile:469: recipe for target 'main.o' failed [ 472s] make[3]: *** [main.o] Error 1 [ 472s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 472s] Makefile:402: recipe for target 'all-recursive' failed [ 472s] make[2]: *** [all-recursive] Error 1 [ 472s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 472s] Makefile:349: recipe for target 'all' failed [ 472s] make[1]: *** [all] Error 2 [ 472s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 472s] dh_auto_build: make -j1 returned exit code 2 [ 472s] debian/rules:45: recipe for target 'build' failed [ 472s] make: *** [build] Error 2 [ 472s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 472s] ### VM INTERACTION START ### [ 475s] [ 456.630044] sysrq: SysRq : Power Off [ 475s] [ 456.670316] reboot: Power down [ 476s] ### VM INTERACTION END ### [ 476s] [ 476s] armbuild24 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Fri May 1 07:23:24 UTC 2020. [ 476s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 1 13:54:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 1 May 2020 13:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec.cc: Fix egprs data block encode alignment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 ) Change subject: RLCMAC_EncDec.cc: Fix egprs data block encode alignment ...................................................................... RLCMAC_EncDec.cc: Fix egprs data block encode alignment Selftests I'm using in the pcu testsuite to verify encoding are attached too. Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865 --- M library/RLCMAC_EncDec.cc M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 4 files changed, 209 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/17992/1 diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 8f3ff2f..d25a7e0 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -2,6 +2,7 @@ #include #include "RLCMAC_Types.hh" +#include "RLCMAC_Templates.hh" #include "GSM_Types.hh" /* Decoding of TS 44.060 GPRS RLC/MAC blocks, portions requiring manual functions * beyond what TITAN RAW coder can handle internally. @@ -172,6 +173,22 @@ #endif } __attribute__ ((packed)); +/* +static const char hex_chars[] = "0123456789abcdef"; +void printbuffer(const char* ptr, TTCN_Buffer& buf) { + int len = buf.get_len(); + const unsigned char* cbuf = buf.get_data(); + + fprintf(stderr, "printbuffer %s (len=%d): [", ptr, len); + + for (int i = 0; i < len; i++) { + fprintf(stderr, " %c%c", hex_chars[cbuf[i] >> 4], hex_chars[cbuf[i] & 0xf]); + } + + fprintf(stderr, " ]\n"); +} +*/ + static CodingScheme::enum_type payload_len_2_coding_scheme(size_t payload_len) { switch (payload_len) { case 23: @@ -294,7 +311,7 @@ hdr_bytes = offset_bits / 8; extra_bits = offset_bits % 8; - fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + //fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); if (extra_bits == 0) { /* It is aligned already */ @@ -324,9 +341,8 @@ size_t length_bytes = (initial_spare_bits + length_bits + 7) / 8; size_t accepted_len = length_bytes; - fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); + //fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); dst_ttcn_buffer.get_end(aligned_buf, accepted_len); - fprintf(stderr, "RLMAC: For dst ptr=%p with length=%zu\n", aligned_buf, accepted_len); if (accepted_len < length_bytes) { fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); } @@ -337,14 +353,90 @@ orig_ttcn_buffer.get_data(), aligned_buf); - fprintf(stderr, "RLMAC: clone_aligned_buffer_lsbf success\n"); - /* clear spare bits and move block header bits to the right */ aligned_buf[0] = aligned_buf[0] >> initial_spare_bits; dst_ttcn_buffer.increase_length(length_bytes); } +/* bit-shift the entire 'src' of length 'length_bytes' + * and store the result to caller-allocated 'buffer' by 'offset_bits'. The shifting is + * done lsb-first. */ +static void clone_unaligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, + const uint8_t *src, uint8_t *buffer) +{ + unsigned int hdr_bytes; + unsigned int extra_bits; + unsigned int i; + + uint8_t c, last_hdr_c, last_c; + uint8_t *dst; + + hdr_bytes = offset_bits / 8; + extra_bits = offset_bits % 8; + + //fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + + if (extra_bits == 0) { + /* It is aligned already */ + memcpy(buffer, src + hdr_bytes, length_bytes); + return; + } + + /* Copy first header+data byte, it's not handled correctly by loop */ + dst = buffer + hdr_bytes; + last_hdr_c = *dst; + last_c = *dst << (8 - extra_bits); + + for (i = 0; i < length_bytes; i++) { + c = src[i]; + *(dst++) = (last_c >> (8 - extra_bits)) | (c << extra_bits); + last_c = c; + } + /* overwrite the lower extra_bits */ + *dst = (*dst & (0xff << extra_bits)) | (last_c >> (8 - extra_bits)); + + /* Copy back first header+data byte */ + dst = buffer + hdr_bytes; + *(dst++) = last_hdr_c | (src[0] << (8 - extra_bits)); + *dst |= (src[0] >> (extra_bits)) & (0xff >> (8 - extra_bits)); +} + +/* put an (aligned) EGPRS data block with given bit-offset and + * bit-length into parent buffer */ +static void put_egprs_data_block(const TTCN_Buffer& aligned_data_block_buffer, unsigned int offset_bits, + unsigned int length_bits, TTCN_Buffer& dst_ttcn_buffer) +{ + const unsigned int initial_spare_bits = 6; + unsigned char *unaligned_buf = NULL; + char tmpbuf[120]; + int tmplen = dst_ttcn_buffer.get_len(); + //size_t max_length_bytes = (initial_spare_bits + length_bits + 7) / 8; + size_t length_bytes = tmplen + aligned_data_block_buffer.get_len(); + size_t accepted_len = length_bytes; + + //fprintf(stderr, "RLMAC: trying to allocate %u bytes\n", length_bytes); + + /* API .get_end() is the only one I could find to access writeable + memory in the buffer. It points to the end. Hence, we first copy + (readonly) data to tmpbuf and later clear() so that .get_end() + provides us with a pointer to the start of the buffer. */ + memcpy(tmpbuf, dst_ttcn_buffer.get_data(), tmplen); + dst_ttcn_buffer.clear(); + dst_ttcn_buffer.get_end(unaligned_buf, accepted_len); + if (accepted_len < tmplen) { + fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); + } + memcpy(unaligned_buf, tmpbuf, tmplen); + + /* Copy the data out of the tvb to an aligned buffer */ + clone_unaligned_buffer_lsbf( + offset_bits - initial_spare_bits, length_bytes, + aligned_data_block_buffer.get_data(), + unaligned_buf); + + dst_ttcn_buffer.increase_length(length_bytes); +} ///////////////////// // DECODE @@ -1078,8 +1170,15 @@ { RlcmacUlEgprsDataBlock in = si; OCTETSTRING ret_val; - TTCN_Buffer ttcn_buffer; + TTCN_Buffer ttcn_buffer, aligned_buffer; int i; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + CodingScheme mcs; + boolean tlli_ind, e; + + mcs = RLCMAC__Templates::f__rlcmac__cps__htype__to__mcs(in.mac__hdr().cps(), in.mac__hdr().header__type()); + //fprintf(stderr, "RLCMAC: infered MCS %s (%d)\n", mcs.enum_to_str(static_cast(mcs.as_int())), mcs.as_int()); if (!in.blocks().is_bound()) { /* we don't have nay blocks: Add length value (zero) */ @@ -1109,10 +1208,14 @@ break; /* TODO: error */ } + /* Put first TI + E byte */ + aligned_buffer.put_c(tlli_ind << 1 | e << 0); /* M=0, E=1 LEN=0 */ + //printbuffer("After encoding first byte", aligned_buffer); + if (in.e() == false) { /* Add LI octets, if any */ if (!in.blocks().is_bound()) { - ttcn_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ + aligned_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ } else { for (i = 0; i < in.blocks().size_of(); i++) { #if 0 @@ -1138,28 +1241,38 @@ } #endif if (in.blocks()[i].hdr() != OMIT_VALUE) { - in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } } } } + + if (in.tlli__ind()) { - ttcn_buffer.put_string(in.tlli()); + aligned_buffer.put_string(in.tlli()); } if (in.mac__hdr().pfi__ind()) { - in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } + //printbuffer("Before encoding EgprsLlc payload", aligned_buffer); if (in.blocks().is_bound()) { for (i = 0; i < in.blocks().size_of(); i++) { if (!in.blocks()[i].is_bound()) continue; - ttcn_buffer.put_string(in.blocks()[i].payload()); + aligned_buffer.put_string(in.blocks()[i].payload()); } } + //printbuffer("After encoding EgprsLlc payload", aligned_buffer); + + setup_rlc_mac_priv(mcs, in.mac__hdr().header__type(), true, + &num_calls, &data_block_bits, data_block_offsets); + //printbuffer("before merging data block", ttcn_buffer); + put_egprs_data_block(aligned_buffer, data_block_offsets[0], data_block_bits, ttcn_buffer); + //printbuffer("after merging data block", ttcn_buffer); ttcn_buffer.get_string(ret_val); return ret_val; diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index d2174d7..38147f3 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -326,6 +326,31 @@ } } + /* Template for uplink Data block */ + template RlcmacUlBlock t_RLCMAC_UL_EGPRS_DATA(CodingScheme mcs, + template uint5_t tfi, template uint4_t cv, + template uint11_t bsn1, template EgprsLlcBlocks blocks := {}) := { + data_egprs := { + mac_hdr := { + header_type := f_rlcmac_mcs2headertype(mcs), + tfi := tfi, + countdown := cv, + foi_si := '0'B, + r_ri := '0'B, + bsn1 := bsn1, + cps := f_rlcmac_mcs_to_cps(mcs, 1, false), + pfi_ind := false, + rsb := '0'B, + spb := '00'B + }, + tlli_ind := false, + e := false, + tlli := omit, + pfi := omit, + blocks := blocks + } + } + template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template uint3_t usf) := { payload_type := pt, @@ -519,4 +544,11 @@ payload := data } + /* Template for a LlcBlock (part of a LLC frame inside RlcMacEgprs?lDataBlock */ + template EgprsLlcBlock t_RLCMAC_LLCBLOCK_EGPRS(octetstring data, boolean e := true) := { + /* let encoder figure out the header */ + hdr := omit, + payload := data + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3562925..c69101b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -187,7 +187,7 @@ } } -private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) +function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) runs on RAW_PCU_Test_CT { var RAW_PCUIF_CT vc_PCUIF; var RAW_PCU_BTS_CT vc_BTS; @@ -394,7 +394,7 @@ } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) runs on RAW_PCU_Test_CT { var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 3cdb4f4..15cdd80 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -17,12 +17,15 @@ import from NS_Emulation all; import from GPRS_Context all; import from Osmocom_Gb_Types all; +import from Osmocom_Types all; import from LLC_Types all; import from LLC_Templates all; import from L3_Templates all; import from GSM_RR_Types all; -import from RLCMAC_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; +import from PCU_Tests all; type component dummy_CT extends BSSGP_Client_CT { var NS_CT ns_component; @@ -249,6 +252,53 @@ f_rlcmac_ul_decenc(c_ul_dl_ack_nack); } +testcase TC_selftest_rlcmac_egprs() runs on RAW_PCU_Test_CT +{ + var octetstring data; + var CodingSchemeArray schemes := { + //MCS_0, + MCS_1, + MCS_2, + MCS_3, + MCS_4, + MCS_5, + MCS_6, + MCS_7, + MCS_8, + MCS_9 + }; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + log("Started Uplink test"); + for (var integer i := 0; i < sizeof(schemes); i := i+1) { + log("Testing Coding Schema ", schemes[i]); + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_EGPRS_DATA( + schemes[i], + tfi := 4, + cv := 1, /* num UL blocks to be sent (to be overridden in loop) */ + bsn1 := 2, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + ul_data.data_egprs.tlli := '00100101'O; + ul_data.data_egprs.blocks := { valueof(t_RLCMAC_LLCBLOCK_EGPRS('AABBCCDDEEFF00112233'O)) }; + + /* Encode the payload of DATA.ind */ + log("Encoding ", valueof(ul_data)); + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O); + + /* Send to PCU so that we get gsmtap traces to verify with wireshark */ + f_pcuif_tx_data_ind(data, 0, 0); + + log("Decoding ", schemes[i]); + ul_data := dec_RlcmacUlBlock(data); + log("Decoded: ", ul_data); + } + log("Done Uplink test"); +} + /////////////////// // RR selftest /////////////////// -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865 Gerrit-Change-Number: 17992 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:27:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:27:26 +0000 Subject: Change in mncc-python[master]: rtpsource: Modularize generation of RTP frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17978 ) Change subject: rtpsource: Modularize generation of RTP frames ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 Gerrit-Change-Number: 17978 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 01 May 2020 14:27:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:28:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:28:20 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 01 May 2020 14:28:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:28:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:28:32 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 01 May 2020 14:28:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:28:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:28:34 +0000 Subject: Change in mncc-python[master]: rtpsource: Modularize generation of RTP frames In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17978 ) Change subject: rtpsource: Modularize generation of RTP frames ...................................................................... rtpsource: Modularize generation of RTP frames Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 --- M rtpsource/Makefile M rtpsource/internal.h A rtpsource/rtp_provider.c A rtpsource/rtp_provider.h A rtpsource/rtp_provider_static.c M rtpsource/rtpsource.c 6 files changed, 230 insertions(+), 7 deletions(-) Approvals: osmith: Verified laforge: Looks good to me, approved diff --git a/rtpsource/Makefile b/rtpsource/Makefile index 9972325..2ede792 100644 --- a/rtpsource/Makefile +++ b/rtpsource/Makefile @@ -4,7 +4,7 @@ CFLAGS:= -g -Wall $(OSMO_CFLAGS) LIBS:= $(OSMO_LIBS) -rtpsource: rtpsource.o ctrl_if.o +rtpsource: rtpsource.o ctrl_if.o rtp_provider.o rtp_provider_static.o $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/rtpsource/internal.h b/rtpsource/internal.h index 13d07aa..a4501a2 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -8,6 +8,8 @@ DMAIN, }; +struct rtp_provider_instance; + struct rtp_connection { struct llist_head list; @@ -21,6 +23,7 @@ uint16_t remote_port; uint8_t rtp_pt; + struct rtp_provider_instance *rtp_prov_inst; }; struct rtpsource_state { diff --git a/rtpsource/rtp_provider.c b/rtpsource/rtp_provider.c new file mode 100644 index 0000000..0d2b9c6 --- /dev/null +++ b/rtpsource/rtp_provider.c @@ -0,0 +1,54 @@ +#include +#include +#include + +#include "rtp_provider.h" +#include "internal.h" + + +static LLIST_HEAD(g_providers); +static LLIST_HEAD(g_prov_instances); + +void rtp_provider_register(struct rtp_provider *prov) +{ + llist_add_tail(&prov->list, &g_providers); +} + +const struct rtp_provider *rtp_provider_find(const char *name) +{ + struct rtp_provider *p; + llist_for_each_entry(p, &g_providers, list) { + if (!strcmp(name, p->name)) + return p; + } + LOGP(DMAIN, LOGL_ERROR, "Couldn't find RTP provider '%s'\n", name); + return NULL; +} + +struct rtp_provider_instance * +rtp_provider_instance_alloc(void *ctx, const struct rtp_provider *provider, enum codec_type codec) +{ + struct rtp_provider_instance *pi; + + pi = talloc_zero(ctx, struct rtp_provider_instance); + if (!pi) + return NULL; + + pi->provider = provider; + pi->codec = codec; + llist_add_tail(&pi->list, &g_prov_instances); + + return pi; +} + +void rtp_provider_instance_free(struct rtp_provider_instance *pi) +{ + llist_del(&pi->list); + talloc_free(pi); +} + +int rtp_provider_instance_gen_frame(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size) +{ + OSMO_ASSERT(pi->provider); + return pi->provider->rtp_gen(pi, out, out_size); +} diff --git a/rtpsource/rtp_provider.h b/rtpsource/rtp_provider.h new file mode 100644 index 0000000..7048a3e --- /dev/null +++ b/rtpsource/rtp_provider.h @@ -0,0 +1,51 @@ +#pragma once +#include +#include + +enum codec_type { + CODEC_ULAW, + CODEC_ALAW, + CODEC_GSM_FR, + CODEC_GSM_EFR, + CODEC_GSM_HR, + CODEC_AMR_4_75, + CODEC_AMR_5_15, + CODEC_AMR_5_90, + CODEC_AMR_6_70, + CODEC_AMR_7_40, + CODEC_AMR_7_95, + CODEC_AMR_10_2, + CODEC_AMR_12_2, + CODEC_AMR_SID, + _NUM_CODECS +}; + +struct rtp_provider_instance; + +struct rtp_provider { + /* global list of RTP providers */ + struct llist_head list; + const char *name; + + /* generate the next RTP packet; return length in octests or negative on error */ + int (*rtp_gen)(struct rtp_provider_instance *inst, uint8_t *out, size_t out_size); +}; + +struct rtp_provider_instance { + /* entry in global list of RTP provider instances */ + struct llist_head list; + /* pointer to provider of which we are an instance */ + const struct rtp_provider *provider; + /* codec payload we are to generate */ + enum codec_type codec; + + /* private user data */ + void *priv; +}; + +void rtp_provider_register(struct rtp_provider *prov); +const struct rtp_provider *rtp_provider_find(const char *name); + +struct rtp_provider_instance *rtp_provider_instance_alloc(void *ctx, const struct rtp_provider *provider, enum codec_type codec); +void rtp_provider_instance_free(struct rtp_provider_instance *pi); +int rtp_provider_instance_gen_frame(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size); diff --git a/rtpsource/rtp_provider_static.c b/rtpsource/rtp_provider_static.c new file mode 100644 index 0000000..323e686 --- /dev/null +++ b/rtpsource/rtp_provider_static.c @@ -0,0 +1,107 @@ + +#include +#include +#include + +#include "rtp_provider.h" +#include "internal.h" + +static struct rtp_provider static_provider; + +static const uint8_t len4codec[_NUM_CODECS] = { + [CODEC_ULAW] = 160, + [CODEC_ALAW] = 160, + [CODEC_GSM_FR] = GSM_FR_BYTES, + [CODEC_GSM_EFR] = GSM_EFR_BYTES, + [CODEC_GSM_HR] = GSM_HR_BYTES, + [CODEC_AMR_4_75] = 12, + [CODEC_AMR_5_15] = 13, + [CODEC_AMR_5_90] = 15, + [CODEC_AMR_6_70] = 17, + [CODEC_AMR_7_40] = 19, + [CODEC_AMR_7_95] = 20, + [CODEC_AMR_10_2] = 26, + [CODEC_AMR_12_2] = 31, + [CODEC_AMR_SID] = 5, +}; + +/* generate a static / fixed RTP payload of matching codec/mode */ +static int rtp_gen_static(struct rtp_provider_instance *pi, uint8_t *out, size_t out_size) +{ + uint8_t len; + + OSMO_ASSERT(pi->provider == &static_provider); + + len = len4codec[pi->codec]; + if (out_size < len) { + LOGP(DMAIN, LOGL_ERROR, "out_size %zu < %u\n", out_size, len); + return -EINVAL; + } + + memset(out, 0, len); + + switch (pi->codec) { + case CODEC_ULAW: + case CODEC_ALAW: + break; + case CODEC_GSM_FR: + out[0] = (out[0] & 0x0f) | 0xD0; /* mask in first four bit for FR */ + break; + case CODEC_GSM_EFR: + out[0] = (out[0] & 0x0f) | 0xC0; /* mask in first four bit for EFR */ + break; + case CODEC_GSM_HR: + break; + case CODEC_AMR_4_75: + out[0] = 0 << 4; + out[1] = 0 << 3; + break; + case CODEC_AMR_5_15: + out[0] = 1 << 4; + out[1] = 1 << 3; + break; + case CODEC_AMR_5_90: + out[0] = 2 << 4; + out[1] = 2 << 3; + break; + case CODEC_AMR_6_70: + out[0] = 3 << 4; + out[1] = 3 << 3; + break; + case CODEC_AMR_7_40: + out[0] = 4 << 4; + out[1] = 4 << 3; + break; + case CODEC_AMR_7_95: + out[0] = 5 << 4; + out[1] = 5 << 3; + break; + case CODEC_AMR_10_2: + out[0] = 6 << 4; + out[1] = 6 << 3; + break; + case CODEC_AMR_12_2: + out[0] = 7 << 4; + out[1] = 7 << 3; + break; + case CODEC_AMR_SID: + out[0] = 2 << 4; /* CMR: 5.90 */ + out[0] = 8 << 3; + break; + default: + OSMO_ASSERT(0); + } + + return len; +} + + +static struct rtp_provider static_provider = { + .name = "static", + .rtp_gen = &rtp_gen_static, +}; + +static void __attribute__((constructor)) rtp_provider_static_constr(void) +{ + rtp_provider_register(&static_provider); +} diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 569d962..3087262 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -48,6 +48,7 @@ #include #include "internal.h" +#include "rtp_provider.h" /* find a connection based on its CNAME */ @@ -64,13 +65,18 @@ /* create a new RTP connection for given CNAME; includes binding of local RTP port */ struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname) { + const struct rtp_provider *rtp_prov; struct rtp_connection *conn; + enum codec_type codec = CODEC_GSM_FR; // TODO: configurable const char *host; int port; int rc; OSMO_ASSERT(!find_connection_by_cname(rss, cname)); + rtp_prov = rtp_provider_find("static"); // TODO: configurable + OSMO_ASSERT(rtp_prov); + conn = talloc_zero(rss, struct rtp_connection); OSMO_ASSERT(conn); conn->cname = talloc_strdup(conn, cname); @@ -90,6 +96,9 @@ osmo_rtp_set_source_desc(conn->rtp_sock, conn->cname, "rtpsource", NULL, NULL, NULL, "osmo-rtpsource", NULL); + conn->rtp_prov_inst = rtp_provider_instance_alloc(conn, rtp_prov, codec); + OSMO_ASSERT(conn->rtp_prov_inst); + llist_add_tail(&conn->list, &rss->connections); CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u\n", @@ -156,12 +165,11 @@ /* iterate over all RTP connections and send one frame each */ llist_for_each_entry(conn, &rss->connections, list) { - int i; - /* TODO: have different sources (file+name, ...) */ - uint8_t payload[33]; - memset(payload, 0, sizeof(payload)); - payload[0] = (payload[0] & 0x0f) | 0xD0; /* mask in first four bit for FR */ - osmo_rtp_send_frame_ext(conn->rtp_sock, payload, sizeof(payload), 160, false); + uint8_t payload[256]; + int i, len; + + len = rtp_provider_instance_gen_frame(conn->rtp_prov_inst, payload, sizeof(payload)); + osmo_rtp_send_frame_ext(conn->rtp_sock, payload, len, 160, false); /* make sure RTP clock advances correctly, even if we missed transmit of some */ for (i = 1; i < expire_count; i++) osmo_rtp_skipped_frame(conn->rtp_sock, 160); -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17978 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: Iad98e1753fef1927c0e8a7493372141372a38224 Gerrit-Change-Number: 17978 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:28:35 +0000 Subject: Change in mncc-python[master]: rtpsource: CTRL call rtp_create: add codec arg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17979 ) Change subject: rtpsource: CTRL call rtp_create: add codec arg ...................................................................... rtpsource: CTRL call rtp_create: add codec arg Instead of hardcoding FR in rtpsource, add an argument to set the codec from mncc_mt_loadgen.py via CTRL call rtp_create. Hardcode FR in mncc_mt_loadgen.py for now, a follow up patch will make it configurable there, too. Related: SYS#4924 Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 --- M mncc_mt_loadgen.py M rtpsource/ctrl_if.c M rtpsource/internal.h M rtpsource/rtp_provider.c M rtpsource/rtp_provider.h M rtpsource/rtpsource.c 6 files changed, 60 insertions(+), 11 deletions(-) Approvals: osmith: Verified laforge: Looks good to me, approved diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 021d619..5f15e3b 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -80,7 +80,8 @@ def on_receive(self, message): if message['type'] == 'rtp_create': - (res, var, val) = self._set_var('rtp_create', message['cname']) + val = '%s,%s' % (message['cname'], message['codec']) + (res, var, val) = self._set_var('rtp_create', val) v = val.split(',') # input looks like '1,127.23.23.23,37723' return {'cname': v[0], 'remote_host': v[1], 'remote_port': int(v[2])} elif message['type'] == 'rtp_connect': @@ -113,7 +114,8 @@ self.msisdn_called = msisdn_called self.msisdn_calling = msisdn_calling # allocate a RTP connection @ rtpsource - r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref}) + codec = "GSM_FR" # FIXME: make configurable + r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref, 'codec':codec}) self.ext_rtp_host = r['remote_host'] self.ext_rtp_port = r['remote_port'] # start the MNCC call FSM diff --git a/rtpsource/ctrl_if.c b/rtpsource/ctrl_if.c index 708fb02..b021e26 100644 --- a/rtpsource/ctrl_if.c +++ b/rtpsource/ctrl_if.c @@ -21,27 +21,52 @@ #include #include "internal.h" +#include "rtp_provider.h" CTRL_CMD_DEFINE_WO_NOVRF(rtp_create, "rtp_create"); static int set_rtp_create(struct ctrl_cmd *cmd, void *data) { struct rtp_connection *conn; - const char *cname = cmd->value; + const char *cname, *codec_str; + char *tmp, *saveptr; + enum codec_type codec; + + tmp = talloc_strdup(cmd, cmd->value); + OSMO_ASSERT(tmp); + + cname = strtok_r(tmp, ",", &saveptr); + codec_str = strtok_r(NULL, ",", &saveptr); + + if (!cname || !codec_str) { + cmd->reply = "Format is cname,codec"; + goto error; + } if (find_connection_by_cname(g_rss, cname)) { cmd->reply = "Connection already exists for cname"; - return CTRL_CMD_ERROR; + goto error; } - conn = create_connection(g_rss, cname); + codec = get_string_value(codec_type_names, codec_str); + if (codec < 0) { + cmd->reply = "Invalid codec name (try GSM_FR, GSM_EFR etc.)"; + goto error; + } + + conn = create_connection(g_rss, cname, codec); if (!conn) { cmd->reply = "Error creating RTP connection"; - return CTRL_CMD_ERROR; + goto error; } /* Respond */ cmd->reply = talloc_asprintf(cmd, "%s,%s,%d", conn->cname, conn->local_host, conn->local_port); + talloc_free(tmp); return CTRL_CMD_REPLY; + +error: + talloc_free(tmp); + return CTRL_CMD_ERROR; } CTRL_CMD_DEFINE_WO_NOVRF(rtp_connect, "rtp_connect"); diff --git a/rtpsource/internal.h b/rtpsource/internal.h index a4501a2..35f12d0 100644 --- a/rtpsource/internal.h +++ b/rtpsource/internal.h @@ -4,6 +4,8 @@ #include #include +enum codec_type; + enum { DMAIN, }; @@ -36,7 +38,7 @@ struct rtp_connection *find_connection_by_cname(struct rtpsource_state *rss, const char *cname); -struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname); +struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname, enum codec_type codec); int connect_connection(struct rtp_connection *conn, const char *remote_host, uint16_t remote_port, uint8_t pt); diff --git a/rtpsource/rtp_provider.c b/rtpsource/rtp_provider.c index 0d2b9c6..7e12db3 100644 --- a/rtpsource/rtp_provider.c +++ b/rtpsource/rtp_provider.c @@ -9,6 +9,24 @@ static LLIST_HEAD(g_providers); static LLIST_HEAD(g_prov_instances); +const struct value_string codec_type_names[] = { + { CODEC_ULAW, "ULAW" }, + { CODEC_ALAW, "ALAW" }, + { CODEC_GSM_FR, "GSM_FR" }, + { CODEC_GSM_EFR, "GSM_EFR" }, + { CODEC_GSM_HR, "GSM_HR" }, + { CODEC_AMR_4_75, "AMR_4_75" }, + { CODEC_AMR_5_15, "AMR_5_15" }, + { CODEC_AMR_5_90, "AMR_5_90" }, + { CODEC_AMR_6_70, "AMR_6_70" }, + { CODEC_AMR_7_40, "AMR_7_40" }, + { CODEC_AMR_7_95, "AMR_7_95" }, + { CODEC_AMR_10_2, "AMR_10_2" }, + { CODEC_AMR_12_2, "AMR_12_2" }, + { CODEC_AMR_SID, "AMR_SID" }, + { 0, NULL } +}; + void rtp_provider_register(struct rtp_provider *prov) { llist_add_tail(&prov->list, &g_providers); diff --git a/rtpsource/rtp_provider.h b/rtpsource/rtp_provider.h index 7048a3e..22ed858 100644 --- a/rtpsource/rtp_provider.h +++ b/rtpsource/rtp_provider.h @@ -1,6 +1,7 @@ #pragma once #include #include +#include enum codec_type { CODEC_ULAW, @@ -20,6 +21,8 @@ _NUM_CODECS }; +extern const struct value_string codec_type_names[]; + struct rtp_provider_instance; struct rtp_provider { diff --git a/rtpsource/rtpsource.c b/rtpsource/rtpsource.c index 3087262..d5ffce5 100644 --- a/rtpsource/rtpsource.c +++ b/rtpsource/rtpsource.c @@ -63,11 +63,10 @@ } /* create a new RTP connection for given CNAME; includes binding of local RTP port */ -struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname) +struct rtp_connection *create_connection(struct rtpsource_state *rss, const char *cname, enum codec_type codec) { const struct rtp_provider *rtp_prov; struct rtp_connection *conn; - enum codec_type codec = CODEC_GSM_FR; // TODO: configurable const char *host; int port; int rc; @@ -101,8 +100,8 @@ llist_add_tail(&conn->list, &rss->connections); - CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u\n", - conn->local_host, conn->local_port); + CLOGP(conn, DMAIN, LOGL_INFO, "Created RTP connection; local=%s:%u; codec=%s\n", + conn->local_host, conn->local_port, get_value_string(codec_type_names, codec)); return conn; -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17979 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: If75e902b451d7e202a03e93afcd55bd24f517813 Gerrit-Change-Number: 17979 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:28:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:28:35 +0000 Subject: Change in mncc-python[master]: mncc_mt_loadgen.py: add codec arg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/mncc-python/+/17980 ) Change subject: mncc_mt_loadgen.py: add codec arg ...................................................................... mncc_mt_loadgen.py: add codec arg Add codec parameter to start_call() and convenience functions mt_call() and calls() with FR as default. While at it, update the help text. Related: SYS#4924 Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 --- M mncc_mt_loadgen.py 1 file changed, 10 insertions(+), 7 deletions(-) Approvals: osmith: Verified laforge: Looks good to me, approved diff --git a/mncc_mt_loadgen.py b/mncc_mt_loadgen.py index 5f15e3b..e401fcb 100755 --- a/mncc_mt_loadgen.py +++ b/mncc_mt_loadgen.py @@ -109,12 +109,11 @@ self.state = 'NULL' self.rtp_msc = None - def start_call(self, msisdn_called, msisdn_calling): + def start_call(self, msisdn_called, msisdn_calling, codec): '''Start a MT call from given [external] calling party to given mobile party MSISDN''' self.msisdn_called = msisdn_called self.msisdn_calling = msisdn_calling # allocate a RTP connection @ rtpsource - codec = "GSM_FR" # FIXME: make configurable r = self.ctrl_act.ask({'type':'rtp_create', 'cname':self.callref, 'codec':codec}) self.ext_rtp_host = r['remote_host'] self.ext_rtp_port = r['remote_port'] @@ -173,23 +172,27 @@ rtpctrl_act = RtpSourceCtrlActor.start(RTPSOURCE_CTRL_IP, RTPSOURCE_CTRL_PORT) # convenience wrapper -def mt_call(msisdn_called, msisdn_calling = '123456789', codecs = GSM48.AllCodecs): +def mt_call(msisdn_called, msisdn_calling='123456789', codecs=GSM48.AllCodecs, codec='GSM_FR'): call_conn = MTCallRtpsource.start(mncc_act, rtpctrl_act, codecs).proxy() - call_conn.start_call(msisdn_called, msisdn_calling) + call_conn.start_call(msisdn_called, msisdn_calling, codec) return call_conn -def calls(nr, ramp=1.0): +def calls(nr, ramp=1.0, codec='GSM_FR'): for i in range(nr): a = 90001 + i a = str(a) print("%d: mt_call(%r)" % (i, a)) - mt_call(a) + mt_call(a, codec=codec) time.sleep(ramp) log.info("") log.info("") -log.info("Start calls by typing:") +log.info("Start a single call by typing:") log.info(" mt_call('90001')") +log.info("With a specific codec (default is 'GSM_FR'):") +log.info(" mt_call('90001', codec='GSM_EFR')") +log.info("Start multiple calls with (e.g. 4 calls with EFR):") +log.info(" calls(4, codec='GSM_EFR')") log.info("") log.info("") -- To view, visit https://gerrit.osmocom.org/c/mncc-python/+/17980 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: mncc-python Gerrit-Branch: master Gerrit-Change-Id: I5879b8b9ccc63908b9f6629487e66eff1e4a1ab4 Gerrit-Change-Number: 17980 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:29:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:29:58 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 4 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: Fri, 01 May 2020 14:29:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:33:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:33:00 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 6: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c at 44 PS6, Line 44: GSM_TCHF_FRAME I think this implicitly means FR. Other codecs use other types (GSM_TCHF_FRAME_{HR,EFR}, GSM_TCHH_FRAME, GSM_TCHH_FRAME_AMR). Either add that code to the current patch, or do it in a separate patch. If it's separate, please document the limitation of this implementation in the commitlog and make a big fat comment here. Better even have an assert or an error printf if the tch_mode is not FR. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 01 May 2020 14:33:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:33:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:33:21 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... Patch Set 31: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 31 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: Fri, 01 May 2020 14:33:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:34:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:34:08 +0000 Subject: Change in osmo-hlr[master]: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 11 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: Fri, 01 May 2020 14:34:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:34:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:34:55 +0000 Subject: Change in osmo-hlr[master]: gsup client: add up_down_cb(), add osmo_gsup_client_create3() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16206 ) Change subject: gsup client: add up_down_cb(), add osmo_gsup_client_create3() ...................................................................... Patch Set 31: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f181e42b678465bc9945f192559dc57d2083c6d Gerrit-Change-Number: 16206 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:34:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:35:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:35:03 +0000 Subject: Change in osmo-hlr[master]: enlarge the GSUP message headroom In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16208 ) Change subject: enlarge the GSUP message headroom ...................................................................... Patch Set 31: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I7d86f2dadcae29fe1550ea2c9773394ab31a837b Gerrit-Change-Number: 16208 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:35:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:35:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:35:24 +0000 Subject: Change in osmo-hlr[master]: D-GSM 1/n: add mslookup server in osmo-hlr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16209 ) Change subject: D-GSM 1/n: add mslookup server in osmo-hlr ...................................................................... Patch Set 34: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ife4a61d71926d08f310a1aeed9d9f1974f64178b Gerrit-Change-Number: 16209 Gerrit-PatchSet: 34 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:35:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:35:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:35:46 +0000 Subject: Change in osmo-hlr[master]: D-GSM 2/n: implement mDNS method of mslookup server In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16257 ) Change subject: D-GSM 2/n: implement mDNS method of mslookup server ...................................................................... Patch Set 25: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5cae6459090588b4dd292be90a5e8903432669d2 Gerrit-Change-Number: 16257 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:35:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:36:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:36:01 +0000 Subject: Change in osmo-hlr[master]: D-GSM 3/n: implement roaming by mslookup in osmo-hlr In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16258 ) Change subject: D-GSM 3/n: implement roaming by mslookup in osmo-hlr ...................................................................... Patch Set 26: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I2fe453553c90e6ee527ed13a13089900efd488aa Gerrit-Change-Number: 16258 Gerrit-PatchSet: 26 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:36:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:36:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:36:20 +0000 Subject: Change in osmo-hlr[master]: gsup_server: send routing error back to the correct peer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16336 ) Change subject: gsup_server: send routing error back to the correct peer ...................................................................... Patch Set 17: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icafaedc11b5925149d338bdcb987ae985a7323d6 Gerrit-Change-Number: 16336 Gerrit-PatchSet: 17 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:36:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:32 +0000 Subject: Change in osmo-hlr[master]: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16205 ) Change subject: 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name ...................................................................... 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name These are seemingly orthogonal changes in one patch, because they are in fact sufficiently intertwined that we are not willing to spend the time to separate them. They are also refactoring changes, unlikely to make sense on their own. ** lu_fsm: Attempting to make luop.c keep state about incoming GSUP requests made me find shortcomings in several places: - since it predates osmo_fsm, it is a state machine that does not strictly enforce the order of state transitions or the right sequence of incoming events. - several places OSMO_ASSERT() on data received from the network. - modifies the subscriber state before a LU is accepted. - dead code about canceling a subscriber in a previous VLR. That would be a good thing to actually do, which should also be trivial now that we record vlr_name and sgsn_name, but I decided to remove the dead code for now. To both step up the LU game *and* make it easier for me to integrate osmo_gsup_req handling, I decided to create a lu_fsm, drawing from my, by now, ample experience of writing osmo_fsms. ** osmo_gsup_req: Prepare for D-GSM, where osmo-hlr will do proxy routing for remote HLRs / communicate with remote MSCs via a proxy: a) It is important that a response that osmo-hlr generates and that is sent back to a requesting MSC contains all IEs that are needed to route it back to the requester. Particularly source_name must become destination_name in the response to be able to even reach the requesting MSC. Other fields are also necessary to match, which were so far taken care of in individual numerous code paths. b) For some operations, the response to a GSUP request is generated asynchronously (like Update Location Request -> Response, or taking the response from an EUSE, or the upcoming proxying to a remote HLR). To be able to feed a request message's information back into the response, we must thus keep the request data around. Since struct osmo_gsup_message references a lot of external data, usually with pointers directly into the received msgb, it is not so trivial to pass GSUP message data around asynchronously, on its own. osmo_gsup_req is the combined solution for both a and b: it keeps all data for a GSUP message by taking ownership of the incoming msgb, and it provides an explicit API "forcing" callers to respond with osmo_gsup_req_respond(), so that all code paths trivially are definitely responding with the correct IEs set to match the request's routing (by using osmo_gsup_make_response() recently added to libosmocore). Adjust all osmo-hlr code paths to use *only* osmo_gsup_req to respond to incoming requests received on the GSUP server (above LU code being one of them). In fact, the same should be done on the client side. Hence osmo_gsup_req is implemented in a server/client agnostic way, and is placed in libosmo-gsupclient. As soon as we see routing errors in complex GSUP setups, using osmo_gsup_req in the related GSUP client is likely to resolve those problems without much thinking required beyond making all code paths use it. libosmo-gsupclient is hence added to osmo-hlr binary's own library dependencies. It would have been added by the D-GSM proxy routing anyway, we are just doing it a little sooner. ** cni_peer_id.c / osmo_ipa_name: We so far handle an IPA unit name as pointer + size, or as just pointer with implicit talloc size. To ease working with GSUP peer identification data, I require: - a non-allocated storage of an IPA Name. It brings the drawback of being size limited, but our current implementation is anyway only able to handle MSC and SGSN names of 31 characters (see struct hlr_subscriber). - a single-argument handle for IPA Name, - easy to use utility functions like osmo_ipa_name_to_str(), osmo_ipa_name_cmp(), and copying by simple assignment, a = b. Hence this patch adds a osmo_ipa_name in cni_peer_id.h and cni_peer_id.c. Heavily used in LU and osmo_gsup_req. Depends: libosmocore Id9692880079ea0f219f52d81b1923a76fc640566 Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 --- M configure.ac M include/Makefile.am A include/osmocom/gsupclient/gsup_req.h A include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_router.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_ussd.h M include/osmocom/hlr/logging.h A include/osmocom/hlr/lu_fsm.h D include/osmocom/hlr/luop.h M src/Makefile.am M src/db_hlr.c M src/gsup_router.c M src/gsup_send.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/gsup_req.c A src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/logging.c A src/lu_fsm.c D src/luop.c M tests/Makefile.am M tests/db/Makefile.am M tests/db/db_test.c M tests/db/db_test.err A tests/gsup/Makefile.am A tests/gsup/gsup_test.c A tests/gsup/gsup_test.err A tests/gsup/gsup_test.ok M tests/gsup_server/Makefile.am M tests/test_nodes.vty M tests/testsuite.at 37 files changed, 1,692 insertions(+), 865 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 73ff752..0e03ff0 100644 --- a/configure.ac +++ b/configure.ac @@ -204,6 +204,7 @@ tests/auc/Makefile tests/auc/gen_ts_55_205_test_sets/Makefile tests/gsup_server/Makefile + tests/gsup/Makefile tests/db/Makefile tests/db_upgrade/Makefile tests/mslookup/Makefile diff --git a/include/Makefile.am b/include/Makefile.am index 9827950..aeeb03f 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,7 +1,9 @@ SUBDIRS = osmocom nobase_include_HEADERS = \ + osmocom/gsupclient/ipa_name.h \ osmocom/gsupclient/gsup_client.h \ + osmocom/gsupclient/gsup_req.h \ osmocom/mslookup/mdns.h \ osmocom/mslookup/mdns_sock.h \ osmocom/mslookup/mslookup_client_fake.h \ diff --git a/include/osmocom/gsupclient/gsup_req.h b/include/osmocom/gsupclient/gsup_req.h new file mode 100644 index 0000000..c61483b --- /dev/null +++ b/include/osmocom/gsupclient/gsup_req.h @@ -0,0 +1,119 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#pragma once + +#include +#include + +struct osmo_gsup_req; + +#define LOG_GSUP_REQ_CAT_SRC(req, subsys, level, file, line, fmt, args...) \ + LOGPSRC(subsys, level, file, line, "GSUP %u: %s: IMSI-%s %s: " fmt, \ + (req) ? (req)->nr : 0, \ + (req) ? osmo_ipa_name_to_str(&(req)->source_name) : "NULL", \ + (req) ? (req)->gsup.imsi : "NULL", \ + (req) ? osmo_gsup_message_type_name((req)->gsup.message_type) : "NULL", \ + ##args) +#define LOG_GSUP_REQ_CAT(req, subsys, level, fmt, args...) \ + LOG_GSUP_REQ_CAT_SRC(req, subsys, level, __FILE__, __LINE__, fmt, ##args) + +#define LOG_GSUP_REQ_SRC(req, level, file, line, fmt, args...) \ + LOG_GSUP_REQ_CAT_SRC(req, DLGSUP, level, file, line, fmt, ##args) + +#define LOG_GSUP_REQ(req, level, fmt, args...) \ + LOG_GSUP_REQ_SRC(req, level, __FILE__, __LINE__, fmt, ##args) + +typedef void (*osmo_gsup_req_send_response_t)(struct osmo_gsup_req *req, struct osmo_gsup_message *response); + +/* Keep track of an incoming request, to route back a response when it is ready. + * Particularly, a GSUP response to a request must contain various bits of information that need to be copied from the + * request for proxy/routing to work and for session states to remain valid. That is the main reason why (almost) all + * GSUP request/response should go through an osmo_gsup_req, even if it is handled synchronously. + */ +struct osmo_gsup_req { + /* The incoming GSUP message in decoded form. */ + const struct osmo_gsup_message gsup; + + /* Decoding result code. If decoding failed, this will be != 0. */ + int decode_rc; + + /* The ultimate source of this message: the source_name form the GSUP message, or, if not present, then the + * immediate GSUP peer. GSUP messages going via a proxy reflect the initial source in the source_name. + * This source_name is implicitly added to the routes for the conn the message was received on. */ + struct osmo_ipa_name source_name; + + /* If the source_name is not an immediate GSUP peer, this is set to the closest intermediate peer between here + * and source_name. */ + struct osmo_ipa_name via_proxy; + + /* Identify this request by number, for logging. */ + unsigned int nr; + + /* osmo_gsup_req can be used by both gsup_server and gsup_client. The individual method of actually sending a + * GSUP message is provided by this callback. */ + osmo_gsup_req_send_response_t send_response_cb; + + /* User supplied data pointer, may be used to provide context to send_response_cb(). */ + void *cb_data; + + /* List entry that can be used to keep a list of osmo_gsup_req instances; not used directly by osmo_gsup_req.c, + * it is up to using implementations to keep a list. If this is non-NULL, osmo_gsup_req_free() calls + * llist_del() on this. */ + struct llist_head entry; + + /* A decoded GSUP message still points into the received msgb. For a decoded osmo_gsup_message to remain valid, + * we also need to keep the msgb. */ + struct msgb *msg; +}; + +struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_ipa_name *from_peer, struct msgb *msg, + osmo_gsup_req_send_response_t send_response_cb, void *cb_data, + struct llist_head *add_to_list); +void osmo_gsup_req_free(struct osmo_gsup_req *req); + +/*! See _osmo_gsup_req_respond() for details. + * Call _osmo_gsup_req_respond(), passing the caller's source file and line for logging. */ +#define osmo_gsup_req_respond(REQ, RESPONSE, ERROR, FINAL_RESPONSE) \ + _osmo_gsup_req_respond(REQ, RESPONSE, ERROR, FINAL_RESPONSE, __FILE__, __LINE__) +int _osmo_gsup_req_respond(struct osmo_gsup_req *req, struct osmo_gsup_message *response, + bool error, bool final_response, const char *file, int line); + +/*! See _osmo_gsup_req_respond_msgt() for details. + * Call _osmo_gsup_req_respond_msgt(), passing the caller's source file and line for logging. */ +#define osmo_gsup_req_respond_msgt(REQ, MESSAGE_TYPE, FINAL_RESPONSE) \ + _osmo_gsup_req_respond_msgt(REQ, MESSAGE_TYPE, FINAL_RESPONSE, __FILE__, __LINE__) +int _osmo_gsup_req_respond_msgt(struct osmo_gsup_req *req, enum osmo_gsup_message_type message_type, + bool final_response, const char *file, int line); + +/*! See _osmo_gsup_req_respond_err() for details. + * Log an error message, and call _osmo_gsup_req_respond_err(), passing the caller's source file and line for logging. + */ +#define osmo_gsup_req_respond_err(REQ, CAUSE, FMT, args...) do { \ + LOG_GSUP_REQ(REQ, LOGL_ERROR, "%s: " FMT "\n", \ + get_value_string(gsm48_gmm_cause_names, CAUSE), ##args); \ + _osmo_gsup_req_respond_err(REQ, CAUSE, __FILE__, __LINE__); \ + } while(0) +void _osmo_gsup_req_respond_err(struct osmo_gsup_req *req, enum gsm48_gmm_cause cause, + const char *file, int line); + +int osmo_gsup_make_response(struct osmo_gsup_message *reply, + const struct osmo_gsup_message *rx, bool error, bool final_response); + +size_t osmo_gsup_message_to_str_buf(char *buf, size_t bufsize, const struct osmo_gsup_message *msg); +char *osmo_gsup_message_to_str_c(void *ctx, const struct osmo_gsup_message *msg); diff --git a/include/osmocom/gsupclient/ipa_name.h b/include/osmocom/gsupclient/ipa_name.h new file mode 100644 index 0000000..73cd1fb --- /dev/null +++ b/include/osmocom/gsupclient/ipa_name.h @@ -0,0 +1,38 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#pragma once +#include +#include + +/*! IPA Name: Arbitrary length blob, not necessarily zero-terminated. + * In osmo-hlr, struct hlr_subscriber is mostly used as static reference and cannot serve as talloc context, which is + * why this is also implemented as a fixed-maximum-size buffer instead of a talloc'd arbitrary sized buffer. + * NOTE: The length of val may be extended in the future if it becomes necessary. + * At the time of writing, this holds IPA unit name strings of very limited length. + */ +struct osmo_ipa_name { + size_t len; + uint8_t val[128]; +}; + +int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len); +int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...); +int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b); +const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name); +const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name); diff --git a/include/osmocom/hlr/Makefile.am b/include/osmocom/hlr/Makefile.am index 77a8764..532fa5d 100644 --- a/include/osmocom/hlr/Makefile.am +++ b/include/osmocom/hlr/Makefile.am @@ -9,6 +9,6 @@ hlr_vty.h \ hlr_vty_subscr.h \ logging.h \ - luop.h \ + lu_fsm.h \ rand.h \ $(NULL) diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index c927099..5c627be 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -3,6 +3,8 @@ #include #include +#include + struct hlr; enum stmt_idx { @@ -151,13 +153,12 @@ int db_subscr_get_by_imei(struct db_context *dbc, const char *imei, struct hlr_subscriber *subscr); int db_subscr_nam(struct db_context *dbc, const char *imsi, bool nam_val, bool is_ps); int db_subscr_lu(struct db_context *dbc, int64_t subscr_id, - const char *vlr_or_sgsn_number, bool is_ps); + const struct osmo_ipa_name *vlr_name, bool is_ps, + const struct osmo_ipa_name *via_proxy); int db_subscr_purge(struct db_context *dbc, const char *by_imsi, bool purge_val, bool is_ps); -int hlr_subscr_nam(struct hlr *hlr, struct hlr_subscriber *subscr, bool nam_val, bool is_ps); - /*! Call sqlite3_column_text() and copy result to a char[]. * \param[out] buf A char[] used as sizeof() arg(!) and osmo_strlcpy() target. * \param[in] stmt An sqlite3_stmt*. @@ -168,3 +169,14 @@ const char *_txt = (const char *) sqlite3_column_text(stmt, idx); \ osmo_strlcpy(buf, _txt, sizeof(buf)); \ } while (0) + +/*! Call sqlite3_column_text() and copy result to a struct osmo_ipa_name. + * \param[out] ipa_name A struct osmo_ipa_name* to write to. + * \param[in] stmt An sqlite3_stmt*. + * \param[in] idx Index in stmt's returned columns. + */ +#define copy_sqlite3_text_to_ipa_name(ipa_name, stmt, idx) \ + do { \ + const char *_txt = (const char *) sqlite3_column_text(stmt, idx); \ + osmo_ipa_name_set_str(ipa_name, _txt); \ + } while (0) diff --git a/include/osmocom/hlr/gsup_router.h b/include/osmocom/hlr/gsup_router.h index 0fc10d0..ee12a2b 100644 --- a/include/osmocom/hlr/gsup_router.h +++ b/include/osmocom/hlr/gsup_router.h @@ -3,6 +3,8 @@ #include #include +struct osmo_ipa_name; + struct gsup_route { struct llist_head list; @@ -12,10 +14,12 @@ struct osmo_gsup_conn *gsup_route_find(struct osmo_gsup_server *gs, const uint8_t *addr, size_t addrlen); +struct osmo_gsup_conn *gsup_route_find_by_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name); struct gsup_route *gsup_route_find_by_conn(const struct osmo_gsup_conn *conn); /* add a new route for the given address to the given conn */ +int gsup_route_add_ipa_name(struct osmo_gsup_conn *conn, const struct osmo_ipa_name *ipa_name); int gsup_route_add(struct osmo_gsup_conn *conn, const uint8_t *addr, size_t addrlen); /* delete all routes for the given connection */ @@ -24,3 +28,6 @@ int osmo_gsup_addr_send(struct osmo_gsup_server *gs, const uint8_t *addr, size_t addrlen, struct msgb *msg); +int osmo_gsup_send_to_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name, struct msgb *msg); +int osmo_gsup_enc_send_to_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name, + const struct osmo_gsup_message *gsup); diff --git a/include/osmocom/hlr/gsup_server.h b/include/osmocom/hlr/gsup_server.h index 14f5013..149971a 100644 --- a/include/osmocom/hlr/gsup_server.h +++ b/include/osmocom/hlr/gsup_server.h @@ -5,6 +5,8 @@ #include #include #include +#include +#include #ifndef OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN #define OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN 43 /* TS 24.008 10.5.4.7 */ @@ -22,9 +24,6 @@ /* list of osmo_gsup_conn */ struct llist_head clients; - /* lu_operations list */ - struct llist_head *luop; - struct ipa_server_link *link; osmo_gsup_read_cb_t read_cb; struct llist_head routes; @@ -45,10 +44,15 @@ /* Set when Location Update is received: */ bool supports_cs; /* client supports OSMO_GSUP_CN_DOMAIN_CS */ bool supports_ps; /* client supports OSMO_GSUP_CN_DOMAIN_PS */ + + /* The IPA unit name received on this link. Routes with more unit names serviced by this link may exist in + * osmo_gsup_server->routes, but this is the name the immediate peer identified as in the IPA handshake. */ + struct osmo_ipa_name peer_name; }; struct msgb *osmo_gsup_msgb_alloc(const char *label); +struct osmo_gsup_req *osmo_gsup_conn_rx(struct osmo_gsup_conn *conn, struct msgb *msg); int osmo_gsup_conn_send(struct osmo_gsup_conn *conn, struct msgb *msg); int osmo_gsup_conn_ccm_get(const struct osmo_gsup_conn *clnt, uint8_t **addr, uint8_t tag); @@ -57,7 +61,6 @@ const char *ip_addr, uint16_t tcp_port, osmo_gsup_read_cb_t read_cb, - struct llist_head *lu_op_lst, void *priv); void osmo_gsup_server_destroy(struct osmo_gsup_server *gsups); diff --git a/include/osmocom/hlr/hlr.h b/include/osmocom/hlr/hlr.h index 0564518..5885600 100644 --- a/include/osmocom/hlr/hlr.h +++ b/include/osmocom/hlr/hlr.h @@ -24,10 +24,16 @@ #include #include +#include +#include #define HLR_DEFAULT_DB_FILE_PATH "hlr.db" struct hlr_euse; +struct osmo_gsup_conn; +enum osmo_gsup_message_type; + +extern struct osmo_tdef g_hlr_tdefs[]; struct hlr { /* GSUP server pointer */ @@ -43,6 +49,7 @@ /* Local bind addr */ char *gsup_bind_addr; + struct ipaccess_unit gsup_unit_name; struct llist_head euse_list; struct hlr_euse *euse_default; @@ -67,3 +74,4 @@ struct hlr_subscriber; void osmo_hlr_subscriber_update_notify(struct hlr_subscriber *subscr); +int hlr_subscr_nam(struct hlr *hlr, struct hlr_subscriber *subscr, bool nam_val, bool is_ps); diff --git a/include/osmocom/hlr/hlr_ussd.h b/include/osmocom/hlr/hlr_ussd.h index 08e810e..8b2e837 100644 --- a/include/osmocom/hlr/hlr_ussd.h +++ b/include/osmocom/hlr/hlr_ussd.h @@ -46,8 +46,8 @@ struct hlr_euse *euse); void ussd_route_del(struct hlr_ussd_route *rt); -int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup); -int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup); +void rx_proc_ss_req(struct osmo_gsup_req *req); +void rx_proc_ss_error(struct osmo_gsup_req *req); struct ss_session; struct ss_request; @@ -56,6 +56,5 @@ struct hlr_iuse { const char *name; /* call-back to be called for any incoming USSD messages for this IUSE */ - int (*handle_ussd)(struct osmo_gsup_conn *conn, struct ss_session *ss, - const struct osmo_gsup_message *gsup, const struct ss_request *req); + int (*handle_ussd)(struct ss_session *ss, const struct osmo_gsup_message *gsup, const struct ss_request *req); }; diff --git a/include/osmocom/hlr/logging.h b/include/osmocom/hlr/logging.h index 83f1acd..4e0a25c 100644 --- a/include/osmocom/hlr/logging.h +++ b/include/osmocom/hlr/logging.h @@ -9,6 +9,7 @@ DAUC, DSS, DMSLOOKUP, + DLU, }; extern const struct log_info hlr_log_info; diff --git a/include/osmocom/hlr/lu_fsm.h b/include/osmocom/hlr/lu_fsm.h new file mode 100644 index 0000000..2440185 --- /dev/null +++ b/include/osmocom/hlr/lu_fsm.h @@ -0,0 +1,22 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +void lu_rx_gsup(struct osmo_gsup_req *req); diff --git a/include/osmocom/hlr/luop.h b/include/osmocom/hlr/luop.h deleted file mode 100644 index 77a1dec..0000000 --- a/include/osmocom/hlr/luop.h +++ /dev/null @@ -1,81 +0,0 @@ -/* OsmoHLR TX/RX lu operations */ - -/* (C) 2017 sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Harald Welte - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#pragma once - -#include - -#include -#include - -#include -#include - -#define CANCEL_TIMEOUT_SECS 30 -#define ISD_TIMEOUT_SECS 30 - -enum lu_state { - LU_S_NULL, - LU_S_LU_RECEIVED, - LU_S_CANCEL_SENT, - LU_S_CANCEL_ACK_RECEIVED, - LU_S_ISD_SENT, - LU_S_ISD_ACK_RECEIVED, - LU_S_COMPLETE, -}; - -extern const struct value_string lu_state_names[]; - -struct lu_operation { - /*! entry in global list of location update operations */ - struct llist_head list; - /*! to which gsup_server do we belong */ - struct osmo_gsup_server *gsup_server; - /*! state of the location update */ - enum lu_state state; - /*! CS (false) or PS (true) Location Update? */ - bool is_ps; - /*! currently running timer */ - struct osmo_timer_list timer; - - /*! subscriber related to this operation */ - struct hlr_subscriber subscr; - /*! peer VLR/SGSN starting the request */ - uint8_t *peer; -}; - - -struct lu_operation *lu_op_alloc(struct osmo_gsup_server *srv); -struct lu_operation *lu_op_alloc_conn(struct osmo_gsup_conn *conn); -void lu_op_statechg(struct lu_operation *luop, enum lu_state new_state); -bool lu_op_fill_subscr(struct lu_operation *luop, struct db_context *dbc, - const char *imsi); -struct lu_operation *lu_op_by_imsi(const char *imsi, - const struct llist_head *lst); - -void lu_op_tx_error(struct lu_operation *luop, enum gsm48_gmm_cause cause); -void lu_op_tx_ack(struct lu_operation *luop); -void lu_op_tx_cancel_old(struct lu_operation *luop); -void lu_op_tx_insert_subscr_data(struct lu_operation *luop); -void lu_op_tx_del_subscr_data(struct lu_operation *luop); - -void lu_op_free(struct lu_operation *luop); diff --git a/src/Makefile.am b/src/Makefile.am index f858ff0..bfbe775 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -41,7 +41,6 @@ auc.c \ ctrl.c \ db.c \ - luop.c \ db_auc.c \ db_hlr.c \ gsup_router.c \ @@ -53,9 +52,11 @@ hlr_vty_subscr.c \ gsup_send.c \ hlr_ussd.c \ + lu_fsm.c \ $(NULL) osmo_hlr_LDADD = \ + $(top_builddir)/src/gsupclient/libosmo-gsup-client.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ @@ -71,6 +72,7 @@ logging.c \ rand_urandom.c \ dbd_decode_binary.c \ + $(srcdir)/gsupclient/ipa_name.c \ $(NULL) osmo_hlr_db_tool_LDADD = \ diff --git a/src/db_hlr.c b/src/db_hlr.c index b3e3887..fdac75f 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -36,8 +37,7 @@ #include #include #include -#include -#include +#include #define LOGHLR(imsi, level, fmt, args ...) LOGP(DAUC, level, "IMSI='%s': " fmt, imsi, ## args) @@ -734,7 +734,8 @@ * -EIO on database errors. */ int db_subscr_lu(struct db_context *dbc, int64_t subscr_id, - const char *vlr_or_sgsn_number, bool is_ps) + const struct osmo_ipa_name *vlr_name, bool is_ps, + const struct osmo_ipa_name *via_proxy) { sqlite3_stmt *stmt; int rc, ret = 0; @@ -746,7 +747,7 @@ if (!db_bind_int64(stmt, "$subscriber_id", subscr_id)) return -EIO; - if (!db_bind_text(stmt, "$number", vlr_or_sgsn_number)) + if (!db_bind_text(stmt, "$number", (char*)vlr_name->val)) return -EIO; /* execute the statement */ @@ -873,51 +874,3 @@ return ret; } - -/*! Update nam_cs/nam_ps in the db and trigger notifications to GSUP clients. - * \param[in,out] hlr Global hlr context. - * \param[in] subscr Subscriber from a fresh db_subscr_get_by_*() call. - * \param[in] nam_val True to enable CS/PS, false to disable. - * \param[in] is_ps True to enable/disable PS, false for CS. - * \returns 0 on success, ENOEXEC if there is no need to change, a negative - * value on error. - */ -int hlr_subscr_nam(struct hlr *hlr, struct hlr_subscriber *subscr, bool nam_val, bool is_ps) -{ - int rc; - struct lu_operation *luop; - struct osmo_gsup_conn *co; - bool is_val = is_ps? subscr->nam_ps : subscr->nam_cs; - - if (is_val == nam_val) { - LOGHLR(subscr->imsi, LOGL_DEBUG, "Already has the requested value when asked to %s %s\n", - nam_val ? "enable" : "disable", is_ps ? "PS" : "CS"); - return ENOEXEC; - } - - rc = db_subscr_nam(hlr->dbc, subscr->imsi, nam_val, is_ps); - if (rc) - return rc > 0? -rc : rc; - - /* If we're disabling, send a notice out to the GSUP client that is - * responsible. Otherwise no need. */ - if (nam_val) - return 0; - - /* FIXME: only send to single SGSN where latest update for IMSI came from */ - llist_for_each_entry(co, &hlr->gs->clients, list) { - luop = lu_op_alloc_conn(co); - if (!luop) { - LOGHLR(subscr->imsi, LOGL_ERROR, - "Cannot notify GSUP client, cannot allocate lu_operation," - " for %s:%u\n", - co && co->conn && co->conn->server? co->conn->server->addr : "unset", - co && co->conn && co->conn->server? co->conn->server->port : 0); - continue; - } - luop->subscr = *subscr; - lu_op_tx_del_subscr_data(luop); - lu_op_free(luop); - } - return 0; -} diff --git a/src/gsup_router.c b/src/gsup_router.c index adf3af7..ba71fe4 100644 --- a/src/gsup_router.c +++ b/src/gsup_router.c @@ -47,6 +47,11 @@ return NULL; } +struct osmo_gsup_conn *gsup_route_find_by_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name) +{ + return gsup_route_find(gs, ipa_name->val, ipa_name->len); +} + /*! Find a GSUP connection's route (to read the IPA address from the route). * \param[in] conn GSUP connection * \return GSUP route @@ -67,10 +72,15 @@ int gsup_route_add(struct osmo_gsup_conn *conn, const uint8_t *addr, size_t addrlen) { struct gsup_route *gr; + struct osmo_gsup_conn *exists_on_conn; /* Check if we already have a route for this address */ - if (gsup_route_find(conn->server, addr, addrlen)) - return -EEXIST; + exists_on_conn = gsup_route_find(conn->server, addr, addrlen); + if (exists_on_conn) { + if (exists_on_conn != conn) + return -EEXIST; + return 0; + } /* allocate new route and populate it */ gr = talloc_zero(conn->server, struct gsup_route); @@ -86,6 +96,11 @@ return 0; } +int gsup_route_add_ipa_name(struct osmo_gsup_conn *conn, const struct osmo_ipa_name *ipa_name) +{ + return gsup_route_add(conn, ipa_name->val, ipa_name->len); +} + /* delete all routes for the given connection */ int gsup_route_del_conn(struct osmo_gsup_conn *conn) { @@ -95,7 +110,7 @@ llist_for_each_entry_safe(gr, gr2, &conn->server->routes, list) { if (gr->conn == conn) { LOGP(DMAIN, LOGL_INFO, "Removing GSUP route for %s (GSUP disconnect)\n", - gr->addr); + osmo_quote_str_c(OTC_SELECT, (char*)gr->addr, talloc_total_size(gr->addr))); llist_del(&gr->list); talloc_free(gr); num_deleted++; diff --git a/src/gsup_send.c b/src/gsup_send.c index 29aeaa5..99fae93 100644 --- a/src/gsup_send.c +++ b/src/gsup_send.c @@ -42,7 +42,8 @@ conn = gsup_route_find(gs, addr, addrlen); if (!conn) { - DEBUGP(DLGSUP, "Cannot find route for addr %s\n", osmo_quote_str((const char*)addr, addrlen)); + LOGP(DLGSUP, LOGL_ERROR, + "Cannot find route for addr %s\n", osmo_quote_str((const char*)addr, addrlen)); msgb_free(msg); return -ENODEV; } @@ -50,3 +51,41 @@ return osmo_gsup_conn_send(conn, msg); } +/*! Send a msgb to a given address using routing. + * \param[in] gs gsup server + * \param[in] ipa_name IPA unit name of the client (SGSN, MSC/VLR, proxy). + * \param[in] msg message buffer + */ +int osmo_gsup_send_to_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name, struct msgb *msg) +{ + if (ipa_name->val[ipa_name->len - 1]) { + /* Is not nul terminated. But for legacy reasons we (still) require that. */ + if (ipa_name->len >= sizeof(ipa_name->val)) { + LOGP(DLGSUP, LOGL_ERROR, "IPA unit name is too long: %s\n", + osmo_ipa_name_to_str(ipa_name)); + return -EINVAL; + } + struct osmo_ipa_name ipa_name2 = *ipa_name; + ipa_name2.val[ipa_name->len] = '\0'; + ipa_name2.len++; + return osmo_gsup_addr_send(gs, ipa_name2.val, ipa_name2.len, msg); + } + return osmo_gsup_addr_send(gs, ipa_name->val, ipa_name->len, msg); +} + +int osmo_gsup_enc_send_to_ipa_name(struct osmo_gsup_server *gs, const struct osmo_ipa_name *ipa_name, + const struct osmo_gsup_message *gsup) +{ + struct msgb *msg = osmo_gsup_msgb_alloc("GSUP Tx"); + int rc; + rc = osmo_gsup_encode(msg, gsup); + if (rc) { + LOGP(DLGSUP, LOGL_ERROR, "IMSI-%s: Cannot encode GSUP: %s\n", + gsup->imsi, osmo_gsup_message_type_name(gsup->message_type)); + msgb_free(msg); + return -EINVAL; + } + + LOGP(DLGSUP, LOGL_DEBUG, "IMSI-%s: Tx: %s\n", gsup->imsi, osmo_gsup_message_type_name(gsup->message_type)); + return osmo_gsup_send_to_ipa_name(gs, ipa_name, msg); +} diff --git a/src/gsup_server.c b/src/gsup_server.c index ed1b285..ba2d456 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -26,10 +26,15 @@ #include #include #include +#include #include #include +#define LOG_GSUP_CONN(conn, level, fmt, args...) \ + LOGP(DLGSUP, level, "GSUP peer %s: " fmt, \ + (conn) ? osmo_ipa_name_to_str(&(conn)->peer_name) : "NULL", ##args) + struct msgb *osmo_gsup_msgb_alloc(const char *label) { struct msgb *msg = msgb_alloc_headroom(1024+16, 16, label); @@ -57,6 +62,57 @@ return 0; } +static void gsup_server_send_req_response(struct osmo_gsup_req *req, struct osmo_gsup_message *response) +{ + struct osmo_gsup_server *server = req->cb_data; + struct osmo_gsup_conn *conn; + struct msgb *msg = osmo_gsup_msgb_alloc("GSUP Tx"); + int rc; + + conn = gsup_route_find_by_ipa_name(server, &req->source_name); + if (!conn) { + LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP client that sent this request was disconnected, cannot respond\n"); + msgb_free(msg); + return; + } + + rc = osmo_gsup_encode(msg, response); + if (rc) { + LOG_GSUP_REQ(req, LOGL_ERROR, "Unable to encode: {%s}\n", + osmo_gsup_message_to_str_c(OTC_SELECT, response)); + msgb_free(msg); + return; + } + + rc = osmo_gsup_conn_send(conn, msg); + if (rc) + LOG_GSUP_CONN(conn, LOGL_ERROR, "Unable to send: %s\n", osmo_gsup_message_to_str_c(OTC_SELECT, response)); +} + +struct osmo_gsup_req *osmo_gsup_conn_rx(struct osmo_gsup_conn *conn, struct msgb *msg) +{ + struct osmo_gsup_req *req = osmo_gsup_req_new(conn->server, &conn->peer_name, msg, gsup_server_send_req_response, + conn->server, NULL); + if (!req) + return NULL; + + if (req->via_proxy.len) { + /* The source of the GSUP message is not the immediate GSUP peer, but that peer is our proxy for that + * source. Add it to the routes for this conn (so we can route responses back). */ + if (gsup_route_add_ipa_name(conn, &req->source_name)) { + LOG_GSUP_REQ(req, LOGL_ERROR, + "GSUP message received from %s via peer %s, but there already exists a" + " different route to this source, message is not routable\n", + osmo_ipa_name_to_str(&req->source_name), + osmo_ipa_name_to_str(&conn->peer_name)); + osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); + return NULL; + } + } + + return req; +} + static int osmo_gsup_conn_oap_handle(struct osmo_gsup_conn *conn, struct msgb *msg_rx) { @@ -202,10 +258,18 @@ return -EINVAL; } - gsup_route_add(clnt, addr, addr_len); + osmo_ipa_name_set(&clnt->peer_name, addr, addr_len); + gsup_route_add_ipa_name(clnt, &clnt->peer_name); return 0; } +static void osmo_gsup_conn_free(struct osmo_gsup_conn *conn) +{ + gsup_route_del_conn(conn); + llist_del(&conn->list); + talloc_free(conn); +} + static int osmo_gsup_server_closed_cb(struct ipa_server_conn *conn) { struct osmo_gsup_conn *clnt = (struct osmo_gsup_conn *)conn->data; @@ -213,10 +277,7 @@ LOGP(DLGSUP, LOGL_INFO, "Lost GSUP client %s:%d\n", conn->addr, conn->port); - gsup_route_del_conn(clnt); - llist_del(&clnt->list); - talloc_free(clnt); - + osmo_gsup_conn_free(clnt); return 0; } @@ -298,8 +359,7 @@ struct osmo_gsup_server * osmo_gsup_server_create(void *ctx, const char *ip_addr, uint16_t tcp_port, - osmo_gsup_read_cb_t read_cb, - struct llist_head *lu_op_lst, void *priv) + osmo_gsup_read_cb_t read_cb, void *priv) { struct osmo_gsup_server *gsups; int rc; @@ -325,8 +385,6 @@ if (rc < 0) goto failed; - gsups->luop = lu_op_lst; - return gsups; failed: @@ -390,8 +448,10 @@ int len; OSMO_ASSERT(gsup); + *gsup = (struct osmo_gsup_message){ + .message_type = OSMO_GSUP_MSGT_INSERT_DATA_REQUEST, + }; - gsup->message_type = OSMO_GSUP_MSGT_INSERT_DATA_REQUEST; osmo_strlcpy(gsup->imsi, imsi, sizeof(gsup->imsi)); if (msisdn_enc_size < OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN) diff --git a/src/gsupclient/Makefile.am b/src/gsupclient/Makefile.am index 4a449ec..38b1582 100644 --- a/src/gsupclient/Makefile.am +++ b/src/gsupclient/Makefile.am @@ -8,7 +8,11 @@ lib_LTLIBRARIES = libosmo-gsup-client.la -libosmo_gsup_client_la_SOURCES = gsup_client.c +libosmo_gsup_client_la_SOURCES = \ + ipa_name.c \ + gsup_client.c \ + gsup_req.c \ + $(NULL) libosmo_gsup_client_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined libosmo_gsup_client_la_LIBADD = $(TALLOC_LIBS) $(LIBOSMOCORE_LIBS) $(LIBOSMOABIS_LIBS) diff --git a/src/gsupclient/gsup_req.c b/src/gsupclient/gsup_req.c new file mode 100644 index 0000000..4a2ff23 --- /dev/null +++ b/src/gsupclient/gsup_req.c @@ -0,0 +1,410 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include +#include + +#include +#include + +#include + +/*! Create a new osmo_gsup_req record, decode GSUP and add to a provided list of requests. + * + * Rationales: + * + * - osmo_gsup_req makes it easy to handle GSUP requests asynchronously. Before this, a GSUP message struct would be + * valid only within a read callback function, and would not survive asynchronous handling, because the struct often + * points directly into the received msgb. An osmo_gsup_req takes ownership of the msgb and ensures that the data + * remains valid, so that it can easily be queued for later handling. + * - osmo_gsup_req unifies the composition of response messages to ensure that all IEs that identify it to belong to + * the initial request are preserved / derived, like the source_name, destination_name, session_id, etc (see + * osmo_gsup_make_response() for details). + * - Deallocation of an osmo_gsup_req is implicit upon sending a response. The idea is that msgb memory leaks are a + * recurring source of bugs. By enforcing a request-response relation with implicit deallocation, osmo_gsup_req aims + * to help avoid most such memory leaks implicitly. + * + * The typical GSUP message sequence is: + * -> rx request, + * <- tx response. + * + * With osmo_gsup_req we can easily expand to: + * -> rx request, + * ... wait asynchronously, + * <- tx response. + * + * Only few GSUP conversations go beyond a 1:1 request-response match. But some have a session (e.g. USSD) or more + * negotiation may happen before the initial request is completed (e.g. Update Location with interleaved Insert + * Subscriber Data), so osmo_gsup_req also allows passing non-final responses. + * The final_response flag allows for: + * -> rx request, + * ... wait async, + * <- tx intermediate message to same peer (final_response = false, req remains open), + * ... wait async, + * -> rx intermediate response, + * ... wait async, + * <- tx final response (final_response = true, req is deallocated). + * + * This function takes ownership of the msgb, which will, on success, be owned by the returned osmo_gsup_req instance + * until osmo_gsup_req_free(). If a decoding error occurs, send an error response immediately, and return NULL. + * + * The original CNI entity that sent the message is found in req->source_name. If the message was passed on by an + * intermediate CNI peer, then req->via_proxy is set to the immediate peer, and it is the responsibility of the caller + * to add req->source_name to the GSUP routes that are serviced by req->via_proxy (usually not relevant for clients with + * a single GSUP conn). + * Examples: + * + * "msc" ---> here + * source_name = "msc" + * via_proxy = + * + * "msc" ---> "proxy-HLR" ---> here (e.g. home HLR) + * source_name = "msc" + * via_proxy = "proxy-HLR" + * + * "msc" ---> "proxy-HLR" ---> "home-HLR" ---> here (e.g. EUSE) + * source_name = "msc" + * via_proxy = "home-HLR" + * + * An osmo_gsup_req must be concluded (and deallocated) by calling one of the osmo_gsup_req_respond* functions. + * + * Note: osmo_gsup_req API makes use of OTC_SELECT to allocate volatile buffers for logging. Use of + * osmo_select_main_ctx() is mandatory when using osmo_gsup_req. + * + * \param[in] ctx Talloc context for allocation of the new request. + * \param[in] from_peer The IPA unit name of the immediate GSUP peer from which this msgb was received. + * \param[in] msg The message buffer containing the received GSUP message, where msgb_l2() shall point to the GSUP + * message start. The caller no longer owns the msgb when it is passed to this function: on error, the + * msgb is freed immediately, and on success, the msgb is owned by the returned osmo_gsup_req. + * \param[in] send_response_cb User specific method to send a GSUP response message, invoked upon + * osmo_gsup_req_respond*() functions. Typically this invokes encoding and transmitting the + * GSUP message over a network socket. See for example gsup_server_send_req_response(). + * \param[inout] cb_data Context data to be used freely by the caller. + * \param[inout] add_to_list List to which to append this request, or NULL for no list. + * \return a newly allocated osmo_gsup_req, or NULL on error. If NULL is returned, an error response has already been + * dispatched to the send_response_cb. + */ +struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_ipa_name *from_peer, struct msgb *msg, + osmo_gsup_req_send_response_t send_response_cb, void *cb_data, + struct llist_head *add_to_list) +{ + static unsigned int next_req_nr = 1; + struct osmo_gsup_req *req; + int rc; + + if (!msgb_l2(msg) || !msgb_l2len(msg)) { + LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: missing or empty L2 data\n", + osmo_ipa_name_to_str(from_peer)); + msgb_free(msg); + return NULL; + } + + req = talloc_zero(ctx, struct osmo_gsup_req); + OSMO_ASSERT(req); + /* Note: req->gsup is declared const, so that the incoming message cannot be modified by handlers. */ + req->nr = next_req_nr++; + req->msg = msg; + req->send_response_cb = send_response_cb; + req->cb_data = cb_data; + if (from_peer) + req->source_name = *from_peer; + rc = osmo_gsup_decode(msgb_l2(req->msg), msgb_l2len(req->msg), (struct osmo_gsup_message*)&req->gsup); + if (rc < 0) { + LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: cannot decode (rc=%d)\n", osmo_ipa_name_to_str(from_peer), rc); + osmo_gsup_req_free(req); + return NULL; + } + + LOG_GSUP_REQ(req, LOGL_DEBUG, "new request: {%s}\n", osmo_gsup_message_to_str_c(OTC_SELECT, &req->gsup)); + + if (req->gsup.source_name_len) { + if (osmo_ipa_name_set(&req->source_name, req->gsup.source_name, req->gsup.source_name_len)) { + LOGP(DLGSUP, LOGL_ERROR, + "Rx GSUP from %s: failed to decode source_name, message is not routable\n", + osmo_ipa_name_to_str(from_peer)); + osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); + return NULL; + } + + /* The source of the GSUP message is not the immediate GSUP peer; the peer is our proxy for that source. + */ + if (osmo_ipa_name_cmp(&req->source_name, from_peer)) + req->via_proxy = *from_peer; + } + + if (!osmo_imsi_str_valid(req->gsup.imsi)) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, "invalid IMSI: %s", + osmo_quote_str(req->gsup.imsi, -1)); + return NULL; + } + + if (add_to_list) + llist_add_tail(&req->entry, add_to_list); + return req; +} + +/*! Free an osmo_gsup_req and its msgb -- this is usually implicit in osmo_gsup_req_resond_*(), it should not be + * necessary to call this directly. */ +void osmo_gsup_req_free(struct osmo_gsup_req *req) +{ + LOG_GSUP_REQ(req, LOGL_DEBUG, "free\n"); + if (req->msg) + msgb_free(req->msg); + if (req->entry.prev) + llist_del(&req->entry); + talloc_free(req); +} + +/*! Send a response to a GSUP request. + * + * Ensure that the response message contains all GSUP IEs that identify it as a response for the request req, by calling + * osmo_gsup_make_response(). + * + * The final complete response message is passed to req->send_response_cb() to take care of the transmission. + * + * \param req Request as previously initialized by osmo_gsup_req_new(). + * \param response Buffer to compose the response, possibly with some pre-configured IEs. + * Any missing IEs are added via osmo_gsup_make_response(). + * Must not be NULL. Does not need to remain valid memory beyond the function call, + * i.e. this can just be a local variable in the calling function. + * \param error True when the response message indicates an error response (error message type). + * \param final_response True when the request is concluded by this response, which deallocates the req. + * False when the request should remain open after this response. + * For most plain request->response GSUP messages, this should be True. + * \param file Source file for logging as in __FILE__, added by osmo_gsup_req_respond() macro. + * \param line Source line for logging as in __LINE__, added by osmo_gsup_req_respond() macro. + */ +int _osmo_gsup_req_respond(struct osmo_gsup_req *req, struct osmo_gsup_message *response, + bool error, bool final_response, const char *file, int line) +{ + int rc; + + rc = osmo_gsup_make_response(response, &req->gsup, error, final_response); + if (rc) { + LOG_GSUP_REQ_SRC(req, LOGL_ERROR, file, line, "Invalid response (rc=%d): {%s}\n", + rc, osmo_gsup_message_to_str_c(OTC_SELECT, response)); + rc = -EINVAL; + goto exit_cleanup; + } + + if (!req->send_response_cb) { + LOG_GSUP_REQ_SRC(req, LOGL_ERROR, file, line, "No send_response_cb set, cannot send: {%s}\n", + osmo_gsup_message_to_str_c(OTC_SELECT, response)); + rc = -EINVAL; + goto exit_cleanup; + } + + LOG_GSUP_REQ_SRC(req, LOGL_DEBUG, file, line, "Tx response: {%s}\n", + osmo_gsup_message_to_str_c(OTC_SELECT, response)); + req->send_response_cb(req, response); + +exit_cleanup: + if (final_response) + osmo_gsup_req_free(req); + return rc; +} + +/*! Shorthand for _osmo_gsup_req_respond() with no additional IEs and a fixed message type. + * Set the message type in a local osmo_gsup_message and feed it to _osmo_gsup_req_respond(). + * That will ensure to add all IEs that identify it as a response to req. + * + * \param req Request as previously initialized by osmo_gsup_req_new(). + * \param message_type The GSUP message type discriminator to respond with. + * \param final_response True when the request is concluded by this response, which deallocates the req. + * False when the request should remain open after this response. + * For most plain request->response GSUP messages, this should be True. + * \param file Source file for logging as in __FILE__, added by osmo_gsup_req_respond_msgt() macro. + * \param line Source line for logging as in __LINE__, added by osmo_gsup_req_respond_msgt() macro. + */ +int _osmo_gsup_req_respond_msgt(struct osmo_gsup_req *req, enum osmo_gsup_message_type message_type, + bool final_response, const char *file, int line) +{ + struct osmo_gsup_message response = { + .message_type = message_type, + }; + return _osmo_gsup_req_respond(req, &response, OSMO_GSUP_IS_MSGT_ERROR(message_type), final_response, + file, line); +} + +/*! Shorthand for _osmo_gsup_req_respond() with an error cause IEs and using the req's matched error message type. + * Set the error cause in a local osmo_gsup_message and feed it to _osmo_gsup_req_respond(). + * That will ensure to add all IEs that identify it as a response to req. + * + * Responding with an error always implies a final response: req is implicitly deallocated. + * + * \param req Request as previously initialized by osmo_gsup_req_new(). + * \param cause The error cause to include in a OSMO_GSUP_CAUSE_IE. + * \param file Source file for logging as in __FILE__, added by osmo_gsup_req_respond_err() macro. + * \param line Source line for logging as in __LINE__, added by osmo_gsup_req_respond_err() macro. + */ +void _osmo_gsup_req_respond_err(struct osmo_gsup_req *req, enum gsm48_gmm_cause cause, + const char *file, int line) +{ + struct osmo_gsup_message response = { + .cause = cause, + }; + + /* No need to answer if we couldn't parse an ERROR message type, only REQUESTs need an error reply. */ + if (!OSMO_GSUP_IS_MSGT_REQUEST(req->gsup.message_type)) { + osmo_gsup_req_free(req); + return; + } + + osmo_gsup_req_respond(req, &response, true, true); +} + +/*! This function is implicitly called by the osmo_gsup_req API, if at all possible rather use osmo_gsup_req_respond(). + * This function is non-static mostly to allow unit testing. + * + * Set fields, if still unset, that need to be copied from a received message over to its response message, to ensure + * the response can be routed back to the requesting peer even via GSUP proxies. + * + * Note: after calling this function, fields in the reply may reference the same memory as rx and are not deep-copied, + * as is the usual way we are handling decoded GSUP messages. + * + * These fields are set in the reply message, iff they are still unset: + * - Set reply->message_type to the rx's matching RESULT code (or ERROR code if error == true). + * - IMSI, + * - Set reply->destination_name to rx->source_name (for proxy routing), + * - sm_rp_mr (for SMS), + * - session_id (for SS/USSD), + * - if rx->session_state is not NONE, set tx->session_state depending on the final_response argument: + * If false, set to OSMO_GSUP_SESSION_STATE_CONTINUE, else OSMO_GSUP_SESSION_STATE_END. + * + * If values in reply are already set, they will not be overwritten. The return code is an optional way of finding out + * whether all values that were already set in 'reply' are indeed matching the 'rx' values that would have been set. + * + * \param[in] rx Received GSUP message that is being replied to. + * \param[inout] reply The message that should be the response to rx, either empty or with some values already set up. + * \return 0 if the resulting message is a valid response for rx, nonzero otherwise. A nonzero rc has no effect on the + * values set in the reply message: all unset fields are first updated, and then the rc is determined. + * The rc is intended to merely warn if the reply message already contained data that is incompatible with rx, + * e.g. a mismatching IMSI. + */ +int osmo_gsup_make_response(struct osmo_gsup_message *reply, + const struct osmo_gsup_message *rx, bool error, bool final_response) +{ + int rc = 0; + + if (!reply->message_type) { + if (error) + reply->message_type = OSMO_GSUP_TO_MSGT_ERROR(rx->message_type); + else + reply->message_type = OSMO_GSUP_TO_MSGT_RESULT(rx->message_type); + } + + if (*reply->imsi == '\0') + OSMO_STRLCPY_ARRAY(reply->imsi, rx->imsi); + + if (reply->message_class == OSMO_GSUP_MESSAGE_CLASS_UNSET) + reply->message_class = rx->message_class; + + if (!reply->destination_name || !reply->destination_name_len) { + reply->destination_name = rx->source_name; + reply->destination_name_len = rx->source_name_len; + } + + /* RP-Message-Reference is mandatory for SM Service */ + if (!reply->sm_rp_mr) + reply->sm_rp_mr = rx->sm_rp_mr; + + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (!reply->session_id) + reply->session_id = rx->session_id; + if (rx->session_state != OSMO_GSUP_SESSION_STATE_NONE + && reply->session_state == OSMO_GSUP_SESSION_STATE_NONE) { + if (final_response || rx->session_state == OSMO_GSUP_SESSION_STATE_END) + reply->session_state = OSMO_GSUP_SESSION_STATE_END; + else + reply->session_state = OSMO_GSUP_SESSION_STATE_CONTINUE; + } + + if (strcmp(reply->imsi, rx->imsi)) + rc |= 1 << 0; + if (reply->message_class != rx->message_class) + rc |= 1 << 1; + if (rx->sm_rp_mr && (!reply->sm_rp_mr || *rx->sm_rp_mr != *reply->sm_rp_mr)) + rc |= 1 << 2; + if (reply->session_id != rx->session_id) + rc |= 1 << 3; + return rc; +} + +/*! Print the most important value of a GSUP message to a string buffer in human readable form. + * \param[out] buf The buffer to write to. + * \param[out] buflen sizeof(buf). + * \param[in] msg GSUP message to print. + */ +size_t osmo_gsup_message_to_str_buf(char *buf, size_t buflen, const struct osmo_gsup_message *msg) +{ + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + if (!msg) { + OSMO_STRBUF_PRINTF(sb, "NULL"); + return sb.chars_needed; + } + + if (msg->message_class) + OSMO_STRBUF_PRINTF(sb, "%s ", osmo_gsup_message_class_name(msg->message_class)); + + OSMO_STRBUF_PRINTF(sb, "%s:", osmo_gsup_message_type_name(msg->message_type)); + + OSMO_STRBUF_PRINTF(sb, " imsi="); + OSMO_STRBUF_APPEND(sb, osmo_quote_cstr_buf, msg->imsi, strnlen(msg->imsi, sizeof(msg->imsi))); + + if (msg->cause) + OSMO_STRBUF_PRINTF(sb, " cause=%s", get_value_string(gsm48_gmm_cause_names, msg->cause)); + + switch (msg->cn_domain) { + case OSMO_GSUP_CN_DOMAIN_CS: + OSMO_STRBUF_PRINTF(sb, " cn_domain=CS"); + break; + case OSMO_GSUP_CN_DOMAIN_PS: + OSMO_STRBUF_PRINTF(sb, " cn_domain=PS"); + break; + default: + if (msg->cn_domain) + OSMO_STRBUF_PRINTF(sb, " cn_domain=?(%d)", msg->cn_domain); + break; + } + + if (msg->source_name_len) { + OSMO_STRBUF_PRINTF(sb, " source_name="); + OSMO_STRBUF_APPEND(sb, osmo_quote_cstr_buf, (char*)msg->source_name, msg->source_name_len); + } + + if (msg->destination_name_len) { + OSMO_STRBUF_PRINTF(sb, " destination_name="); + OSMO_STRBUF_APPEND(sb, osmo_quote_cstr_buf, (char*)msg->destination_name, msg->destination_name_len); + } + + if (msg->session_id) + OSMO_STRBUF_PRINTF(sb, " session_id=%" PRIu32, msg->session_id); + if (msg->session_state) + OSMO_STRBUF_PRINTF(sb, " session_state=%s", osmo_gsup_session_state_name(msg->session_state)); + + if (msg->sm_rp_mr) + OSMO_STRBUF_PRINTF(sb, " sm_rp_mr=%" PRIu8, *msg->sm_rp_mr); + + return sb.chars_needed; +} + +/*! Same as osmo_gsup_message_to_str_buf() but returns a talloc allocated string. */ +char *osmo_gsup_message_to_str_c(void *ctx, const struct osmo_gsup_message *msg) +{ + OSMO_NAME_C_IMPL(ctx, 64, "ERROR", osmo_gsup_message_to_str_buf, msg) +} diff --git a/src/gsupclient/ipa_name.c b/src/gsupclient/ipa_name.c new file mode 100644 index 0000000..2db069f --- /dev/null +++ b/src/gsupclient/ipa_name.c @@ -0,0 +1,97 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include +#include +#include +#include + +int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len) +{ + if (!val || !len) { + *ipa_name = (struct osmo_ipa_name){}; + return 0; + } + if (len > sizeof(ipa_name->val)) + return -ENOSPC; + ipa_name->len = len; + memcpy(ipa_name->val, val, len); + return 0; +} + +int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...) +{ + va_list ap; + if (!str_fmt) + return osmo_ipa_name_set(ipa_name, NULL, 0); + + va_start(ap, str_fmt); + vsnprintf((char*)(ipa_name->val), sizeof(ipa_name->val), str_fmt, ap); + va_end(ap); + ipa_name->len = strlen((char*)(ipa_name->val))+1; + return 0; +} + +int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b) +{ + int cmp; + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; + if (!a->len && !b->len) + return 0; + if (!a->len && b->len) + return -1; + if (!b->len && a->len) + return 1; + + if (a->len == b->len) + return memcmp(a->val, b->val, a->len); + else if (a->len < b->len) { + cmp = memcmp(a->val, b->val, a->len); + if (!cmp) + cmp = -1; + return cmp; + } else { + /* a->len > b->len */ + cmp = memcmp(a->val, b->val, b->len); + if (!cmp) + cmp = 1; + return cmp; + } +} + +/* Call osmo_ipa_name_to_str_c with OTC_SELECT. */ +const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name) +{ + return osmo_ipa_name_to_str_c(OTC_SELECT, ipa_name); +} + +/* Return an unquoted string, not including the terminating zero. Used for writing VTY config. */ +const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name) +{ + size_t len = ipa_name->len; + if (!len) + return talloc_strdup(ctx, ""); + if (ipa_name->val[len-1] == '\0') + len--; + return osmo_escape_str_c(ctx, (char*)ipa_name->val, len); +} diff --git a/src/hlr.c b/src/hlr.c index ac6afc3..47b3211 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -35,8 +35,9 @@ #include #include #include -#include +#include +#include #include #include #include @@ -44,14 +45,20 @@ #include #include #include -#include #include #include +#include struct hlr *g_hlr; static void *hlr_ctx = NULL; static int quit = 0; +struct osmo_tdef g_hlr_tdefs[] = { + /* 4222 is also the OSMO_GSUP_PORT */ + { .T = -4222, .default_val = 30, .desc = "GSUP Update Location timeout" }, + {} +}; + /* Trigger 'Insert Subscriber Data' messages to all connected GSUP clients. * * \param[in] subscr A subscriber we have new data to send for. @@ -69,6 +76,8 @@ return; } + /* FIXME: send only to current vlr_number and sgsn_number */ + llist_for_each_entry(co, &g_hlr->gs->clients, list) { struct osmo_gsup_message gsup = { }; uint8_t msisdn_enc[OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN]; @@ -222,145 +231,102 @@ return 0; } +/*! Update nam_cs/nam_ps in the db and trigger notifications to GSUP clients. + * \param[in,out] hlr Global hlr context. + * \param[in] subscr Subscriber from a fresh db_subscr_get_by_*() call. + * \param[in] nam_val True to enable CS/PS, false to disable. + * \param[in] is_ps True to enable/disable PS, false for CS. + * \returns 0 on success, ENOEXEC if there is no need to change, a negative + * value on error. + */ +int hlr_subscr_nam(struct hlr *hlr, struct hlr_subscriber *subscr, bool nam_val, bool is_ps) +{ + int rc; + bool is_val = is_ps? subscr->nam_ps : subscr->nam_cs; + struct osmo_ipa_name vlr_name; + struct osmo_gsup_message gsup_del_data = { + .message_type = OSMO_GSUP_MSGT_DELETE_DATA_REQUEST, + }; + OSMO_STRLCPY_ARRAY(gsup_del_data.imsi, subscr->imsi); + + if (is_val == nam_val) { + LOGP(DAUC, LOGL_DEBUG, "IMSI-%s: Already has the requested value when asked to %s %s\n", + subscr->imsi, nam_val ? "enable" : "disable", is_ps ? "PS" : "CS"); + return ENOEXEC; + } + + rc = db_subscr_nam(hlr->dbc, subscr->imsi, nam_val, is_ps); + if (rc) + return rc > 0? -rc : rc; + + /* If we're disabling, send a notice out to the GSUP client that is + * responsible. Otherwise no need. */ + if (nam_val) + return 0; + + if (subscr->vlr_number && osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) + osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); + if (subscr->sgsn_number && osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) + osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); + return 0; +} + /*********************************************************************** * Send Auth Info handling ***********************************************************************/ /* process an incoming SAI request */ -static int rx_send_auth_info(struct osmo_gsup_conn *conn, - const struct osmo_gsup_message *gsup, - struct db_context *dbc) +static int rx_send_auth_info(unsigned int auc_3g_ind, struct osmo_gsup_req *req) { - struct osmo_gsup_message gsup_out; - struct msgb *msg_out; + struct osmo_gsup_message gsup_out = { + .message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, + }; bool separation_bit = false; int num_auth_vectors = OSMO_GSUP_MAX_NUM_AUTH_INFO; int rc; - subscr_create_on_demand(gsup->imsi); + subscr_create_on_demand(req->gsup.imsi); - /* initialize return message structure */ - memset(&gsup_out, 0, sizeof(gsup_out)); - memcpy(&gsup_out.imsi, &gsup->imsi, sizeof(gsup_out.imsi)); - - if (gsup->current_rat_type == OSMO_RAT_EUTRAN_SGS) + if (req->gsup.current_rat_type == OSMO_RAT_EUTRAN_SGS) separation_bit = true; - if (gsup->num_auth_vectors > 0 && - gsup->num_auth_vectors <= OSMO_GSUP_MAX_NUM_AUTH_INFO) - num_auth_vectors = gsup->num_auth_vectors; + if (req->gsup.num_auth_vectors > 0 && + req->gsup.num_auth_vectors <= OSMO_GSUP_MAX_NUM_AUTH_INFO) + num_auth_vectors = req->gsup.num_auth_vectors; - rc = db_get_auc(dbc, gsup->imsi, conn->auc_3g_ind, + rc = db_get_auc(g_hlr->dbc, req->gsup.imsi, auc_3g_ind, gsup_out.auth_vectors, num_auth_vectors, - gsup->rand, gsup->auts, separation_bit); + req->gsup.rand, req->gsup.auts, separation_bit); + if (rc <= 0) { - gsup_out.message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR; switch (rc) { case 0: /* 0 means "0 tuples generated", which shouldn't happen. * Treat the same as "no auth data". */ case -ENOKEY: - LOGP(DAUC, LOGL_NOTICE, "%s: IMSI known, but has no auth data;" - " Returning slightly inaccurate cause 'IMSI Unknown' via GSUP\n", - gsup->imsi); - gsup_out.cause = GMM_CAUSE_IMSI_UNKNOWN; - break; + osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, + "IMSI known, but has no auth data;" + " Returning slightly inaccurate cause 'IMSI Unknown' via GSUP"); + return rc; case -ENOENT: - LOGP(DAUC, LOGL_NOTICE, "%s: IMSI not known\n", gsup->imsi); - gsup_out.cause = GMM_CAUSE_IMSI_UNKNOWN; - break; + osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "IMSI unknown"); + return rc; default: - LOGP(DAUC, LOGL_ERROR, "%s: failure to look up IMSI in db\n", gsup->imsi); - gsup_out.cause = GMM_CAUSE_NET_FAIL; - break; + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "failure to look up IMSI in db"); + return rc; } - } else { - gsup_out.message_type = OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT; - gsup_out.num_auth_vectors = rc; } + gsup_out.num_auth_vectors = rc; - msg_out = osmo_gsup_msgb_alloc("GSUP AUC response"); - osmo_gsup_encode(msg_out, &gsup_out); - return osmo_gsup_conn_send(conn, msg_out); + osmo_gsup_req_respond(req, &gsup_out, false, true); + return 0; } -/*********************************************************************** - * LU Operation State / Structure - ***********************************************************************/ - -static LLIST_HEAD(g_lu_ops); - -/*! Receive Cancel Location Result from old VLR/SGSN */ -void lu_op_rx_cancel_old_ack(struct lu_operation *luop, - const struct osmo_gsup_message *gsup) +/*! Receive Update Location Request, creates new lu_operation */ +static int rx_upd_loc_req(struct osmo_gsup_conn *conn, struct osmo_gsup_req *req) { - OSMO_ASSERT(luop->state == LU_S_CANCEL_SENT); - /* FIXME: Check for spoofing */ - - osmo_timer_del(&luop->timer); - - /* FIXME */ - - lu_op_tx_insert_subscr_data(luop); -} - -/*! Receive Insert Subscriber Data Result from new VLR/SGSN */ -static void lu_op_rx_insert_subscr_data_ack(struct lu_operation *luop, - const struct osmo_gsup_message *gsup) -{ - OSMO_ASSERT(luop->state == LU_S_ISD_SENT); - /* FIXME: Check for spoofing */ - - osmo_timer_del(&luop->timer); - - /* Subscriber_Present_HLR */ - /* CS only: Check_SS_required? -> MAP-FW-CHECK_SS_IND.req */ - - /* Send final ACK towards inquiring VLR/SGSN */ - lu_op_tx_ack(luop); -} - -/*! Receive GSUP message for given \ref lu_operation */ -void lu_op_rx_gsup(struct lu_operation *luop, - const struct osmo_gsup_message *gsup) -{ - switch (gsup->message_type) { - case OSMO_GSUP_MSGT_INSERT_DATA_ERROR: - /* FIXME */ - break; - case OSMO_GSUP_MSGT_INSERT_DATA_RESULT: - lu_op_rx_insert_subscr_data_ack(luop, gsup); - break; - case OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR: - /* FIXME */ - break; - case OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT: - lu_op_rx_cancel_old_ack(luop, gsup); - break; - default: - LOGP(DMAIN, LOGL_ERROR, "Unhandled GSUP msg_type 0x%02x\n", - gsup->message_type); - break; - } -} - -/*! Receive Update Location Request, creates new \ref lu_operation */ -static int rx_upd_loc_req(struct osmo_gsup_conn *conn, - const struct osmo_gsup_message *gsup) -{ - struct hlr_subscriber *subscr; - struct lu_operation *luop = lu_op_alloc_conn(conn); - if (!luop) { - LOGP(DMAIN, LOGL_ERROR, "LU REQ from conn without addr?\n"); - return -EINVAL; - } - - subscr = &luop->subscr; - - lu_op_statechg(luop, LU_S_LU_RECEIVED); - - switch (gsup->cn_domain) { + switch (req->gsup.cn_domain) { case OSMO_GSUP_CN_DOMAIN_CS: conn->supports_cs = true; break; @@ -371,143 +337,64 @@ * a request, the PS Domain is assumed." */ case OSMO_GSUP_CN_DOMAIN_PS: conn->supports_ps = true; - luop->is_ps = true; break; } - llist_add(&luop->list, &g_lu_ops); - subscr_create_on_demand(gsup->imsi); + subscr_create_on_demand(req->gsup.imsi); - /* Roughly follwing "Process Update_Location_HLR" of TS 09.02 */ - - /* check if subscriber is known at all */ - if (!lu_op_fill_subscr(luop, g_hlr->dbc, gsup->imsi)) { - /* Send Error back: Subscriber Unknown in HLR */ - osmo_strlcpy(luop->subscr.imsi, gsup->imsi, sizeof(luop->subscr.imsi)); - lu_op_tx_error(luop, GMM_CAUSE_IMSI_UNKNOWN); - return 0; - } - - /* Check if subscriber is generally permitted on CS or PS - * service (as requested) */ - if (!luop->is_ps && !luop->subscr.nam_cs) { - lu_op_tx_error(luop, GMM_CAUSE_PLMN_NOTALLOWED); - return 0; - } else if (luop->is_ps && !luop->subscr.nam_ps) { - lu_op_tx_error(luop, GMM_CAUSE_GPRS_NOTALLOWED); - return 0; - } - - /* TODO: Set subscriber tracing = deactive in VLR/SGSN */ - -#if 0 - /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old (FIXME: OS#4491) */ - if (luop->is_ps == false && - strcmp(subscr->vlr_number, vlr_number)) { - lu_op_tx_cancel_old(luop); - } else if (luop->is_ps == true && - strcmp(subscr->sgsn_number, sgsn_number)) { - lu_op_tx_cancel_old(luop); - } else -#endif - - /* Store the VLR / SGSN number with the subscriber, so we know where it was last seen. */ - LOGP(DAUC, LOGL_DEBUG, "IMSI='%s': storing %s = %s\n", - subscr->imsi, luop->is_ps ? "SGSN number" : "VLR number", - osmo_quote_str((const char*)luop->peer, -1)); - if (db_subscr_lu(g_hlr->dbc, subscr->id, (const char *)luop->peer, luop->is_ps)) - LOGP(DAUC, LOGL_ERROR, "IMSI='%s': Cannot update %s in the database\n", - subscr->imsi, luop->is_ps ? "SGSN number" : "VLR number"); - - /* TODO: Subscriber allowed to roam in PLMN? */ - /* TODO: Update RoutingInfo */ - /* TODO: Reset Flag MS Purged (cs/ps) */ - /* TODO: Control_Tracing_HLR / Control_Tracing_HLR_with_SGSN */ - lu_op_tx_insert_subscr_data(luop); - + lu_rx_gsup(req); return 0; } -static int rx_purge_ms_req(struct osmo_gsup_conn *conn, - const struct osmo_gsup_message *gsup) +static int rx_purge_ms_req(struct osmo_gsup_req *req) { - struct osmo_gsup_message gsup_reply = {0}; - struct msgb *msg_out; - bool is_ps = false; + bool is_ps = (req->gsup.cn_domain != OSMO_GSUP_CN_DOMAIN_CS); int rc; - LOGP(DAUC, LOGL_INFO, "%s: Purge MS (%s)\n", gsup->imsi, - is_ps ? "PS" : "CS"); - - memcpy(gsup_reply.imsi, gsup->imsi, sizeof(gsup_reply.imsi)); - - if (gsup->cn_domain == OSMO_GSUP_CN_DOMAIN_PS) - is_ps = true; + LOG_GSUP_REQ_CAT(req, DAUC, LOGL_INFO, "Purge MS (%s)\n", is_ps ? "PS" : "CS"); /* FIXME: check if the VLR that sends the purge is the same that * we have on record. Only update if yes */ /* Perform the actual update of the DB */ - rc = db_subscr_purge(g_hlr->dbc, gsup->imsi, true, is_ps); + rc = db_subscr_purge(g_hlr->dbc, req->gsup.imsi, true, is_ps); if (rc == 0) - gsup_reply.message_type = OSMO_GSUP_MSGT_PURGE_MS_RESULT; - else if (rc == -ENOENT) { - gsup_reply.message_type = OSMO_GSUP_MSGT_PURGE_MS_ERROR; - gsup_reply.cause = GMM_CAUSE_IMSI_UNKNOWN; - } else { - gsup_reply.message_type = OSMO_GSUP_MSGT_PURGE_MS_ERROR; - gsup_reply.cause = GMM_CAUSE_NET_FAIL; - } - - msg_out = osmo_gsup_msgb_alloc("GSUP AUC response"); - osmo_gsup_encode(msg_out, &gsup_reply); - return osmo_gsup_conn_send(conn, msg_out); + osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_PURGE_MS_RESULT, true); + else if (rc == -ENOENT) + osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "IMSI unknown"); + else + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "db error"); + return rc; } -static int gsup_send_err_reply(struct osmo_gsup_conn *conn, const char *imsi, - enum osmo_gsup_message_type type_in, uint8_t err_cause) +static int rx_check_imei_req(struct osmo_gsup_req *req) { - int type_err = OSMO_GSUP_TO_MSGT_ERROR(type_in); - struct osmo_gsup_message gsup_reply = {0}; - struct msgb *msg_out; - - OSMO_STRLCPY_ARRAY(gsup_reply.imsi, imsi); - gsup_reply.message_type = type_err; - gsup_reply.cause = err_cause; - msg_out = osmo_gsup_msgb_alloc("GSUP ERR response"); - osmo_gsup_encode(msg_out, &gsup_reply); - LOGP(DMAIN, LOGL_NOTICE, "Tx %s\n", osmo_gsup_message_type_name(type_err)); - return osmo_gsup_conn_send(conn, msg_out); -} - -static int rx_check_imei_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup) -{ - struct osmo_gsup_message gsup_reply = {0}; - struct msgb *msg_out; + struct osmo_gsup_message gsup_reply; char imei[GSM23003_IMEI_NUM_DIGITS_NO_CHK+1] = {0}; + const struct osmo_gsup_message *gsup = &req->gsup; int rc; /* Require IMEI */ if (!gsup->imei_enc) { - LOGP(DMAIN, LOGL_ERROR, "%s: missing IMEI\n", gsup->imsi); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, "missing IMEI"); return -1; } /* Decode IMEI (fails if IMEI is too long) */ rc = gsm48_decode_bcd_number2(imei, sizeof(imei), gsup->imei_enc, gsup->imei_enc_len, 0); if (rc < 0) { - LOGP(DMAIN, LOGL_ERROR, "%s: failed to decode IMEI (rc: %i)\n", gsup->imsi, rc); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, + "failed to decode IMEI %s (rc: %d)", + osmo_hexdump_c(OTC_SELECT, gsup->imei_enc, gsup->imei_enc_len), + rc); return -1; } /* Check if IMEI is too short */ - if (strlen(imei) != GSM23003_IMEI_NUM_DIGITS_NO_CHK) { - LOGP(DMAIN, LOGL_ERROR, "%s: wrong encoded IMEI length (IMEI: '%s', %lu, %i)\n", gsup->imsi, imei, - strlen(imei), GSM23003_IMEI_NUM_DIGITS_NO_CHK); - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + if (!osmo_imei_str_valid(imei, false)) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, + "invalid IMEI: %s", osmo_quote_str_c(OTC_SELECT, imei, -1)); return -1; } @@ -517,7 +404,7 @@ if (g_hlr->store_imei) { LOGP(DAUC, LOGL_DEBUG, "IMSI='%s': storing IMEI = %s\n", gsup->imsi, imei); if (db_subscr_update_imei_by_imsi(g_hlr->dbc, gsup->imsi, imei) < 0) { - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, "Failed to store IMEI in HLR db"); return -1; } } else { @@ -525,18 +412,17 @@ LOGP(DMAIN, LOGL_INFO, "IMSI='%s': has IMEI = %s (consider setting 'store-imei')\n", gsup->imsi, imei); struct hlr_subscriber subscr; if (db_subscr_get_by_imsi(g_hlr->dbc, gsup->imsi, &subscr) < 0) { - gsup_send_err_reply(conn, gsup->imsi, gsup->message_type, GMM_CAUSE_INV_MAND_INFO); + osmo_gsup_req_respond_err(req, GMM_CAUSE_INV_MAND_INFO, "IMSI unknown"); return -1; } } /* Accept all IMEIs */ - gsup_reply.imei_result = OSMO_GSUP_IMEI_RESULT_ACK; - gsup_reply.message_type = OSMO_GSUP_MSGT_CHECK_IMEI_RESULT; - msg_out = osmo_gsup_msgb_alloc("GSUP Check_IMEI response"); - memcpy(gsup_reply.imsi, gsup->imsi, sizeof(gsup_reply.imsi)); - osmo_gsup_encode(msg_out, &gsup_reply); - return osmo_gsup_conn_send(conn, msg_out); + gsup_reply = (struct osmo_gsup_message){ + .message_type = OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, + .imei_result = OSMO_GSUP_IMEI_RESULT_ACK, + }; + return osmo_gsup_req_respond(req, &gsup_reply, false, true); } static char namebuf[255]; @@ -549,151 +435,112 @@ osmo_quote_str_buf2(namebuf, sizeof(namebuf), (const char *)(gsup)->destination_name, (gsup)->destination_name_len), \ ## args) -static int read_cb_forward(struct osmo_gsup_conn *conn, struct msgb *msg, const struct osmo_gsup_message *gsup) +static int read_cb_forward(struct osmo_gsup_req *req) { int ret = -EINVAL; - struct osmo_gsup_message *gsup_err; - - /* FIXME: it would be better if the msgb never were deallocated immediately by osmo_gsup_addr_send(), which a - * select-loop volatile talloc context could facilitate. Then we would still be able to access gsup-> members - * (pointing into the msgb) even after sending failed, and we wouldn't need to copy this data before sending: */ - /* Prepare error message (before IEs get deallocated) */ - gsup_err = talloc_zero(hlr_ctx, struct osmo_gsup_message); - OSMO_STRLCPY_ARRAY(gsup_err->imsi, gsup->imsi); - gsup_err->message_class = gsup->message_class; - gsup_err->destination_name = talloc_memdup(gsup_err, gsup->destination_name, gsup->destination_name_len); - gsup_err->destination_name_len = gsup->destination_name_len; - gsup_err->message_type = gsup->message_type; - gsup_err->session_state = gsup->session_state; - gsup_err->session_id = gsup->session_id; - gsup_err->source_name = talloc_memdup(gsup_err, gsup->source_name, gsup->source_name_len); - gsup_err->source_name_len = gsup->source_name_len; + const struct osmo_gsup_message *gsup = &req->gsup; + struct osmo_gsup_message gsup_err; + struct msgb *forward_msg; + struct osmo_ipa_name destination_name; /* Check for routing IEs */ - if (!gsup->source_name || !gsup->source_name_len || !gsup->destination_name || !gsup->destination_name_len) { - LOGP_GSUP_FWD(gsup, LOGL_ERROR, "missing routing IEs\n"); - goto end; + if (!req->gsup.source_name || !req->gsup.source_name_len + || !req->gsup.destination_name || !req->gsup.destination_name_len) { + LOGP_GSUP_FWD(&req->gsup, LOGL_ERROR, "missing routing IEs\n"); + goto routing_error; } - /* Verify source name (e.g. "MSC-00-00-00-00-00-00") */ - if (gsup_route_find(conn->server, gsup->source_name, gsup->source_name_len) != conn) { - LOGP_GSUP_FWD(gsup, LOGL_ERROR, "mismatching source name\n"); - goto end; + if (osmo_ipa_name_set(&destination_name, req->gsup.destination_name, req->gsup.destination_name_len)) { + LOGP_GSUP_FWD(&req->gsup, LOGL_ERROR, "invalid destination name\n"); + goto routing_error; } - /* Forward message without re-encoding (so we don't remove unknown IEs) */ - LOGP_GSUP_FWD(gsup, LOGL_INFO, "checks passed, forwarding\n"); + LOG_GSUP_REQ(req, LOGL_INFO, "Forwarding to %s\n", osmo_ipa_name_to_str(&destination_name)); - /* Remove incoming IPA header to be able to prepend an outgoing IPA header */ - msgb_pull_to_l2(msg); - ret = osmo_gsup_addr_send(g_hlr->gs, gsup->destination_name, gsup->destination_name_len, msg); - /* AT THIS POINT, THE msg MAY BE DEALLOCATED and the data like gsup->imsi, gsup->source_name etc may all be - * invalid and cause segfaults. */ - msg = NULL; - gsup = NULL; - if (ret == -ENODEV) - LOGP_GSUP_FWD(gsup_err, LOGL_ERROR, "destination not connected\n"); - else if (ret) - LOGP_GSUP_FWD(gsup_err, LOGL_ERROR, "unknown error %i\n", ret); - -end: - /* Send error back to source */ + /* Forward message without re-encoding (so we don't remove unknown IEs). + * Copy GSUP part to forward, removing incoming IPA header to be able to prepend an outgoing IPA header */ + forward_msg = osmo_gsup_msgb_alloc("GSUP forward"); + forward_msg->l2h = msgb_put(forward_msg, msgb_l2len(req->msg)); + memcpy(forward_msg->l2h, msgb_l2(req->msg), msgb_l2len(req->msg)); + ret = osmo_gsup_send_to_ipa_name(g_hlr->gs, &destination_name, forward_msg); if (ret) { - struct msgb *msg_err = osmo_gsup_msgb_alloc("GSUP forward ERR response"); - gsup_err->message_type = OSMO_GSUP_MSGT_E_ROUTING_ERROR; - osmo_gsup_encode(msg_err, gsup_err); - LOGP_GSUP_FWD(gsup_err, LOGL_NOTICE, "Tx %s\n", osmo_gsup_message_type_name(gsup_err->message_type)); - osmo_gsup_conn_send(conn, msg_err); + LOGP_GSUP_FWD(gsup, LOGL_ERROR, "%s (rc=%d)\n", + ret == -ENODEV ? "destination not connected" : "unknown error", + ret); + goto routing_error; } - talloc_free(gsup_err); - if (msg) - msgb_free(msg); - return ret; + osmo_gsup_req_free(req); + return 0; + +routing_error: + gsup_err = (struct osmo_gsup_message){ + .message_type = OSMO_GSUP_MSGT_ROUTING_ERROR, + .source_name = gsup->destination_name, + .source_name_len = gsup->destination_name_len, + }; + osmo_gsup_req_respond(req, &gsup_err, true, true); + return -1; } static int read_cb(struct osmo_gsup_conn *conn, struct msgb *msg) { - static struct osmo_gsup_message gsup; - int rc; - - if (!msgb_l2(msg) || !msgb_l2len(msg)) { - LOGP(DMAIN, LOGL_ERROR, "missing or empty L2 data\n"); - msgb_free(msg); + struct osmo_gsup_req *req = osmo_gsup_conn_rx(conn, msg); + if (!req) return -EINVAL; + + /* If the GSUP recipient is other than this HLR, forward. */ + if (req->gsup.destination_name_len) { + struct osmo_ipa_name destination_name; + struct osmo_ipa_name my_name; + osmo_ipa_name_set_str(&my_name, g_hlr->gsup_unit_name.serno); + if (!osmo_ipa_name_set(&destination_name, req->gsup.destination_name, req->gsup.destination_name_len) + && osmo_ipa_name_cmp(&destination_name, &my_name)) { + return read_cb_forward(req); + } } - rc = osmo_gsup_decode(msgb_l2(msg), msgb_l2len(msg), &gsup); - if (rc < 0) { - LOGP(DMAIN, LOGL_ERROR, "error in GSUP decode: %d\n", rc); - msgb_free(msg); - return rc; - } - - /* 3GPP TS 23.003 Section 2.2 clearly states that an IMSI with less than 5 - * digits is impossible. Even 5 digits is a highly theoretical case */ - if (strlen(gsup.imsi) < 5) { /* TODO: move this check to libosmogsm/gsup.c? */ - LOGP(DMAIN, LOGL_ERROR, "IMSI too short: %s\n", osmo_quote_str(gsup.imsi, -1)); - gsup_send_err_reply(conn, gsup.imsi, gsup.message_type, GMM_CAUSE_INV_MAND_INFO); - msgb_free(msg); - return -EINVAL; - } - - if (gsup.destination_name_len) - return read_cb_forward(conn, msg, &gsup); - - switch (gsup.message_type) { + switch (req->gsup.message_type) { /* requests sent to us */ case OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST: - rx_send_auth_info(conn, &gsup, g_hlr->dbc); + rx_send_auth_info(conn->auc_3g_ind, req); break; case OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: - rx_upd_loc_req(conn, &gsup); + rx_upd_loc_req(conn, req); break; case OSMO_GSUP_MSGT_PURGE_MS_REQUEST: - rx_purge_ms_req(conn, &gsup); + rx_purge_ms_req(req); break; /* responses to requests sent by us */ case OSMO_GSUP_MSGT_DELETE_DATA_ERROR: - LOGP(DMAIN, LOGL_ERROR, "Error while deleting subscriber data " - "for IMSI %s\n", gsup.imsi); + LOG_GSUP_REQ(req, LOGL_ERROR, "Peer responds with: Error while deleting subscriber data\n"); + osmo_gsup_req_free(req); break; case OSMO_GSUP_MSGT_DELETE_DATA_RESULT: - LOGP(DMAIN, LOGL_ERROR, "Deleting subscriber data for IMSI %s\n", - gsup.imsi); + LOG_GSUP_REQ(req, LOGL_DEBUG, "Peer responds with: Subscriber data deleted\n"); + osmo_gsup_req_free(req); break; case OSMO_GSUP_MSGT_PROC_SS_REQUEST: case OSMO_GSUP_MSGT_PROC_SS_RESULT: - rx_proc_ss_req(conn, &gsup); + rx_proc_ss_req(req); break; case OSMO_GSUP_MSGT_PROC_SS_ERROR: - rx_proc_ss_error(conn, &gsup); + rx_proc_ss_error(req); break; case OSMO_GSUP_MSGT_INSERT_DATA_ERROR: case OSMO_GSUP_MSGT_INSERT_DATA_RESULT: case OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR: case OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT: - { - struct lu_operation *luop = lu_op_by_imsi(gsup.imsi, - &g_lu_ops); - if (!luop) { - LOGP(DMAIN, LOGL_ERROR, "GSUP message %s for " - "unknown IMSI %s\n", - osmo_gsup_message_type_name(gsup.message_type), - gsup.imsi); - break; - } - lu_op_rx_gsup(luop, &gsup); - } + lu_rx_gsup(req); break; case OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST: - rx_check_imei_req(conn, &gsup); + rx_check_imei_req(req); break; default: LOGP(DMAIN, LOGL_DEBUG, "Unhandled GSUP message type %s\n", - osmo_gsup_message_type_name(gsup.message_type)); + osmo_gsup_message_type_name(req->gsup.message_type)); + osmo_gsup_req_free(req); break; } - msgb_free(msg); return 0; } @@ -908,7 +755,7 @@ g_hlr->gs = osmo_gsup_server_create(hlr_ctx, g_hlr->gsup_bind_addr, OSMO_GSUP_PORT, - read_cb, &g_lu_ops, g_hlr); + read_cb, g_hlr); if (!g_hlr->gs) { LOGP(DMAIN, LOGL_FATAL, "Error starting GSUP server\n"); exit(1); @@ -931,7 +778,8 @@ } while (!quit) - osmo_select_main(0); + osmo_select_main_ctx(0); + osmo_gsup_server_destroy(g_hlr->gs); db_close(g_hlr->dbc); diff --git a/src/hlr_ussd.c b/src/hlr_ussd.c index 8cdc15c..aa7614e 100644 --- a/src/hlr_ussd.c +++ b/src/hlr_ussd.c @@ -170,12 +170,14 @@ /* subscriber's vlr_number * MO USSD: originating MSC's vlr_number * MT USSD: looked up once per session and cached here */ - uint8_t *vlr_number; - size_t vlr_number_len; + struct osmo_ipa_name vlr_name; /* we don't keep a pointer to the osmo_gsup_{route,conn} towards the MSC/VLR here, * as this might change during inter-VLR hand-over, and we simply look-up the serving MSC/VLR * every time we receive an USSD component from the EUSE */ + + struct osmo_gsup_req *initial_req_from_ms; + struct osmo_gsup_req *initial_req_from_euse; }; struct ss_session *ss_session_find(struct hlr *hlr, const char *imsi, uint32_t session_id) @@ -191,6 +193,10 @@ void ss_session_free(struct ss_session *ss) { osmo_timer_del(&ss->timeout); + if (ss->initial_req_from_ms) + osmo_gsup_req_free(ss->initial_req_from_ms); + if (ss->initial_req_from_euse) + osmo_gsup_req_free(ss->initial_req_from_euse); llist_del(&ss->list); talloc_free(ss); } @@ -230,32 +236,46 @@ ***********************************************************************/ /* Resolve the target MSC by ss->imsi and send GSUP message. */ -static int ss_gsup_send(struct ss_session *ss, struct osmo_gsup_server *gs, struct msgb *msg) +static int ss_gsup_send_to_ms(struct ss_session *ss, struct osmo_gsup_server *gs, struct osmo_gsup_message *gsup) { struct hlr_subscriber subscr = {}; + struct msgb *msg; int rc; + if (ss->initial_req_from_ms) { + /* Use non-final osmo_gsup_req_respond() to not deallocate the ss->initial_req_from_ms */ + osmo_gsup_req_respond(ss->initial_req_from_ms, gsup, false, false); + return 0; + } + + msg = osmo_gsup_msgb_alloc("GSUP USSD FW"); + rc = osmo_gsup_encode(msg, gsup); + if (rc) { + LOGPSS(ss, LOGL_ERROR, "Failed to encode GSUP message\n"); + msgb_free(msg); + return rc; + } + /* Use vlr_number as looked up by the caller, or look up now. */ - if (!ss->vlr_number) { + if (!ss->vlr_name.len) { rc = db_subscr_get_by_imsi(g_hlr->dbc, ss->imsi, &subscr); if (rc < 0) { LOGPSS(ss, LOGL_ERROR, "Cannot find subscriber, cannot route GSUP message\n"); msgb_free(msg); return -EINVAL; } - ss->vlr_number = (uint8_t *)talloc_strdup(ss, subscr.vlr_number); - ss->vlr_number_len = strlen(subscr.vlr_number) + 1; + osmo_ipa_name_set_str(&ss->vlr_name, subscr.vlr_number); } /* Check for empty string (all vlr_number strings end in "\0", because otherwise gsup_route_find() fails) */ - if (ss->vlr_number_len == 1) { + if (ss->vlr_name.len <= 1) { LOGPSS(ss, LOGL_ERROR, "Cannot send GSUP message, no VLR number stored for subscriber\n"); msgb_free(msg); return -EINVAL; } - LOGPSS(ss, LOGL_DEBUG, "Tx SS/USSD to VLR %s\n", osmo_quote_str((char *)ss->vlr_number, ss->vlr_number_len)); - return osmo_gsup_addr_send(gs, ss->vlr_number, ss->vlr_number_len, msg); + LOGPSS(ss, LOGL_DEBUG, "Tx SS/USSD to VLR %s\n", osmo_ipa_name_to_str(&ss->vlr_name)); + return osmo_gsup_send_to_ipa_name(gs, &ss->vlr_name, msg); } static int ss_tx_to_ms(struct ss_session *ss, enum osmo_gsup_message_type gsup_msg_type, @@ -263,7 +283,7 @@ { struct osmo_gsup_message resp = {0}; - struct msgb *resp_msg; + int rc; resp.message_type = gsup_msg_type; OSMO_STRLCPY_ARRAY(resp.imsi, ss->imsi); @@ -277,12 +297,10 @@ resp.ss_info_len = msgb_length(ss_msg); } - resp_msg = msgb_alloc_headroom(4000, 64, __func__); - OSMO_ASSERT(resp_msg); - osmo_gsup_encode(resp_msg, &resp); - msgb_free(ss_msg); + rc = ss_gsup_send_to_ms(ss, g_hlr->gs, &resp); - return ss_gsup_send(ss, g_hlr->gs, resp_msg); + msgb_free(ss_msg); + return rc; } #if 0 @@ -297,7 +315,7 @@ } #endif -static int ss_tx_error(struct ss_session *ss, uint8_t invoke_id, uint8_t error_code) +static int ss_tx_to_ms_error(struct ss_session *ss, uint8_t invoke_id, uint8_t error_code) { struct msgb *msg = gsm0480_gen_return_error(invoke_id, error_code); LOGPSS(ss, LOGL_NOTICE, "Tx ReturnError(%u, 0x%02x)\n", invoke_id, error_code); @@ -305,7 +323,7 @@ return ss_tx_to_ms(ss, OSMO_GSUP_MSGT_PROC_SS_RESULT, true, msg); } -static int ss_tx_ussd_7bit(struct ss_session *ss, bool final, uint8_t invoke_id, const char *text) +static int ss_tx_to_ms_ussd_7bit(struct ss_session *ss, bool final, uint8_t invoke_id, const char *text) { struct msgb *msg = gsm0480_gen_ussd_resp_7bit(invoke_id, text); LOGPSS(ss, LOGL_INFO, "Tx USSD '%s'\n", text); @@ -319,7 +337,7 @@ #include -static int handle_ussd_own_msisdn(struct osmo_gsup_conn *conn, struct ss_session *ss, +static int handle_ussd_own_msisdn(struct ss_session *ss, const struct osmo_gsup_message *gsup, const struct ss_request *req) { struct hlr_subscriber subscr; @@ -333,25 +351,25 @@ snprintf(buf, sizeof(buf), "You have no MSISDN!"); else snprintf(buf, sizeof(buf), "Your extension is %s", subscr.msisdn); - ss_tx_ussd_7bit(ss, true, req->invoke_id, buf); + ss_tx_to_ms_ussd_7bit(ss, true, req->invoke_id, buf); break; case -ENOENT: - ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_UNKNOWN_SUBSCRIBER); + ss_tx_to_ms_error(ss, req->invoke_id, GSM0480_ERR_CODE_UNKNOWN_SUBSCRIBER); break; case -EIO: default: - ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_SYSTEM_FAILURE); + ss_tx_to_ms_error(ss, req->invoke_id, GSM0480_ERR_CODE_SYSTEM_FAILURE); break; } return 0; } -static int handle_ussd_own_imsi(struct osmo_gsup_conn *conn, struct ss_session *ss, +static int handle_ussd_own_imsi(struct ss_session *ss, const struct osmo_gsup_message *gsup, const struct ss_request *req) { char buf[GSM0480_USSD_7BIT_STRING_LEN+1]; snprintf(buf, sizeof(buf), "Your IMSI is %s", ss->imsi); - ss_tx_ussd_7bit(ss, true, req->invoke_id, buf); + ss_tx_to_ms_ussd_7bit(ss, true, req->invoke_id, buf); return 0; } @@ -398,37 +416,26 @@ } /* is this GSUP connection an EUSE (true) or not (false)? */ -static bool conn_is_euse(struct osmo_gsup_conn *conn) +static bool peer_name_is_euse(const struct osmo_ipa_name *peer_name) { - int rc; - uint8_t *addr; - - rc = osmo_gsup_conn_ccm_get(conn, &addr, IPAC_IDTAG_SERNR); - if (rc <= 5) + if (peer_name->len <= 5) return false; - if (!strncmp((char *)addr, "EUSE-", 5)) + if (!strncmp((char *)(peer_name->val), "EUSE-", 5)) return true; else return false; } -static struct hlr_euse *euse_by_conn(struct osmo_gsup_conn *conn) +static struct hlr_euse *euse_by_name(const struct osmo_ipa_name *peer_name) { - int rc; - char *addr; - struct hlr *hlr = conn->server->priv; - - rc = osmo_gsup_conn_ccm_get(conn, (uint8_t **) &addr, IPAC_IDTAG_SERNR); - if (rc <= 5) - return NULL; - if (strncmp(addr, "EUSE-", 5)) + if (!peer_name_is_euse(peer_name)) return NULL; - return euse_find(hlr, addr+5); + return euse_find(g_hlr, (const char*)(peer_name->val)+5); } -static int handle_ss(struct ss_session *ss, const struct osmo_gsup_message *gsup, - const struct ss_request *req) +static int handle_ss(struct ss_session *ss, bool is_euse_originated, const struct osmo_gsup_message *gsup, + const struct ss_request *req) { uint8_t comp_type = gsup->ss_info[0]; @@ -441,17 +448,16 @@ * we don't handle "structured" SS requests at all. */ LOGPSS(ss, LOGL_NOTICE, "Structured SS requests are not supported, rejecting...\n"); - ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_FACILITY_NOT_SUPPORTED); + ss_tx_to_ms_error(ss, req->invoke_id, GSM0480_ERR_CODE_FACILITY_NOT_SUPPORTED); return -ENOTSUP; } /* Handle a USSD GSUP message for a given SS Session received from VLR or EUSE */ -static int handle_ussd(struct osmo_gsup_conn *conn, struct ss_session *ss, - const struct osmo_gsup_message *gsup, const struct ss_request *req) +static int handle_ussd(struct ss_session *ss, bool is_euse_originated, const struct osmo_gsup_message *gsup, + const struct ss_request *req) { uint8_t comp_type = gsup->ss_info[0]; struct msgb *msg_out; - bool is_euse_originated = conn_is_euse(conn); LOGPSS(ss, LOGL_INFO, "USSD CompType=%s, OpCode=%s '%s'\n", gsm0480_comp_type_name(comp_type), gsm0480_op_code_name(req->opcode), @@ -459,26 +465,27 @@ if ((ss->is_external && !ss->u.euse) || !ss->u.iuse) { LOGPSS(ss, LOGL_NOTICE, "USSD for unknown code '%s'\n", req->ussd_text); - ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_SS_NOT_AVAILABLE); + ss_tx_to_ms_error(ss, req->invoke_id, GSM0480_ERR_CODE_SS_NOT_AVAILABLE); return 0; } if (is_euse_originated) { - msg_out = osmo_gsup_msgb_alloc("GSUP USSD FW"); /* Received from EUSE, Forward to VLR */ - osmo_gsup_encode(msg_out, gsup); - ss_gsup_send(ss, conn->server, msg_out); + /* Need a non-const osmo_gsup_message, because sending might modify some (routing related?) parts. */ + struct osmo_gsup_message forward = *gsup; + ss_gsup_send_to_ms(ss, g_hlr->gs, &forward); } else { /* Received from VLR (MS) */ if (ss->is_external) { /* Forward to EUSE */ - char addr[128]; - strcpy(addr, "EUSE-"); - osmo_strlcpy(addr+5, ss->u.euse->name, sizeof(addr)-5); - conn = gsup_route_find(conn->server, (uint8_t *)addr, strlen(addr)+1); + struct osmo_ipa_name euse_name; + struct osmo_gsup_conn *conn; + osmo_ipa_name_set_str(&euse_name, "EUSE-%s", ss->u.euse->name); + conn = gsup_route_find_by_ipa_name(g_hlr->gs, &euse_name); if (!conn) { - LOGPSS(ss, LOGL_ERROR, "Cannot find conn for EUSE %s\n", addr); - ss_tx_error(ss, req->invoke_id, GSM0480_ERR_CODE_SYSTEM_FAILURE); + LOGPSS(ss, LOGL_ERROR, "Cannot find conn for EUSE %s\n", + osmo_ipa_name_to_str(&euse_name)); + ss_tx_to_ms_error(ss, req->invoke_id, GSM0480_ERR_CODE_SYSTEM_FAILURE); } else { msg_out = osmo_gsup_msgb_alloc("GSUP USSD FW"); osmo_gsup_encode(msg_out, gsup); @@ -486,7 +493,7 @@ } } else { /* Handle internally */ - ss->u.iuse->handle_ussd(conn, ss, gsup, req); + ss->u.iuse->handle_ussd(ss, gsup, req); /* Release session immediately */ ss_session_free(ss); } @@ -498,12 +505,16 @@ /* this function is called for any SS_REQ/SS_RESP messages from both the MSC/VLR side as well * as from the EUSE side */ -int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup) +void rx_proc_ss_req(struct osmo_gsup_req *gsup_req) { - struct hlr *hlr = conn->server->priv; + struct hlr *hlr = g_hlr; struct ss_session *ss; struct ss_request req = {0}; - struct gsup_route *gsup_rt; + const struct osmo_gsup_message *gsup = &gsup_req->gsup; + /* Remember whether this function should free the incoming gsup_req: if it is placed as ss->initial_req_from_*, + * do not free it here. If not, free it here. */ + struct osmo_gsup_req *free_gsup_req = gsup_req; + bool is_euse_originated = peer_name_is_euse(&gsup_req->source_name); LOGP(DSS, LOGL_DEBUG, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id, osmo_gsup_session_state_name(gsup->session_state)); @@ -514,14 +525,15 @@ LOGP(DSS, LOGL_ERROR, "%s/0x%082x: Unable to parse SS request: %s\n", gsup->imsi, gsup->session_id, osmo_hexdump(gsup->ss_info, gsup->ss_info_len)); - /* FIXME: Send a Reject component? */ - goto out_err; + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_INV_MAND_INFO, "error parsing SS request"); + return; } } else if (gsup->session_state != OSMO_GSUP_SESSION_STATE_END) { LOGP(DSS, LOGL_ERROR, "%s/0x%082x: Missing SS payload for '%s'\n", gsup->imsi, gsup->session_id, osmo_gsup_session_state_name(gsup->session_state)); - goto out_err; + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_INV_MAND_INFO, "missing SS payload"); + return; } switch (gsup->session_state) { @@ -530,32 +542,29 @@ if (ss_session_find(hlr, gsup->imsi, gsup->session_id)) { LOGP(DSS, LOGL_ERROR, "%s/0x%08x: BEGIN with non-unique session ID!\n", gsup->imsi, gsup->session_id); - goto out_err; + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_INV_MAND_INFO, "BEGIN with non-unique session ID"); + return; } ss = ss_session_alloc(hlr, gsup->imsi, gsup->session_id); if (!ss) { LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unable to allocate SS session\n", gsup->imsi, gsup->session_id); - goto out_err; + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_NET_FAIL, "Unable to allocate SS session"); + return; } /* Get IPA name from VLR conn and save as ss->vlr_number */ - if (!conn_is_euse(conn)) { - gsup_rt = gsup_route_find_by_conn(conn); - if (gsup_rt) { - ss->vlr_number = (uint8_t *)talloc_strdup(ss, (const char *)gsup_rt->addr); - ss->vlr_number_len = strlen((const char *)gsup_rt->addr) + 1; - LOGPSS(ss, LOGL_DEBUG, "Destination IPA name retrieved from GSUP route: %s\n", - osmo_quote_str((const char *)ss->vlr_number, ss->vlr_number_len)); - } else { - LOGPSS(ss, LOGL_NOTICE, "Could not find GSUP route, therefore can't set the destination" - " IPA name. We'll try to look it up later, but this should not" - " have happened.\n"); - } + if (!is_euse_originated) { + ss->initial_req_from_ms = gsup_req; + free_gsup_req = NULL; + ss->vlr_name = gsup_req->source_name; + } else { + ss->initial_req_from_euse = gsup_req; + free_gsup_req = NULL; } if (ss_op_is_ussd(req.opcode)) { - if (conn_is_euse(conn)) { + if (is_euse_originated) { /* EUSE->VLR: MT USSD. EUSE is known ('conn'), VLR is to be resolved */ - ss->u.euse = euse_by_conn(conn); + ss->u.euse = euse_by_name(&gsup_req->source_name); } else { /* VLR->EUSE: MO USSD. VLR is known ('conn'), EUSE is to be resolved */ struct hlr_ussd_route *rt; @@ -576,10 +585,10 @@ } } /* dispatch unstructured SS to routing */ - handle_ussd(conn, ss, gsup, &req); + handle_ussd(ss, is_euse_originated, &gsup_req->gsup, &req); } else { /* dispatch non-call SS to internal code */ - handle_ss(ss, gsup, &req); + handle_ss(ss, is_euse_originated, &gsup_req->gsup, &req); } break; case OSMO_GSUP_SESSION_STATE_CONTINUE: @@ -587,7 +596,8 @@ if (!ss) { LOGP(DSS, LOGL_ERROR, "%s/0x%08x: CONTINUE for unknown SS session\n", gsup->imsi, gsup->session_id); - goto out_err; + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_INV_MAND_INFO, "CONTINUE for unknown SS session"); + return; } /* Reschedule self-destruction timer */ @@ -596,10 +606,10 @@ if (ss_op_is_ussd(req.opcode)) { /* dispatch unstructured SS to routing */ - handle_ussd(conn, ss, gsup, &req); + handle_ussd(ss, is_euse_originated, &gsup_req->gsup, &req); } else { /* dispatch non-call SS to internal code */ - handle_ss(ss, gsup, &req); + handle_ss(ss, is_euse_originated, &gsup_req->gsup, &req); } break; case OSMO_GSUP_SESSION_STATE_END: @@ -607,17 +617,17 @@ if (!ss) { LOGP(DSS, LOGL_ERROR, "%s/0x%08x: END for unknown SS session\n", gsup->imsi, gsup->session_id); - goto out_err; + return; } /* SS payload is optional for END */ if (gsup->ss_info && gsup->ss_info_len) { if (ss_op_is_ussd(req.opcode)) { /* dispatch unstructured SS to routing */ - handle_ussd(conn, ss, gsup, &req); + handle_ussd(ss, is_euse_originated, &gsup_req->gsup, &req); } else { /* dispatch non-call SS to internal code */ - handle_ss(ss, gsup, &req); + handle_ss(ss, is_euse_originated, &gsup_req->gsup, &req); } } @@ -626,18 +636,15 @@ default: LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unknown SS State %d\n", gsup->imsi, gsup->session_id, gsup->session_state); - goto out_err; + break; } - return 0; - -out_err: - return 0; + if (free_gsup_req) + osmo_gsup_req_free(free_gsup_req); } -int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup) +void rx_proc_ss_error(struct osmo_gsup_req *req) { - LOGP(DSS, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", gsup->imsi, gsup->session_id, - osmo_gsup_session_state_name(gsup->session_state)); - return 0; + LOGP(DSS, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", req->gsup.imsi, req->gsup.session_id, + osmo_gsup_session_state_name(req->gsup.session_state)); } diff --git a/src/logging.c b/src/logging.c index d0b79cf..15ef596 100644 --- a/src/logging.c +++ b/src/logging.c @@ -31,6 +31,12 @@ .color = "\033[1;35m", .enabled = 1, .loglevel = LOGL_NOTICE, }, + [DLU] = { + .name = "DLU", + .description = "Location Updating", + .color = "\033[1;33m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, }; const struct log_info hlr_log_info = { diff --git a/src/lu_fsm.c b/src/lu_fsm.c new file mode 100644 index 0000000..bded4ef --- /dev/null +++ b/src/lu_fsm.c @@ -0,0 +1,308 @@ +/* Roughly following "Process Update_Location_HLR" of TS 09.02 */ + +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +#define LOG_LU(lu, level, fmt, args...) \ + LOGPFSML((lu)? (lu)->fi : NULL, level, fmt, ##args) + +#define LOG_LU_REQ(lu, req, level, fmt, args...) \ + LOGPFSML((lu)? (lu)->fi : NULL, level, "%s:" fmt, \ + osmo_gsup_message_type_name((req)->gsup.message_type), ##args) + +struct lu { + struct llist_head entry; + struct osmo_fsm_inst *fi; + + struct osmo_gsup_req *update_location_req; + + /* Subscriber state at time of initial Update Location Request */ + struct hlr_subscriber subscr; + bool is_ps; + + /* VLR requesting the LU. */ + struct osmo_ipa_name vlr_name; + + /* If the LU request was received via a proxy and not immediately from a local VLR, this indicates the closest + * peer that forwarded the GSUP message. */ + struct osmo_ipa_name via_proxy; +}; +LLIST_HEAD(g_all_lu); + +enum lu_fsm_event { + LU_EV_RX_GSUP, +}; + +enum lu_fsm_state { + LU_ST_UNVALIDATED, + LU_ST_WAIT_INSERT_DATA_RESULT, + LU_ST_WAIT_LOCATION_CANCEL_RESULT, +}; + +static const struct value_string lu_fsm_event_names[] = { + OSMO_VALUE_STRING(LU_EV_RX_GSUP), + {} +}; + +static struct osmo_tdef_state_timeout lu_fsm_timeouts[32] = { + [LU_ST_WAIT_INSERT_DATA_RESULT] = { .T = -4222 }, + [LU_ST_WAIT_LOCATION_CANCEL_RESULT] = { .T = -4222 }, +}; + +#define lu_state_chg(lu, state) \ + osmo_tdef_fsm_inst_state_chg((lu)->fi, state, lu_fsm_timeouts, g_hlr_tdefs, 5) + +static void lu_success(struct lu *lu) +{ + if (!lu->update_location_req) + LOG_LU(lu, LOGL_ERROR, "No request for this LU\n"); + else + osmo_gsup_req_respond_msgt(lu->update_location_req, OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT, true); + lu->update_location_req = NULL; + osmo_fsm_inst_term(lu->fi, OSMO_FSM_TERM_REGULAR, NULL); +} + +#define lu_failure(LU, CAUSE, log_msg, args...) do { \ + if (!(LU)->update_location_req) \ + LOG_LU(LU, LOGL_ERROR, "No request for this LU\n"); \ + else \ + osmo_gsup_req_respond_err((LU)->update_location_req, CAUSE, log_msg, ##args); \ + (LU)->update_location_req = NULL; \ + osmo_fsm_inst_term((LU)->fi, OSMO_FSM_TERM_REGULAR, NULL); \ + } while(0) + +static struct osmo_fsm lu_fsm; + +static void lu_start(struct osmo_gsup_req *update_location_req) +{ + struct osmo_fsm_inst *fi; + struct lu *lu; + + OSMO_ASSERT(update_location_req); + OSMO_ASSERT(update_location_req->gsup.message_type == OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST); + + fi = osmo_fsm_inst_alloc(&lu_fsm, g_hlr, NULL, LOGL_DEBUG, update_location_req->gsup.imsi); + OSMO_ASSERT(fi); + + lu = talloc(fi, struct lu); + OSMO_ASSERT(lu); + fi->priv = lu; + *lu = (struct lu){ + .fi = fi, + .update_location_req = update_location_req, + .vlr_name = update_location_req->source_name, + .via_proxy = update_location_req->via_proxy, + /* According to GSUP specs, OSMO_GSUP_CN_DOMAIN_PS is the default. */ + .is_ps = (update_location_req->gsup.cn_domain != OSMO_GSUP_CN_DOMAIN_CS), + }; + llist_add(&lu->entry, &g_all_lu); + + osmo_fsm_inst_update_id_f_sanitize(fi, '_', "%s:IMSI-%s", lu->is_ps ? "PS" : "CS", update_location_req->gsup.imsi); + + if (!lu->vlr_name.len) { + lu_failure(lu, GMM_CAUSE_NET_FAIL, "LU without a VLR"); + return; + } + + if (db_subscr_get_by_imsi(g_hlr->dbc, update_location_req->gsup.imsi, &lu->subscr) < 0) { + lu_failure(lu, GMM_CAUSE_IMSI_UNKNOWN, "Subscriber does not exist"); + return; + } + + /* Check if subscriber is generally permitted on CS or PS + * service (as requested) */ + if (!lu->is_ps && !lu->subscr.nam_cs) { + lu_failure(lu, GMM_CAUSE_PLMN_NOTALLOWED, "nam_cs == false"); + return; + } + if (lu->is_ps && !lu->subscr.nam_ps) { + lu_failure(lu, GMM_CAUSE_GPRS_NOTALLOWED, "nam_ps == false"); + return; + } + + /* TODO: Set subscriber tracing = deactive in VLR/SGSN */ + +#if 0 + /* Cancel in old VLR/SGSN, if new VLR/SGSN differs from old (FIXME: OS#4491) */ + if (!lu->is_ps && strcmp(subscr->vlr_number, vlr_number)) { + lu_op_tx_cancel_old(lu); + } else if (lu->is_ps && strcmp(subscr->sgsn_number, sgsn_number)) { + lu_op_tx_cancel_old(lu); + } +#endif + + /* Store the VLR / SGSN number with the subscriber, so we know where it was last seen. */ + if (lu->via_proxy.len) { + LOG_GSUP_REQ(update_location_req, LOGL_DEBUG, "storing %s = %s, via proxy %s\n", + lu->is_ps ? "SGSN number" : "VLR number", + osmo_ipa_name_to_str(&lu->vlr_name), + osmo_ipa_name_to_str(&lu->via_proxy)); + } else { + LOG_GSUP_REQ(update_location_req, LOGL_DEBUG, "storing %s = %s\n", + lu->is_ps ? "SGSN number" : "VLR number", + osmo_ipa_name_to_str(&lu->vlr_name)); + } + + if (db_subscr_lu(g_hlr->dbc, lu->subscr.id, &lu->vlr_name, lu->is_ps, &lu->via_proxy)) { + lu_failure(lu, GMM_CAUSE_NET_FAIL, "Cannot update %s in the database", + lu->is_ps ? "SGSN number" : "VLR number"); + return; + } + + /* TODO: Subscriber allowed to roam in PLMN? */ + /* TODO: Update RoutingInfo */ + /* TODO: Reset Flag MS Purged (cs/ps) */ + /* TODO: Control_Tracing_HLR / Control_Tracing_HLR_with_SGSN */ + + lu_state_chg(lu, LU_ST_WAIT_INSERT_DATA_RESULT); +} + +void lu_rx_gsup(struct osmo_gsup_req *req) +{ + struct lu *lu; + if (req->gsup.message_type == OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST) + return lu_start(req); + + llist_for_each_entry(lu, &g_all_lu, entry) { + if (strcmp(lu->subscr.imsi, req->gsup.imsi)) + continue; + if (osmo_fsm_inst_dispatch(lu->fi, LU_EV_RX_GSUP, req)) { + LOG_LU_REQ(lu, req, LOGL_ERROR, "Cannot receive GSUP messages in this state\n"); + osmo_gsup_req_respond_err(req, GMM_CAUSE_MSGT_INCOMP_P_STATE, + "LU does not accept GSUP rx"); + } + return; + } + osmo_gsup_req_respond_err(req, GMM_CAUSE_MSGT_INCOMP_P_STATE, "No Location Updating in progress for this IMSI"); +} + +static int lu_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + struct lu *lu = fi->priv; + lu_failure(lu, GSM_CAUSE_NET_FAIL, "Timeout"); + return 0; +} + +static void lu_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + struct lu *lu = fi->priv; + if (lu->update_location_req) + osmo_gsup_req_respond_err(lu->update_location_req, GSM_CAUSE_NET_FAIL, "LU aborted"); + lu->update_location_req = NULL; + llist_del(&lu->entry); +} + +static void lu_fsm_wait_insert_data_result_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + /* Transmit Insert Data Request to the VLR */ + struct lu *lu = fi->priv; + struct hlr_subscriber *subscr = &lu->subscr; + struct osmo_gsup_message gsup; + uint8_t msisdn_enc[OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN]; + uint8_t apn[APN_MAXLEN]; + + if (osmo_gsup_create_insert_subscriber_data_msg(&gsup, subscr->imsi, + subscr->msisdn, msisdn_enc, sizeof(msisdn_enc), + apn, sizeof(apn), + lu->is_ps? OSMO_GSUP_CN_DOMAIN_PS : OSMO_GSUP_CN_DOMAIN_CS)) { + lu_failure(lu, GMM_CAUSE_NET_FAIL, "cannot encode Insert Subscriber Data message"); + return; + } + + if (osmo_gsup_req_respond(lu->update_location_req, &gsup, false, false)) + lu_failure(lu, GMM_CAUSE_NET_FAIL, "cannot send %s", osmo_gsup_message_type_name(gsup.message_type)); +} + +void lu_fsm_wait_insert_data_result(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct lu *lu = fi->priv; + struct osmo_gsup_req *req; + + switch (event) { + case LU_EV_RX_GSUP: + req = data; + break; + default: + OSMO_ASSERT(false); + } + + switch (req->gsup.message_type) { + case OSMO_GSUP_MSGT_INSERT_DATA_RESULT: + osmo_gsup_req_free(req); + lu_success(lu); + break; + + case OSMO_GSUP_MSGT_INSERT_DATA_ERROR: + lu_failure(lu, GMM_CAUSE_NET_FAIL, "Rx %s", osmo_gsup_message_type_name(req->gsup.message_type)); + break; + + default: + osmo_gsup_req_respond_err(req, GMM_CAUSE_MSGT_INCOMP_P_STATE, "unexpected message type in this state"); + break; + } +} + +#define S(x) (1 << (x)) + +static const struct osmo_fsm_state lu_fsm_states[] = { + [LU_ST_UNVALIDATED] = { + .name = "UNVALIDATED", + .out_state_mask = 0 + | S(LU_ST_WAIT_INSERT_DATA_RESULT) + , + }, + [LU_ST_WAIT_INSERT_DATA_RESULT] = { + .name = "WAIT_INSERT_DATA_RESULT", + .in_event_mask = 0 + | S(LU_EV_RX_GSUP) + , + .onenter = lu_fsm_wait_insert_data_result_onenter, + .action = lu_fsm_wait_insert_data_result, + }, +}; + +static struct osmo_fsm lu_fsm = { + .name = "lu", + .states = lu_fsm_states, + .num_states = ARRAY_SIZE(lu_fsm_states), + .log_subsys = DLU, + .event_names = lu_fsm_event_names, + .timer_cb = lu_fsm_timer_cb, + .cleanup = lu_fsm_cleanup, +}; + +static __attribute__((constructor)) void lu_fsm_init() +{ + OSMO_ASSERT(osmo_fsm_register(&lu_fsm) == 0); +} diff --git a/src/luop.c b/src/luop.c deleted file mode 100644 index e63ba91..0000000 --- a/src/luop.c +++ /dev/null @@ -1,258 +0,0 @@ -/* OsmoHLR TX/RX lu operations */ - -/* (C) 2017 sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Harald Welte - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -const struct value_string lu_state_names[] = { - { LU_S_NULL, "NULL" }, - { LU_S_LU_RECEIVED, "LU RECEIVED" }, - { LU_S_CANCEL_SENT, "CANCEL SENT" }, - { LU_S_CANCEL_ACK_RECEIVED, "CANCEL-ACK RECEIVED" }, - { LU_S_ISD_SENT, "ISD SENT" }, - { LU_S_ISD_ACK_RECEIVED, "ISD-ACK RECEIVED" }, - { LU_S_COMPLETE, "COMPLETE" }, - { 0, NULL } -}; - -/* Transmit a given GSUP message for the given LU operation */ -static void _luop_tx_gsup(struct lu_operation *luop, - const struct osmo_gsup_message *gsup) -{ - struct msgb *msg_out; - - msg_out = osmo_gsup_msgb_alloc("GSUP LUOP"); - osmo_gsup_encode(msg_out, gsup); - - osmo_gsup_addr_send(luop->gsup_server, luop->peer, - talloc_total_size(luop->peer), - msg_out); -} - -static inline void fill_gsup_msg(struct osmo_gsup_message *out, - const struct lu_operation *lu, - enum osmo_gsup_message_type mt) -{ - memset(out, 0, sizeof(struct osmo_gsup_message)); - if (lu) - osmo_strlcpy(out->imsi, lu->subscr.imsi, - GSM23003_IMSI_MAX_DIGITS + 1); - out->message_type = mt; -} - -/* timer call-back in case LU operation doesn't receive an response */ -static void lu_op_timer_cb(void *data) -{ - struct lu_operation *luop = data; - - DEBUGP(DMAIN, "LU OP timer expired in state %s\n", - get_value_string(lu_state_names, luop->state)); - - switch (luop->state) { - case LU_S_CANCEL_SENT: - break; - case LU_S_ISD_SENT: - break; - default: - break; - } - - lu_op_tx_error(luop, GMM_CAUSE_NET_FAIL); -} - -bool lu_op_fill_subscr(struct lu_operation *luop, struct db_context *dbc, - const char *imsi) -{ - struct hlr_subscriber *subscr = &luop->subscr; - - if (db_subscr_get_by_imsi(dbc, imsi, subscr) < 0) - return false; - - return true; -} - -struct lu_operation *lu_op_alloc(struct osmo_gsup_server *srv) -{ - struct lu_operation *luop; - - luop = talloc_zero(srv, struct lu_operation); - OSMO_ASSERT(luop); - luop->gsup_server = srv; - osmo_timer_setup(&luop->timer, lu_op_timer_cb, luop); - - return luop; -} - -void lu_op_free(struct lu_operation *luop) -{ - /* Only attempt to remove when it was ever added to a list. */ - if (luop->list.next) - llist_del(&luop->list); - - /* Delete timer just in case it is still pending. */ - osmo_timer_del(&luop->timer); - - talloc_free(luop); -} - -struct lu_operation *lu_op_alloc_conn(struct osmo_gsup_conn *conn) -{ - uint8_t *peer_addr; - struct lu_operation *luop = lu_op_alloc(conn->server); - int rc = osmo_gsup_conn_ccm_get(conn, &peer_addr, IPAC_IDTAG_SERNR); - if (rc < 0) { - lu_op_free(luop); - return NULL; - } - - luop->peer = talloc_memdup(luop, peer_addr, rc); - - return luop; -} - -/* FIXME: this doesn't seem to work at all */ -struct lu_operation *lu_op_by_imsi(const char *imsi, - const struct llist_head *lst) -{ - struct lu_operation *luop; - - llist_for_each_entry(luop, lst, list) { - if (!strcmp(imsi, luop->subscr.imsi)) - return luop; - } - return NULL; -} - -void lu_op_statechg(struct lu_operation *luop, enum lu_state new_state) -{ - enum lu_state old_state = luop->state; - - DEBUGP(DMAIN, "LU OP state change: %s -> ", - get_value_string(lu_state_names, old_state)); - DEBUGPC(DMAIN, "%s\n", - get_value_string(lu_state_names, new_state)); - - luop->state = new_state; -} - -/*! Transmit UPD_LOC_ERROR and destroy lu_operation */ -void lu_op_tx_error(struct lu_operation *luop, enum gsm48_gmm_cause cause) -{ - struct osmo_gsup_message gsup; - - DEBUGP(DMAIN, "%s: LU OP Tx Error (cause %s)\n", - luop->subscr.imsi, get_value_string(gsm48_gmm_cause_names, - cause)); - - fill_gsup_msg(&gsup, luop, OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR); - gsup.cause = cause; - - _luop_tx_gsup(luop, &gsup); - - lu_op_free(luop); -} - -/*! Transmit UPD_LOC_RESULT and destroy lu_operation */ -void lu_op_tx_ack(struct lu_operation *luop) -{ - struct osmo_gsup_message gsup; - - fill_gsup_msg(&gsup, luop, OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT); - //FIXME gsup.hlr_enc; - - _luop_tx_gsup(luop, &gsup); - - lu_op_free(luop); -} - -/*! Send Cancel Location to old VLR/SGSN (FIXME: OS#4491) */ -void lu_op_tx_cancel_old(struct lu_operation *luop) -{ - struct osmo_gsup_message gsup; - - OSMO_ASSERT(luop->state == LU_S_LU_RECEIVED); - - fill_gsup_msg(&gsup, NULL, OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST); - //gsup.cause = FIXME; - //gsup.cancel_type = FIXME; - - _luop_tx_gsup(luop, &gsup); - - lu_op_statechg(luop, LU_S_CANCEL_SENT); - osmo_timer_schedule(&luop->timer, CANCEL_TIMEOUT_SECS, 0); -} - -/*! Transmit Insert Subscriber Data to new VLR/SGSN */ -void lu_op_tx_insert_subscr_data(struct lu_operation *luop) -{ - struct hlr_subscriber *subscr = &luop->subscr; - struct osmo_gsup_message gsup = { }; - uint8_t msisdn_enc[OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN]; - uint8_t apn[APN_MAXLEN]; - enum osmo_gsup_cn_domain cn_domain; - - OSMO_ASSERT(luop->state == LU_S_LU_RECEIVED || - luop->state == LU_S_CANCEL_ACK_RECEIVED); - - if (luop->is_ps) - cn_domain = OSMO_GSUP_CN_DOMAIN_PS; - else - cn_domain = OSMO_GSUP_CN_DOMAIN_CS; - - if (osmo_gsup_create_insert_subscriber_data_msg(&gsup, subscr->imsi, subscr->msisdn, msisdn_enc, - sizeof(msisdn_enc), apn, sizeof(apn), cn_domain) != 0) { - LOGP(DMAIN, LOGL_ERROR, - "IMSI='%s': Cannot notify GSUP client; could not create gsup message " - "for %s\n", subscr->imsi, luop->peer); - return; - } - - /* Send ISD to new VLR/SGSN */ - _luop_tx_gsup(luop, &gsup); - - lu_op_statechg(luop, LU_S_ISD_SENT); - osmo_timer_schedule(&luop->timer, ISD_TIMEOUT_SECS, 0); -} - -/*! Transmit Delete Subscriber Data to new VLR/SGSN. - * The luop is not freed. */ -void lu_op_tx_del_subscr_data(struct lu_operation *luop) -{ - struct osmo_gsup_message gsup; - - fill_gsup_msg(&gsup, luop, OSMO_GSUP_MSGT_DELETE_DATA_REQUEST); - - gsup.cn_domain = OSMO_GSUP_CN_DOMAIN_PS; - - /* Send ISD to new VLR/SGSN */ - _luop_tx_gsup(luop, &gsup); -} diff --git a/tests/Makefile.am b/tests/Makefile.am index 776f8a9..9015494 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -2,6 +2,7 @@ auc \ gsup_server \ db \ + gsup \ db_upgrade \ mslookup \ $(NULL) diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am index f13824d..0194957 100644 --- a/tests/db/Makefile.am +++ b/tests/db/Makefile.am @@ -30,6 +30,7 @@ $(top_builddir)/src/db_auc.o \ $(top_builddir)/src/db_hlr.o \ $(top_builddir)/src/db.o \ + $(top_builddir)/src/ipa_name.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/db/db_test.c b/tests/db/db_test.c index b9b263d..c53baed 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -145,6 +146,8 @@ #define Ps(name) \ if (*subscr->name) \ Pfo(name, "'%s'", subscr) +#define Pgt(name) \ + Pfv(name, "%s", osmo_ipa_name_to_str(&subscr->name)) #define Pd(name) \ Pfv(name, "%"PRId64, (int64_t)subscr->name) #define Pd_nonzero(name) \ @@ -235,6 +238,14 @@ static const char *short_imsi = "123456"; static const char *unknown_imsi = "999999999"; +static int db_subscr_lu_str(struct db_context *dbc, int64_t subscr_id, + const char *vlr_or_sgsn_number, bool is_ps) +{ + struct osmo_ipa_name vlr_nr; + osmo_ipa_name_set_str(&vlr_nr, vlr_or_sgsn_number); + return db_subscr_lu(dbc, subscr_id, &vlr_nr, is_ps, NULL); +} + static void test_subscr_create_update_sel_delete() { int64_t id0, id1, id2, id_short; @@ -386,39 +397,39 @@ comment("Record LU for PS and CS (SGSN and VLR names)"); - ASSERT_RC(db_subscr_lu(dbc, id0, "5952", true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "5952", true), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "712", false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "712", false), 0); ASSERT_SEL(id, id0, 0); comment("Record LU for PS and CS (SGSN and VLR names) *again*"); - ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "111", true), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "111", true), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "222", false), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "222", false), 0); ASSERT_SEL(id, id0, 0); comment("Unset LU info for PS and CS (SGSN and VLR names)"); - ASSERT_RC(db_subscr_lu(dbc, id0, "", true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "", true), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "", false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "", false), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "111", true), 0); - ASSERT_RC(db_subscr_lu(dbc, id0, "222", false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "111", true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, "222", false), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, NULL, true), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, NULL, true), 0); ASSERT_SEL(id, id0, 0); - ASSERT_RC(db_subscr_lu(dbc, id0, NULL, false), 0); + ASSERT_RC(db_subscr_lu_str(dbc, id0, NULL, false), 0); ASSERT_SEL(id, id0, 0); comment("Record LU for non-existent ID"); - ASSERT_RC(db_subscr_lu(dbc, 99999, "5952", true), -ENOENT); - ASSERT_RC(db_subscr_lu(dbc, 99999, "712", false), -ENOENT); + ASSERT_RC(db_subscr_lu_str(dbc, 99999, "5952", true), -ENOENT); + ASSERT_RC(db_subscr_lu_str(dbc, 99999, "712", false), -ENOENT); ASSERT_SEL(id, 99999, -ENOENT); comment("Purge and un-purge PS and CS"); diff --git a/tests/db/db_test.err b/tests/db/db_test.err index 6423550..e4d43c9 100644 --- a/tests/db/db_test.err +++ b/tests/db/db_test.err @@ -435,7 +435,7 @@ --- Record LU for PS and CS (SGSN and VLR names) -db_subscr_lu(dbc, id0, "5952", true) --> 0 +db_subscr_lu_str(dbc, id0, "5952", true) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -445,7 +445,7 @@ .sgsn_number = '5952', } -db_subscr_lu(dbc, id0, "712", false) --> 0 +db_subscr_lu_str(dbc, id0, "712", false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -459,7 +459,7 @@ --- Record LU for PS and CS (SGSN and VLR names) *again* -db_subscr_lu(dbc, id0, "111", true) --> 0 +db_subscr_lu_str(dbc, id0, "111", true) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -470,7 +470,7 @@ .sgsn_number = '111', } -db_subscr_lu(dbc, id0, "111", true) --> 0 +db_subscr_lu_str(dbc, id0, "111", true) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -481,7 +481,7 @@ .sgsn_number = '111', } -db_subscr_lu(dbc, id0, "222", false) --> 0 +db_subscr_lu_str(dbc, id0, "222", false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -492,7 +492,7 @@ .sgsn_number = '111', } -db_subscr_lu(dbc, id0, "222", false) --> 0 +db_subscr_lu_str(dbc, id0, "222", false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -506,7 +506,7 @@ --- Unset LU info for PS and CS (SGSN and VLR names) -db_subscr_lu(dbc, id0, "", true) --> 0 +db_subscr_lu_str(dbc, id0, "", true) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -516,7 +516,7 @@ .vlr_number = '222', } -db_subscr_lu(dbc, id0, "", false) --> 0 +db_subscr_lu_str(dbc, id0, "", false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -525,9 +525,9 @@ .msisdn = '543210123456789', } -db_subscr_lu(dbc, id0, "111", true) --> 0 +db_subscr_lu_str(dbc, id0, "111", true) --> 0 -db_subscr_lu(dbc, id0, "222", false) --> 0 +db_subscr_lu_str(dbc, id0, "222", false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -538,7 +538,7 @@ .sgsn_number = '111', } -db_subscr_lu(dbc, id0, NULL, true) --> 0 +db_subscr_lu_str(dbc, id0, NULL, true) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -548,7 +548,7 @@ .vlr_number = '222', } -db_subscr_lu(dbc, id0, NULL, false) --> 0 +db_subscr_lu_str(dbc, id0, NULL, false) --> 0 db_subscr_get_by_id(dbc, id0, &g_subscr) --> 0 struct hlr_subscriber { @@ -560,10 +560,10 @@ --- Record LU for non-existent ID -db_subscr_lu(dbc, 99999, "5952", true) --> -ENOENT +db_subscr_lu_str(dbc, 99999, "5952", true) --> -ENOENT DAUC Cannot update SGSN number for subscriber ID=99999: no such subscriber -db_subscr_lu(dbc, 99999, "712", false) --> -ENOENT +db_subscr_lu_str(dbc, 99999, "712", false) --> -ENOENT DAUC Cannot update VLR number for subscriber ID=99999: no such subscriber db_subscr_get_by_id(dbc, 99999, &g_subscr) --> -ENOENT diff --git a/tests/gsup/Makefile.am b/tests/gsup/Makefile.am new file mode 100644 index 0000000..5dbb180 --- /dev/null +++ b/tests/gsup/Makefile.am @@ -0,0 +1,36 @@ +AM_CPPFLAGS = \ + $(all_includes) \ + $(NULL) + +AM_CFLAGS = \ + -I$(top_srcdir)/include \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(NULL) + +AM_LDFLAGS = \ + -no-install \ + $(NULL) + +EXTRA_DIST = \ + gsup_test.ok \ + gsup_test.err \ + $(NULL) + +noinst_PROGRAMS = \ + gsup_test \ + $(NULL) + +gsup_test_SOURCES = \ + gsup_test.c \ + $(NULL) + +gsup_test_LDADD = \ + $(top_builddir)/src/gsupclient/libosmo-gsup-client.la \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(NULL) + +.PHONY: update_exp +update_exp: + $(builddir)/gsup_test >"$(srcdir)/gsup_test.ok" 2>"$(srcdir)/gsup_test.err" diff --git a/tests/gsup/gsup_test.c b/tests/gsup/gsup_test.c new file mode 100644 index 0000000..1a7bb76 --- /dev/null +++ b/tests/gsup/gsup_test.c @@ -0,0 +1,113 @@ +/* (C) 2018 by sysmocom - s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include +#include + +void *ctx = NULL; + +static void test_gsup_make_response(void) +{ + char *source_name = "incoming-source-name"; + char *destination_name = "preset-destination-name"; + uint8_t sm_rp_mr = 23; + uint8_t other_sm_rp_mr = 17; + struct osmo_gsup_message rx = { + .message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, + .imsi = "1234567", + .message_class = OSMO_GSUP_MESSAGE_CLASS_SUBSCRIBER_MANAGEMENT, + .source_name = (uint8_t*)source_name, + .source_name_len = strlen(source_name) + 1, + .sm_rp_mr = &sm_rp_mr, + .session_id = 42, + .session_state = OSMO_GSUP_SESSION_STATE_BEGIN, + }; + struct osmo_gsup_message nonempty = { + .message_type = OSMO_GSUP_MSGT_ROUTING_ERROR, + .imsi = "987654321", + .message_class = OSMO_GSUP_MESSAGE_CLASS_INTER_MSC, + .destination_name = (uint8_t*)destination_name, + .destination_name_len = strlen(destination_name) + 1, + .sm_rp_mr = &other_sm_rp_mr, + .session_id = 11, + .session_state = OSMO_GSUP_SESSION_STATE_END, + }; + void *name_ctx = talloc_named_const(ctx, 0, __func__); + int error; + int final; + char *nonempty_str; + int rc; + + printf("\n%s()\n", __func__); + printf("rx = %s\n", osmo_gsup_message_to_str_c(name_ctx, &rx)); + + printf("\nwriting to an empty struct osmo_gsup_message should populate values as needed:\n"); + for (error = 0; error <= 1; error++) { + for (final = 0; final <= 1; final++) { + struct osmo_gsup_message target = {}; + printf("- args (error=%d, final=%d)\n", error, final); + rc = osmo_gsup_make_response(&target, &rx, error, final); + printf(" %s\n", osmo_gsup_message_to_str_c(name_ctx, &target)); + printf(" rc = %d\n", rc); + } + } + + printf("\nwriting to an already populated struct osmo_gsup_message, should have no effect:\n"); + nonempty_str = osmo_gsup_message_to_str_c(name_ctx, &nonempty); + for (error = 0; error <= 1; error++) { + for (final = 0; final <= 1; final++) { + struct osmo_gsup_message target = nonempty; + char *result; + printf("- args (error=%d, final=%d)\n", error, final); + rc = osmo_gsup_make_response(&target, &rx, error, final); + result = osmo_gsup_message_to_str_c(name_ctx, &target); + printf(" %s\n", result); + if (strcmp(result, nonempty_str)) + printf(" ERROR: expected: %s\n", nonempty_str); + printf(" rc = %d\n", rc); + } + } +} + +const struct log_info_cat default_categories[] = { +}; + +static struct log_info info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +int main(int argc, char **argv) +{ + ctx = talloc_named_const(NULL, 0, "gsup_test"); + osmo_init_logging2(ctx, &info); + log_set_print_filename(osmo_stderr_target, 0); + log_set_print_timestamp(osmo_stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 1); + + test_gsup_make_response(); + + printf("Done.\n"); + return EXIT_SUCCESS; +} diff --git a/tests/gsup/gsup_test.err b/tests/gsup/gsup_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/gsup/gsup_test.err diff --git a/tests/gsup/gsup_test.ok b/tests/gsup/gsup_test.ok new file mode 100644 index 0000000..0899633 --- /dev/null +++ b/tests/gsup/gsup_test.ok @@ -0,0 +1,32 @@ + +test_gsup_make_response() +rx = Subscriber-Management OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: imsi="1234567" source_name="incoming-source-name\0" session_id=42 session_state=BEGIN sm_rp_mr=23 + +writing to an empty struct osmo_gsup_message should populate values as needed: +- args (error=0, final=0) + Subscriber-Management OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: imsi="1234567" destination_name="incoming-source-name\0" session_id=42 session_state=CONTINUE sm_rp_mr=23 + rc = 0 +- args (error=0, final=1) + Subscriber-Management OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: imsi="1234567" destination_name="incoming-source-name\0" session_id=42 session_state=END sm_rp_mr=23 + rc = 0 +- args (error=1, final=0) + Subscriber-Management OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: imsi="1234567" destination_name="incoming-source-name\0" session_id=42 session_state=CONTINUE sm_rp_mr=23 + rc = 0 +- args (error=1, final=1) + Subscriber-Management OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: imsi="1234567" destination_name="incoming-source-name\0" session_id=42 session_state=END sm_rp_mr=23 + rc = 0 + +writing to an already populated struct osmo_gsup_message, should have no effect: +- args (error=0, final=0) + Inter-MSC OSMO_GSUP_MSGT_ROUTING_ERROR: imsi="987654321" destination_name="preset-destination-name\0" session_id=11 session_state=END sm_rp_mr=17 + rc = 15 +- args (error=0, final=1) + Inter-MSC OSMO_GSUP_MSGT_ROUTING_ERROR: imsi="987654321" destination_name="preset-destination-name\0" session_id=11 session_state=END sm_rp_mr=17 + rc = 15 +- args (error=1, final=0) + Inter-MSC OSMO_GSUP_MSGT_ROUTING_ERROR: imsi="987654321" destination_name="preset-destination-name\0" session_id=11 session_state=END sm_rp_mr=17 + rc = 15 +- args (error=1, final=1) + Inter-MSC OSMO_GSUP_MSGT_ROUTING_ERROR: imsi="987654321" destination_name="preset-destination-name\0" session_id=11 session_state=END sm_rp_mr=17 + rc = 15 +Done. diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am index e64ac4a..48fda88 100644 --- a/tests/gsup_server/Makefile.am +++ b/tests/gsup_server/Makefile.am @@ -31,6 +31,8 @@ gsup_server_test_LDADD = \ $(top_srcdir)/src/gsup_server.c \ $(top_srcdir)/src/gsup_router.c \ + $(top_srcdir)/src/gsupclient/ipa_name.c \ + $(top_srcdir)/src/gsupclient/gsup_req.c \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index a752c93..3f31b0d 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -148,6 +148,8 @@ logging level db notice logging level auc notice logging level ss info + logging level mslookup notice + logging level lu notice ... hlr store-imei diff --git a/tests/testsuite.at b/tests/testsuite.at index d30b5e9..956ef87 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -15,6 +15,13 @@ AT_CHECK([$abs_top_builddir/tests/auc/auc_ts_55_205_test_sets], [], [expout], [experr]) AT_CLEANUP +AT_SETUP([gsup]) +AT_KEYWORDS([gsup]) +cat $abs_srcdir/gsup/gsup_test.ok > expout +cat $abs_srcdir/gsup/gsup_test.err > experr +AT_CHECK([$abs_top_builddir/tests/gsup/gsup_test], [], [expout], [experr]) +AT_CLEANUP + AT_SETUP([gsup_server]) AT_KEYWORDS([gsup_server]) cat $abs_srcdir/gsup_server/gsup_server_test.ok > expout -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 Gerrit-Change-Number: 16205 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:33 +0000 Subject: Change in osmo-hlr[master]: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16459 ) Change subject: 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union ...................................................................... 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union To be prepared for the future in public API, wrap the new osmo_ipa_name struct in an enum-type and union called osmo_cni_peer. During code review it was requested to insert an ability to handle different kinds of peer id, in order to be able to add a Global Title in the future. Use the generic osmo_cni_peer only in the publicly visible API. For osmo-hlr internal code, I intend to postpone implementing this into the future, when a different peer identification actually gets introduced. This way we don't need to implement it now in all osmo-hlr code paths (save time now), but still make all external API users aware that this type may be extended in the future. Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 --- M include/Makefile.am A include/osmocom/gsupclient/cni_peer_id.h M include/osmocom/gsupclient/gsup_req.h D include/osmocom/gsupclient/ipa_name.h M include/osmocom/hlr/db.h M include/osmocom/hlr/gsup_server.h M src/Makefile.am M src/db_hlr.c M src/gsup_server.c M src/gsupclient/Makefile.am A src/gsupclient/cni_peer_id.c M src/gsupclient/gsup_req.c D src/gsupclient/ipa_name.c M src/hlr.c M src/hlr_ussd.c M src/lu_fsm.c M tests/db/Makefile.am M tests/db/db_test.c M tests/gsup_server/Makefile.am 19 files changed, 346 insertions(+), 181 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/Makefile.am b/include/Makefile.am index aeeb03f..e93fe29 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = osmocom nobase_include_HEADERS = \ - osmocom/gsupclient/ipa_name.h \ + osmocom/gsupclient/cni_peer_id.h \ osmocom/gsupclient/gsup_client.h \ osmocom/gsupclient/gsup_req.h \ osmocom/mslookup/mdns.h \ diff --git a/include/osmocom/gsupclient/cni_peer_id.h b/include/osmocom/gsupclient/cni_peer_id.h new file mode 100644 index 0000000..6e58d06 --- /dev/null +++ b/include/osmocom/gsupclient/cni_peer_id.h @@ -0,0 +1,66 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#pragma once +#include +#include +#include + +/*! IPA Name: Arbitrary length blob, not necessarily zero-terminated. + * In osmo-hlr, struct hlr_subscriber is mostly used as static reference and cannot serve as talloc context, which is + * why this is also implemented as a fixed-maximum-size buffer instead of a talloc'd arbitrary sized buffer. + * NOTE: The length of val may be extended in the future if it becomes necessary. + * At the time of writing, this holds IPA unit name strings of very limited length. + */ +struct osmo_ipa_name { + size_t len; + uint8_t val[128]; +}; + +bool osmo_ipa_name_is_empty(const struct osmo_ipa_name *ipa_name); +int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len); +int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...); +int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b); +const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name); +const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name); + +enum osmo_cni_peer_id_type { + OSMO_CNI_PEER_ID_EMPTY=0, + OSMO_CNI_PEER_ID_IPA_NAME, + /* OSMO_CNI_PEER_ID_GLOBAL_TITLE, <-- currently not implemented, but likely future possibility */ +}; + +extern const struct value_string osmo_cni_peer_id_type_names[]; +static inline const char *osmo_cni_peer_id_type_name(enum osmo_cni_peer_id_type val) +{ return get_value_string(osmo_cni_peer_id_type_names, val); } + +struct osmo_cni_peer_id { + enum osmo_cni_peer_id_type type; + union { + struct osmo_ipa_name ipa_name; + }; +}; + +bool osmo_cni_peer_id_is_empty(const struct osmo_cni_peer_id *cni_peer_id); +int osmo_cni_peer_id_set(struct osmo_cni_peer_id *cni_peer_id, enum osmo_cni_peer_id_type type, + const uint8_t *val, size_t len); +int osmo_cni_peer_id_set_str(struct osmo_cni_peer_id *cni_peer_id, enum osmo_cni_peer_id_type type, + const char *str_fmt, ...); +int osmo_cni_peer_id_cmp(const struct osmo_cni_peer_id *a, const struct osmo_cni_peer_id *b); +const char *osmo_cni_peer_id_to_str(const struct osmo_cni_peer_id *cni_peer_id); +const char *osmo_cni_peer_id_to_str_c(void *ctx, const struct osmo_cni_peer_id *cni_peer_id); diff --git a/include/osmocom/gsupclient/gsup_req.h b/include/osmocom/gsupclient/gsup_req.h index c61483b..2d3cf38 100644 --- a/include/osmocom/gsupclient/gsup_req.h +++ b/include/osmocom/gsupclient/gsup_req.h @@ -19,14 +19,14 @@ #pragma once #include -#include +#include struct osmo_gsup_req; #define LOG_GSUP_REQ_CAT_SRC(req, subsys, level, file, line, fmt, args...) \ LOGPSRC(subsys, level, file, line, "GSUP %u: %s: IMSI-%s %s: " fmt, \ (req) ? (req)->nr : 0, \ - (req) ? osmo_ipa_name_to_str(&(req)->source_name) : "NULL", \ + (req) ? osmo_cni_peer_id_to_str(&(req)->source_name) : "NULL", \ (req) ? (req)->gsup.imsi : "NULL", \ (req) ? osmo_gsup_message_type_name((req)->gsup.message_type) : "NULL", \ ##args) @@ -56,11 +56,11 @@ /* The ultimate source of this message: the source_name form the GSUP message, or, if not present, then the * immediate GSUP peer. GSUP messages going via a proxy reflect the initial source in the source_name. * This source_name is implicitly added to the routes for the conn the message was received on. */ - struct osmo_ipa_name source_name; + struct osmo_cni_peer_id source_name; /* If the source_name is not an immediate GSUP peer, this is set to the closest intermediate peer between here * and source_name. */ - struct osmo_ipa_name via_proxy; + struct osmo_cni_peer_id via_proxy; /* Identify this request by number, for logging. */ unsigned int nr; @@ -82,7 +82,7 @@ struct msgb *msg; }; -struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_ipa_name *from_peer, struct msgb *msg, +struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_cni_peer_id *from_peer, struct msgb *msg, osmo_gsup_req_send_response_t send_response_cb, void *cb_data, struct llist_head *add_to_list); void osmo_gsup_req_free(struct osmo_gsup_req *req); diff --git a/include/osmocom/gsupclient/ipa_name.h b/include/osmocom/gsupclient/ipa_name.h deleted file mode 100644 index 73cd1fb..0000000 --- a/include/osmocom/gsupclient/ipa_name.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 2019 by sysmocom s.f.m.c. GmbH - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -#pragma once -#include -#include - -/*! IPA Name: Arbitrary length blob, not necessarily zero-terminated. - * In osmo-hlr, struct hlr_subscriber is mostly used as static reference and cannot serve as talloc context, which is - * why this is also implemented as a fixed-maximum-size buffer instead of a talloc'd arbitrary sized buffer. - * NOTE: The length of val may be extended in the future if it becomes necessary. - * At the time of writing, this holds IPA unit name strings of very limited length. - */ -struct osmo_ipa_name { - size_t len; - uint8_t val[128]; -}; - -int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len); -int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...); -int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b); -const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name); -const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name); diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index 5c627be..9be88d8 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -3,7 +3,7 @@ #include #include -#include +#include struct hlr; diff --git a/include/osmocom/hlr/gsup_server.h b/include/osmocom/hlr/gsup_server.h index 149971a..774f750 100644 --- a/include/osmocom/hlr/gsup_server.h +++ b/include/osmocom/hlr/gsup_server.h @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #ifndef OSMO_GSUP_MAX_CALLED_PARTY_BCD_LEN diff --git a/src/Makefile.am b/src/Makefile.am index bfbe775..fec5275 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -72,7 +72,7 @@ logging.c \ rand_urandom.c \ dbd_decode_binary.c \ - $(srcdir)/gsupclient/ipa_name.c \ + $(srcdir)/gsupclient/cni_peer_id.c \ $(NULL) osmo_hlr_db_tool_LDADD = \ diff --git a/src/db_hlr.c b/src/db_hlr.c index fdac75f..ec8f896 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -37,7 +37,7 @@ #include #include #include -#include +#include #define LOGHLR(imsi, level, fmt, args ...) LOGP(DAUC, level, "IMSI='%s': " fmt, imsi, ## args) diff --git a/src/gsup_server.c b/src/gsup_server.c index ba2d456..e9418d4 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -65,13 +65,21 @@ static void gsup_server_send_req_response(struct osmo_gsup_req *req, struct osmo_gsup_message *response) { struct osmo_gsup_server *server = req->cb_data; - struct osmo_gsup_conn *conn; + struct osmo_gsup_conn *conn = NULL; struct msgb *msg = osmo_gsup_msgb_alloc("GSUP Tx"); int rc; - conn = gsup_route_find_by_ipa_name(server, &req->source_name); + switch (req->source_name.type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + conn = gsup_route_find_by_ipa_name(server, &req->source_name.ipa_name); + break; + default: + LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP peer id kind not supported: %s\n", + osmo_cni_peer_id_type_name(req->source_name.type)); + break; + } if (!conn) { - LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP client that sent this request was disconnected, cannot respond\n"); + LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP client that sent this request not found, cannot respond\n"); msgb_free(msg); return; } @@ -91,19 +99,34 @@ struct osmo_gsup_req *osmo_gsup_conn_rx(struct osmo_gsup_conn *conn, struct msgb *msg) { - struct osmo_gsup_req *req = osmo_gsup_req_new(conn->server, &conn->peer_name, msg, gsup_server_send_req_response, - conn->server, NULL); + struct osmo_gsup_req *req; + struct osmo_cni_peer_id cpi = { + .type = OSMO_CNI_PEER_ID_IPA_NAME, + .ipa_name = conn->peer_name, + }; + + req = osmo_gsup_req_new(conn->server, &cpi, msg, gsup_server_send_req_response, conn->server, NULL); if (!req) return NULL; - if (req->via_proxy.len) { + if (!osmo_cni_peer_id_is_empty(&req->via_proxy)) { + switch (req->via_proxy.type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + break; + default: + LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP peer id kind not supported: %s\n", + osmo_cni_peer_id_type_name(req->source_name.type)); + osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); + return NULL; + } + /* The source of the GSUP message is not the immediate GSUP peer, but that peer is our proxy for that * source. Add it to the routes for this conn (so we can route responses back). */ - if (gsup_route_add_ipa_name(conn, &req->source_name)) { + if (gsup_route_add_ipa_name(conn, &req->source_name.ipa_name)) { LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP message received from %s via peer %s, but there already exists a" " different route to this source, message is not routable\n", - osmo_ipa_name_to_str(&req->source_name), + osmo_cni_peer_id_to_str(&req->source_name), osmo_ipa_name_to_str(&conn->peer_name)); osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); return NULL; diff --git a/src/gsupclient/Makefile.am b/src/gsupclient/Makefile.am index 38b1582..3412c40 100644 --- a/src/gsupclient/Makefile.am +++ b/src/gsupclient/Makefile.am @@ -9,7 +9,7 @@ lib_LTLIBRARIES = libosmo-gsup-client.la libosmo_gsup_client_la_SOURCES = \ - ipa_name.c \ + cni_peer_id.c \ gsup_client.c \ gsup_req.c \ $(NULL) diff --git a/src/gsupclient/cni_peer_id.c b/src/gsupclient/cni_peer_id.c new file mode 100644 index 0000000..de7b4bc --- /dev/null +++ b/src/gsupclient/cni_peer_id.c @@ -0,0 +1,187 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include +#include +#include +#include + +bool osmo_ipa_name_is_empty(const struct osmo_ipa_name *ipa_name) +{ + return (!ipa_name) || (!ipa_name->len); +} + +int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len) +{ + if (!val || !len) { + *ipa_name = (struct osmo_ipa_name){}; + return 0; + } + if (len > sizeof(ipa_name->val)) + return -ENOSPC; + ipa_name->len = len; + memcpy(ipa_name->val, val, len); + return 0; +} + +static int osmo_ipa_name_set_str_va(struct osmo_ipa_name *ipa_name, const char *str_fmt, va_list ap) +{ + if (!str_fmt) + return osmo_ipa_name_set(ipa_name, NULL, 0); + vsnprintf((char*)(ipa_name->val), sizeof(ipa_name->val), str_fmt, ap); + ipa_name->len = strlen((char*)(ipa_name->val))+1; + return 0; +} + +int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...) +{ + va_list ap; + int rc; + va_start(ap, str_fmt); + rc = osmo_ipa_name_set_str_va(ipa_name, str_fmt, ap); + va_end(ap); + return rc; +} + +int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b) +{ + int cmp; + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; + if (!a->len && !b->len) + return 0; + if (!a->len && b->len) + return -1; + if (!b->len && a->len) + return 1; + + if (a->len == b->len) + return memcmp(a->val, b->val, a->len); + else if (a->len < b->len) { + cmp = memcmp(a->val, b->val, a->len); + if (!cmp) + cmp = -1; + return cmp; + } else { + /* a->len > b->len */ + cmp = memcmp(a->val, b->val, b->len); + if (!cmp) + cmp = 1; + return cmp; + } +} + +/* Call osmo_ipa_name_to_str_c with OTC_SELECT. */ +const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name) +{ + return osmo_ipa_name_to_str_c(OTC_SELECT, ipa_name); +} + +/* Return an unquoted string, not including the terminating zero. Used for writing VTY config. */ +const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name) +{ + size_t len = ipa_name->len; + if (!len) + return talloc_strdup(ctx, ""); + if (ipa_name->val[len-1] == '\0') + len--; + return osmo_escape_str_c(ctx, (char*)ipa_name->val, len); +} + +bool osmo_cni_peer_id_is_empty(const struct osmo_cni_peer_id *cni_peer_id) +{ + if (!cni_peer_id) + return true; + switch (cni_peer_id->type) { + case OSMO_CNI_PEER_ID_EMPTY: + return true; + case OSMO_CNI_PEER_ID_IPA_NAME: + return osmo_ipa_name_is_empty(&cni_peer_id->ipa_name); + default: + return false; + } +} +int osmo_cni_peer_id_set(struct osmo_cni_peer_id *cni_peer_id, enum osmo_cni_peer_id_type type, + const uint8_t *val, size_t len) +{ + cni_peer_id->type = type; + switch (type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + return osmo_ipa_name_set(&cni_peer_id->ipa_name, val, len); + default: + return -EINVAL; + } +} + +int osmo_cni_peer_id_set_str(struct osmo_cni_peer_id *cni_peer_id, enum osmo_cni_peer_id_type type, + const char *str_fmt, ...) +{ + va_list ap; + int rc; + + *cni_peer_id = (struct osmo_cni_peer_id){}; + + switch (type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + cni_peer_id->type = OSMO_CNI_PEER_ID_IPA_NAME; + va_start(ap, str_fmt); + rc = osmo_ipa_name_set_str_va(&cni_peer_id->ipa_name, str_fmt, ap); + va_end(ap); + return rc; + default: + return -EINVAL; + } +} + +int osmo_cni_peer_id_cmp(const struct osmo_cni_peer_id *a, const struct osmo_cni_peer_id *b) +{ + if (a->type != b->type) + return OSMO_CMP(a->type, b->type); + switch (a->type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + return osmo_ipa_name_cmp(&a->ipa_name, &b->ipa_name); + default: + return -EINVAL; + } +} + +const struct value_string osmo_cni_peer_id_type_names[] = { + { OSMO_CNI_PEER_ID_IPA_NAME, "IPA-name" }, + {} +}; + +/* Call osmo_cni_peer_id_to_str_c with OTC_SELECT */ +const char *osmo_cni_peer_id_to_str(const struct osmo_cni_peer_id *cpi) +{ + return osmo_cni_peer_id_to_str_c(OTC_SELECT, cpi); +} + +/* Return an unquoted string, not including the terminating zero. Used for writing VTY config. */ +const char *osmo_cni_peer_id_to_str_c(void *ctx, const struct osmo_cni_peer_id *cpi) +{ + switch (cpi->type) { + case OSMO_CNI_PEER_ID_IPA_NAME: + return osmo_ipa_name_to_str_c(ctx, &cpi->ipa_name); + default: + return talloc_strdup(ctx, osmo_cni_peer_id_type_name(cpi->type)); + } +} diff --git a/src/gsupclient/gsup_req.c b/src/gsupclient/gsup_req.c index 4a2ff23..a8a66d5 100644 --- a/src/gsupclient/gsup_req.c +++ b/src/gsupclient/gsup_req.c @@ -99,7 +99,7 @@ * \return a newly allocated osmo_gsup_req, or NULL on error. If NULL is returned, an error response has already been * dispatched to the send_response_cb. */ -struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_ipa_name *from_peer, struct msgb *msg, +struct osmo_gsup_req *osmo_gsup_req_new(void *ctx, const struct osmo_cni_peer_id *from_peer, struct msgb *msg, osmo_gsup_req_send_response_t send_response_cb, void *cb_data, struct llist_head *add_to_list) { @@ -109,7 +109,7 @@ if (!msgb_l2(msg) || !msgb_l2len(msg)) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: missing or empty L2 data\n", - osmo_ipa_name_to_str(from_peer)); + osmo_cni_peer_id_to_str(from_peer)); msgb_free(msg); return NULL; } @@ -125,7 +125,7 @@ req->source_name = *from_peer; rc = osmo_gsup_decode(msgb_l2(req->msg), msgb_l2len(req->msg), (struct osmo_gsup_message*)&req->gsup); if (rc < 0) { - LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: cannot decode (rc=%d)\n", osmo_ipa_name_to_str(from_peer), rc); + LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: cannot decode (rc=%d)\n", osmo_cni_peer_id_to_str(from_peer), rc); osmo_gsup_req_free(req); return NULL; } @@ -133,17 +133,18 @@ LOG_GSUP_REQ(req, LOGL_DEBUG, "new request: {%s}\n", osmo_gsup_message_to_str_c(OTC_SELECT, &req->gsup)); if (req->gsup.source_name_len) { - if (osmo_ipa_name_set(&req->source_name, req->gsup.source_name, req->gsup.source_name_len)) { + if (osmo_cni_peer_id_set(&req->source_name, OSMO_CNI_PEER_ID_IPA_NAME, + req->gsup.source_name, req->gsup.source_name_len)) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: failed to decode source_name, message is not routable\n", - osmo_ipa_name_to_str(from_peer)); + osmo_cni_peer_id_to_str(from_peer)); osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); return NULL; } /* The source of the GSUP message is not the immediate GSUP peer; the peer is our proxy for that source. */ - if (osmo_ipa_name_cmp(&req->source_name, from_peer)) + if (osmo_cni_peer_id_cmp(&req->source_name, from_peer)) req->via_proxy = *from_peer; } diff --git a/src/gsupclient/ipa_name.c b/src/gsupclient/ipa_name.c deleted file mode 100644 index 2db069f..0000000 --- a/src/gsupclient/ipa_name.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Copyright 2019 by sysmocom s.f.m.c. GmbH - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -#include -#include -#include -#include - -int osmo_ipa_name_set(struct osmo_ipa_name *ipa_name, const uint8_t *val, size_t len) -{ - if (!val || !len) { - *ipa_name = (struct osmo_ipa_name){}; - return 0; - } - if (len > sizeof(ipa_name->val)) - return -ENOSPC; - ipa_name->len = len; - memcpy(ipa_name->val, val, len); - return 0; -} - -int osmo_ipa_name_set_str(struct osmo_ipa_name *ipa_name, const char *str_fmt, ...) -{ - va_list ap; - if (!str_fmt) - return osmo_ipa_name_set(ipa_name, NULL, 0); - - va_start(ap, str_fmt); - vsnprintf((char*)(ipa_name->val), sizeof(ipa_name->val), str_fmt, ap); - va_end(ap); - ipa_name->len = strlen((char*)(ipa_name->val))+1; - return 0; -} - -int osmo_ipa_name_cmp(const struct osmo_ipa_name *a, const struct osmo_ipa_name *b) -{ - int cmp; - if (a == b) - return 0; - if (!a) - return -1; - if (!b) - return 1; - if (!a->len && !b->len) - return 0; - if (!a->len && b->len) - return -1; - if (!b->len && a->len) - return 1; - - if (a->len == b->len) - return memcmp(a->val, b->val, a->len); - else if (a->len < b->len) { - cmp = memcmp(a->val, b->val, a->len); - if (!cmp) - cmp = -1; - return cmp; - } else { - /* a->len > b->len */ - cmp = memcmp(a->val, b->val, b->len); - if (!cmp) - cmp = 1; - return cmp; - } -} - -/* Call osmo_ipa_name_to_str_c with OTC_SELECT. */ -const char *osmo_ipa_name_to_str(const struct osmo_ipa_name *ipa_name) -{ - return osmo_ipa_name_to_str_c(OTC_SELECT, ipa_name); -} - -/* Return an unquoted string, not including the terminating zero. Used for writing VTY config. */ -const char *osmo_ipa_name_to_str_c(void *ctx, const struct osmo_ipa_name *ipa_name) -{ - size_t len = ipa_name->len; - if (!len) - return talloc_strdup(ctx, ""); - if (ipa_name->val[len-1] == '\0') - len--; - return osmo_escape_str_c(ctx, (char*)ipa_name->val, len); -} diff --git a/src/hlr.c b/src/hlr.c index 47b3211..a33a68c 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -37,7 +37,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/hlr_ussd.c b/src/hlr_ussd.c index aa7614e..25e9354 100644 --- a/src/hlr_ussd.c +++ b/src/hlr_ussd.c @@ -416,22 +416,24 @@ } /* is this GSUP connection an EUSE (true) or not (false)? */ -static bool peer_name_is_euse(const struct osmo_ipa_name *peer_name) +static bool peer_name_is_euse(const struct osmo_cni_peer_id *peer_name) { - if (peer_name->len <= 5) + if (peer_name->type != OSMO_CNI_PEER_ID_IPA_NAME) return false; - if (!strncmp((char *)(peer_name->val), "EUSE-", 5)) - return true; - else + if (peer_name->ipa_name.len <= 5) return false; + return strncmp((char *)(peer_name->ipa_name.val), "EUSE-", 5) == 0; } -static struct hlr_euse *euse_by_name(const struct osmo_ipa_name *peer_name) +static struct hlr_euse *euse_by_name(const struct osmo_cni_peer_id *peer_name) { if (!peer_name_is_euse(peer_name)) return NULL; - return euse_find(g_hlr, (const char*)(peer_name->val)+5); + /* above peer_name_is_euse() ensures this: */ + OSMO_ASSERT(peer_name->type == OSMO_CNI_PEER_ID_IPA_NAME); + + return euse_find(g_hlr, (const char*)(peer_name->ipa_name.val)+5); } static int handle_ss(struct ss_session *ss, bool is_euse_originated, const struct osmo_gsup_message *gsup, @@ -519,6 +521,14 @@ LOGP(DSS, LOGL_DEBUG, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id, osmo_gsup_session_state_name(gsup->session_state)); + if (gsup_req->source_name.type != OSMO_CNI_PEER_ID_IPA_NAME) { + LOGP(DSS, LOGL_ERROR, "%s/0x%082x: Unable to process SS request: Unsupported GSUP peer id type%s\n", + gsup->imsi, gsup->session_id, + osmo_cni_peer_id_type_name(gsup_req->source_name.type)); + osmo_gsup_req_respond_err(gsup_req, GMM_CAUSE_PROTO_ERR_UNSPEC, "error processing SS request"); + return; + } + /* decode and find out what kind of SS message it is */ if (gsup->ss_info && gsup->ss_info_len) { if (gsm0480_parse_facility_ie(gsup->ss_info, gsup->ss_info_len, &req)) { @@ -556,7 +566,8 @@ if (!is_euse_originated) { ss->initial_req_from_ms = gsup_req; free_gsup_req = NULL; - ss->vlr_name = gsup_req->source_name; + OSMO_ASSERT(gsup_req->source_name.type == OSMO_CNI_PEER_ID_IPA_NAME); /* checked above */ + ss->vlr_name = gsup_req->source_name.ipa_name; } else { ss->initial_req_from_euse = gsup_req; free_gsup_req = NULL; diff --git a/src/lu_fsm.c b/src/lu_fsm.c index bded4ef..b5493db 100644 --- a/src/lu_fsm.c +++ b/src/lu_fsm.c @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include #include @@ -52,11 +52,11 @@ bool is_ps; /* VLR requesting the LU. */ - struct osmo_ipa_name vlr_name; + struct osmo_cni_peer_id vlr_name; /* If the LU request was received via a proxy and not immediately from a local VLR, this indicates the closest * peer that forwarded the GSUP message. */ - struct osmo_ipa_name via_proxy; + struct osmo_cni_peer_id via_proxy; }; LLIST_HEAD(g_all_lu); @@ -130,7 +130,7 @@ osmo_fsm_inst_update_id_f_sanitize(fi, '_', "%s:IMSI-%s", lu->is_ps ? "PS" : "CS", update_location_req->gsup.imsi); - if (!lu->vlr_name.len) { + if (osmo_cni_peer_id_is_empty(&lu->vlr_name)) { lu_failure(lu, GMM_CAUSE_NET_FAIL, "LU without a VLR"); return; } @@ -163,18 +163,30 @@ #endif /* Store the VLR / SGSN number with the subscriber, so we know where it was last seen. */ - if (lu->via_proxy.len) { + if (!osmo_cni_peer_id_is_empty(&lu->via_proxy)) { LOG_GSUP_REQ(update_location_req, LOGL_DEBUG, "storing %s = %s, via proxy %s\n", lu->is_ps ? "SGSN number" : "VLR number", - osmo_ipa_name_to_str(&lu->vlr_name), - osmo_ipa_name_to_str(&lu->via_proxy)); + osmo_cni_peer_id_to_str(&lu->vlr_name), + osmo_cni_peer_id_to_str(&lu->via_proxy)); } else { LOG_GSUP_REQ(update_location_req, LOGL_DEBUG, "storing %s = %s\n", lu->is_ps ? "SGSN number" : "VLR number", - osmo_ipa_name_to_str(&lu->vlr_name)); + osmo_cni_peer_id_to_str(&lu->vlr_name)); } - if (db_subscr_lu(g_hlr->dbc, lu->subscr.id, &lu->vlr_name, lu->is_ps, &lu->via_proxy)) { + if (osmo_cni_peer_id_is_empty(&lu->vlr_name) + || (lu->vlr_name.type != OSMO_CNI_PEER_ID_IPA_NAME)) { + lu_failure(lu, GMM_CAUSE_PROTO_ERR_UNSPEC, "Unsupported GSUP peer id type for vlr_name: %s", + osmo_cni_peer_id_type_name(lu->vlr_name.type)); + return; + } + if (!osmo_cni_peer_id_is_empty(&lu->via_proxy) && (lu->via_proxy.type != OSMO_CNI_PEER_ID_IPA_NAME)) { + lu_failure(lu, GMM_CAUSE_PROTO_ERR_UNSPEC, "Unsupported GSUP peer id type for via_proxy: %s", + osmo_cni_peer_id_type_name(lu->via_proxy.type)); + return; + } + if (db_subscr_lu(g_hlr->dbc, lu->subscr.id, &lu->vlr_name.ipa_name, lu->is_ps, + osmo_cni_peer_id_is_empty(&lu->via_proxy)? NULL : &lu->via_proxy.ipa_name)) { lu_failure(lu, GMM_CAUSE_NET_FAIL, "Cannot update %s in the database", lu->is_ps ? "SGSN number" : "VLR number"); return; diff --git a/tests/db/Makefile.am b/tests/db/Makefile.am index 0194957..ece34d3 100644 --- a/tests/db/Makefile.am +++ b/tests/db/Makefile.am @@ -30,7 +30,7 @@ $(top_builddir)/src/db_auc.o \ $(top_builddir)/src/db_hlr.o \ $(top_builddir)/src/db.o \ - $(top_builddir)/src/ipa_name.o \ + $(top_builddir)/src/cni_peer_id.o \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOABIS_LIBS) \ diff --git a/tests/db/db_test.c b/tests/db/db_test.c index c53baed..c1df9bf 100644 --- a/tests/db/db_test.c +++ b/tests/db/db_test.c @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am index 48fda88..a32ddf9 100644 --- a/tests/gsup_server/Makefile.am +++ b/tests/gsup_server/Makefile.am @@ -31,7 +31,7 @@ gsup_server_test_LDADD = \ $(top_srcdir)/src/gsup_server.c \ $(top_srcdir)/src/gsup_router.c \ - $(top_srcdir)/src/gsupclient/ipa_name.c \ + $(top_srcdir)/src/gsupclient/cni_peer_id.c \ $(top_srcdir)/src/gsupclient/gsup_req.c \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide9dcdca283ab989240cfc6e53e9211862a199c5 Gerrit-Change-Number: 16459 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:34 +0000 Subject: Change in osmo-hlr[master]: gsup client: add up_down_cb(), add osmo_gsup_client_create3() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16206 ) Change subject: gsup client: add up_down_cb(), add osmo_gsup_client_create3() ...................................................................... gsup client: add up_down_cb(), add osmo_gsup_client_create3() For the GSUP clients in upcoming D-GSM enabled osmo-hlr, it will be necessary to trigger an event as soon as a GSUP client connection becomes ready for communication. Add the osmo_gsup_client->up_down_cb. Add osmo_gsup_client_create3() to pass the up_down_cb in the arguments. Also add a cb data argument to populate the already existing osmo_gsup_client->data item directly from osmo_gsup_client_create3(). We need the callbacks and data pointer in the osmo_gsup_client_create() function right before startup, because this function immediately starts up the connection. Who knows whether callbacks might trigger right away. Because there are so many arguments, and to prevent the need for ever new versions of this function, pass the arguments as an extendable struct. Change-Id: I6f181e42b678465bc9945f192559dc57d2083c6d --- M include/osmocom/gsupclient/gsup_client.h M src/gsupclient/gsup_client.c 2 files changed, 74 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsupclient/gsup_client.h b/include/osmocom/gsupclient/gsup_client.h index b417ade..ea66ca1 100644 --- a/include/osmocom/gsupclient/gsup_client.h +++ b/include/osmocom/gsupclient/gsup_client.h @@ -38,6 +38,8 @@ /* Expects message in msg->l2h */ typedef int (*osmo_gsup_client_read_cb_t)(struct osmo_gsup_client *gsupc, struct msgb *msg); +typedef bool (*osmo_gsup_client_up_down_cb_t)(struct osmo_gsup_client *gsupc, bool up); + struct osmo_gsup_client { const char *unit_name; /* same as ipa_dev->unit_name, for backwards compat */ @@ -53,8 +55,31 @@ int got_ipa_pong; struct ipaccess_unit *ipa_dev; /* identification information sent to IPA server */ + + osmo_gsup_client_up_down_cb_t up_down_cb; }; +struct osmo_gsup_client_config { + /*! IP access unit which contains client identification information; must be allocated in talloc_ctx as well to + * ensure it lives throughout the lifetime of the connection. */ + struct ipaccess_unit *ipa_dev; + /*! GSUP server IP address to connect to. */ + const char *ip_addr; + /*! GSUP server TCP port to connect to. */ + unsigned int tcp_port; + /*! OPA client configuration, or NULL. */ + struct osmo_oap_client_config *oapc_config; + /*! callback for reading from the GSUP connection. */ + osmo_gsup_client_read_cb_t read_cb; + /*! Invoked when the GSUP link is ready for communication, and when the link drops. */ + osmo_gsup_client_up_down_cb_t up_down_cb; + /*! User data stored in the returned gsupc->data, as context for the callbacks. */ + void *data; + /*! Marker for future extension, always pass this as false. */ + bool more; +}; +struct osmo_gsup_client *osmo_gsup_client_create3(void *talloc_ctx, struct osmo_gsup_client_config *config); + struct osmo_gsup_client *osmo_gsup_client_create2(void *talloc_ctx, struct ipaccess_unit *ipa_dev, const char *ip_addr, diff --git a/src/gsupclient/gsup_client.c b/src/gsupclient/gsup_client.c index 52985c9..4f76efc 100644 --- a/src/gsupclient/gsup_client.c +++ b/src/gsupclient/gsup_client.c @@ -97,6 +97,12 @@ if (gsupc->is_connected) return; + if (gsupc->up_down_cb) { + /* When the up_down_cb() returns false, the user asks us not to retry connecting. */ + if (!gsupc->up_down_cb(gsupc, false)) + return; + } + gsup_client_connect(gsupc); } @@ -139,9 +145,18 @@ gsup_client_oap_register(gsupc); osmo_timer_del(&gsupc->connect_timer); + + if (gsupc->up_down_cb) + gsupc->up_down_cb(gsupc, true); } else { osmo_timer_del(&gsupc->ping_timer); + if (gsupc->up_down_cb) { + /* When the up_down_cb() returns false, the user asks us not to retry connecting. */ + if (!gsupc->up_down_cb(gsupc, false)) + return; + } + osmo_timer_schedule(&gsupc->connect_timer, OSMO_GSUP_CLIENT_RECONNECT_INTERVAL, 0); } @@ -263,31 +278,28 @@ * Use the provided ipaccess unit as the client-side identifier; ipa_dev should * be allocated in talloc_ctx talloc_ctx as well. * \param[in] talloc_ctx talloc context. - * \param[in] ipa_dev IP access unit which contains client identification information; must be allocated - * in talloc_ctx as well to ensure it lives throughout the lifetime of the connection. - * \param[in] ip_addr GSUP server IP address. - * \param[in] tcp_port GSUP server TCP port. - * \param[in] read_cb callback for reading from the GSUP connection. - * \param[in] oapc_config OPA client configuration. - * \returns a GSUP client connection or NULL on failure. + * \param[in] config Parameters for setting up the GSUP client. + * \return a GSUP client connection, or NULL on failure. */ -struct osmo_gsup_client *osmo_gsup_client_create2(void *talloc_ctx, - struct ipaccess_unit *ipa_dev, - const char *ip_addr, - unsigned int tcp_port, - osmo_gsup_client_read_cb_t read_cb, - struct osmo_oap_client_config *oapc_config) +struct osmo_gsup_client *osmo_gsup_client_create3(void *talloc_ctx, struct osmo_gsup_client_config *config) { struct osmo_gsup_client *gsupc; int rc; + OSMO_ASSERT(config->ipa_dev->unit_name); + gsupc = talloc_zero(talloc_ctx, struct osmo_gsup_client); OSMO_ASSERT(gsupc); - gsupc->unit_name = (const char *)ipa_dev->unit_name; /* API backwards compat */ - gsupc->ipa_dev = ipa_dev; + *gsupc = (struct osmo_gsup_client){ + .unit_name = (const char *)config->ipa_dev->unit_name, /* API backwards compat */ + .ipa_dev = config->ipa_dev, + .read_cb = config->read_cb, + .up_down_cb = config->up_down_cb, + .data = config->data, + }; /* a NULL oapc_config will mark oap_state disabled. */ - rc = osmo_oap_client_init(oapc_config, &gsupc->oap_state); + rc = osmo_oap_client_init(config->oapc_config, &gsupc->oap_state); if (rc != 0) goto failed; @@ -295,7 +307,7 @@ /* no e1inp */ NULL, 0, /* no specific local IP:port */ NULL, 0, - ip_addr, tcp_port, + config->ip_addr, config->tcp_port, gsup_client_updown_cb, gsup_client_read_cb, /* default write_cb */ NULL, @@ -309,9 +321,6 @@ if (rc < 0) goto failed; - - gsupc->read_cb = read_cb; - return gsupc; failed: @@ -319,6 +328,26 @@ return NULL; } +/*! Like osmo_gsup_client_create3() but without the up_down_cb and data arguments, and with the oapc_config argument in + * a different position. + */ +struct osmo_gsup_client *osmo_gsup_client_create2(void *talloc_ctx, + struct ipaccess_unit *ipa_dev, + const char *ip_addr, + unsigned int tcp_port, + osmo_gsup_client_read_cb_t read_cb, + struct osmo_oap_client_config *oapc_config) +{ + struct osmo_gsup_client_config cfg = { + .ipa_dev = ipa_dev, + .ip_addr = ip_addr, + .tcp_port = tcp_port, + .oapc_config = oapc_config, + .read_cb = read_cb, + }; + return osmo_gsup_client_create3(talloc_ctx, &cfg); +} + /** * Like osmo_gsup_client_create2() except it expects a unit name instead * of a full-blown ipacess_unit as the client-side identifier. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f181e42b678465bc9945f192559dc57d2083c6d Gerrit-Change-Number: 16206 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:34 +0000 Subject: Change in osmo-hlr[master]: db v5: prep for D-GSM: add vlr_via_proxy and sgsn_via_proxy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16207 ) Change subject: db v5: prep for D-GSM: add vlr_via_proxy and sgsn_via_proxy ...................................................................... db v5: prep for D-GSM: add vlr_via_proxy and sgsn_via_proxy D-GSM will store in the HLR DB whether a locally connected MSC has attached the subscriber (last_lu_seen[_ps]), or whether the attach happened via a GSUP proxy from a different site. Add columns for this separately in this patch. Change-Id: I98c7b3870559ede84adf56e4bf111f53c7487745 --- M include/osmocom/hlr/db.h M sql/hlr.sql M src/db.c M src/db_hlr.c M tests/db_upgrade/db_upgrade_test.ok 5 files changed, 75 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/hlr/db.h b/include/osmocom/hlr/db.h index 9be88d8..ca336a0 100644 --- a/include/osmocom/hlr/db.h +++ b/include/osmocom/hlr/db.h @@ -51,6 +51,7 @@ bool db_bind_text(sqlite3_stmt *stmt, const char *param_name, const char *text); bool db_bind_int(sqlite3_stmt *stmt, const char *param_name, int nr); bool db_bind_int64(sqlite3_stmt *stmt, const char *param_name, int64_t nr); +bool db_bind_null(sqlite3_stmt *stmt, const char *param_name); void db_close(struct db_context *dbc); struct db_context *db_open(void *ctx, const char *fname, bool enable_sqlite3_logging, bool allow_upgrades); @@ -99,6 +100,9 @@ bool ms_purged_ps; time_t last_lu_seen; time_t last_lu_seen_ps; + /* talloc'd IPA unit name */ + struct osmo_ipa_name vlr_via_proxy; + struct osmo_ipa_name sgsn_via_proxy; }; /* A format string for use with strptime(3). This format string is diff --git a/sql/hlr.sql b/sql/hlr.sql index ad57661..98e586d 100644 --- a/sql/hlr.sql +++ b/sql/hlr.sql @@ -43,7 +43,12 @@ -- Timestamp of last location update seen from subscriber -- The value is a string which encodes a UTC timestamp in granularity of seconds. last_lu_seen TIMESTAMP default NULL, - last_lu_seen_ps TIMESTAMP default NULL + last_lu_seen_ps TIMESTAMP default NULL, + + -- When a LU was received via a proxy, that proxy's hlr_number is stored here, + -- while vlr_number reflects the MSC on the far side of that proxy. + vlr_via_proxy VARCHAR, + sgsn_via_proxy VARCHAR ); CREATE TABLE subscriber_apn ( @@ -78,4 +83,4 @@ -- Set HLR database schema version number -- Note: This constant is currently duplicated in src/db.c and must be kept in sync! -PRAGMA user_version = 4; +PRAGMA user_version = 5; diff --git a/src/db.c b/src/db.c index 9d0c621..5ec20e2 100644 --- a/src/db.c +++ b/src/db.c @@ -28,7 +28,7 @@ #include "db_bootstrap.h" /* This constant is currently duplicated in sql/hlr.sql and must be kept in sync! */ -#define CURRENT_SCHEMA_VERSION 4 +#define CURRENT_SCHEMA_VERSION 5 #define SEL_COLUMNS \ "id," \ @@ -46,15 +46,17 @@ "ms_purged_cs," \ "ms_purged_ps," \ "last_lu_seen," \ - "last_lu_seen_ps" \ + "last_lu_seen_ps," \ + "vlr_via_proxy," \ + "sgsn_via_proxy" static const char *stmt_sql[] = { [DB_STMT_SEL_BY_IMSI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imsi = ?", [DB_STMT_SEL_BY_MSISDN] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE msisdn = ?", [DB_STMT_SEL_BY_ID] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE id = ?", [DB_STMT_SEL_BY_IMEI] = "SELECT " SEL_COLUMNS " FROM subscriber WHERE imei = ?", - [DB_STMT_UPD_VLR_BY_ID] = "UPDATE subscriber SET vlr_number = $number WHERE id = $subscriber_id", - [DB_STMT_UPD_SGSN_BY_ID] = "UPDATE subscriber SET sgsn_number = $number WHERE id = $subscriber_id", + [DB_STMT_UPD_VLR_BY_ID] = "UPDATE subscriber SET vlr_number = $number, vlr_via_proxy = $proxy WHERE id = $subscriber_id", + [DB_STMT_UPD_SGSN_BY_ID] = "UPDATE subscriber SET sgsn_number = $number, sgsn_via_proxy = $proxy WHERE id = $subscriber_id", [DB_STMT_UPD_IMEI_BY_IMSI] = "UPDATE subscriber SET imei = $imei WHERE imsi = $imsi", [DB_STMT_AUC_BY_IMSI] = "SELECT id, algo_id_2g, ki, algo_id_3g, k, op, opc, sqn, ind_bitlen" @@ -183,6 +185,25 @@ return true; } +bool db_bind_null(sqlite3_stmt *stmt, const char *param_name) +{ + int rc; + int idx = param_name ? sqlite3_bind_parameter_index(stmt, param_name) : 1; + if (idx < 1) { + LOGP(DDB, LOGL_ERROR, "Error composing SQL, cannot bind parameter '%s'\n", + param_name); + return false; + } + rc = sqlite3_bind_null(stmt, idx); + if (rc != SQLITE_OK) { + LOGP(DDB, LOGL_ERROR, "Error binding NULL to SQL parameter %s: %d\n", + param_name ? param_name : "#1", rc); + db_remove_reset(stmt); + return false; + } + return true; +} + void db_close(struct db_context *dbc) { unsigned int i; @@ -441,12 +462,30 @@ return rc; } +static int db_upgrade_v5(struct db_context *dbc) +{ + int rc; + const char *statements[] = { + "ALTER TABLE subscriber ADD COLUMN vlr_via_proxy VARCHAR", + "ALTER TABLE subscriber ADD COLUMN sgsn_via_proxy VARCHAR", + "PRAGMA user_version = 5", + }; + + rc = db_run_statements(dbc, statements, ARRAY_SIZE(statements)); + if (rc != SQLITE_DONE) { + LOGP(DDB, LOGL_ERROR, "Unable to update HLR database schema to version 5\n"); + return rc; + } + return rc; +} + typedef int (*db_upgrade_func_t)(struct db_context *dbc); static db_upgrade_func_t db_upgrade_path[] = { db_upgrade_v1, db_upgrade_v2, db_upgrade_v3, db_upgrade_v4, + db_upgrade_v5, }; static int db_get_user_version(struct db_context *dbc) diff --git a/src/db_hlr.c b/src/db_hlr.c index ec8f896..9073926 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -505,6 +505,8 @@ subscr->imsi, "CS"); parse_last_lu_seen(&subscr->last_lu_seen_ps, (const char *)sqlite3_column_text(stmt, 15), subscr->imsi, "PS"); + copy_sqlite3_text_to_ipa_name(&subscr->vlr_via_proxy, stmt, 16); + copy_sqlite3_text_to_ipa_name(&subscr->sgsn_via_proxy, stmt, 17); out: db_remove_reset(stmt); @@ -750,6 +752,14 @@ if (!db_bind_text(stmt, "$number", (char*)vlr_name->val)) return -EIO; + if (via_proxy && via_proxy->len) { + if (!db_bind_text(stmt, "$proxy", (char*)via_proxy->val)) + return -EIO; + } else { + if (!db_bind_null(stmt, "$proxy")) + return -EIO; + } + /* execute the statement */ rc = sqlite3_step(stmt); if (rc != SQLITE_DONE) { diff --git a/tests/db_upgrade/db_upgrade_test.ok b/tests/db_upgrade/db_upgrade_test.ok index 67d0006..2bc6a39 100644 --- a/tests/db_upgrade/db_upgrade_test.ok +++ b/tests/db_upgrade/db_upgrade_test.ok @@ -84,6 +84,7 @@ DDB Database test.db' has been upgraded to HLR DB schema version 2 DDB Database test.db' has been upgraded to HLR DB schema version 3 DDB Database test.db' has been upgraded to HLR DB schema version 4 +DDB Database test.db' has been upgraded to HLR DB schema version 5 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. Resulting db: @@ -137,17 +138,19 @@ periodic_rau_tau_tmr|INTEGER|0||0 sgsn_address|VARCHAR|0||0 sgsn_number|VARCHAR(15)|0||0 +sgsn_via_proxy|VARCHAR|0||0 smsc_number|VARCHAR(15)|0||0 vlr_number|VARCHAR(15)|0||0 +vlr_via_proxy|VARCHAR|0||0 Table subscriber contents: -ggsn_number|gmlc_number|id|imei|imeisv|imsi|last_lu_seen|last_lu_seen_ps|lmsi|ms_purged_cs|ms_purged_ps|msc_number|msisdn|nam_cs|nam_ps|periodic_lu_tmr|periodic_rau_tau_tmr|sgsn_address|sgsn_number|smsc_number|vlr_number -||1|||123456789012345||||0|0||098765432109876|1|1||||||MSC-1 -||2|||111111111||||1|0|||1|1|||||| -||3|||222222222||||0|1||22222|1|1|||||| -||4|||333333||||0|0||3|0|1|||||| -||5|||444444444444444||||0|0||4444|1|0|||||| -||6|||5555555||||0|0||55555555555555|0|0|||||| +ggsn_number|gmlc_number|id|imei|imeisv|imsi|last_lu_seen|last_lu_seen_ps|lmsi|ms_purged_cs|ms_purged_ps|msc_number|msisdn|nam_cs|nam_ps|periodic_lu_tmr|periodic_rau_tau_tmr|sgsn_address|sgsn_number|sgsn_via_proxy|smsc_number|vlr_number|vlr_via_proxy +||1|||123456789012345||||0|0||098765432109876|1|1|||||||MSC-1| +||2|||111111111||||1|0|||1|1|||||||| +||3|||222222222||||0|1||22222|1|1|||||||| +||4|||333333||||0|0||3|0|1|||||||| +||5|||444444444444444||||0|0||4444|1|0|||||||| +||6|||5555555||||0|0||55555555555555|0|0|||||||| Table: subscriber_apn name|type|notnull|dflt_value|pk @@ -168,5 +171,5 @@ rc = 0 DMAIN hlr starting DDB using database: test.db -DDB Database test.db' has HLR DB schema version 4 +DDB Database test.db' has HLR DB schema version 5 DMAIN Cmdline option --db-check: Database was opened successfully, quitting. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I98c7b3870559ede84adf56e4bf111f53c7487745 Gerrit-Change-Number: 16207 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:34 +0000 Subject: Change in osmo-hlr[master]: enlarge the GSUP message headroom In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16208 ) Change subject: enlarge the GSUP message headroom ...................................................................... enlarge the GSUP message headroom Make room for (more) arbitrary IPA headers, like longer IPA names as configured by the user. Change-Id: I7d86f2dadcae29fe1550ea2c9773394ab31a837b --- M src/gsup_server.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsup_server.c b/src/gsup_server.c index e9418d4..61b9257 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -37,7 +37,7 @@ struct msgb *osmo_gsup_msgb_alloc(const char *label) { - struct msgb *msg = msgb_alloc_headroom(1024+16, 16, label); + struct msgb *msg = msgb_alloc_headroom(1024+512, 512, label); OSMO_ASSERT(msg); return msg; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I7d86f2dadcae29fe1550ea2c9773394ab31a837b Gerrit-Change-Number: 16208 Gerrit-PatchSet: 31 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:35 +0000 Subject: Change in osmo-hlr[master]: test_nodes.vty: remove cruft In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16460 ) Change subject: test_nodes.vty: remove cruft ...................................................................... test_nodes.vty: remove cruft This stuff is not testing osmo-hlr specific nodes, remove. Change-Id: Ia11a209778b78ab02424e2abf3f9004fe97cf570 --- M tests/test_nodes.vty 1 file changed, 1 insertion(+), 64 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index 3f31b0d..c056e4d 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -11,81 +11,21 @@ logp Print a message on all log outputs; useful for placing markers in test logs subscriber Subscriber management commands OsmoHLR> list - show version - show online-help - list - exit - help - enable - terminal length <0-512> - terminal no length - who - show history - logging enable ... - show logging vty - show alarms - show talloc-context (application|all) (full|brief|DEPTH) - show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS - show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP - show stats - show stats level (global|peer|subscriber) - show asciidoc counters - show rate-counters show gsup-connections subscriber (imsi|msisdn|id|imei) IDENT show show subscriber (imsi|msisdn|id|imei) IDENT OsmoHLR> enable OsmoHLR# ? - help Description of the interactive help system - list Print command list - write Write running configuration to memory, network, or terminal - show Show running system information - exit Exit current mode and down to previous mode - disable Turn off privileged mode command - configure Configuration from vty interface - copy Copy configuration - terminal Set terminal line parameters - who Display who is on vty - logging Configure logging - no Negate a command or set its defaults - logp Print a message on all log outputs; useful for placing markers in test logs +... subscriber Subscriber management commands -OsmoHLR# list - help -... - exit - disable - configure terminal - copy running-config startup-config - show startup-config - show version - show online-help - terminal length <0-512> - terminal no length - who - show history - terminal monitor - terminal no monitor - logging enable -... OsmoHLR# configure terminal OsmoHLR(config)# ? ... - banner Set banner string - service Set up miscellaneous service - line Configure a terminal line - ctrl Configure the Control Interface - log Configure logging sub-system - stats Configure stats sub-system hlr Configure the HLR OsmoHLR(config)# list - help -... - exit - end ... hlr @@ -99,10 +39,7 @@ store-imei Save the IMEI in the database when receiving Check IMEI requests. Note that an MSC does not necessarily send Check IMEI requests (for OsmoMSC, you may want to set 'check-imei-rqd 1'). subscriber-create-on-demand Make a new record when a subscriber is first seen. OsmoHLR(config-hlr)# list - help ... - exit - end gsup database PATH euse NAME -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia11a209778b78ab02424e2abf3f9004fe97cf570 Gerrit-Change-Number: 16460 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:35 +0000 Subject: Change in osmo-hlr[master]: D-GSM 1/n: add mslookup server in osmo-hlr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16209 ) Change subject: D-GSM 1/n: add mslookup server in osmo-hlr ...................................................................... D-GSM 1/n: add mslookup server in osmo-hlr Implement the mslookup server to service remote mslookup requests. This patch merely adds the logic to answer incoming mslookup requests, an actual method to receive requests (mDNS) follows in a subsequent patch. - API to configure service names and addresses for the local site (per MSC). - determine whether a subscriber is on a local MSC (checking the local proxy will be added in subsequent patch that adds proxy capability). - VTY config follows in a subsequent patch. For a detailed overview of the D-GSM and mslookup related files, please see the elaborate comment at the top of mslookup.c (already added in an earlier patch). Change-Id: Ife4a61d71926d08f310a1aeed9d9f1974f64178b --- M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/hlr.h A include/osmocom/hlr/mslookup_server.h A include/osmocom/hlr/timestamp.h M src/Makefile.am M src/hlr.c A src/mslookup_server.c A src/timestamp.c 8 files changed, 537 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/hlr/Makefile.am b/include/osmocom/hlr/Makefile.am index 532fa5d..5c96ec8 100644 --- a/include/osmocom/hlr/Makefile.am +++ b/include/osmocom/hlr/Makefile.am @@ -10,5 +10,7 @@ hlr_vty_subscr.h \ logging.h \ lu_fsm.h \ + mslookup_server.h \ rand.h \ + timestamp.h \ $(NULL) diff --git a/include/osmocom/hlr/hlr.h b/include/osmocom/hlr/hlr.h index 5885600..1269994 100644 --- a/include/osmocom/hlr/hlr.h +++ b/include/osmocom/hlr/hlr.h @@ -67,6 +67,13 @@ /* Bitmask of DB_SUBSCR_FLAG_* */ uint8_t subscr_create_on_demand_flags; unsigned int subscr_create_on_demand_rand_msisdn_len; + + struct { + struct { + uint32_t local_attach_max_age; + struct llist_head local_site_services; + } server; + } mslookup; }; extern struct hlr *g_hlr; diff --git a/include/osmocom/hlr/mslookup_server.h b/include/osmocom/hlr/mslookup_server.h new file mode 100644 index 0000000..5425328 --- /dev/null +++ b/include/osmocom/hlr/mslookup_server.h @@ -0,0 +1,65 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +struct osmo_mslookup_query; +struct osmo_mslookup_result; + +/*! mslookup service name used for roaming/proxying between osmo-hlr instances. */ +#define OSMO_MSLOOKUP_SERVICE_HLR_GSUP "gsup.hlr" + +/*! What addresses to return to mslookup queries when a subscriber is attached at the local site. + * Mapping of service name to IP address and port. This corresponds to the VTY config for + * 'mslookup' / 'server' [/ 'msc MSC-1-2-3'] / 'service sip.voice at 1.2.3.4 1234'. + */ +struct mslookup_service_host { + struct llist_head entry; + char service[OSMO_MSLOOKUP_SERVICE_MAXLEN+1]; + struct osmo_sockaddr_str host_v4; + struct osmo_sockaddr_str host_v6; +}; + +/*! Sets of mslookup_service_host per connected MSC. + * When there are more than one MSC connected to this osmo-hlr, this allows keeping separate sets of service addresses + * for each MSC. The entry with mslookup_server_msc_wildcard as MSC name is used for all MSCs (if no match for that + * particular MSC is found). This corresponds to the VTY config for + * 'mslookup' / 'server' / 'msc MSC-1-2-3'. + */ +struct mslookup_server_msc_cfg { + struct llist_head entry; + struct osmo_ipa_name name; + struct llist_head service_hosts; +}; + +struct mslookup_service_host *mslookup_server_service_get(const struct osmo_ipa_name *msc_name, const char *service); + +struct mslookup_service_host *mslookup_server_msc_service_get(struct mslookup_server_msc_cfg *msc, const char *service, + bool create); +int mslookup_server_msc_service_set(struct mslookup_server_msc_cfg *msc, const char *service, + const struct osmo_sockaddr_str *addr); +int mslookup_server_msc_service_del(struct mslookup_server_msc_cfg *msc, const char *service, + const struct osmo_sockaddr_str *addr); + +extern const struct osmo_ipa_name mslookup_server_msc_wildcard; +struct mslookup_server_msc_cfg *mslookup_server_msc_get(const struct osmo_ipa_name *msc_name, bool create); + +const struct mslookup_service_host *mslookup_server_get_local_gsup_addr(); +void mslookup_server_rx(const struct osmo_mslookup_query *query, + struct osmo_mslookup_result *result); diff --git a/include/osmocom/hlr/timestamp.h b/include/osmocom/hlr/timestamp.h new file mode 100644 index 0000000..9708985 --- /dev/null +++ b/include/osmocom/hlr/timestamp.h @@ -0,0 +1,28 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include +#include +#include + +typedef time_t timestamp_t; +void timestamp_update(timestamp_t *timestamp); +bool timestamp_age(const timestamp_t *timestamp, uint32_t *age); diff --git a/src/Makefile.am b/src/Makefile.am index fec5275..571eaef 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,6 +9,7 @@ $(LIBOSMOGSM_CFLAGS) \ $(LIBOSMOVTY_CFLAGS) \ $(LIBOSMOCTRL_CFLAGS) \ + $(LIBOSMOMSLOOKUP_CFLAGS) \ $(LIBOSMOABIS_CFLAGS) \ $(SQLITE3_CFLAGS) \ $(NULL) @@ -53,14 +54,18 @@ gsup_send.c \ hlr_ussd.c \ lu_fsm.c \ + mslookup_server.c \ + timestamp.c \ $(NULL) osmo_hlr_LDADD = \ $(top_builddir)/src/gsupclient/libosmo-gsup-client.la \ + $(top_builddir)/src/mslookup/libosmo-mslookup.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOMSLOOKUP_LIBS) \ $(LIBOSMOABIS_LIBS) \ $(SQLITE3_LIBS) \ $(NULL) diff --git a/src/hlr.c b/src/hlr.c index a33a68c..2cabab4 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -695,6 +695,7 @@ INIT_LLIST_HEAD(&g_hlr->euse_list); INIT_LLIST_HEAD(&g_hlr->ss_sessions); INIT_LLIST_HEAD(&g_hlr->ussd_routes); + INIT_LLIST_HEAD(&g_hlr->mslookup.server.local_site_services); g_hlr->db_file_path = talloc_strdup(g_hlr, HLR_DEFAULT_DB_FILE_PATH); /* Init default (call independent) SS session guard timeout value */ diff --git a/src/mslookup_server.c b/src/mslookup_server.c new file mode 100644 index 0000000..9c4dc58 --- /dev/null +++ b/src/mslookup_server.c @@ -0,0 +1,376 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const struct osmo_mslookup_result not_found = { + .rc = OSMO_MSLOOKUP_RC_NOT_FOUND, + }; +const struct osmo_ipa_name mslookup_server_msc_wildcard = {}; + +static void set_result(struct osmo_mslookup_result *result, + const struct mslookup_service_host *service_host, + uint32_t age) +{ + if (!osmo_sockaddr_str_is_nonzero(&service_host->host_v4) + && !osmo_sockaddr_str_is_nonzero(&service_host->host_v6)) { + *result = not_found; + return; + } + result->rc = OSMO_MSLOOKUP_RC_RESULT; + result->host_v4 = service_host->host_v4; + result->host_v6 = service_host->host_v6; + result->age = age; +} + +const struct mslookup_service_host *mslookup_server_get_local_gsup_addr() +{ + static struct mslookup_service_host gsup_bind = {}; + struct mslookup_service_host *host; + + /* Find a HLR/GSUP service set for the server (no VLR unit name) */ + host = mslookup_server_service_get(&mslookup_server_msc_wildcard, OSMO_MSLOOKUP_SERVICE_HLR_GSUP); + if (host) + return host; + + /* Try to use the locally configured GSUP bind address */ + osmo_sockaddr_str_from_str(&gsup_bind.host_v4, g_hlr->gsup_bind_addr, OSMO_GSUP_PORT); + if (gsup_bind.host_v4.af == AF_INET6) { + gsup_bind.host_v6 = gsup_bind.host_v4; + gsup_bind.host_v4 = (struct osmo_sockaddr_str){}; + } + return &gsup_bind; +} + +struct mslookup_server_msc_cfg *mslookup_server_msc_get(const struct osmo_ipa_name *msc_name, bool create) +{ + struct llist_head *c = &g_hlr->mslookup.server.local_site_services; + struct mslookup_server_msc_cfg *msc; + + if (!msc_name) + return NULL; + + llist_for_each_entry(msc, c, entry) { + if (osmo_ipa_name_cmp(&msc->name, msc_name)) + continue; + return msc; + } + if (!create) + return NULL; + + msc = talloc_zero(g_hlr, struct mslookup_server_msc_cfg); + OSMO_ASSERT(msc); + INIT_LLIST_HEAD(&msc->service_hosts); + msc->name = *msc_name; + llist_add_tail(&msc->entry, c); + return msc; +} + +struct mslookup_service_host *mslookup_server_msc_service_get(struct mslookup_server_msc_cfg *msc, const char *service, + bool create) +{ + struct mslookup_service_host *e; + if (!msc) + return NULL; + + llist_for_each_entry(e, &msc->service_hosts, entry) { + if (!strcmp(e->service, service)) + return e; + } + + if (!create) + return NULL; + + e = talloc_zero(msc, struct mslookup_service_host); + OSMO_ASSERT(e); + OSMO_STRLCPY_ARRAY(e->service, service); + llist_add_tail(&e->entry, &msc->service_hosts); + return e; +} + +struct mslookup_service_host *mslookup_server_service_get(const struct osmo_ipa_name *msc_name, const char *service) +{ + struct mslookup_server_msc_cfg *msc = mslookup_server_msc_get(msc_name, false); + if (!msc) + return NULL; + return mslookup_server_msc_service_get(msc, service, false); +} + +int mslookup_server_msc_service_set(struct mslookup_server_msc_cfg *msc, const char *service, + const struct osmo_sockaddr_str *addr) +{ + struct mslookup_service_host *e; + + if (!service || !service[0] + || strlen(service) > OSMO_MSLOOKUP_SERVICE_MAXLEN) + return -EINVAL; + if (!addr || !osmo_sockaddr_str_is_nonzero(addr)) + return -EINVAL; + + e = mslookup_server_msc_service_get(msc, service, true); + if (!e) + return -EINVAL; + + switch (addr->af) { + case AF_INET: + e->host_v4 = *addr; + break; + case AF_INET6: + e->host_v6 = *addr; + break; + default: + return -EINVAL; + } + return 0; +} + +int mslookup_server_msc_service_del(struct mslookup_server_msc_cfg *msc, const char *service, + const struct osmo_sockaddr_str *addr) +{ + struct mslookup_service_host *e, *n; + int deleted = 0; + + if (!msc) + return -ENOENT; + + llist_for_each_entry_safe(e, n, &msc->service_hosts, entry) { + if (service && strcmp(service, e->service)) + continue; + + if (addr) { + if (!osmo_sockaddr_str_cmp(addr, &e->host_v4)) { + e->host_v4 = (struct osmo_sockaddr_str){}; + /* Removed one addr. If the other is still there, keep the entry. */ + if (osmo_sockaddr_str_is_nonzero(&e->host_v6)) + continue; + } else if (!osmo_sockaddr_str_cmp(addr, &e->host_v6)) { + e->host_v6 = (struct osmo_sockaddr_str){}; + /* Removed one addr. If the other is still there, keep the entry. */ + if (osmo_sockaddr_str_is_nonzero(&e->host_v4)) + continue; + } else + /* No addr match, keep the entry. */ + continue; + /* Addr matched and none is left. Delete. */ + } + llist_del(&e->entry); + talloc_free(e); + deleted++; + } + return deleted; +} + +/* A remote entity is asking us whether we are the home HLR of the given subscriber. */ +static void mslookup_server_rx_hlr_gsup(const struct osmo_mslookup_query *query, + struct osmo_mslookup_result *result) +{ + const struct mslookup_service_host *host; + int rc; + switch (query->id.type) { + case OSMO_MSLOOKUP_ID_IMSI: + rc = db_subscr_exists_by_imsi(g_hlr->dbc, query->id.imsi); + break; + case OSMO_MSLOOKUP_ID_MSISDN: + rc = db_subscr_exists_by_msisdn(g_hlr->dbc, query->id.msisdn); + break; + default: + LOGP(DMSLOOKUP, LOGL_ERROR, "Unknown mslookup ID type: %d\n", query->id.type); + *result = not_found; + return; + } + + if (rc) { + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: does not exist in local HLR\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + *result = not_found; + return; + } + + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: found in local HLR\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + + host = mslookup_server_get_local_gsup_addr(); + + set_result(result, host, 0); + if (result->rc != OSMO_MSLOOKUP_RC_RESULT) { + LOGP(DMSLOOKUP, LOGL_ERROR, + "Subscriber found, but error in service '" OSMO_MSLOOKUP_SERVICE_HLR_GSUP "' config:" + " v4: " OSMO_SOCKADDR_STR_FMT " v6: " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&host->host_v4), + OSMO_SOCKADDR_STR_FMT_ARGS(&host->host_v6)); + } +} + +/* Look in the local HLR record: If the subscriber is "at home" in this HLR and is also currently located at a local + * VLR, we will find a valid location updating with vlr_number, and no vlr_via_proxy entry. */ +static bool subscriber_has_done_lu_here_hlr(const struct osmo_mslookup_query *query, + uint32_t *lu_age, + struct osmo_ipa_name *local_msc_name, + struct hlr_subscriber *ret_subscr) +{ + struct hlr_subscriber _subscr; + int rc; + uint32_t age; + + struct hlr_subscriber *subscr = ret_subscr ? : &_subscr; + + switch (query->id.type) { + case OSMO_MSLOOKUP_ID_IMSI: + rc = db_subscr_get_by_imsi(g_hlr->dbc, query->id.imsi, subscr); + break; + case OSMO_MSLOOKUP_ID_MSISDN: + rc = db_subscr_get_by_msisdn(g_hlr->dbc, query->id.msisdn, subscr); + break; + default: + LOGP(DMSLOOKUP, LOGL_ERROR, "Unknown mslookup ID type: %d\n", query->id.type); + return false; + } + + if (rc) { + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: does not exist in local HLR\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + + if (!subscr->vlr_number[0]) { + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: not attached (vlr_number unset)\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + + if (subscr->vlr_via_proxy.len) { + /* The VLR is behind a proxy, the subscriber is not attached to a local VLR but a remote one. That + * remote proxy should instead respond to the service lookup request. */ + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: last attach is not at local VLR, but at VLR '%s' via proxy %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + subscr->vlr_number, + osmo_ipa_name_to_str(&subscr->vlr_via_proxy)); + return false; + } + + if (!timestamp_age(&subscr->last_lu_seen, &age)) { + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: Invalid last_lu_seen timestamp for subscriber\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + if (age > g_hlr->mslookup.server.local_attach_max_age) { + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: last attach was here, but too long ago: %us > %us\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + age, g_hlr->mslookup.server.local_attach_max_age); + return false; + } + + *lu_age = age; + osmo_ipa_name_set_str(local_msc_name, subscr->vlr_number); + LOGP(DMSLOOKUP, LOGL_DEBUG, "%s: attached %u seconds ago at local VLR %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + age, osmo_ipa_name_to_str(local_msc_name)); + + return true; +} + +static bool subscriber_has_done_lu_here(const struct osmo_mslookup_query *query, + uint32_t *lu_age_p, + struct osmo_ipa_name *local_msc_name) +{ + bool attached_here; + uint32_t lu_age = 0; + struct osmo_ipa_name msc_name = {}; + + /* First ask the local HLR db, but if the local proxy record indicates a more recent LU, use that instead. + * For all usual cases, only one of these will reflect a LU, even if a subscriber had more than one home HLR: + * - if the subscriber is known here, we will never proxy. + * - if the subscriber is not known here, this local HLR db will never record a LU. + * However, if a subscriber was being proxied to a remote home HLR, and if then the subscriber was also added to + * the local HLR database, there might occur a situation where both reflect a LU. So, to be safe against all + * situations, compare the two entries. + */ + attached_here = subscriber_has_done_lu_here_hlr(query, &lu_age, &msc_name, NULL); + + /* Future: If proxy has a younger lu, replace. */ + + if (attached_here && !msc_name.len) { + LOGP(DMSLOOKUP, LOGL_ERROR, "%s: attached here, but no VLR name known\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + + if (!attached_here) { + /* Already logged "not attached" for both local-db and proxy attach */ + return false; + } + + LOGP(DMSLOOKUP, LOGL_INFO, "%s: attached here, at VLR %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + osmo_ipa_name_to_str(&msc_name)); + *lu_age_p = lu_age; + *local_msc_name = msc_name; + return true; +} + +/* A remote entity is asking us whether we are providing the given service for the given subscriber. */ +void mslookup_server_rx(const struct osmo_mslookup_query *query, + struct osmo_mslookup_result *result) +{ + const struct mslookup_service_host *service_host; + uint32_t age; + struct osmo_ipa_name msc_name; + + /* A request for a home HLR: answer exactly if this is the subscriber's home HLR, i.e. the IMSI is listed in the + * HLR database. */ + if (strcmp(query->service, OSMO_MSLOOKUP_SERVICE_HLR_GSUP) == 0) + return mslookup_server_rx_hlr_gsup(query, result); + + /* All other service types: answer when the subscriber has done a LU that is either listed in the local HLR or + * in the GSUP proxy database: i.e. if the subscriber has done a Location Updating at an VLR belonging to this + * HLR. Respond with whichever services are configured in the osmo-hlr.cfg. */ + if (!subscriber_has_done_lu_here(query, &age, &msc_name)) { + *result = not_found; + return; + } + + /* We've detected a LU here. The VLR where the LU happened is stored in msc_unit_name, and the LU age is stored + * in 'age'. Figure out the address configured for that VLR and service name. */ + service_host = mslookup_server_service_get(&msc_name, query->service); + + if (!service_host) { + /* Find such service set globally (no VLR unit name) */ + service_host = mslookup_server_service_get(&mslookup_server_msc_wildcard, query->service); + } + + if (!service_host) { + LOGP(DMSLOOKUP, LOGL_ERROR, + "%s: subscriber found, but no service %s configured, cannot service lookup request\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + osmo_quote_str_c(OTC_SELECT, query->service, -1)); + *result = not_found; + return; + } + + set_result(result, service_host, age); +} diff --git a/src/timestamp.c b/src/timestamp.c new file mode 100644 index 0000000..002857d --- /dev/null +++ b/src/timestamp.c @@ -0,0 +1,53 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include + +/* Central implementation to set a timestamp to the current time, in case we want to modify this in the future. */ +void timestamp_update(timestamp_t *timestamp) +{ + struct timeval tv; + time_t raw; + struct tm utc; + /* The simpler way would be just time(&raw), but by using osmo_gettimeofday() we can also use + * osmo_gettimeofday_override for unit tests independent from real time. */ + osmo_gettimeofday(&tv, NULL); + raw = tv.tv_sec; + gmtime_r(&raw, &utc); + *timestamp = mktime(&utc); +} + +/* Calculate seconds since a given timestamp was taken. Return true for a valid age returned in age_p, return false if + * the timestamp is either in the future or the age surpasses uint32_t range. When false is returned, *age_p is set to + * UINT32_MAX. */ +bool timestamp_age(const timestamp_t *timestamp, uint32_t *age_p) +{ + int64_t age64; + timestamp_t now; + timestamp_update(&now); + age64 = (int64_t)now - (int64_t)(*timestamp); + if (age64 < 0 || age64 > UINT32_MAX) { + *age_p = UINT32_MAX; + return false; + } + *age_p = (uint32_t)age64; + return true; +} + -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ife4a61d71926d08f310a1aeed9d9f1974f64178b Gerrit-Change-Number: 16209 Gerrit-PatchSet: 34 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:35 +0000 Subject: Change in osmo-hlr[master]: D-GSM 2/n: implement mDNS method of mslookup server In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16257 ) Change subject: D-GSM 2/n: implement mDNS method of mslookup server ...................................................................... D-GSM 2/n: implement mDNS method of mslookup server Implement the mslookup server's mDNS responder, to actually service remote mslookup requests: - VTY mslookup/server config with service names, - the mslookup_mdns_server listening for mslookup requests, For a detailed overview of the D-GSM and mslookup related files, please see the elaborate comment at the top of mslookup.c (already added in an earlier patch). Change-Id: I5cae6459090588b4dd292be90a5e8903432669d2 --- M include/osmocom/hlr/Makefile.am M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_vty.h M include/osmocom/hlr/mslookup_server.h A include/osmocom/hlr/mslookup_server_mdns.h M src/Makefile.am A src/dgsm_vty.c M src/hlr.c A src/mslookup_server_mdns.c M tests/test_nodes.vty M tests/test_subscriber.vty 11 files changed, 605 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/hlr/Makefile.am b/include/osmocom/hlr/Makefile.am index 5c96ec8..b24f084 100644 --- a/include/osmocom/hlr/Makefile.am +++ b/include/osmocom/hlr/Makefile.am @@ -11,6 +11,7 @@ logging.h \ lu_fsm.h \ mslookup_server.h \ + mslookup_server_mdns.h \ rand.h \ timestamp.h \ $(NULL) diff --git a/include/osmocom/hlr/hlr.h b/include/osmocom/hlr/hlr.h index 1269994..8f26704 100644 --- a/include/osmocom/hlr/hlr.h +++ b/include/osmocom/hlr/hlr.h @@ -26,6 +26,7 @@ #include #include #include +#include #define HLR_DEFAULT_DB_FILE_PATH "hlr.db" @@ -69,9 +70,20 @@ unsigned int subscr_create_on_demand_rand_msisdn_len; struct { + bool allow_startup; struct { + /* Whether the mslookup server should be active in general (all lookup methods) */ + bool enable; uint32_t local_attach_max_age; struct llist_head local_site_services; + struct { + /* Whether the mDNS method of the mslookup server should be active. */ + bool enable; + /* The mDNS bind address and domain suffix as set by the VTY, not necessarily in use. */ + struct osmo_sockaddr_str bind_addr; + char *domain_suffix; + struct osmo_mslookup_server_mdns *running; + } mdns; } server; } mslookup; }; diff --git a/include/osmocom/hlr/hlr_vty.h b/include/osmocom/hlr/hlr_vty.h index acd6510..0ba9821 100644 --- a/include/osmocom/hlr/hlr_vty.h +++ b/include/osmocom/hlr/hlr_vty.h @@ -31,8 +31,12 @@ HLR_NODE = _LAST_OSMOVTY_NODE + 1, GSUP_NODE, EUSE_NODE, + MSLOOKUP_NODE, + MSLOOKUP_SERVER_NODE, + MSLOOKUP_SERVER_MSC_NODE, }; int hlr_vty_is_config_node(struct vty *vty, int node); int hlr_vty_go_parent(struct vty *vty); void hlr_vty_init(void); +void dgsm_vty_init(void); diff --git a/include/osmocom/hlr/mslookup_server.h b/include/osmocom/hlr/mslookup_server.h index 5425328..440c451 100644 --- a/include/osmocom/hlr/mslookup_server.h +++ b/include/osmocom/hlr/mslookup_server.h @@ -19,6 +19,9 @@ #pragma once +#include +#include + struct osmo_mslookup_query; struct osmo_mslookup_result; diff --git a/include/osmocom/hlr/mslookup_server_mdns.h b/include/osmocom/hlr/mslookup_server_mdns.h new file mode 100644 index 0000000..ef16e88 --- /dev/null +++ b/include/osmocom/hlr/mslookup_server_mdns.h @@ -0,0 +1,36 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include +#include +#include + +struct osmo_mslookup_server_mdns { + struct osmo_mslookup_server *mslookup; + struct osmo_sockaddr_str bind_addr; + char *domain_suffix; + struct osmo_mdns_sock *sock; +}; + +struct osmo_mslookup_server_mdns *osmo_mslookup_server_mdns_start(void *ctx, const struct osmo_sockaddr_str *bind_addr, + const char *domain_suffix); +void osmo_mslookup_server_mdns_stop(struct osmo_mslookup_server_mdns *server); +void mslookup_server_mdns_config_apply(); diff --git a/src/Makefile.am b/src/Makefile.am index 571eaef..ceaa093 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -54,8 +54,10 @@ gsup_send.c \ hlr_ussd.c \ lu_fsm.c \ - mslookup_server.c \ timestamp.c \ + mslookup_server.c \ + mslookup_server_mdns.c \ + dgsm_vty.c \ $(NULL) osmo_hlr_LDADD = \ diff --git a/src/dgsm_vty.c b/src/dgsm_vty.c new file mode 100644 index 0000000..facd2b7 --- /dev/null +++ b/src/dgsm_vty.c @@ -0,0 +1,382 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +struct cmd_node mslookup_node = { + MSLOOKUP_NODE, + "%s(config-mslookup)# ", + 1, +}; + +DEFUN(cfg_mslookup, + cfg_mslookup_cmd, + "mslookup", + "Configure Distributed GSM mslookup") +{ + vty->node = MSLOOKUP_NODE; + return CMD_SUCCESS; +} + +static int mslookup_server_mdns_bind(struct vty *vty, int argc, const char **argv) +{ + const char *ip_str = argc > 0? argv[0] : g_hlr->mslookup.server.mdns.bind_addr.ip; + const char *port_str = argc > 1? argv[1] : NULL; + uint16_t port_nr = port_str ? atoi(port_str) : g_hlr->mslookup.server.mdns.bind_addr.port; + struct osmo_sockaddr_str addr; + if (osmo_sockaddr_str_from_str(&addr, ip_str, port_nr) + || !osmo_sockaddr_str_is_nonzero(&addr)) { + vty_out(vty, "%% mslookup server: Invalid mDNS bind address: %s %u%s", + ip_str, port_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + g_hlr->mslookup.server.mdns.bind_addr = addr; + g_hlr->mslookup.server.mdns.enable = true; + g_hlr->mslookup.server.enable = true; + mslookup_server_mdns_config_apply(); + return CMD_SUCCESS; +} + +#define MDNS_STR "Multicast DNS related configuration\n" +#define MDNS_IP46_STR "multicast IPv4 address like " OSMO_MSLOOKUP_MDNS_IP4 \ + " or IPv6 address like " OSMO_MSLOOKUP_MDNS_IP6 "\n" +#define MDNS_PORT_STR "mDNS UDP Port number\n" +#define MDNS_DOMAIN_SUFFIX_STR "mDNS domain suffix (default: " OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT "). This is appended" \ + " and stripped from mDNS packets during encoding/decoding, so we don't collide with" \ + " top-level domains administrated by IANA\n" +#define IP46_STR "IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1\n" +#define PORT_STR "Service-specific port number\n" + +struct cmd_node mslookup_server_node = { + MSLOOKUP_SERVER_NODE, + "%s(config-mslookup-server)# ", + 1, +}; + +DEFUN(cfg_mslookup_server, + cfg_mslookup_server_cmd, + "server", + "Enable and configure Distributed GSM mslookup server") +{ + vty->node = MSLOOKUP_SERVER_NODE; + g_hlr->mslookup.server.enable = true; + mslookup_server_mdns_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_no_server, + cfg_mslookup_no_server_cmd, + "no server", + NO_STR "Disable Distributed GSM mslookup server") +{ + g_hlr->mslookup.server.enable = false; + mslookup_server_mdns_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_server_mdns_bind, + cfg_mslookup_server_mdns_bind_cmd, + "mdns bind [IP] [<1-65535>]", + MDNS_STR + "Configure where the mDNS server listens for mslookup requests\n" + MDNS_IP46_STR MDNS_PORT_STR) +{ + return mslookup_server_mdns_bind(vty, argc, argv); +} + +DEFUN(cfg_mslookup_server_mdns_domain_suffix, + cfg_mslookup_server_mdns_domain_suffix_cmd, + "mdns domain-suffix DOMAIN_SUFFIX", + MDNS_STR + MDNS_DOMAIN_SUFFIX_STR + MDNS_DOMAIN_SUFFIX_STR) +{ + osmo_talloc_replace_string(g_hlr, &g_hlr->mslookup.server.mdns.domain_suffix, argv[0]); + mslookup_server_mdns_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_server_no_mdns_bind, + cfg_mslookup_server_no_mdns_bind_cmd, + "no mdns bind", + NO_STR "Disable server for mDNS mslookup (do not answer remote requests)\n") +{ + g_hlr->mslookup.server.mdns.enable = false; + mslookup_server_mdns_config_apply(); + return CMD_SUCCESS; +} + +struct cmd_node mslookup_server_msc_node = { + MSLOOKUP_SERVER_MSC_NODE, + "%s(config-mslookup-server-msc)# ", + 1, +}; + +DEFUN(cfg_mslookup_server_msc, + cfg_mslookup_server_msc_cmd, + "msc ipa-name .IPA_NAME", + "Configure services for individual local MSCs\n" + "Identify locally connected MSC by IPA Unit Name\n" + "IPA Unit Name of the local MSC to configure\n") +{ + struct osmo_ipa_name msc_name; + struct mslookup_server_msc_cfg *msc; + osmo_ipa_name_set_str(&msc_name, argv_concat(argv, argc, 0)); + + msc = mslookup_server_msc_get(&msc_name, true); + if (!msc) { + vty_out(vty, "%% Error creating MSC %s%s", osmo_ipa_name_to_str(&msc_name), VTY_NEWLINE); + return CMD_WARNING; + } + vty->node = MSLOOKUP_SERVER_MSC_NODE; + vty->index = msc; + return CMD_SUCCESS; +} + +#define SERVICE_NAME_STR \ + "mslookup service name, e.g. sip.voice or smpp.sms\n" + +static struct mslookup_server_msc_cfg *msc_from_node(struct vty *vty) +{ + switch (vty->node) { + case MSLOOKUP_SERVER_NODE: + /* On the mslookup.server node, set services on the wildcard msc, without a particular name. */ + return mslookup_server_msc_get(&mslookup_server_msc_wildcard, true); + case MSLOOKUP_SERVER_MSC_NODE: + return vty->index; + default: + return NULL; + } +} + +DEFUN(cfg_mslookup_server_msc_service, + cfg_mslookup_server_msc_service_cmd, + "service NAME at IP <1-65535>", + "Configure addresses of local services, as sent in replies to remote mslookup requests.\n" + SERVICE_NAME_STR "at\n" IP46_STR PORT_STR) +{ + /* If this command is run on the 'server' node, it produces an empty unit name and serves as wildcard for all + * MSCs. If on a 'server' / 'msc' node, set services only for that MSC Unit Name. */ + struct mslookup_server_msc_cfg *msc = msc_from_node(vty); + const char *service = argv[0]; + const char *ip_str = argv[1]; + const char *port_str = argv[2]; + struct osmo_sockaddr_str addr; + + if (!msc) { + vty_out(vty, "%% Error: no MSC object on this node%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (osmo_sockaddr_str_from_str(&addr, ip_str, atoi(port_str)) + || !osmo_sockaddr_str_is_nonzero(&addr)) { + vty_out(vty, "%% mslookup server: Invalid address for service %s: %s %s%s", + service, ip_str, port_str, VTY_NEWLINE); + return CMD_WARNING; + } + + if (mslookup_server_msc_service_set(msc, service, &addr)) { + vty_out(vty, "%% mslookup server: Error setting service %s to %s %s%s", + service, ip_str, port_str, VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +#define NO_SERVICE_AND_NAME_STR NO_STR "Remove one or more service address entries\n" SERVICE_NAME_STR + +DEFUN(cfg_mslookup_server_msc_no_service, + cfg_mslookup_server_msc_no_service_cmd, + "no service NAME", + NO_SERVICE_AND_NAME_STR) +{ + /* If this command is run on the 'server' node, it produces an empty unit name and serves as wildcard for all + * MSCs. If on a 'server' / 'msc' node, set services only for that MSC Unit Name. */ + struct mslookup_server_msc_cfg *msc = msc_from_node(vty); + const char *service = argv[0]; + + if (!msc) { + vty_out(vty, "%% Error: no MSC object on this node%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (mslookup_server_msc_service_del(msc, service, NULL) < 1) { + vty_out(vty, "%% mslookup server: cannot remove service '%s'%s", + service, VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_server_msc_no_service_addr, + cfg_mslookup_server_msc_no_service_addr_cmd, + "no service NAME at IP <1-65535>", + NO_SERVICE_AND_NAME_STR "at\n" IP46_STR PORT_STR) +{ + /* If this command is run on the 'server' node, it produces an empty unit name and serves as wildcard for all + * MSCs. If on a 'server' / 'msc' node, set services only for that MSC Unit Name. */ + struct mslookup_server_msc_cfg *msc = msc_from_node(vty); + const char *service = argv[0]; + const char *ip_str = argv[1]; + const char *port_str = argv[2]; + struct osmo_sockaddr_str addr; + + if (!msc) { + vty_out(vty, "%% Error: no MSC object on this node%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (osmo_sockaddr_str_from_str(&addr, ip_str, atoi(port_str)) + || !osmo_sockaddr_str_is_nonzero(&addr)) { + vty_out(vty, "%% mslookup server: Invalid address for 'no service' %s: %s %s%s", + service, ip_str, port_str, VTY_NEWLINE); + return CMD_WARNING; + } + + if (mslookup_server_msc_service_del(msc, service, &addr) < 1) { + vty_out(vty, "%% mslookup server: cannot remove service '%s' to %s %s%s", + service, ip_str, port_str, VTY_NEWLINE); + return CMD_WARNING; + } + return CMD_SUCCESS; +} + +void config_write_msc_services(struct vty *vty, const char *indent, struct mslookup_server_msc_cfg *msc) +{ + struct mslookup_service_host *e; + + llist_for_each_entry(e, &msc->service_hosts, entry) { + if (osmo_sockaddr_str_is_nonzero(&e->host_v4)) + vty_out(vty, "%sservice %s at %s %u%s", indent, e->service, e->host_v4.ip, e->host_v4.port, + VTY_NEWLINE); + if (osmo_sockaddr_str_is_nonzero(&e->host_v6)) + vty_out(vty, "%sservice %s at %s %u%s", indent, e->service, e->host_v6.ip, e->host_v6.port, + VTY_NEWLINE); + } +} + +int config_write_mslookup(struct vty *vty) +{ + if (!g_hlr->mslookup.server.enable + && llist_empty(&g_hlr->mslookup.server.local_site_services)) + return CMD_SUCCESS; + + vty_out(vty, "mslookup%s", VTY_NEWLINE); + + if (g_hlr->mslookup.server.enable || !llist_empty(&g_hlr->mslookup.server.local_site_services)) { + struct mslookup_server_msc_cfg *msc; + + vty_out(vty, " server%s", VTY_NEWLINE); + + if (g_hlr->mslookup.server.mdns.enable) { + vty_out(vty, " mdns bind"); + if (osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.server.mdns.bind_addr)) { + vty_out(vty, " %s %u", + g_hlr->mslookup.server.mdns.bind_addr.ip, + g_hlr->mslookup.server.mdns.bind_addr.port); + } + vty_out(vty, "%s", VTY_NEWLINE); + } + if (strcmp(g_hlr->mslookup.server.mdns.domain_suffix, OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT)) + vty_out(vty, " mdns domain-suffix %s%s", + g_hlr->mslookup.server.mdns.domain_suffix, + VTY_NEWLINE); + + msc = mslookup_server_msc_get(&mslookup_server_msc_wildcard, false); + if (msc) + config_write_msc_services(vty, " ", msc); + + llist_for_each_entry(msc, &g_hlr->mslookup.server.local_site_services, entry) { + if (!osmo_ipa_name_cmp(&mslookup_server_msc_wildcard, &msc->name)) + continue; + vty_out(vty, " msc %s%s", osmo_ipa_name_to_str(&msc->name), VTY_NEWLINE); + config_write_msc_services(vty, " ", msc); + } + + /* If the server is disabled, still output the above to not lose the service config. */ + if (!g_hlr->mslookup.server.enable) + vty_out(vty, " no server%s", VTY_NEWLINE); + } + + return CMD_SUCCESS; +} + +DEFUN(do_mslookup_show_services, + do_mslookup_show_services_cmd, + "show mslookup services", + SHOW_STR "Distributed GSM / mslookup related information\n" + "List configured service addresses as sent to remote mslookup requests\n") +{ + struct mslookup_server_msc_cfg *msc; + const struct mslookup_service_host *local_hlr = mslookup_server_get_local_gsup_addr(); + + vty_out(vty, "Local GSUP HLR address returned in mslookup responses for local IMSIs:"); + if (osmo_sockaddr_str_is_nonzero(&local_hlr->host_v4)) + vty_out(vty, " " OSMO_SOCKADDR_STR_FMT, + OSMO_SOCKADDR_STR_FMT_ARGS(&local_hlr->host_v4)); + if (osmo_sockaddr_str_is_nonzero(&local_hlr->host_v6)) + vty_out(vty, " " OSMO_SOCKADDR_STR_FMT, + OSMO_SOCKADDR_STR_FMT_ARGS(&local_hlr->host_v6)); + vty_out(vty, "%s", VTY_NEWLINE); + + msc = mslookup_server_msc_get(&mslookup_server_msc_wildcard, false); + if (msc) + config_write_msc_services(vty, "", msc); + + llist_for_each_entry(msc, &g_hlr->mslookup.server.local_site_services, entry) { + if (!osmo_ipa_name_cmp(&mslookup_server_msc_wildcard, &msc->name)) + continue; + vty_out(vty, "msc ipa-name %s%s", osmo_ipa_name_to_str(&msc->name), VTY_NEWLINE); + config_write_msc_services(vty, " ", msc); + } + return CMD_SUCCESS; +} + +void dgsm_vty_init(void) +{ + install_element(CONFIG_NODE, &cfg_mslookup_cmd); + + install_node(&mslookup_node, config_write_mslookup); + install_element(MSLOOKUP_NODE, &cfg_mslookup_server_cmd); + install_element(MSLOOKUP_NODE, &cfg_mslookup_no_server_cmd); + + install_node(&mslookup_server_node, NULL); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_mdns_bind_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_mdns_domain_suffix_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_no_mdns_bind_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_msc_service_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_msc_no_service_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_msc_no_service_addr_cmd); + install_element(MSLOOKUP_SERVER_NODE, &cfg_mslookup_server_msc_cmd); + + install_node(&mslookup_server_msc_node, NULL); + install_element(MSLOOKUP_SERVER_MSC_NODE, &cfg_mslookup_server_msc_service_cmd); + install_element(MSLOOKUP_SERVER_MSC_NODE, &cfg_mslookup_server_msc_no_service_cmd); + install_element(MSLOOKUP_SERVER_MSC_NODE, &cfg_mslookup_server_msc_no_service_addr_cmd); + + install_element_ve(&do_mslookup_show_services_cmd); +} diff --git a/src/hlr.c b/src/hlr.c index 2cabab4..5e015b3 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -48,6 +48,7 @@ #include #include #include +#include struct hlr *g_hlr; static void *hlr_ctx = NULL; @@ -697,6 +698,7 @@ INIT_LLIST_HEAD(&g_hlr->ussd_routes); INIT_LLIST_HEAD(&g_hlr->mslookup.server.local_site_services); g_hlr->db_file_path = talloc_strdup(g_hlr, HLR_DEFAULT_DB_FILE_PATH); + g_hlr->mslookup.server.mdns.domain_suffix = talloc_strdup(g_hlr, OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT); /* Init default (call independent) SS session guard timeout value */ g_hlr->ncss_guard_timeout = NCSS_GUARD_TIMEOUT_DEFAULT; @@ -712,6 +714,7 @@ ctrl_vty_init(hlr_ctx); handle_options(argc, argv); hlr_vty_init(); + dgsm_vty_init(); rc = vty_read_config_file(cmdline_opts.config_file, NULL); if (rc < 0) { diff --git a/src/mslookup_server_mdns.c b/src/mslookup_server_mdns.c new file mode 100644 index 0000000..0e94074 --- /dev/null +++ b/src/mslookup_server_mdns.c @@ -0,0 +1,157 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +static void osmo_mslookup_server_mdns_tx(struct osmo_mslookup_server_mdns *server, + uint16_t packet_id, + const struct osmo_mslookup_query *query, + const struct osmo_mslookup_result *result) +{ + struct msgb *msg; + const char *errmsg = NULL; + void *ctx = talloc_named_const(server, 0, __func__); + + msg = osmo_mdns_result_encode(ctx, packet_id, query, result, server->domain_suffix); + if (!msg) + errmsg = "Error encoding mDNS answer packet"; + else if (osmo_mdns_sock_send(server->sock, msg)) + errmsg = "Error sending mDNS answer"; + if (errmsg) + LOGP(DMSLOOKUP, LOGL_ERROR, "%s: mDNS: %s\n", osmo_mslookup_result_name_c(ctx, query, result), errmsg); + talloc_free(ctx); +} + +static void osmo_mslookup_server_mdns_handle_request(uint16_t packet_id, + struct osmo_mslookup_server_mdns *server, + const struct osmo_mslookup_query *query) +{ + struct osmo_mslookup_result result; + + mslookup_server_rx(query, &result); + /* Error logging already happens in mslookup_server_rx() */ + if (result.rc != OSMO_MSLOOKUP_RC_RESULT) + return; + + osmo_mslookup_server_mdns_tx(server, packet_id, query, &result); +} + +static int osmo_mslookup_server_mdns_rx(struct osmo_fd *osmo_fd, unsigned int what) +{ + struct osmo_mslookup_server_mdns *server = osmo_fd->data; + struct osmo_mslookup_query *query; + uint16_t packet_id; + int n; + uint8_t buffer[1024]; + void *ctx; + + /* Parse the message and print it */ + n = read(osmo_fd->fd, buffer, sizeof(buffer)); + if (n < 0) + return n; + + ctx = talloc_named_const(server, 0, __func__); + query = osmo_mdns_query_decode(ctx, buffer, n, &packet_id, server->domain_suffix); + if (!query) { + talloc_free(ctx); + return -1; + } + + osmo_mslookup_id_name_buf((char *)buffer, sizeof(buffer), &query->id); + LOGP(DMSLOOKUP, LOGL_DEBUG, "mDNS rx request: %s.%s\n", query->service, buffer); + osmo_mslookup_server_mdns_handle_request(packet_id, server, query); + talloc_free(ctx); + return n; +} + +struct osmo_mslookup_server_mdns *osmo_mslookup_server_mdns_start(void *ctx, const struct osmo_sockaddr_str *bind_addr, + const char *domain_suffix) +{ + struct osmo_mslookup_server_mdns *server = talloc_zero(ctx, struct osmo_mslookup_server_mdns); + OSMO_ASSERT(server); + *server = (struct osmo_mslookup_server_mdns){ + .bind_addr = *bind_addr, + .domain_suffix = talloc_strdup(server, domain_suffix) + }; + + server->sock = osmo_mdns_sock_init(server, + bind_addr->ip, bind_addr->port, + osmo_mslookup_server_mdns_rx, + server, 0); + if (!server->sock) { + LOGP(DMSLOOKUP, LOGL_ERROR, + "mslookup mDNS server: error initializing multicast bind on " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(bind_addr)); + talloc_free(server); + return NULL; + } + + return server; +} + +void osmo_mslookup_server_mdns_stop(struct osmo_mslookup_server_mdns *server) +{ + if (!server) + return; + osmo_mdns_sock_cleanup(server->sock); + talloc_free(server); +} + +void mslookup_server_mdns_config_apply() +{ + /* Check whether to start/stop/restart mDNS server */ + bool should_run; + bool should_stop; + + should_run = g_hlr->mslookup.allow_startup + && g_hlr->mslookup.server.enable && g_hlr->mslookup.server.mdns.enable; + should_stop = g_hlr->mslookup.server.mdns.running + && (!should_run + || osmo_sockaddr_str_cmp(&g_hlr->mslookup.server.mdns.bind_addr, + &g_hlr->mslookup.server.mdns.running->bind_addr) + || strcmp(g_hlr->mslookup.server.mdns.domain_suffix, + g_hlr->mslookup.server.mdns.running->domain_suffix)); + + if (should_stop) { + osmo_mslookup_server_mdns_stop(g_hlr->mslookup.server.mdns.running); + g_hlr->mslookup.server.mdns.running = NULL; + LOGP(DMSLOOKUP, LOGL_NOTICE, "Stopped mslookup mDNS server\n"); + } + + if (should_run && !g_hlr->mslookup.server.mdns.running) { + g_hlr->mslookup.server.mdns.running = + osmo_mslookup_server_mdns_start(g_hlr, &g_hlr->mslookup.server.mdns.bind_addr, + g_hlr->mslookup.server.mdns.domain_suffix); + if (!g_hlr->mslookup.server.mdns.running) + LOGP(DMSLOOKUP, LOGL_ERROR, "Failed to start mslookup mDNS server on " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&g_hlr->mslookup.server.mdns.bind_addr)); + else + LOGP(DMSLOOKUP, LOGL_NOTICE, "Started mslookup mDNS server, receiving mDNS requests at multicast " + OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&g_hlr->mslookup.server.mdns.running->bind_addr)); + } +} diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index c056e4d..ee351e3 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -15,6 +15,7 @@ show gsup-connections subscriber (imsi|msisdn|id|imei) IDENT show show subscriber (imsi|msisdn|id|imei) IDENT + show mslookup services OsmoHLR> enable OsmoHLR# ? @@ -25,9 +26,11 @@ OsmoHLR(config)# ? ... hlr Configure the HLR + mslookup Configure Distributed GSM mslookup OsmoHLR(config)# list ... hlr + mslookup OsmoHLR(config)# hlr OsmoHLR(config-hlr)# ? diff --git a/tests/test_subscriber.vty b/tests/test_subscriber.vty index 8e9026d..fb5da0e 100644 --- a/tests/test_subscriber.vty +++ b/tests/test_subscriber.vty @@ -13,6 +13,7 @@ subscriber (imsi|msisdn|id|imei) IDENT update aud3g milenage k K (op|opc) OP_C [ind-bitlen] [<0-28>] subscriber (imsi|msisdn|id|imei) IDENT update imei (none|IMEI) subscriber (imsi|msisdn|id|imei) IDENT update network-access-mode (none|cs|ps|cs+ps) + show mslookup services OsmoHLR# subscriber? subscriber Subscriber management commands -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5cae6459090588b4dd292be90a5e8903432669d2 Gerrit-Change-Number: 16257 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:36 +0000 Subject: Change in osmo-hlr[master]: D-GSM 3/n: implement roaming by mslookup in osmo-hlr In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16258 ) Change subject: D-GSM 3/n: implement roaming by mslookup in osmo-hlr ...................................................................... D-GSM 3/n: implement roaming by mslookup in osmo-hlr Add mslookup client to find remote home HLRs of unknown IMSIs, and proxy/forward GSUP for those to the right remote HLR instances. Add remote_hlr.c to manage one GSUP client per remote HLR GSUP address. Add proxy.c to keep state about remotely handled IMSIs (remote GSUP address, MSISDN, and probably more in future patches). The mslookup_server that determines whether a given MSISDN is attached locally now also needs to look in the proxy record: it is always the osmo-hlr immediately peering for the MSC that should respond to mslookup service address queries like SIP and SMPP. (Only gsup.hlr service is always answered by the home HLR.) Add dgsm.c to set up an mdns mslookup client, ask for IMSI homes, and to decide which GSUP is handled locally and which needs to go to a remote HLR. Add full VTY config and VTY tests. For a detailed overview of the D-GSM and mslookup related files, please see the elaborate comment at the top of mslookup.c (already added in an earlier patch). Change-Id: I2fe453553c90e6ee527ed13a13089900efd488aa --- M include/osmocom/hlr/Makefile.am A include/osmocom/hlr/dgsm.h M include/osmocom/hlr/gsup_server.h M include/osmocom/hlr/hlr.h M include/osmocom/hlr/hlr_vty.h M include/osmocom/hlr/logging.h M include/osmocom/hlr/mslookup_server.h A include/osmocom/hlr/proxy.h A include/osmocom/hlr/remote_hlr.h M src/Makefile.am A src/dgsm.c M src/dgsm_vty.c M src/gsup_server.c M src/hlr.c M src/hlr_vty.c M src/logging.c M src/mslookup_server.c A src/proxy.c A src/remote_hlr.c M tests/gsup_server/Makefile.am M tests/test_nodes.vty 21 files changed, 2,005 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/hlr/Makefile.am b/include/osmocom/hlr/Makefile.am index b24f084..aceda4a 100644 --- a/include/osmocom/hlr/Makefile.am +++ b/include/osmocom/hlr/Makefile.am @@ -2,6 +2,7 @@ auc.h \ ctrl.h \ db.h \ + dgsm.h \ gsup_router.h \ gsup_server.h \ hlr.h \ @@ -12,6 +13,8 @@ lu_fsm.h \ mslookup_server.h \ mslookup_server_mdns.h \ + proxy.h \ rand.h \ + remote_hlr.h \ timestamp.h \ $(NULL) diff --git a/include/osmocom/hlr/dgsm.h b/include/osmocom/hlr/dgsm.h new file mode 100644 index 0000000..cc8f3d2 --- /dev/null +++ b/include/osmocom/hlr/dgsm.h @@ -0,0 +1,46 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include +#include +#include +#include +#include + +#define LOG_DGSM(imsi, level, fmt, args...) \ + LOGP(DDGSM, level, "(IMSI-%s) " fmt, imsi, ##args) + +struct vty; +struct remote_hlr; +struct hlr_subscriber; + +extern void *dgsm_ctx; + +void dgsm_init(void *ctx); +void dgsm_start(void *ctx); +void dgsm_stop(); + +bool dgsm_check_forward_gsup_msg(struct osmo_gsup_req *req); + +void dgsm_vty_init(); +void dgsm_mdns_client_config_apply(void); + +bool hlr_subscr_lu_age(const struct hlr_subscriber *subscr, uint32_t *age_p); diff --git a/include/osmocom/hlr/gsup_server.h b/include/osmocom/hlr/gsup_server.h index 774f750..ce7556e 100644 --- a/include/osmocom/hlr/gsup_server.h +++ b/include/osmocom/hlr/gsup_server.h @@ -27,6 +27,9 @@ struct ipa_server_link *link; osmo_gsup_read_cb_t read_cb; struct llist_head routes; + + /* Proxy requests from this server's clients to remote GSUP servers. */ + struct proxy *proxy; }; @@ -71,3 +74,5 @@ uint8_t *msisdn_enc, size_t msisdn_enc_size, uint8_t *apn_buf, size_t apn_buf_size, enum osmo_gsup_cn_domain cn_domain); +int osmo_gsup_forward_to_local_peer(struct osmo_gsup_server *server, const struct osmo_cni_peer_id *to_peer, + struct osmo_gsup_req *req, struct osmo_gsup_message *modified_gsup); diff --git a/include/osmocom/hlr/hlr.h b/include/osmocom/hlr/hlr.h index 8f26704..e8df5cd 100644 --- a/include/osmocom/hlr/hlr.h +++ b/include/osmocom/hlr/hlr.h @@ -28,6 +28,8 @@ #include #include +#include + #define HLR_DEFAULT_DB_FILE_PATH "hlr.db" struct hlr_euse; @@ -85,6 +87,29 @@ struct osmo_mslookup_server_mdns *running; } mdns; } server; + + /* The mslookup client in osmo-hlr is used to find out which remote HLRs service a locally unknown IMSI. + * (It may also be used to resolve recipients for SMS-over-GSUP in the future.) */ + struct { + /* Whether to proxy/forward to remote HLRs */ + bool enable; + + /* If this is set, all GSUP for unknown IMSIs is forwarded directly to this GSUP address, + * unconditionally. */ + struct osmo_sockaddr_str gsup_gateway_proxy; + + /* mslookup client request handling */ + unsigned int result_timeout_milliseconds; + + struct osmo_mslookup_client *client; + struct { + /* Whether to use mDNS for IMSI MS Lookup */ + bool enable; + struct osmo_sockaddr_str query_addr; + char *domain_suffix; + struct osmo_mslookup_client_method *running; + } mdns; + } client; } mslookup; }; diff --git a/include/osmocom/hlr/hlr_vty.h b/include/osmocom/hlr/hlr_vty.h index 0ba9821..c026d91 100644 --- a/include/osmocom/hlr/hlr_vty.h +++ b/include/osmocom/hlr/hlr_vty.h @@ -34,6 +34,7 @@ MSLOOKUP_NODE, MSLOOKUP_SERVER_NODE, MSLOOKUP_SERVER_MSC_NODE, + MSLOOKUP_CLIENT_NODE, }; int hlr_vty_is_config_node(struct vty *vty, int node); diff --git a/include/osmocom/hlr/logging.h b/include/osmocom/hlr/logging.h index 4e0a25c..a8081af 100644 --- a/include/osmocom/hlr/logging.h +++ b/include/osmocom/hlr/logging.h @@ -10,6 +10,7 @@ DSS, DMSLOOKUP, DLU, + DDGSM, }; extern const struct log_info hlr_log_info; diff --git a/include/osmocom/hlr/mslookup_server.h b/include/osmocom/hlr/mslookup_server.h index 440c451..7c80f2a 100644 --- a/include/osmocom/hlr/mslookup_server.h +++ b/include/osmocom/hlr/mslookup_server.h @@ -66,3 +66,7 @@ const struct mslookup_service_host *mslookup_server_get_local_gsup_addr(); void mslookup_server_rx(const struct osmo_mslookup_query *query, struct osmo_mslookup_result *result); + +bool subscriber_has_done_lu_here(const struct osmo_mslookup_query *query, + uint32_t *lu_age_p, struct osmo_ipa_name *local_msc_name, + char *ret_imsi, size_t ret_imsi_len); diff --git a/include/osmocom/hlr/proxy.h b/include/osmocom/hlr/proxy.h new file mode 100644 index 0000000..0169038 --- /dev/null +++ b/include/osmocom/hlr/proxy.h @@ -0,0 +1,95 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include +#include +#include +#include +#include + +struct osmo_gsup_req; +struct remote_hlr; + +struct proxy { + struct llist_head subscr_list; + struct llist_head pending_gsup_reqs; + + /* When messages arrive back from a remote HLR that this is the proxy for, reach the VLR to forward the response + * to via this osmo_gsup_server. */ + struct osmo_gsup_server *gsup_server_to_vlr; + + /* How long to keep proxy entries without a refresh, in seconds. */ + uint32_t fresh_time; + + /* How often to garbage collect the proxy cache, period in seconds. + * To change this and take effect immediately, rather use proxy_set_gc_period(). */ + uint32_t gc_period; + + struct osmo_timer_list gc_timer; +}; + +struct proxy_subscr_domain_state { + struct osmo_ipa_name vlr_name; + timestamp_t last_lu; + + /* The name from which an Update Location Request was received. Copied to vlr_name as soon as the LU is + * completed successfully. */ + struct osmo_ipa_name vlr_name_preliminary; + + /* Set if this is a middle proxy, i.e. a proxy behind another proxy. + * That is mostly to know whether the MS is attached at a local MSC/SGSN or further away. + * It could be a boolean, but store the full name for logging. Set only at successful LU acceptance. */ + struct osmo_ipa_name vlr_via_proxy; +}; + +struct proxy_subscr { + char imsi[GSM23003_IMSI_MAX_DIGITS+1]; + char msisdn[GSM23003_MSISDN_MAX_DIGITS+1]; + struct osmo_sockaddr_str remote_hlr_addr; + struct proxy_subscr_domain_state cs, ps; +}; + +void proxy_init(struct osmo_gsup_server *gsup_server_to_vlr); +void proxy_del(struct proxy *proxy); +void proxy_set_gc_period(struct proxy *proxy, uint32_t gc_period); + +/* The API to access / modify proxy entries keeps the implementation opaque, to make sure that we can easily move proxy + * storage to SQLite db. */ +int proxy_subscr_get_by_imsi(struct proxy_subscr *dst, struct proxy *proxy, const char *imsi); +int proxy_subscr_get_by_msisdn(struct proxy_subscr *dst, struct proxy *proxy, const char *msisdn); +void proxy_subscrs_get_by_remote_hlr(struct proxy *proxy, const struct osmo_sockaddr_str *remote_hlr_addr, + bool (*yield)(struct proxy *proxy, const struct proxy_subscr *subscr, void *data), + void *data); +int proxy_subscr_create_or_update(struct proxy *proxy, const struct proxy_subscr *proxy_subscr); +int proxy_subscr_del(struct proxy *proxy, const char *imsi); + +int proxy_subscr_forward_to_remote_hlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + struct osmo_gsup_req *req); +void proxy_subscr_forward_to_remote_hlr_resolved(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + struct remote_hlr *remote_hlr, struct osmo_gsup_req *req); + +int proxy_subscr_forward_to_vlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_gsup_message *gsup, struct remote_hlr *from_remote_hlr); + +void proxy_subscr_remote_hlr_resolved(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_sockaddr_str *remote_hlr_addr); +void proxy_subscr_remote_hlr_up(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + struct remote_hlr *remote_hlr); diff --git a/include/osmocom/hlr/remote_hlr.h b/include/osmocom/hlr/remote_hlr.h new file mode 100644 index 0000000..6a4e8a1 --- /dev/null +++ b/include/osmocom/hlr/remote_hlr.h @@ -0,0 +1,59 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#pragma once + +#include +#include +#include + +struct osmo_gsup_client; +struct osmo_gsup_message; +struct osmo_gsup_req; +struct msgb; + +#define LOG_REMOTE_HLR(remote_hlr, level, fmt, args...) \ + LOGP(DDGSM, level, "(Proxy HLR-" OSMO_SOCKADDR_STR_FMT ") " fmt, \ + OSMO_SOCKADDR_STR_FMT_ARGS((remote_hlr) ? &(remote_hlr)->addr : NULL), ##args) + +#define LOG_REMOTE_HLR_MSG(remote_hlr, gsup_msg, level, fmt, args...) \ + LOG_REMOTE_HLR(remote_hlr, level, "%s: " fmt, osmo_gsup_message_type_name((gsup_msg)->message_type), ##args) + +/* GSUP client link for proxying to a remote HLR. */ +struct remote_hlr { + struct llist_head entry; + struct osmo_sockaddr_str addr; + struct osmo_gsup_client *gsupc; + struct llist_head pending_up_callbacks; +}; + +/*! Receive a remote_hlr address when connecting succeeded, or remote_hlr == NULL on error. + * \param addr GSUP IP address and port for which the connection was requested. + * \param remote_hlr The connected remote_hlr ready for sending, or NULL if connecting failed. + * \param data Same a passed to remote_hlr_get_or_connect(). */ +typedef void (*remote_hlr_connect_result_cb_t)(const struct osmo_sockaddr_str *addr, struct remote_hlr *remote_hlr, void *data); + +struct remote_hlr *remote_hlr_get_or_connect(const struct osmo_sockaddr_str *addr, bool connect, + remote_hlr_connect_result_cb_t connect_result_cb, void *data); +void remote_hlr_destroy(struct remote_hlr *remote_hlr); +int remote_hlr_msgb_send(struct remote_hlr *remote_hlr, struct msgb *msg); +void remote_hlr_gsup_forward_to_remote_hlr(struct remote_hlr *remote_hlr, struct osmo_gsup_req *req, + struct osmo_gsup_message *modified_gsup); + +bool remote_hlr_is_up(struct remote_hlr *remote_hlr); diff --git a/src/Makefile.am b/src/Makefile.am index ceaa093..09e9101 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -53,6 +53,9 @@ hlr_vty_subscr.c \ gsup_send.c \ hlr_ussd.c \ + proxy.c \ + dgsm.c \ + remote_hlr.c \ lu_fsm.c \ timestamp.c \ mslookup_server.c \ diff --git a/src/dgsm.c b/src/dgsm.c new file mode 100644 index 0000000..bfa5df8 --- /dev/null +++ b/src/dgsm.c @@ -0,0 +1,247 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +void *dgsm_ctx = NULL; + +static void resolve_hlr_result_cb(struct osmo_mslookup_client *client, + uint32_t request_handle, + const struct osmo_mslookup_query *query, + const struct osmo_mslookup_result *result) +{ + struct proxy *proxy = g_hlr->gs->proxy; + struct proxy_subscr proxy_subscr; + const struct osmo_sockaddr_str *remote_hlr_addr; + + /* A remote HLR is answering back, indicating that it is the home HLR for a given IMSI. + * There should be a mostly empty proxy entry for that IMSI. + * Add the remote address data in the proxy. */ + if (query->id.type != OSMO_MSLOOKUP_ID_IMSI) { + LOGP(DDGSM, LOGL_ERROR, "Expected IMSI ID type in mslookup query+result: %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, result)); + return; + } + + if (result->rc != OSMO_MSLOOKUP_RC_RESULT) { + LOG_DGSM(query->id.imsi, LOGL_ERROR, "Failed to resolve remote HLR: %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, result)); + proxy_subscr_del(proxy, query->id.imsi); + return; + } + + if (osmo_sockaddr_str_is_nonzero(&result->host_v4)) + remote_hlr_addr = &result->host_v4; + else if (osmo_sockaddr_str_is_nonzero(&result->host_v6)) + remote_hlr_addr = &result->host_v6; + else { + LOG_DGSM(query->id.imsi, LOGL_ERROR, "Invalid address for remote HLR: %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, result)); + proxy_subscr_del(proxy, query->id.imsi); + return; + } + + if (proxy_subscr_get_by_imsi(&proxy_subscr, proxy, query->id.imsi)) { + LOG_DGSM(query->id.imsi, LOGL_ERROR, "No proxy entry for mslookup result: %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, result)); + return; + } + + proxy_subscr_remote_hlr_resolved(proxy, &proxy_subscr, remote_hlr_addr); +} + +/* Return true when the message has been handled by D-GSM. */ +bool dgsm_check_forward_gsup_msg(struct osmo_gsup_req *req) +{ + struct proxy_subscr proxy_subscr; + struct proxy *proxy = g_hlr->gs->proxy; + struct osmo_mslookup_query query; + struct osmo_mslookup_query_handling handling; + uint32_t request_handle; + + /* If the IMSI is known in the local HLR, then we won't proxy. */ + if (db_subscr_exists_by_imsi(g_hlr->dbc, req->gsup.imsi) == 0) + return false; + + /* Are we already forwarding this IMSI to a remote HLR? */ + if (proxy_subscr_get_by_imsi(&proxy_subscr, proxy, req->gsup.imsi) == 0) { + proxy_subscr_forward_to_remote_hlr(proxy, &proxy_subscr, req); + return true; + } + + /* The IMSI is not known locally, so we want to proxy to a remote HLR, but no proxy entry exists yet. We need to + * look up the subscriber in remote HLRs via D-GSM mslookup, forward GSUP and reply once a result is back from + * there. Defer message and kick off MS lookup. */ + + /* Add a proxy entry without a remote address to indicate that we are busy querying for a remote HLR. */ + proxy_subscr = (struct proxy_subscr){}; + OSMO_STRLCPY_ARRAY(proxy_subscr.imsi, req->gsup.imsi); + if (proxy_subscr_create_or_update(proxy, &proxy_subscr)) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Failed to create proxy entry\n"); + return true; + } + + /* Is a fixed gateway proxy configured? */ + if (osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.client.gsup_gateway_proxy)) { + proxy_subscr_remote_hlr_resolved(proxy, &proxy_subscr, &g_hlr->mslookup.client.gsup_gateway_proxy); + + /* Proxy database modified, update info */ + if (proxy_subscr_get_by_imsi(&proxy_subscr, proxy, req->gsup.imsi)) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Internal proxy error\n"); + return true; + } + + proxy_subscr_forward_to_remote_hlr(proxy, &proxy_subscr, req); + return true; + } + + /* Kick off an mslookup for the remote HLR? This check could be up first on the top, but do it only now so that + * if the mslookup client disconnected, we still continue to service open proxy entries. */ + if (!osmo_mslookup_client_active(g_hlr->mslookup.client.client)) { + LOG_GSUP_REQ(req, LOGL_DEBUG, "mslookup client not running, cannot query remote home HLR\n"); + return false; + } + + /* First spool message, then kick off mslookup. If the proxy denies this message type, then don't do anything. */ + if (proxy_subscr_forward_to_remote_hlr(proxy, &proxy_subscr, req)) { + /* If the proxy denied forwarding, an error response was already generated. */ + return true; + } + + query = (struct osmo_mslookup_query){ + .id = { + .type = OSMO_MSLOOKUP_ID_IMSI, + }, + }; + OSMO_STRLCPY_ARRAY(query.id.imsi, req->gsup.imsi); + OSMO_STRLCPY_ARRAY(query.service, OSMO_MSLOOKUP_SERVICE_HLR_GSUP); + handling = (struct osmo_mslookup_query_handling){ + .min_wait_milliseconds = g_hlr->mslookup.client.result_timeout_milliseconds, + .result_cb = resolve_hlr_result_cb, + }; + request_handle = osmo_mslookup_client_request(g_hlr->mslookup.client.client, &query, &handling); + if (!request_handle) { + LOG_DGSM(req->gsup.imsi, LOGL_ERROR, "Error dispatching mslookup query for home HLR: %s\n", + osmo_mslookup_result_name_c(OTC_SELECT, &query, NULL)); + proxy_subscr_del(proxy, req->gsup.imsi); + /* mslookup seems to not be working. Try handling it locally. */ + return false; + } + + return true; +} + +void dgsm_init(void *ctx) +{ + dgsm_ctx = talloc_named_const(ctx, 0, "dgsm"); + INIT_LLIST_HEAD(&g_hlr->mslookup.server.local_site_services); + + g_hlr->mslookup.server.local_attach_max_age = 60 * 60; + + g_hlr->mslookup.client.result_timeout_milliseconds = 2000; + + g_hlr->gsup_unit_name.unit_name = "HLR"; + g_hlr->gsup_unit_name.serno = "unnamed-HLR"; + g_hlr->gsup_unit_name.swversion = PACKAGE_NAME "-" PACKAGE_VERSION; + + osmo_sockaddr_str_from_str(&g_hlr->mslookup.server.mdns.bind_addr, + OSMO_MSLOOKUP_MDNS_IP4, OSMO_MSLOOKUP_MDNS_PORT); + osmo_sockaddr_str_from_str(&g_hlr->mslookup.client.mdns.query_addr, + OSMO_MSLOOKUP_MDNS_IP4, OSMO_MSLOOKUP_MDNS_PORT); +} + +void dgsm_start(void *ctx) +{ + g_hlr->mslookup.client.client = osmo_mslookup_client_new(dgsm_ctx); + OSMO_ASSERT(g_hlr->mslookup.client.client); + g_hlr->mslookup.allow_startup = true; + mslookup_server_mdns_config_apply(); + dgsm_mdns_client_config_apply(); +} + +void dgsm_stop() +{ + g_hlr->mslookup.allow_startup = false; + mslookup_server_mdns_config_apply(); + dgsm_mdns_client_config_apply(); +} + +void dgsm_mdns_client_config_apply(void) +{ + /* Check whether to start/stop/restart mDNS client */ + const struct osmo_sockaddr_str *current_bind_addr; + const char *current_domain_suffix; + current_bind_addr = osmo_mslookup_client_method_mdns_get_bind_addr(g_hlr->mslookup.client.mdns.running); + current_domain_suffix = osmo_mslookup_client_method_mdns_get_domain_suffix(g_hlr->mslookup.client.mdns.running); + + bool should_run = g_hlr->mslookup.allow_startup + && g_hlr->mslookup.client.enable && g_hlr->mslookup.client.mdns.enable; + + bool should_stop = g_hlr->mslookup.client.mdns.running && + (!should_run + || osmo_sockaddr_str_cmp(&g_hlr->mslookup.client.mdns.query_addr, + current_bind_addr) + || strcmp(g_hlr->mslookup.client.mdns.domain_suffix, + current_domain_suffix)); + + if (should_stop) { + osmo_mslookup_client_method_del(g_hlr->mslookup.client.client, g_hlr->mslookup.client.mdns.running); + g_hlr->mslookup.client.mdns.running = NULL; + LOGP(DDGSM, LOGL_NOTICE, "Stopped mslookup mDNS client\n"); + } + + if (should_run && !g_hlr->mslookup.client.mdns.running) { + g_hlr->mslookup.client.mdns.running = + osmo_mslookup_client_add_mdns(g_hlr->mslookup.client.client, + g_hlr->mslookup.client.mdns.query_addr.ip, + g_hlr->mslookup.client.mdns.query_addr.port, + -1, + g_hlr->mslookup.client.mdns.domain_suffix); + if (!g_hlr->mslookup.client.mdns.running) + LOGP(DDGSM, LOGL_ERROR, "Failed to start mslookup mDNS client with target " + OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&g_hlr->mslookup.client.mdns.query_addr)); + else + LOGP(DDGSM, LOGL_NOTICE, "Started mslookup mDNS client, sending mDNS requests to multicast " + OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&g_hlr->mslookup.client.mdns.query_addr)); + } + + if (g_hlr->mslookup.client.enable && osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.client.gsup_gateway_proxy)) + LOGP(DDGSM, LOGL_NOTICE, + "mslookup client: all GSUP requests for unknown IMSIs will be forwarded to" + " gateway-proxy " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&g_hlr->mslookup.client.gsup_gateway_proxy)); +} diff --git a/src/dgsm_vty.c b/src/dgsm_vty.c index facd2b7..6f29d3b 100644 --- a/src/dgsm_vty.c +++ b/src/dgsm_vty.c @@ -61,6 +61,26 @@ return CMD_SUCCESS; } +static int mslookup_client_mdns_to(struct vty *vty, int argc, const char **argv) +{ + const char *ip_str = argc > 0? argv[0] : g_hlr->mslookup.client.mdns.query_addr.ip; + const char *port_str = argc > 1? argv[1] : NULL; + uint16_t port_nr = port_str ? atoi(port_str) : g_hlr->mslookup.client.mdns.query_addr.port; + struct osmo_sockaddr_str addr; + if (osmo_sockaddr_str_from_str(&addr, ip_str, port_nr) + || !osmo_sockaddr_str_is_nonzero(&addr)) { + vty_out(vty, "%% mslookup client: Invalid mDNS target address: %s %u%s", + ip_str, port_nr, VTY_NEWLINE); + return CMD_WARNING; + } + + g_hlr->mslookup.client.mdns.query_addr = addr; + g_hlr->mslookup.client.mdns.enable = true; + g_hlr->mslookup.client.enable = true; + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + #define MDNS_STR "Multicast DNS related configuration\n" #define MDNS_IP46_STR "multicast IPv4 address like " OSMO_MSLOOKUP_MDNS_IP4 \ " or IPv6 address like " OSMO_MSLOOKUP_MDNS_IP6 "\n" @@ -71,6 +91,44 @@ #define IP46_STR "IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1\n" #define PORT_STR "Service-specific port number\n" +DEFUN(cfg_mslookup_mdns, + cfg_mslookup_mdns_cmd, + "mdns bind [IP] [<1-65535>]", + MDNS_STR + "Convenience shortcut: enable and configure both server and client for mDNS mslookup\n" + MDNS_IP46_STR MDNS_PORT_STR) +{ + int rc1 = mslookup_server_mdns_bind(vty, argc, argv); + int rc2 = mslookup_client_mdns_to(vty, argc, argv); + if (rc1 != CMD_SUCCESS) + return rc1; + return rc2; +} + +DEFUN(cfg_mslookup_mdns_domain_suffix, + cfg_mslookup_mdns_domain_suffix_cmd, + "mdns domain-suffix DOMAIN_SUFFIX", + MDNS_STR MDNS_DOMAIN_SUFFIX_STR MDNS_DOMAIN_SUFFIX_STR) +{ + osmo_talloc_replace_string(g_hlr, &g_hlr->mslookup.server.mdns.domain_suffix, argv[0]); + osmo_talloc_replace_string(g_hlr, &g_hlr->mslookup.client.mdns.domain_suffix, argv[0]); + mslookup_server_mdns_config_apply(); + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_no_mdns, + cfg_mslookup_no_mdns_cmd, + "no mdns bind", + NO_STR "Disable both server and client for mDNS mslookup\n") +{ + g_hlr->mslookup.server.mdns.enable = false; + g_hlr->mslookup.client.mdns.enable = false; + mslookup_server_mdns_config_apply(); + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + struct cmd_node mslookup_server_node = { MSLOOKUP_SERVER_NODE, "%s(config-mslookup-server)# ", @@ -265,6 +323,81 @@ return CMD_SUCCESS; } +struct cmd_node mslookup_client_node = { + MSLOOKUP_CLIENT_NODE, + "%s(config-mslookup-client)# ", + 1, +}; + +DEFUN(cfg_mslookup_client, + cfg_mslookup_client_cmd, + "client", + "Enable and configure Distributed GSM mslookup client") +{ + vty->node = MSLOOKUP_CLIENT_NODE; + g_hlr->mslookup.client.enable = true; + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_no_client, + cfg_mslookup_no_client_cmd, + "no client", + NO_STR "Disable Distributed GSM mslookup client") +{ + g_hlr->mslookup.client.enable = false; + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_client_timeout, + cfg_mslookup_client_timeout_cmd, + "timeout <1-100000>", + "How long should the mslookup client wait for remote responses before evaluating received results\n" + "timeout in milliseconds\n") +{ + uint32_t val = atol(argv[0]); + g_hlr->mslookup.client.result_timeout_milliseconds = val; + return CMD_SUCCESS; +} + +#define EXIT_HINT() \ + if (vty->type != VTY_FILE) \ + vty_out(vty, "%% 'exit' this node to apply changes%s", VTY_NEWLINE) + + +DEFUN(cfg_mslookup_client_mdns_bind, + cfg_mslookup_client_mdns_bind_cmd, + "mdns bind [IP] [<1-65535>]", + MDNS_STR + "Enable mDNS client, and configure multicast address to send mDNS mslookup requests to\n" + MDNS_IP46_STR MDNS_PORT_STR) +{ + return mslookup_client_mdns_to(vty, argc, argv); +} + +DEFUN(cfg_mslookup_client_mdns_domain_suffix, + cfg_mslookup_client_mdns_domain_suffix_cmd, + "mdns domain-suffix DOMAIN_SUFFIX", + MDNS_STR + MDNS_DOMAIN_SUFFIX_STR + MDNS_DOMAIN_SUFFIX_STR) +{ + osmo_talloc_replace_string(g_hlr, &g_hlr->mslookup.client.mdns.domain_suffix, argv[0]); + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_client_no_mdns_bind, + cfg_mslookup_client_no_mdns_bind_cmd, + "no mdns bind", + NO_STR "Disable mDNS client, do not query remote services by mDNS\n") +{ + g_hlr->mslookup.client.mdns.enable = false; + dgsm_mdns_client_config_apply(); + return CMD_SUCCESS; +} + void config_write_msc_services(struct vty *vty, const char *indent, struct mslookup_server_msc_cfg *msc) { struct mslookup_service_host *e; @@ -282,7 +415,8 @@ int config_write_mslookup(struct vty *vty) { if (!g_hlr->mslookup.server.enable - && llist_empty(&g_hlr->mslookup.server.local_site_services)) + && llist_empty(&g_hlr->mslookup.server.local_site_services) + && !g_hlr->mslookup.client.enable) return CMD_SUCCESS; vty_out(vty, "mslookup%s", VTY_NEWLINE); @@ -322,6 +456,57 @@ vty_out(vty, " no server%s", VTY_NEWLINE); } + if (g_hlr->mslookup.client.enable) { + vty_out(vty, " client%s", VTY_NEWLINE); + + if (osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.client.gsup_gateway_proxy)) + vty_out(vty, " gateway-proxy %s %u%s", + g_hlr->mslookup.client.gsup_gateway_proxy.ip, + g_hlr->mslookup.client.gsup_gateway_proxy.port, + VTY_NEWLINE); + + if (g_hlr->mslookup.client.mdns.enable + && osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.client.mdns.query_addr)) + vty_out(vty, " mdns bind %s %u%s", + g_hlr->mslookup.client.mdns.query_addr.ip, + g_hlr->mslookup.client.mdns.query_addr.port, + VTY_NEWLINE); + if (strcmp(g_hlr->mslookup.client.mdns.domain_suffix, OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT)) + vty_out(vty, " mdns domain-suffix %s%s", + g_hlr->mslookup.client.mdns.domain_suffix, + VTY_NEWLINE); + } + + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_client_gateway_proxy, + cfg_mslookup_client_gateway_proxy_cmd, + "gateway-proxy IP [<1-65535>]", + "Configure a fixed IP address to send all GSUP requests for unknown IMSIs to, without invoking a lookup for IMSI\n" + "IP address of the remote HLR\n" "GSUP port number (omit for default " OSMO_STRINGIFY_VAL(OSMO_GSUP_PORT) ")\n") +{ + const char *ip_str = argv[0]; + const char *port_str = argc > 1 ? argv[1] : NULL; + struct osmo_sockaddr_str addr; + + if (osmo_sockaddr_str_from_str(&addr, ip_str, port_str ? atoi(port_str) : OSMO_GSUP_PORT) + || !osmo_sockaddr_str_is_nonzero(&addr)) { + vty_out(vty, "%% mslookup client: Invalid address for gateway-proxy: %s %s%s", + ip_str, port_str ? : "", VTY_NEWLINE); + return CMD_WARNING; + } + + g_hlr->mslookup.client.gsup_gateway_proxy = addr; + return CMD_SUCCESS; +} + +DEFUN(cfg_mslookup_client_no_gateway_proxy, + cfg_mslookup_client_no_gateway_proxy_cmd, + "no gateway-proxy", + NO_STR "Disable gateway proxy for GSUP with unknown IMSIs\n") +{ + g_hlr->mslookup.client.gsup_gateway_proxy = (struct osmo_sockaddr_str){}; return CMD_SUCCESS; } @@ -361,6 +546,9 @@ install_element(CONFIG_NODE, &cfg_mslookup_cmd); install_node(&mslookup_node, config_write_mslookup); + install_element(MSLOOKUP_NODE, &cfg_mslookup_mdns_cmd); + install_element(MSLOOKUP_NODE, &cfg_mslookup_mdns_domain_suffix_cmd); + install_element(MSLOOKUP_NODE, &cfg_mslookup_no_mdns_cmd); install_element(MSLOOKUP_NODE, &cfg_mslookup_server_cmd); install_element(MSLOOKUP_NODE, &cfg_mslookup_no_server_cmd); @@ -378,5 +566,15 @@ install_element(MSLOOKUP_SERVER_MSC_NODE, &cfg_mslookup_server_msc_no_service_cmd); install_element(MSLOOKUP_SERVER_MSC_NODE, &cfg_mslookup_server_msc_no_service_addr_cmd); + install_element(MSLOOKUP_NODE, &cfg_mslookup_client_cmd); + install_element(MSLOOKUP_NODE, &cfg_mslookup_no_client_cmd); + install_node(&mslookup_client_node, NULL); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_timeout_cmd); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_mdns_bind_cmd); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_mdns_domain_suffix_cmd); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_no_mdns_bind_cmd); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_gateway_proxy_cmd); + install_element(MSLOOKUP_CLIENT_NODE, &cfg_mslookup_client_no_gateway_proxy_cmd); + install_element_ve(&do_mslookup_show_services_cmd); } diff --git a/src/gsup_server.c b/src/gsup_server.c index 61b9257..15d2f83 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -502,3 +502,39 @@ return 0; } + +int osmo_gsup_forward_to_local_peer(struct osmo_gsup_server *server, const struct osmo_cni_peer_id *to_peer, + struct osmo_gsup_req *req, struct osmo_gsup_message *modified_gsup) +{ + int rc; + /* To forward to a remote entity (HLR, SMSC,...), we need to indicate the original source name in the Source + * Name IE to make sure the reply can be routed back. Store the sender in gsup->source_name -- the remote entity + * is required to return this as gsup->destination_name so that the reply gets routed to the original sender. */ + struct osmo_gsup_message forward = *(modified_gsup? : &req->gsup); + + if (req->source_name.type != OSMO_CNI_PEER_ID_IPA_NAME) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Unsupported GSUP peer id type: %s", + osmo_cni_peer_id_type_name(req->source_name.type)); + rc = -ENOTSUP; + goto routing_error; + } + forward.source_name = req->source_name.ipa_name.val; + forward.source_name_len = req->source_name.ipa_name.len; + + if (to_peer->type != OSMO_CNI_PEER_ID_IPA_NAME) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Unsupported GSUP peer id type: %s", + osmo_cni_peer_id_type_name(to_peer->type)); + rc = -ENOTSUP; + goto routing_error; + } + LOG_GSUP_REQ(req, LOGL_INFO, "Forwarding to %s\n", osmo_cni_peer_id_to_str(to_peer)); + rc = osmo_gsup_enc_send_to_ipa_name(server, &to_peer->ipa_name, &forward); + if (rc) + goto routing_error; + osmo_gsup_req_free(req); + return 0; + +routing_error: + osmo_gsup_req_respond_msgt(req, OSMO_GSUP_MSGT_ROUTING_ERROR, true); + return rc; +} diff --git a/src/hlr.c b/src/hlr.c index 5e015b3..7b803e7 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -47,6 +48,8 @@ #include #include #include +#include +#include #include #include @@ -500,6 +503,16 @@ } } + /* Distributed GSM: check whether to proxy for / lookup a remote HLR. + * It would require less database hits to do this only if a local-only operation fails with "unknown IMSI", but + * it becomes semantically easier if we do this once-off ahead of time. */ + if (osmo_mslookup_client_active(g_hlr->mslookup.client.client) + || osmo_sockaddr_str_is_nonzero(&g_hlr->mslookup.client.gsup_gateway_proxy)) { + if (dgsm_check_forward_gsup_msg(req)) + return 0; + } + + /* HLR related messages that are handled at this HLR instance */ switch (req->gsup.message_type) { /* requests sent to us */ case OSMO_GSUP_MSGT_SEND_AUTH_INFO_REQUEST: @@ -699,6 +712,7 @@ INIT_LLIST_HEAD(&g_hlr->mslookup.server.local_site_services); g_hlr->db_file_path = talloc_strdup(g_hlr, HLR_DEFAULT_DB_FILE_PATH); g_hlr->mslookup.server.mdns.domain_suffix = talloc_strdup(g_hlr, OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT); + g_hlr->mslookup.client.mdns.domain_suffix = talloc_strdup(g_hlr, OSMO_MDNS_DOMAIN_SUFFIX_DEFAULT); /* Init default (call independent) SS session guard timeout value */ g_hlr->ncss_guard_timeout = NCSS_GUARD_TIMEOUT_DEFAULT; @@ -709,6 +723,9 @@ exit(1); } + /* Set up llists and objects, startup is happening from VTY commands. */ + dgsm_init(hlr_ctx); + osmo_stats_init(hlr_ctx); vty_init(&vty_info); ctrl_vty_init(hlr_ctx); @@ -764,10 +781,13 @@ LOGP(DMAIN, LOGL_FATAL, "Error starting GSUP server\n"); exit(1); } + proxy_init(g_hlr->gs); g_hlr->ctrl_bind_addr = ctrl_vty_get_bind_addr(); g_hlr->ctrl = hlr_controlif_setup(g_hlr); + dgsm_start(hlr_ctx); + osmo_init_ignore_signals(); signal(SIGINT, &signal_hdlr); signal(SIGTERM, &signal_hdlr); @@ -784,6 +804,7 @@ while (!quit) osmo_select_main_ctx(0); + dgsm_stop(); osmo_gsup_server_destroy(g_hlr->gs); db_close(g_hlr->dbc); diff --git a/src/hlr_vty.c b/src/hlr_vty.c index 6701cd9..e959be8 100644 --- a/src/hlr_vty.c +++ b/src/hlr_vty.c @@ -146,6 +146,24 @@ return CMD_SUCCESS; } +DEFUN(cfg_hlr_gsup_ipa_name, + cfg_hlr_gsup_ipa_name_cmd, + "ipa-name NAME", + "Set the IPA name of this HLR, for proxying to remote HLRs\n" + "A globally unique name for this HLR. For example: PLMN + redundancy server number: HLR-901-70-0. " + "This name is used for GSUP routing and must be set if multiple HLRs interconnect (e.g. mslookup " + "for Distributed GSM).\n") +{ + if (vty->type != VTY_FILE) { + vty_out(vty, "gsup/ipa-name: The GSUP IPA name cannot be changed at run-time; " + "It can only be set in the configuraton file.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + g_hlr->gsup_unit_name.serno = talloc_strdup(g_hlr, argv[0]); + return CMD_SUCCESS; +} + /*********************************************************************** * USSD Entity ***********************************************************************/ @@ -444,6 +462,7 @@ install_node(&gsup_node, config_write_hlr_gsup); install_element(GSUP_NODE, &cfg_hlr_gsup_bind_ip_cmd); + install_element(GSUP_NODE, &cfg_hlr_gsup_ipa_name_cmd); install_element(HLR_NODE, &cfg_database_cmd); diff --git a/src/logging.c b/src/logging.c index 15ef596..eab0510 100644 --- a/src/logging.c +++ b/src/logging.c @@ -37,6 +37,12 @@ .color = "\033[1;33m", .enabled = 1, .loglevel = LOGL_NOTICE, }, + [DDGSM] = { + .name = "DDGSM", + .description = "Distributed GSM: MS lookup and proxy", + .color = "\033[1;35m", + .enabled = 1, .loglevel = LOGL_NOTICE, + }, }; const struct log_info hlr_log_info = { diff --git a/src/mslookup_server.c b/src/mslookup_server.c index 9c4dc58..885adf8 100644 --- a/src/mslookup_server.c +++ b/src/mslookup_server.c @@ -27,6 +27,7 @@ #include #include #include +#include static const struct osmo_mslookup_result not_found = { .rc = OSMO_MSLOOKUP_RC_NOT_FOUND, @@ -294,13 +295,84 @@ return true; } -static bool subscriber_has_done_lu_here(const struct osmo_mslookup_query *query, - uint32_t *lu_age_p, - struct osmo_ipa_name *local_msc_name) + +/* Determine whether the subscriber with the given ID has routed a Location Updating via this HLR as first hop. Return + * true if it is attached at a local VLR, and we are serving as proxy for a remote home HLR. + */ +static bool subscriber_has_done_lu_here_proxy(const struct osmo_mslookup_query *query, + uint32_t *lu_age, + struct osmo_ipa_name *local_msc_name, + struct proxy_subscr *ret_proxy_subscr) +{ + struct proxy_subscr proxy_subscr; + uint32_t age; + int rc; + + /* See the local HLR record. If the subscriber is "at home" in this HLR and is also currently located here, we + * will find a valid location updating and no vlr_via_proxy entry. */ + switch (query->id.type) { + case OSMO_MSLOOKUP_ID_IMSI: + rc = proxy_subscr_get_by_imsi(&proxy_subscr, g_hlr->gs->proxy, query->id.imsi); + break; + case OSMO_MSLOOKUP_ID_MSISDN: + rc = proxy_subscr_get_by_msisdn(&proxy_subscr, g_hlr->gs->proxy, query->id.msisdn); + break; + default: + LOGP(DDGSM, LOGL_ERROR, "%s: unknown ID type\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + + if (rc) { + LOGP(DDGSM, LOGL_DEBUG, "%s: does not exist in GSUP proxy\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL)); + return false; + } + + /* We only need to care about CS LU, since only CS services need D-GSM routing. */ + if (!timestamp_age(&proxy_subscr.cs.last_lu, &age) + || age > g_hlr->mslookup.server.local_attach_max_age) { + LOGP(DDGSM, LOGL_ERROR, + "%s: last attach was at local VLR (proxying for remote HLR), but too long ago: %us > %us\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + age, g_hlr->mslookup.server.local_attach_max_age); + return false; + } + + if (proxy_subscr.cs.vlr_via_proxy.len) { + LOGP(DDGSM, LOGL_DEBUG, "%s: last attach is not at local VLR, but at VLR '%s' via proxy '%s'\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + osmo_ipa_name_to_str(&proxy_subscr.cs.vlr_name), + osmo_ipa_name_to_str(&proxy_subscr.cs.vlr_via_proxy)); + return false; + } + + *lu_age = age; + *local_msc_name = proxy_subscr.cs.vlr_name; + LOGP(DDGSM, LOGL_DEBUG, "%s: attached %u seconds ago at local VLR %s; proxying for remote HLR " + OSMO_SOCKADDR_STR_FMT "\n", + osmo_mslookup_result_name_c(OTC_SELECT, query, NULL), + age, osmo_ipa_name_to_str(local_msc_name), + OSMO_SOCKADDR_STR_FMT_ARGS(&proxy_subscr.remote_hlr_addr)); + + if (ret_proxy_subscr) + *ret_proxy_subscr = proxy_subscr; + return true; +} + +bool subscriber_has_done_lu_here(const struct osmo_mslookup_query *query, + uint32_t *lu_age_p, struct osmo_ipa_name *local_msc_name, + char *ret_imsi, size_t ret_imsi_len) { bool attached_here; uint32_t lu_age = 0; struct osmo_ipa_name msc_name = {}; + bool attached_here_proxy; + uint32_t proxy_lu_age = 0; + struct osmo_ipa_name proxy_msc_name = {}; + struct proxy_subscr proxy_subscr; + struct hlr_subscriber db_subscr; + /* First ask the local HLR db, but if the local proxy record indicates a more recent LU, use that instead. * For all usual cases, only one of these will reflect a LU, even if a subscriber had more than one home HLR: @@ -310,9 +382,20 @@ * the local HLR database, there might occur a situation where both reflect a LU. So, to be safe against all * situations, compare the two entries. */ - attached_here = subscriber_has_done_lu_here_hlr(query, &lu_age, &msc_name, NULL); + attached_here = subscriber_has_done_lu_here_hlr(query, &lu_age, &msc_name, &db_subscr); + attached_here_proxy = subscriber_has_done_lu_here_proxy(query, &proxy_lu_age, &proxy_msc_name, &proxy_subscr); - /* Future: If proxy has a younger lu, replace. */ + /* If proxy has a younger lu, replace. */ + if (attached_here_proxy && (!attached_here || (proxy_lu_age < lu_age))) { + attached_here = true; + lu_age = proxy_lu_age; + msc_name = proxy_msc_name; + if (ret_imsi) + osmo_strlcpy(ret_imsi, proxy_subscr.imsi, ret_imsi_len); + } else if (attached_here) { + if (ret_imsi) + osmo_strlcpy(ret_imsi, db_subscr.imsi, ret_imsi_len); + } if (attached_here && !msc_name.len) { LOGP(DMSLOOKUP, LOGL_ERROR, "%s: attached here, but no VLR name known\n", @@ -349,7 +432,7 @@ /* All other service types: answer when the subscriber has done a LU that is either listed in the local HLR or * in the GSUP proxy database: i.e. if the subscriber has done a Location Updating at an VLR belonging to this * HLR. Respond with whichever services are configured in the osmo-hlr.cfg. */ - if (!subscriber_has_done_lu_here(query, &age, &msc_name)) { + if (!subscriber_has_done_lu_here(query, &age, &msc_name, NULL, 0)) { *result = not_found; return; } diff --git a/src/proxy.c b/src/proxy.c new file mode 100644 index 0000000..1ae152c --- /dev/null +++ b/src/proxy.c @@ -0,0 +1,554 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#define LOG_PROXY_SUBSCR(proxy_subscr, level, fmt, args...) \ + LOGP(DDGSM, level, "(Proxy IMSI-%s MSISDN-%s HLR-" OSMO_SOCKADDR_STR_FMT ") " fmt, \ + ((proxy_subscr) && *(proxy_subscr)->imsi)? (proxy_subscr)->imsi : "?", \ + ((proxy_subscr) && *(proxy_subscr)->msisdn)? (proxy_subscr)->msisdn : "?", \ + OSMO_SOCKADDR_STR_FMT_ARGS((proxy_subscr)? &(proxy_subscr)->remote_hlr_addr : NULL), \ + ##args) + +#define LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup_msg, level, fmt, args...) \ + LOG_PROXY_SUBSCR(proxy_subscr, level, "%s: " fmt, \ + (gsup_msg) ? osmo_gsup_message_type_name((gsup_msg)->message_type) : "NULL", \ + ##args) + +/* The proxy subscriber database. + * Why have a separate struct to add an llist_head entry? + * This is to keep the option open to store the proxy data in the database instead, without any visible effect outside + * of proxy.c. */ +struct proxy_subscr_listentry { + struct llist_head entry; + timestamp_t last_update; + struct proxy_subscr data; +}; + +struct proxy_pending_gsup_req { + struct llist_head entry; + struct osmo_gsup_req *req; + timestamp_t received_at; +}; + +/* Defer a GSUP message until we know a remote HLR to proxy to. + * Where to send this GSUP message is indicated by its IMSI: as soon as an MS lookup has yielded the IMSI's home HLR, + * that's where the message should go. */ +static void proxy_deferred_gsup_req_add(struct proxy *proxy, struct osmo_gsup_req *req) +{ + struct proxy_pending_gsup_req *m; + + m = talloc_zero(proxy, struct proxy_pending_gsup_req); + OSMO_ASSERT(m); + m->req = req; + timestamp_update(&m->received_at); + llist_add_tail(&m->entry, &proxy->pending_gsup_reqs); +} + +static void proxy_pending_req_remote_hlr_connect_result(struct osmo_gsup_req *req, struct remote_hlr *remote_hlr) +{ + if (!remote_hlr || !remote_hlr_is_up(remote_hlr)) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_IMSI_UNKNOWN, "Proxy: Failed to connect to home HLR"); + return; + } + + remote_hlr_gsup_forward_to_remote_hlr(remote_hlr, req, NULL); +} + +static bool proxy_deferred_gsup_req_waiting(struct proxy *proxy, const char *imsi) +{ + struct proxy_pending_gsup_req *p; + OSMO_ASSERT(imsi); + + llist_for_each_entry(p, &proxy->pending_gsup_reqs, entry) { + if (strcmp(p->req->gsup.imsi, imsi)) + continue; + return true; + } + return false; +} + +/* Result of looking for remote HLR. If it failed, pass remote_hlr as NULL. On failure, the remote_hlr may be passed + * NULL. */ +static void proxy_deferred_gsup_req_pop(struct proxy *proxy, const char *imsi, struct remote_hlr *remote_hlr) +{ + struct proxy_pending_gsup_req *p, *n; + OSMO_ASSERT(imsi); + + llist_for_each_entry_safe(p, n, &proxy->pending_gsup_reqs, entry) { + if (strcmp(p->req->gsup.imsi, imsi)) + continue; + + proxy_pending_req_remote_hlr_connect_result(p->req, remote_hlr); + p->req = NULL; + llist_del(&p->entry); + talloc_free(p); + } +} + +static bool proxy_subscr_matches_imsi(const struct proxy_subscr *proxy_subscr, const char *imsi) +{ + if (!proxy_subscr || !imsi) + return false; + return strcmp(proxy_subscr->imsi, imsi) == 0; +} + +static bool proxy_subscr_matches_msisdn(const struct proxy_subscr *proxy_subscr, const char *msisdn) +{ + if (!proxy_subscr || !msisdn) + return false; + return strcmp(proxy_subscr->msisdn, msisdn) == 0; +} + +static struct proxy_subscr_listentry *_proxy_get_by_imsi(struct proxy *proxy, const char *imsi) +{ + struct proxy_subscr_listentry *e; + if (!proxy) + return NULL; + llist_for_each_entry(e, &proxy->subscr_list, entry) { + if (proxy_subscr_matches_imsi(&e->data, imsi)) + return e; + } + return NULL; +} + +static struct proxy_subscr_listentry *_proxy_get_by_msisdn(struct proxy *proxy, const char *msisdn) +{ + struct proxy_subscr_listentry *e; + if (!proxy) + return NULL; + llist_for_each_entry(e, &proxy->subscr_list, entry) { + if (proxy_subscr_matches_msisdn(&e->data, msisdn)) + return e; + } + return NULL; +} + +int proxy_subscr_get_by_imsi(struct proxy_subscr *dst, struct proxy *proxy, const char *imsi) +{ + struct proxy_subscr_listentry *e = _proxy_get_by_imsi(proxy, imsi); + if (!e) + return -ENOENT; + *dst = e->data; + return 0; +} + +int proxy_subscr_get_by_msisdn(struct proxy_subscr *dst, struct proxy *proxy, const char *msisdn) +{ + struct proxy_subscr_listentry *e = _proxy_get_by_msisdn(proxy, msisdn); + if (!e) + return -ENOENT; + *dst = e->data; + return 0; +} + +int proxy_subscr_create_or_update(struct proxy *proxy, const struct proxy_subscr *proxy_subscr) +{ + struct proxy_subscr_listentry *e = _proxy_get_by_imsi(proxy, proxy_subscr->imsi); + if (!e) { + /* Does not exist yet */ + e = talloc_zero(proxy, struct proxy_subscr_listentry); + llist_add(&e->entry, &proxy->subscr_list); + } + e->data = *proxy_subscr; + timestamp_update(&e->last_update); + return 0; +} + +int _proxy_subscr_del(struct proxy_subscr_listentry *e) +{ + llist_del(&e->entry); + return 0; +} + +int proxy_subscr_del(struct proxy *proxy, const char *imsi) +{ + struct proxy_subscr_listentry *e; + proxy_deferred_gsup_req_pop(proxy, imsi, NULL); + e = _proxy_get_by_imsi(proxy, imsi); + if (!e) + return -ENOENT; + return _proxy_subscr_del(e); +} + +/* Discard stale proxy entries. */ +static void proxy_cleanup(void *proxy_v) +{ + struct proxy *proxy = proxy_v; + struct proxy_subscr_listentry *e, *n; + uint32_t age; + llist_for_each_entry_safe(e, n, &proxy->subscr_list, entry) { + if (!timestamp_age(&e->last_update, &age)) + LOGP(DDGSM, LOGL_ERROR, "Invalid timestamp, deleting proxy entry\n"); + else if (age <= proxy->fresh_time) + continue; + LOG_PROXY_SUBSCR(&e->data, LOGL_INFO, "proxy entry timed out, deleting\n"); + _proxy_subscr_del(e); + } + if (proxy->gc_period) + osmo_timer_schedule(&proxy->gc_timer, proxy->gc_period, 0); + else + LOGP(DDGSM, LOGL_NOTICE, "Proxy cleanup is switched off (gc_period == 0)\n"); +} + +void proxy_set_gc_period(struct proxy *proxy, uint32_t gc_period) +{ + proxy->gc_period = gc_period; + proxy_cleanup(proxy); +} + +void proxy_init(struct osmo_gsup_server *gsup_server_to_vlr) +{ + OSMO_ASSERT(!gsup_server_to_vlr->proxy); + struct proxy *proxy = talloc_zero(gsup_server_to_vlr, struct proxy); + *proxy = (struct proxy){ + .gsup_server_to_vlr = gsup_server_to_vlr, + .fresh_time = 60*60, + .gc_period = 60, + }; + INIT_LLIST_HEAD(&proxy->subscr_list); + INIT_LLIST_HEAD(&proxy->pending_gsup_reqs); + + osmo_timer_setup(&proxy->gc_timer, proxy_cleanup, proxy); + /* Invoke to trigger the first timer schedule */ + proxy_set_gc_period(proxy, proxy->gc_period); + gsup_server_to_vlr->proxy = proxy; +} + +void proxy_del(struct proxy *proxy) +{ + osmo_timer_del(&proxy->gc_timer); + talloc_free(proxy); +} + +/* All GSUP messages sent to the remote HLR pass through this function, to modify the subscriber state or disallow + * sending the message. Return 0 to allow sending the message. */ +static int proxy_acknowledge_gsup_to_remote_hlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_gsup_req *req) +{ + struct proxy_subscr proxy_subscr_new = *proxy_subscr; + bool ps; + bool cs; + int rc; + + if (req->source_name.type != OSMO_CNI_PEER_ID_IPA_NAME) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, LOGL_ERROR, + "Unsupported GSUP peer id type: %s\n", + osmo_cni_peer_id_type_name(req->source_name.type)); + return -ENOTSUP; + } + + switch (req->gsup.message_type) { + + case OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: + /* Store the CS and PS VLR name in vlr_name_preliminary to later update the right {cs,ps} LU timestamp + * when receiving an OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT. Store in vlr_name_preliminary so that in + * case the LU fails, we keep the vlr_name intact. */ + switch (req->gsup.cn_domain) { + case OSMO_GSUP_CN_DOMAIN_CS: + proxy_subscr_new.cs.vlr_name_preliminary = req->source_name.ipa_name; + break; + case OSMO_GSUP_CN_DOMAIN_PS: + proxy_subscr_new.ps.vlr_name_preliminary = req->source_name.ipa_name; + break; + default: + break; + } + + ps = cs = false; + if (osmo_ipa_name_cmp(&proxy_subscr_new.cs.vlr_name_preliminary, &proxy_subscr->cs.vlr_name_preliminary)) + cs = true; + if (osmo_ipa_name_cmp(&proxy_subscr_new.ps.vlr_name_preliminary, &proxy_subscr->ps.vlr_name_preliminary)) + ps = true; + + if (!(cs || ps)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, LOGL_DEBUG, "VLR names remain unchanged\n"); + break; + } + + rc = proxy_subscr_create_or_update(proxy, &proxy_subscr_new); + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, rc ? LOGL_ERROR : LOGL_INFO, + "%s: preliminary VLR name for%s%s to %s\n", + rc ? "failed to update" : "updated", + cs ? " CS" : "", ps ? " PS" : "", + osmo_cni_peer_id_to_str(&req->source_name)); + break; + /* TODO: delete proxy entry in case of a Purge Request? */ + default: + break; + } + return 0; +} + +/* All GSUP messages received from the remote HLR to be sent to a local MSC pass through this function, to modify the + * subscriber state or disallow sending the message. Return 0 to allow sending the message. + * The local MSC shall be indicated by gsup.destination_name. */ +static int proxy_acknowledge_gsup_from_remote_hlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_gsup_message *gsup, + struct remote_hlr *from_remote_hlr, + const struct osmo_ipa_name *destination, + const struct osmo_ipa_name *via_peer) +{ + struct proxy_subscr proxy_subscr_new = *proxy_subscr; + bool ps; + bool cs; + bool vlr_name_changed_cs = false; + bool vlr_name_changed_ps = false; + int rc; + struct osmo_ipa_name via_proxy = {}; + if (osmo_ipa_name_cmp(via_peer, destination)) + via_proxy = *via_peer; + + switch (gsup->message_type) { + case OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: + /* Remember the MSISDN of the subscriber. This does not need to be a preliminary record, because when + * the HLR tells us about subscriber data, it is definitive info and there is no ambiguity (like there + * would be with failed LU attempts from various sources). */ + if (!gsup->msisdn_enc_len) + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_DEBUG, "No MSISDN in this Insert Data Request\n"); + else if (gsm48_decode_bcd_number2(proxy_subscr_new.msisdn, sizeof(proxy_subscr_new.msisdn), + gsup->msisdn_enc, gsup->msisdn_enc_len, 0)) + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, "Failed to decode MSISDN\n"); + else if (!osmo_msisdn_str_valid(proxy_subscr_new.msisdn)) + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, "invalid MSISDN: %s\n", + osmo_quote_str_c(OTC_SELECT, proxy_subscr_new.msisdn, -1)); + else if (!strcmp(proxy_subscr->msisdn, proxy_subscr_new.msisdn)) + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_DEBUG, "already have MSISDN = %s\n", + proxy_subscr_new.msisdn); + else if (proxy_subscr_create_or_update(proxy, &proxy_subscr_new)) + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, "failed to update MSISDN to %s\n", + proxy_subscr_new.msisdn); + else + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_INFO, "stored MSISDN=%s\n", + proxy_subscr_new.msisdn); + break; + + case OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: + /* Update the Location Updating timestamp */ + cs = ps = false; + if (!osmo_ipa_name_cmp(destination, &proxy_subscr->cs.vlr_name_preliminary)) { + timestamp_update(&proxy_subscr_new.cs.last_lu); + proxy_subscr_new.cs.vlr_name_preliminary = (struct osmo_ipa_name){}; + vlr_name_changed_cs = + osmo_ipa_name_cmp(&proxy_subscr->cs.vlr_name, destination) + || osmo_ipa_name_cmp(&proxy_subscr->cs.vlr_via_proxy, &via_proxy); + proxy_subscr_new.cs.vlr_name = *destination; + proxy_subscr_new.cs.vlr_via_proxy = via_proxy; + cs = true; + } + if (!osmo_ipa_name_cmp(destination, &proxy_subscr->ps.vlr_name_preliminary)) { + timestamp_update(&proxy_subscr_new.ps.last_lu); + proxy_subscr_new.ps.vlr_name_preliminary = (struct osmo_ipa_name){}; + proxy_subscr_new.ps.vlr_name = *destination; + vlr_name_changed_ps = + osmo_ipa_name_cmp(&proxy_subscr->ps.vlr_name, destination) + || osmo_ipa_name_cmp(&proxy_subscr->ps.vlr_via_proxy, &via_proxy); + proxy_subscr_new.ps.vlr_via_proxy = via_proxy; + ps = true; + } + if (!(cs || ps)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, + "destination is neither CS nor PS VLR: %s\n", + osmo_ipa_name_to_str(destination)); + return GMM_CAUSE_PROTO_ERR_UNSPEC; + } + rc = proxy_subscr_create_or_update(proxy, &proxy_subscr_new); + + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, rc ? LOGL_ERROR : LOGL_INFO, + "%s LU: timestamp for%s%s%s%s%s%s%s%s%s%s\n", + rc ? "failed to update" : "updated", + cs ? " CS" : "", ps ? " PS" : "", + vlr_name_changed_cs? ", CS VLR=" : "", + vlr_name_changed_cs? osmo_ipa_name_to_str(&proxy_subscr_new.cs.vlr_name) : "", + proxy_subscr_new.cs.vlr_via_proxy.len ? " via proxy " : "", + proxy_subscr_new.cs.vlr_via_proxy.len ? + osmo_ipa_name_to_str(&proxy_subscr_new.cs.vlr_via_proxy) : "", + vlr_name_changed_ps? ", PS VLR=" : "", + vlr_name_changed_ps? osmo_ipa_name_to_str(&proxy_subscr_new.ps.vlr_name) : "", + proxy_subscr_new.ps.vlr_via_proxy.len ? " via proxy " : "", + proxy_subscr_new.ps.vlr_via_proxy.len ? + osmo_ipa_name_to_str(&proxy_subscr_new.ps.vlr_via_proxy) : "" + ); + break; + + default: + break; + } + + return 0; +} + +static void proxy_remote_hlr_connect_result_cb(const struct osmo_sockaddr_str *addr, struct remote_hlr *remote_hlr, + void *data) +{ + struct proxy *proxy = data; + struct proxy_subscr_listentry *e; + if (!proxy) + return; + llist_for_each_entry(e, &proxy->subscr_list, entry) { + if (!osmo_sockaddr_str_cmp(addr, &e->data.remote_hlr_addr)) { + proxy_deferred_gsup_req_pop(proxy, e->data.imsi, remote_hlr); + } + } +} + +/* Store the remote HLR's GSUP address for this proxy subscriber. + * This can be set before the remote_hlr is connected, or after. + * And, this can be set before the gsup_req has been queued for this HLR, or after. + */ +void proxy_subscr_remote_hlr_resolved(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_sockaddr_str *remote_hlr_addr) +{ + struct proxy_subscr proxy_subscr_new; + + if (osmo_sockaddr_str_is_nonzero(&proxy_subscr->remote_hlr_addr)) { + if (!osmo_sockaddr_str_cmp(remote_hlr_addr, &proxy_subscr->remote_hlr_addr)) { + /* Already have this remote address */ + return; + } else { + LOG_PROXY_SUBSCR(proxy_subscr, LOGL_NOTICE, + "Remote HLR address changes to " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(remote_hlr_addr)); + } + } + + /* Store the address. Make a copy to modify. */ + proxy_subscr_new = *proxy_subscr; + proxy_subscr = &proxy_subscr_new; + proxy_subscr_new.remote_hlr_addr = *remote_hlr_addr; + + if (proxy_subscr_create_or_update(proxy, proxy_subscr)) { + LOG_PROXY_SUBSCR(proxy_subscr, LOGL_ERROR, "Failed to store proxy entry for remote HLR\n"); + /* If no remote HLR is known for the IMSI, the proxy entry is pointless. */ + proxy_subscr_del(proxy, proxy_subscr->imsi); + return; + } + LOG_PROXY_SUBSCR(proxy_subscr, LOGL_DEBUG, "Remote HLR resolved, stored address\n"); + + /* If any messages for this HLR are already spooled, connect now. Otherwise wait for + * proxy_subscr_forward_to_remote_hlr() to connect then. */ + if (proxy_deferred_gsup_req_waiting(proxy, proxy_subscr->imsi)) + remote_hlr_get_or_connect(&proxy_subscr->remote_hlr_addr, true, + proxy_remote_hlr_connect_result_cb, proxy); +} + +int proxy_subscr_forward_to_remote_hlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, struct osmo_gsup_req *req) +{ + struct remote_hlr *remote_hlr; + int rc; + + rc = proxy_acknowledge_gsup_to_remote_hlr(proxy, proxy_subscr, req); + if (rc) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_PROTO_ERR_UNSPEC, "Proxy does not allow this message"); + return rc; + } + + if (!osmo_sockaddr_str_is_nonzero(&proxy_subscr->remote_hlr_addr)) { + /* We don't know the remote target yet. Still waiting for an MS lookup response, which will end up + * calling proxy_subscr_remote_hlr_resolved(). See dgsm.c. */ + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, LOGL_DEBUG, "deferring until remote HLR is known\n"); + proxy_deferred_gsup_req_add(proxy, req); + return 0; + } + + if (!osmo_cni_peer_id_is_empty(&req->via_proxy)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, LOGL_INFO, "VLR->HLR: forwarding from %s via proxy %s\n", + osmo_cni_peer_id_to_str(&req->source_name), + osmo_cni_peer_id_to_str(&req->via_proxy)); + } else { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, &req->gsup, LOGL_INFO, "VLR->HLR: forwarding from %s\n", + osmo_cni_peer_id_to_str(&req->source_name)); + } + + /* We could always store in the defer queue and empty the queue if the connection is already up. + * Slight optimisation: if the remote_hlr is already up and running, skip the defer queue. + * First ask for an existing remote_hlr. */ + remote_hlr = remote_hlr_get_or_connect(&proxy_subscr->remote_hlr_addr, false, NULL, NULL); + if (remote_hlr && remote_hlr_is_up(remote_hlr)) { + proxy_pending_req_remote_hlr_connect_result(req, remote_hlr); + return 0; + } + + /* Not existing or not up. Defer req and ask to be notified when it is up. + * If the remote_hlr exists but is not connected yet, there should actually already be a pending + * proxy_remote_hlr_connect_result_cb queued, but it doesn't hurt to do that more often. */ + proxy_deferred_gsup_req_add(proxy, req); + remote_hlr_get_or_connect(&proxy_subscr->remote_hlr_addr, true, + proxy_remote_hlr_connect_result_cb, proxy); + return 0; +} + +int proxy_subscr_forward_to_vlr(struct proxy *proxy, const struct proxy_subscr *proxy_subscr, + const struct osmo_gsup_message *gsup, struct remote_hlr *from_remote_hlr) +{ + struct osmo_ipa_name destination; + struct osmo_gsup_conn *vlr_conn; + struct msgb *msg; + + if (osmo_ipa_name_set(&destination, gsup->destination_name, gsup->destination_name_len)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, + "no valid Destination Name IE, cannot route to VLR.\n"); + return GMM_CAUSE_INV_MAND_INFO; + } + + /* Route to MSC/SGSN that we're proxying for */ + vlr_conn = gsup_route_find_by_ipa_name(proxy->gsup_server_to_vlr, &destination); + if (!vlr_conn) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, + "Destination VLR unreachable: %s\n", osmo_ipa_name_to_str(&destination)); + return GMM_CAUSE_MSC_TEMP_NOTREACH; + } + + if (proxy_acknowledge_gsup_from_remote_hlr(proxy, proxy_subscr, gsup, from_remote_hlr, &destination, + &vlr_conn->peer_name)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, + "Proxy does not allow forwarding this message\n"); + return GMM_CAUSE_PROTO_ERR_UNSPEC; + } + + msg = osmo_gsup_msgb_alloc("GSUP proxy to VLR"); + if (osmo_gsup_encode(msg, gsup)) { + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_ERROR, + "Failed to re-encode GSUP message, cannot forward\n"); + return GMM_CAUSE_INV_MAND_INFO; + } + + LOG_PROXY_SUBSCR_MSG(proxy_subscr, gsup, LOGL_INFO, "VLR<-HLR: forwarding to %s%s%s\n", + osmo_ipa_name_to_str(&destination), + osmo_ipa_name_cmp(&destination, &vlr_conn->peer_name) ? " via " : "", + osmo_ipa_name_cmp(&destination, &vlr_conn->peer_name) ? + osmo_ipa_name_to_str(&vlr_conn->peer_name) : ""); + return osmo_gsup_conn_send(vlr_conn, msg); +} diff --git a/src/remote_hlr.c b/src/remote_hlr.c new file mode 100644 index 0000000..00bfbb1 --- /dev/null +++ b/src/remote_hlr.c @@ -0,0 +1,252 @@ +/* Copyright 2019 by sysmocom s.f.m.c. GmbH + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static LLIST_HEAD(remote_hlrs); + +static void remote_hlr_err_reply(struct remote_hlr *rh, const struct osmo_gsup_message *gsup_orig, + enum gsm48_gmm_cause cause) +{ + struct osmo_gsup_message gsup_reply; + + /* No need to answer if we couldn't parse an ERROR message type, only REQUESTs need an error reply. */ + if (!OSMO_GSUP_IS_MSGT_REQUEST(gsup_orig->message_type)) + return; + + gsup_reply = (struct osmo_gsup_message){ + .cause = cause, + .message_type = OSMO_GSUP_TO_MSGT_ERROR(gsup_orig->message_type), + .message_class = gsup_orig->message_class, + + /* RP-Message-Reference is mandatory for SM Service */ + .sm_rp_mr = gsup_orig->sm_rp_mr, + }; + + OSMO_STRLCPY_ARRAY(gsup_reply.imsi, gsup_orig->imsi); + + /* For SS/USSD, it's important to keep both session state and ID IEs */ + if (gsup_orig->session_state != OSMO_GSUP_SESSION_STATE_NONE) { + gsup_reply.session_state = OSMO_GSUP_SESSION_STATE_END; + gsup_reply.session_id = gsup_orig->session_id; + } + + if (osmo_gsup_client_enc_send(rh->gsupc, &gsup_reply)) + LOGP(DLGSUP, LOGL_ERROR, "Failed to send Error reply (imsi=%s)\n", + osmo_quote_str(gsup_orig->imsi, -1)); +} + +/* We are receiving a GSUP message from a remote HLR to go back to a local MSC. + * The local MSC shall be indicated by gsup.destination_name. */ +static int remote_hlr_rx(struct osmo_gsup_client *gsupc, struct msgb *msg) +{ + struct remote_hlr *rh = gsupc->data; + struct proxy_subscr proxy_subscr; + struct osmo_gsup_message gsup; + int rc; + + rc = osmo_gsup_decode(msgb_l2(msg), msgb_l2len(msg), &gsup); + if (rc < 0) { + LOG_REMOTE_HLR(rh, LOGL_ERROR, "Failed to decode GSUP message: '%s' (%d) [ %s]\n", + get_value_string(gsm48_gmm_cause_names, -rc), + -rc, osmo_hexdump(msg->data, msg->len)); + return rc; + } + + if (!osmo_imsi_str_valid(gsup.imsi)) { + LOG_REMOTE_HLR_MSG(rh, &gsup, LOGL_ERROR, "Invalid IMSI\n"); + remote_hlr_err_reply(rh, &gsup, GMM_CAUSE_INV_MAND_INFO); + return -GMM_CAUSE_INV_MAND_INFO; + } + + if (proxy_subscr_get_by_imsi(&proxy_subscr, g_hlr->gs->proxy, gsup.imsi)) { + LOG_REMOTE_HLR_MSG(rh, &gsup, LOGL_ERROR, "No proxy entry for this IMSI\n"); + remote_hlr_err_reply(rh, &gsup, GMM_CAUSE_NET_FAIL); + return -GMM_CAUSE_NET_FAIL; + } + + rc = proxy_subscr_forward_to_vlr(g_hlr->gs->proxy, &proxy_subscr, &gsup, rh); + if (rc) { + LOG_REMOTE_HLR_MSG(rh, &gsup, LOGL_ERROR, "Failed to forward GSUP message towards VLR\n"); + remote_hlr_err_reply(rh, &gsup, GMM_CAUSE_NET_FAIL); + return -GMM_CAUSE_NET_FAIL; + } + return 0; +} + +struct remote_hlr_pending_up { + struct llist_head entry; + remote_hlr_connect_result_cb_t connect_result_cb; + void *data; +}; + +static bool remote_hlr_up_down(struct osmo_gsup_client *gsupc, bool up) +{ + struct remote_hlr *remote_hlr = gsupc->data; + struct remote_hlr_pending_up *p, *n; + if (!up) { + LOG_REMOTE_HLR(remote_hlr, LOGL_NOTICE, "link to remote HLR is down, removing GSUP client\n"); + remote_hlr_destroy(remote_hlr); + return false; + } + + LOG_REMOTE_HLR(remote_hlr, LOGL_NOTICE, "link up\n"); + llist_for_each_entry_safe(p, n, &remote_hlr->pending_up_callbacks, entry) { + if (p->connect_result_cb) + p->connect_result_cb(&remote_hlr->addr, remote_hlr, p->data); + llist_del(&p->entry); + } + return true; +} + +bool remote_hlr_is_up(struct remote_hlr *remote_hlr) +{ + return remote_hlr && remote_hlr->gsupc && remote_hlr->gsupc->is_connected; +} + +struct remote_hlr *remote_hlr_get_or_connect(const struct osmo_sockaddr_str *addr, bool connect, + remote_hlr_connect_result_cb_t connect_result_cb, void *data) +{ + struct remote_hlr *rh = NULL; + struct remote_hlr *rh_i; + struct osmo_gsup_client_config cfg; + + llist_for_each_entry(rh_i, &remote_hlrs, entry) { + if (!osmo_sockaddr_str_cmp(&rh_i->addr, addr)) { + rh = rh_i; + break; + } + } + + if (rh) + goto add_result_cb; + + if (!connect) { + if (connect_result_cb) + connect_result_cb(addr, NULL, data); + return NULL; + } + + /* Doesn't exist yet, create a GSUP client to remote HLR. */ + cfg = (struct osmo_gsup_client_config){ + .ipa_dev = &g_hlr->gsup_unit_name, + .ip_addr = addr->ip, + .tcp_port = addr->port, + .oapc_config = NULL, + .read_cb = remote_hlr_rx, + .up_down_cb = remote_hlr_up_down, + .data = rh, + }; + rh = talloc_zero(dgsm_ctx, struct remote_hlr); + OSMO_ASSERT(rh); + *rh = (struct remote_hlr){ + .addr = *addr, + .gsupc = osmo_gsup_client_create3(rh, &cfg), + }; + INIT_LLIST_HEAD(&rh->pending_up_callbacks); + if (!rh->gsupc) { + LOGP(DDGSM, LOGL_ERROR, + "Failed to establish connection to remote HLR " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(addr)); + talloc_free(rh); + if (connect_result_cb) + connect_result_cb(addr, NULL, data); + return NULL; + } + + rh->gsupc->data = rh; + llist_add(&rh->entry, &remote_hlrs); + +add_result_cb: + if (connect_result_cb) { + if (remote_hlr_is_up(rh)) { + connect_result_cb(addr, rh, data); + } else { + struct remote_hlr_pending_up *p; + p = talloc_zero(rh, struct remote_hlr_pending_up); + OSMO_ASSERT(p); + p->connect_result_cb = connect_result_cb; + p->data = data; + llist_add_tail(&p->entry, &rh->pending_up_callbacks); + } + } + return rh; +} + +void remote_hlr_destroy(struct remote_hlr *remote_hlr) +{ + osmo_gsup_client_destroy(remote_hlr->gsupc); + remote_hlr->gsupc = NULL; + llist_del(&remote_hlr->entry); + talloc_free(remote_hlr); +} + +/* This function takes ownership of the msg, do not free it after passing to this function. */ +int remote_hlr_msgb_send(struct remote_hlr *remote_hlr, struct msgb *msg) +{ + int rc = osmo_gsup_client_send(remote_hlr->gsupc, msg); + if (rc) { + LOGP(DDGSM, LOGL_ERROR, "Failed to send GSUP message to " OSMO_SOCKADDR_STR_FMT "\n", + OSMO_SOCKADDR_STR_FMT_ARGS(&remote_hlr->addr)); + } + return rc; +} + +/* A GSUP message was received from the MS/MSC side, forward it to the remote HLR. */ +void remote_hlr_gsup_forward_to_remote_hlr(struct remote_hlr *remote_hlr, struct osmo_gsup_req *req, + struct osmo_gsup_message *modified_gsup) +{ + int rc; + struct msgb *msg; + /* To forward to a remote HLR, we need to indicate the source MSC's name in the Source Name IE to make sure the + * reply can be routed back. Store the sender MSC in gsup->source_name -- the remote HLR is required to return + * this as gsup->destination_name so that the reply gets routed to the original MSC. */ + struct osmo_gsup_message forward; + if (modified_gsup) + forward = *modified_gsup; + else + forward = req->gsup; + + if (req->source_name.type != OSMO_CNI_PEER_ID_IPA_NAME) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Unsupported GSUP peer id type: %s", + osmo_cni_peer_id_type_name(req->source_name.type)); + return; + } + forward.source_name = req->source_name.ipa_name.val; + forward.source_name_len = req->source_name.ipa_name.len; + + msg = osmo_gsup_msgb_alloc("GSUP proxy to remote HLR"); + rc = osmo_gsup_encode(msg, &forward); + if (rc) { + osmo_gsup_req_respond_err(req, GMM_CAUSE_NET_FAIL, "Failed to encode GSUP message for forwarding"); + return; + } + remote_hlr_msgb_send(remote_hlr, msg); + osmo_gsup_req_free(req); +} diff --git a/tests/gsup_server/Makefile.am b/tests/gsup_server/Makefile.am index a32ddf9..34acd30 100644 --- a/tests/gsup_server/Makefile.am +++ b/tests/gsup_server/Makefile.am @@ -31,6 +31,7 @@ gsup_server_test_LDADD = \ $(top_srcdir)/src/gsup_server.c \ $(top_srcdir)/src/gsup_router.c \ + $(top_srcdir)/src/gsup_send.c \ $(top_srcdir)/src/gsupclient/cni_peer_id.c \ $(top_srcdir)/src/gsupclient/gsup_req.c \ $(LIBOSMOCORE_LIBS) \ diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index ee351e3..d7d25c1 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -61,10 +61,12 @@ OsmoHLR(config-hlr)# gsup OsmoHLR(config-hlr-gsup)# ? ... - bind Listen/Bind related socket option + bind Listen/Bind related socket option + ipa-name Set the IPA name of this HLR, for proxying to remote HLRs OsmoHLR(config-hlr-gsup)# list ... bind ip A.B.C.D + ipa-name NAME OsmoHLR(config-hlr-gsup)# exit OsmoHLR(config-hlr)# exit @@ -90,6 +92,7 @@ logging level ss info logging level mslookup notice logging level lu notice + logging level dgsm notice ... hlr store-imei @@ -99,3 +102,338 @@ ussd route prefix *#100# internal own-msisdn ussd route prefix *#101# internal own-imsi end + +OsmoHLR# configure terminal + +OsmoHLR(config)# mslookup +OsmoHLR(config-mslookup)# ? +... + mdns Multicast DNS related configuration + no Negate a command or set its defaults + server Enable and configure Distributed GSM mslookup server + client Enable and configure Distributed GSM mslookup client +OsmoHLR(config-mslookup)# list +... + mdns bind [IP] [<1-65535>] + mdns domain-suffix DOMAIN_SUFFIX + no mdns bind + server + no server + client + no client + +OsmoHLR(config-mslookup)# ? +... + mdns Multicast DNS related configuration + no Negate a command or set its defaults + server Enable and configure Distributed GSM mslookup server + client Enable and configure Distributed GSM mslookup client +OsmoHLR(config-mslookup)# no? + no Negate a command or set its defaults +OsmoHLR(config-mslookup)# no ? + mdns Disable both server and client for mDNS mslookup + server Disable Distributed GSM mslookup server + client Disable Distributed GSM mslookup client +OsmoHLR(config-mslookup)# mdns ? + bind Convenience shortcut: enable and configure both server and client for mDNS mslookup + domain-suffix mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA +OsmoHLR(config-mslookup)# mdns bind ? + [IP] multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42 +OsmoHLR(config-mslookup)# mdns bind 1.2.3.4 ? + [<1-65535>] mDNS UDP Port number +OsmoHLR(config-mslookup)# mdns domain-suffix ? + DOMAIN_SUFFIX mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA + +OsmoHLR(config-mslookup)# server +OsmoHLR(config-mslookup-server)# ? +... + mdns Multicast DNS related configuration + no Negate a command or set its defaults + service Configure addresses of local services, as sent in replies to remote mslookup requests. + msc Configure services for individual local MSCs +OsmoHLR(config-mslookup-server)# list +... + mdns bind [IP] [<1-65535>] + mdns domain-suffix DOMAIN_SUFFIX + no mdns bind + service NAME at IP <1-65535> + no service NAME + no service NAME at IP <1-65535> + msc ipa-name .IPA_NAME + +OsmoHLR(config-mslookup-server)# mdns ? + bind Configure where the mDNS server listens for mslookup requests + domain-suffix mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA +OsmoHLR(config-mslookup-server)# mdns bind ? + [IP] multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42 +OsmoHLR(config-mslookup-server)# mdns bind 1.2.3.4 ? + [<1-65535>] mDNS UDP Port number + +OsmoHLR(config-mslookup-server)# service? + service Configure addresses of local services, as sent in replies to remote mslookup requests. +OsmoHLR(config-mslookup-server)# service ? + NAME mslookup service name, e.g. sip.voice or smpp.sms +OsmoHLR(config-mslookup-server)# service foo ? + at at +OsmoHLR(config-mslookup-server)# service foo at ? + IP IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1 +OsmoHLR(config-mslookup-server)# service foo at 1.2.3.4 ? + <1-65535> Service-specific port number + +OsmoHLR(config-mslookup-server)# no ? + mdns Disable server for mDNS mslookup (do not answer remote requests) + service Remove one or more service address entries +OsmoHLR(config-mslookup-server)# no service ? + NAME mslookup service name, e.g. sip.voice or smpp.sms +OsmoHLR(config-mslookup-server)# no service foo ? + at at + +OsmoHLR(config-mslookup-server)# no service foo at ? + IP IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1 +OsmoHLR(config-mslookup-server)# no service foo at 1.2.3.4 ? + <1-65535> Service-specific port number + +OsmoHLR(config-mslookup-server)# msc? + msc Configure services for individual local MSCs +OsmoHLR(config-mslookup-server)# msc ? + ipa-name Identify locally connected MSC by IPA Unit Name +OsmoHLR(config-mslookup-server)# msc ipa-name ? + IPA_NAME IPA Unit Name of the local MSC to configure + +OsmoHLR(config-mslookup-server)# msc ipa-name MSC-1 +OsmoHLR(config-mslookup-server-msc)# ? +... + service Configure addresses of local services, as sent in replies to remote mslookup requests. + no Negate a command or set its defaults +OsmoHLR(config-mslookup-server-msc)# list +... + service NAME at IP <1-65535> + no service NAME + no service NAME at IP <1-65535> + +OsmoHLR(config-mslookup-server-msc)# service? + service Configure addresses of local services, as sent in replies to remote mslookup requests. +OsmoHLR(config-mslookup-server-msc)# service ? + NAME mslookup service name, e.g. sip.voice or smpp.sms +OsmoHLR(config-mslookup-server-msc)# service foo ? + at at +OsmoHLR(config-mslookup-server-msc)# service foo at ? + IP IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1 +OsmoHLR(config-mslookup-server-msc)# service foo at 1.2.3.4 ? + <1-65535> Service-specific port number + +OsmoHLR(config-mslookup-server-msc)# no ? + service Remove one or more service address entries +OsmoHLR(config-mslookup-server-msc)# no service ? + NAME mslookup service name, e.g. sip.voice or smpp.sms +OsmoHLR(config-mslookup-server-msc)# no service foo ? + at at + +OsmoHLR(config-mslookup-server-msc)# no service foo at ? + IP IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1 +OsmoHLR(config-mslookup-server-msc)# no service foo at 1.2.3.4 ? + <1-65535> Service-specific port number + +OsmoHLR(config-mslookup-server-msc)# exit +OsmoHLR(config-mslookup-server)# exit +OsmoHLR(config-mslookup)# client +OsmoHLR(config-mslookup-client)# ? +... + timeout How long should the mslookup client wait for remote responses before evaluating received results + mdns Multicast DNS related configuration + no Negate a command or set its defaults + gateway-proxy Configure a fixed IP address to send all GSUP requests for unknown IMSIs to, without invoking a lookup for IMSI +OsmoHLR(config-mslookup-client)# list +... + timeout <1-100000> + mdns bind [IP] [<1-65535>] + mdns domain-suffix DOMAIN_SUFFIX + no mdns bind + gateway-proxy IP [<1-65535>] + no gateway-proxy + +OsmoHLR(config-mslookup-client)# timeout? + timeout How long should the mslookup client wait for remote responses before evaluating received results +OsmoHLR(config-mslookup-client)# timeout ? + <1-100000> timeout in milliseconds + +OsmoHLR(config-mslookup-client)# mdns? + mdns Multicast DNS related configuration +OsmoHLR(config-mslookup-client)# mdns bind? + bind Enable mDNS client, and configure multicast address to send mDNS mslookup requests to +OsmoHLR(config-mslookup-client)# mdns bind ? + [IP] multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42 +OsmoHLR(config-mslookup-client)# mdns bind 1.2.3.4 ? + [<1-65535>] mDNS UDP Port number +OsmoHLR(config-mslookup-client)# mdns domain-suffix? + domain-suffix mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA +OsmoHLR(config-mslookup-client)# mdns domain-suffix ? + DOMAIN_SUFFIX mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA + + +OsmoHLR(config-mslookup-client)# gateway-proxy? + gateway-proxy Configure a fixed IP address to send all GSUP requests for unknown IMSIs to, without invoking a lookup for IMSI +OsmoHLR(config-mslookup-client)# gateway-proxy ? + IP IP address of the remote HLR +OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4 ? + [<1-65535>] GSUP port number (omit for default 4222) + +OsmoHLR(config-mslookup-client)# no? + no Negate a command or set its defaults +OsmoHLR(config-mslookup-client)# no ? + mdns Disable mDNS client, do not query remote services by mDNS + gateway-proxy Disable gateway proxy for GSUP with unknown IMSIs + +OsmoHLR(config-mslookup-client)# gateway-proxy ? + IP IP address of the remote HLR +OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4 ? + [<1-65535>] GSUP port number (omit for default 4222) + +OsmoHLR(config-mslookup-client)# do show mslookup? + mslookup Distributed GSM / mslookup related information +OsmoHLR(config-mslookup-client)# do show mslookup ? + services List configured service addresses as sent to remote mslookup requests + +OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4 + +OsmoHLR(config-mslookup-client)# exit + +OsmoHLR(config-mslookup)# mdns bind +OsmoHLR(config-mslookup)# server +OsmoHLR(config-mslookup-server)# service qwert at 123.45.67.89 qwert +% Unknown command. +OsmoHLR(config-mslookup-server)# service qwert at qwert 1234 +% mslookup server: Invalid address for service qwert: qwert 1234 +OsmoHLR(config-mslookup-server)# service foo.bar at 123.45.67.89 1011 +OsmoHLR(config-mslookup-server)# service baz.bar at 121.31.41.5 1617 +OsmoHLR(config-mslookup-server)# service baz.bar at a:b:c::d 1819 +OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-23 +OsmoHLR(config-mslookup-server-msc)# service foo.bar at 76.54.32.10 1234 +OsmoHLR(config-mslookup-server-msc)# service baz.bar at 12.11.10.98 7654 +OsmoHLR(config-mslookup-server-msc)# service baz.bar at 999:999:999::999 9999 +OsmoHLR(config-mslookup-server-msc)# service baz.bar at dd:cc:bb::a 3210 +OsmoHLR(config-mslookup-server-msc)# exit +OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-42 +OsmoHLR(config-mslookup-server-msc)# service foo.bar at 1.1.1.1 1111 +OsmoHLR(config-mslookup-server-msc)# service baz.bar at 2.2.2.2 2222 +OsmoHLR(config-mslookup-server-msc)# service baz.bar at 2222:2222:2222::2 2222 +OsmoHLR(config-mslookup-server-msc)# do show mslookup services +Local GSUP HLR address returned in mslookup responses for local IMSIs: 127.0.0.1:4222 +service foo.bar at 123.45.67.89 1011 +service baz.bar at 121.31.41.5 1617 +service baz.bar at a:b:c::d 1819 +msc ipa-name MSC-1 +msc ipa-name msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 + service baz.bar at dd:cc:bb::a 3210 +msc ipa-name msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + service baz.bar at 2.2.2.2 2222 + service baz.bar at 2222:2222:2222::2 2222 + +OsmoHLR(config-mslookup-server-msc)# show running-config +... +mslookup + server + mdns bind 239.192.23.42 4266 + service foo.bar at 123.45.67.89 1011 + service baz.bar at 121.31.41.5 1617 + service baz.bar at a:b:c::d 1819 + msc MSC-1 + msc msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 + service baz.bar at dd:cc:bb::a 3210 + msc msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + service baz.bar at 2.2.2.2 2222 + service baz.bar at 2222:2222:2222::2 2222 + client + gateway-proxy 1.2.3.4 4222 + mdns bind 239.192.23.42 4266 +... + +OsmoHLR(config-mslookup-server-msc)# no service baz.bar +OsmoHLR(config-mslookup-server-msc)# no service asdf +% mslookup server: cannot remove service 'asdf' +OsmoHLR(config-mslookup-server-msc)# exit +OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-23 +OsmoHLR(config-mslookup-server-msc)# no service baz.bar at dd:cc:bb::a 3210 +% mslookup server: cannot remove service 'baz.bar' to dd:cc:bb::a 3210 +OsmoHLR(config-mslookup-server-msc)# no service asdf at asdf asdf +% Unknown command. +OsmoHLR(config-mslookup-server-msc)# no service asdf at asdf 3210 +% mslookup server: Invalid address for 'no service' asdf: asdf 3210 +OsmoHLR(config-mslookup-server-msc)# no service asdf at dd:cc:bb::a 3210 +% mslookup server: cannot remove service 'asdf' to dd:cc:bb::a 3210 +OsmoHLR(config-mslookup-server-msc)# exit +OsmoHLR(config-mslookup-server)# no service baz.bar at 2.2.2.2 2222 +% mslookup server: cannot remove service 'baz.bar' to 2.2.2.2 2222 +OsmoHLR(config-mslookup-server)# no service baz.bar at a:b:c::d 1819 +% mslookup server: cannot remove service 'baz.bar' to a:b:c::d 1819 + +OsmoHLR(config-mslookup-server)# exit +OsmoHLR(config-mslookup)# client +OsmoHLR(config-mslookup-client)# no gateway-proxy + +OsmoHLR(config-mslookup-client)# do show mslookup services +Local GSUP HLR address returned in mslookup responses for local IMSIs: 127.0.0.1:4222 +service foo.bar at 123.45.67.89 1011 +service baz.bar at 121.31.41.5 1617 +msc ipa-name MSC-1 +msc ipa-name msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 +msc ipa-name msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + +OsmoHLR(config-mslookup-client)# show running-config +... +mslookup + server + mdns bind 239.192.23.42 4266 + service foo.bar at 123.45.67.89 1011 + service baz.bar at 121.31.41.5 1617 + msc MSC-1 + msc msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 + msc msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + client + mdns bind 239.192.23.42 4266 +... + +OsmoHLR(config-mslookup-client)# exit +OsmoHLR(config-mslookup)# server +OsmoHLR(config-mslookup-server)# service gsup.hlr at 23.42.17.11 4223 +OsmoHLR(config-mslookup-server)# do show mslookup services +Local GSUP HLR address returned in mslookup responses for local IMSIs: 23.42.17.11:4223 +service foo.bar at 123.45.67.89 1011 +service baz.bar at 121.31.41.5 1617 +service gsup.hlr at 23.42.17.11 4223 +msc ipa-name MSC-1 +msc ipa-name msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 +msc ipa-name msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + +OsmoHLR(config-mslookup-server)# show running-config +... +mslookup + server + mdns bind 239.192.23.42 4266 + service foo.bar at 123.45.67.89 1011 + service baz.bar at 121.31.41.5 1617 + service gsup.hlr at 23.42.17.11 4223 + msc MSC-1 + msc msc-901-70-23 + service foo.bar at 76.54.32.10 1234 + service baz.bar at 12.11.10.98 7654 + msc msc-901-70-42 + service foo.bar at 1.1.1.1 1111 + client + mdns bind 239.192.23.42 4266 +... -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I2fe453553c90e6ee527ed13a13089900efd488aa Gerrit-Change-Number: 16258 Gerrit-PatchSet: 26 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:36 +0000 Subject: Change in osmo-hlr[master]: gsup_server: send routing error back to the correct peer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16336 ) Change subject: gsup_server: send routing error back to the correct peer ...................................................................... gsup_server: send routing error back to the correct peer If a peer attempts to add a route to an ipa-name that we already have in the routing system, don't send the routing error to the peer that already has the name, but to the peer that attempts to re-use it and would cause the collision. This is fixing a situation where for example a locally attached MSC has name 'MSC-1', and a remote site is proxying GSUP here for a remote MSC that also has the name 'MSC-1'. Send the routing error back to the proxy, not local 'MSC-1'. Change-Id: Icafaedc11b5925149d338bdcb987ae985a7323d6 --- M src/gsup_server.c 1 file changed, 14 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsup_server.c b/src/gsup_server.c index 15d2f83..a5d496e 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -65,19 +65,30 @@ static void gsup_server_send_req_response(struct osmo_gsup_req *req, struct osmo_gsup_message *response) { struct osmo_gsup_server *server = req->cb_data; + struct osmo_cni_peer_id *routing; struct osmo_gsup_conn *conn = NULL; struct msgb *msg = osmo_gsup_msgb_alloc("GSUP Tx"); int rc; - switch (req->source_name.type) { + if (response->message_type == OSMO_GSUP_MSGT_ROUTING_ERROR + && !osmo_cni_peer_id_is_empty(&req->via_proxy)) { + /* If a routing error occured, we need to route back via the immediate sending peer, not via the + * intended final recipient -- because one source of routing errors is a duplicate name for a recipient. + * If we resolve to req->source_name, we may send to a completely unrelated recipient. */ + routing = &req->via_proxy; + } else { + routing = &req->source_name; + } + switch (routing->type) { case OSMO_CNI_PEER_ID_IPA_NAME: - conn = gsup_route_find_by_ipa_name(server, &req->source_name.ipa_name); + conn = gsup_route_find_by_ipa_name(server, &routing->ipa_name); break; default: LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP peer id kind not supported: %s\n", - osmo_cni_peer_id_type_name(req->source_name.type)); + osmo_cni_peer_id_type_name(routing->type)); break; } + if (!conn) { LOG_GSUP_REQ(req, LOGL_ERROR, "GSUP client that sent this request not found, cannot respond\n"); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icafaedc11b5925149d338bdcb987ae985a7323d6 Gerrit-Change-Number: 16336 Gerrit-PatchSet: 17 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:36 +0000 Subject: Change in osmo-hlr[master]: hlr_vty_subscr: prettier output for last LU seen In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16214 ) Change subject: hlr_vty_subscr: prettier output for last LU seen ...................................................................... hlr_vty_subscr: prettier output for last LU seen Extend the "last LU seen on ..." line with the amount of seconds that passed since now, or "(invalid timestamp)". Patch split from Id7fc50567211a0870ac0524f6dee94d4513781ba, because it depends on timestamp_age which was just added in Ife4a61d71926d08f310a1aeed9d9f1974f64178b. Change-Id: I24f9e86c1aa0b1576290094e024562f41b988f37 --- M src/hlr_vty_subscr.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index b561636..14a37f2 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -30,6 +30,7 @@ #include #include +#include struct vty; @@ -49,11 +50,15 @@ static void dump_last_lu_seen(struct vty *vty, const char *domain_label, time_t last_lu_seen) { + uint32_t age; char datebuf[26]; /* for ctime_r(3) */ if (!last_lu_seen) return; - vty_out(vty, " last LU seen on %s: %s UTC%s", domain_label, get_datestr(&last_lu_seen, datebuf), - VTY_NEWLINE); + vty_out(vty, " last LU seen on %s: %s UTC", domain_label, get_datestr(&last_lu_seen, datebuf)); + if (!timestamp_age(&last_lu_seen, &age)) + vty_out(vty, " (invalid timestamp)%s", VTY_NEWLINE); + else + vty_out(vty, " (%us ago)%s", age, VTY_NEWLINE); } static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I24f9e86c1aa0b1576290094e024562f41b988f37 Gerrit-Change-Number: 16214 Gerrit-PatchSet: 35 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:36 +0000 Subject: Change in osmo-hlr[master]: adoc: add D-GSM chapter to osmohlr-usermanual In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16211 ) Change subject: adoc: add D-GSM chapter to osmohlr-usermanual ...................................................................... adoc: add D-GSM chapter to osmohlr-usermanual Change-Id: I392b5523870c2ef3267179160028d26f3f761b77 --- A doc/examples/osmo-hlr-dgsm.cfg A doc/manuals/chapters/dgsm.adoc M doc/manuals/osmohlr-usermanual.adoc 3 files changed, 515 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/doc/examples/osmo-hlr-dgsm.cfg b/doc/examples/osmo-hlr-dgsm.cfg new file mode 100644 index 0000000..2774c24 --- /dev/null +++ b/doc/examples/osmo-hlr-dgsm.cfg @@ -0,0 +1,22 @@ +# OsmoHLR example configuration for Distributed GSM (mslookup) +hlr + gsup + # For D-GSM roaming, osmo-hlr's GSUP must listen on a public IP: + bind ip 10.9.8.7 + # Each HLR should identify with a distinct name + ipa-name hlr-23 +mslookup + # Bind mslookup mDNS server and client on default multicast address and port: + # 239.192.23.42 port 4266 + mdns bind + # Tell the mslookup server in osmo-hlr which IP+ports to return when a + # remote voice call or SMS wants to deliver to a local subscriber: + server + # local osmo-sip-connector SIP port + service sip.voice at 10.9.8.7 5060 + # local osmo-msc SMPP port + service smpp.sms at 10.9.8.7 2775 + # experimental: SMS-over-GSUP: this HLR's GSUP port + service gsup.sms at 10.9.8.7 4222 + # only required if different from above 'gsup'/'bind ip': + #service gsup.hlr at 10.9.8.7 4222 diff --git a/doc/manuals/chapters/dgsm.adoc b/doc/manuals/chapters/dgsm.adoc new file mode 100644 index 0000000..e506f5a --- /dev/null +++ b/doc/manuals/chapters/dgsm.adoc @@ -0,0 +1,491 @@ +== Distributed GSM / Multicast MS Lookup + +Distributed GSM (D-GSM) allows independent mobile core network stacks to provide voice, SMS and Roaming services to each +other, without the need for centralised entities or administration authority, and in a way that is resilient against +unstable network links between sites. + +D-GSM aims at communal networks, where several independent sites, let's call them villages, each have a full mobile core +network infrastructure. It elegantly provides ad-hoc service for subscribers moving across villages, and allows villages +to dynamically join or leave the cooperative network without the need for configuration changes at other sites. + +A challenge for linking separate sites is to find the current location of a subscriber. Typically, in mobile networks, a +centralized entity keeps track of where to Page for subscribers. Running several fully independent sites with unreliable +links between them makes it hard to provide such centralisation. + +D-GSM finds subscribers by mslookup, a service provided by OsmoHLR, typically using multicast DNS queries. This allows +routing Location Updating requests, calls, and SMS to the right site without administrative delay nor the need for a +reliable link to a central database. + +D-GSM is highly resilient against single sites or links becoming temporarily unavailable. Service between still +reachable sites simply continues; Service to a disconnected site resumes as soon as it becomes reachable again. + +This brings an entirely new paradigm to mobile core network infrastructure: as sites become reachable on the IP network +and join the common IP multicast group, services between them become available immediately. Basically, the only premise +is that IP routing and multicast works across sites, and that each site uses unique IPA names in the GSUP config. + +This chapter describes how D-GSM and mslookup work, and how to configure sites to use D-GSM, using Osmocom core network +infrastructure. + +=== Finding Subscribers: mslookup Clients + +There are two fundamentally distinct subscriber lookups provided by the mslookup service. + +==== Find the Current Location of an MSISDN + +[[fig_dgsm_connect]] +.mslookup for connecting subscribers: Alice is visiting village C; a phone call gets routed directly to her current location independently from her resident village infrastructure +[graphviz] +---- +digraph G { +rankdir=LR + +subgraph cluster_village_b { + label="Village B" + ms_bob [label="Bob\n(from village B)",shape=box] + pbx_b [label="SIP B"] +} + +subgraph cluster_village_c { + label="Village C" + ms_alice [label="Alice\n(from village A)",shape=box] + msc_c [label="MSC C"] + hlr_c [label="HLR C"] + sip_c [label="SIP C"] +} + +ms_alice -> msc_c [style=dashed,arrowhead=none] +msc_c -> hlr_c [label="attached",style=dashed,arrowhead=none] +ms_bob -> pbx_b [label="call Alice"] +pbx_b -> hlr_c [label="mslookup by MSISDN",style=dotted,dir=both] +pbx_b -> sip_c -> msc_c -> ms_alice [label="call"] +} +---- + +For example, if a subscriber is currently visiting another village, establish a phone call / send SMS towards that +village. + +- To deliver a phone call, a SIP agent integrates an mslookup client to request the SIP service of an MSISDN's current + location (example: <>). It receives an IP address and port to send the SIP Invite to. + +- To deliver an SMS, an ESME integrates an mslookup client to request the SMPP service of an MSISDN's current location + (example: <>). + +The current location of a subscriber may change at any time, and, when moving across locations, a subscriber may +suddenly lose reception to the previous location without explicitly detaching. Hence an mslookup request for the current +location of an MSISDN may get numerous responses. To find the currently valid location, mslookup includes the age of the +subscriber record, i.e. how long ago the subscriber was last reached. The one response with the youngest age reflects +the current location. + +In order to evaluate several responses, mslookup always waits for a fixed amount of time (1 second), and then evaluates +the available responses. + +Services are not limited to SIP and SMPP, arbitrarily named services can be added to the mslookup configuration. + +.Message sequence for locating an MSISDN to deliver a voice call +["mscgen"] +---- +msc { + hscale="2"; + moms[label="MS,BSS\nvillage A"],momsc[label="MSC,MGW\nvillage A"],mosipcon[label="osmo-sip-connector\nvillage A"],mopbx[label="PBX\nvillage A"],mthlr[label="OsmoHLR\nvillage B"],mtsipcon[label="osmo-sip-connector\nvillage B"],mtmsc[label="MGW,MSC\nvillage B"],mtms[label="RAN,MS\nvillage B"]; + + moms =>> momsc [label="CC Setup"]; + momsc =>> mosipcon [label="MNCC_SETUP_IND"]; + mosipcon =>> mopbx [label="SIP INVITE"]; + mopbx rbox mopbx [label="dialplan: launch mslookup by MSISDN"]; + --- [label="multicast-DNS query to all connected sites"]; + ...; + mopbx <<= mthlr [label="mDNS response\n(age)"]; + mopbx rbox mopbx [label="wait ~ 1s for more mDNS responses"]; + ...; + mopbx =>> mtsipcon [label="SIP INVITE (MT)"]; + mtmsc <<= mtsipcon [label="MNCC_SETUP_REQ"]; + mtms <<= mtmsc [label="Paging (CC)"]; + moms rbox mtms [label="voice call commences"]; + +} +---- + +==== Find the Home HLR for an IMSI + +[[fig_dgsm_roaming]] +.mslookup for Roaming: Alice visits village B; she can attach to the local mobile network, which proxies HLR administration to her home village. +[graphviz] +---- +digraph G { +rankdir=LR + +subgraph cluster_village_b { + label="Village B" + + ms_alice [label="Alice\n(from village A)",shape=box] + msc_b [label="MSC B"] + hlr_b [label="HLR B"] +} + +subgraph cluster_village_a { + label="Village A" + hlr_alice [label="Alice's home HLR"] +} + +ms_alice -> msc_b -> hlr_b [label="Location\nUpdating"] +hlr_b -> hlr_alice [label="mslookup by IMSI",style=dotted,dir=both] +hlr_b -> hlr_alice [label="GSUP proxy forwarding"] +} +---- + +For example, when attaching to a local network, a local resident gets serviced directly by the local village's HLR, +while a visitor from another village gets serviced by the remote village's HLR (Roaming). + +A home HLR typically stays the same for a given IMSI. If the home site is reachable, there should be exactly one +response to an mslookup request asking for it. The age of such a home-HLR response is always sent as zero. + +If a response's age is zero, mslookup does not wait for further responses and immediately uses the result. + +If there were more than one HLR accepting service for an IMSI, the one with the shortest response latency is used. + +=== mslookup Configuration + +OsmoHLR the main mslookup agent. It provides the responses for both current location services as well as for locating +the fixed home-HLR. But naturally, depending on the mslookup request's purpose, different OsmoHLR instances will respond +for a given subscriber. + +- When querying the home HLR, it is always the (typically single) home HLR instance that sends the mslookup response. As + soon as it finds the queried IMSI in the local HLR database, an OsmoHLR will respond to home-HLR requests. + In <>, Alice's home HLR responds to the Roaming request ("where is the home HLR?"). + +- When querying the location of an MSISDN, it is always the HLR proxy nearest to the servicing MSC that sends the + mslookup response. Even though the home HLR keeps the Location Updating record also for Roaming cases, it will only + respond to an mslookup service request if the subscriber has attached at a directly connected MSC. If attached at a + remote MSC, that MSC's remote HLR will be the GSUP proxy for the home HLR, and the remote HLR is responsible for + responding to service requests. + In <>, HLR B is the nearest proxy and will answer all service requests ("where is this MSISDN?"). + Alice's home HLR will not answer service requests, because it detects that the servicing MSC is connected via another + HLR proxy. + +[[dgsm_example_config]] +==== Example + +Here is an osmo-hlr.cfg mslookup configuration example for one site, which is explained in subsequent chapters. + + hlr + gsup + bind ip 10.9.8.7 + ipa-name hlr-23 + mslookup + mdns bind + server + service sip.voice at 10.9.8.7 5060 + service smpp.sms at 10.9.8.7 2775 + +OsmoHLR has both an mslookup server and a client. + +- The server responds to incoming service and home-HLR requests, when the local HLR is responsible. +- The client is used as GSUP proxy to a remote home HLR (found by mslookup upon a locally unknown IMSI). +- The client may also be used for forwarding SMS-over-GSUP. + +The mslookup service can be implemented by various methods. +At the time of writing, the only method implemented is mDNS. + +==== mDNS + +The stock mslookup method is mDNS, multicast DNS. It consists of standard DNS encoding according to <> and +<>, but sent and received on IP multicast. In the response, standard A and AAAA records return the +service's IP address, while additional TXT records provide the service's port number and the MS attach age. + +TIP: To watch D-GSM mDNS conversations in wireshark, select "udp.port == 4266" (the default mslookup mDNS port +number), right click on the packet to "Decode as...", and select "DNS". + +In OsmoHLR, the mDNS server and client are typically both enabled at the same time: + + mslookup + mdns bind + +Server and client can also be enabled/disabled individually: + + mslookup + server + mdns bind + client + mdns bind + +These examples use the default mslookup multicast IP address and port. It is possible to configure custom IP address and +port, but beware that the IP address must be from a multicast range, see <>: + + mslookup + mdns bind 239.192.23.42 4266 + +Domain names generated from mslookup queries (e.g. "sip.voice.123.msisdn") should not collide with IANA permitted +domains. Therefore we add the "mdns.osmocom.org" suffix. It can be overridden as follows: + + mslookup + mdns domain-suffix mdns.osmocom.org + +==== Server: Site Services + +The mslookup server requires a list of service addresses provided at the local site, in order to respond to service +requests matching locally attached subscribers. + + mslookup + server + service sip.voice at 10.9.8.7 5060 + service smpp.sms at 10.9.8.7 2775 + +In this example: + +- "10.9.8.7 5060" are the IP address and port on which the local site's osmo-sip-connector is bound to receive SIP + Invite requests. +- "10.9.8.7 2775" are the local site's OsmoMSC SMPP bind address and port. + +Obviously, these IP addresses must be routable back to this site from all other sites. Using link-local or "ANY" +addresses, like 127.0.0.1 or 0.0.0.0, will not work here. Instead, each service config requires a public IP address that +all remote requestors are able to reach (not necessarily on the host that osmo-hlr is running on). + +If a site has more than one MSC, services can also be configured for each MSC individually, keyed by the IPA unit name +that each MSC sends on the GSUP link: + + mslookup + server + msc ipa-name msc-262-42-0 + service sip.voice at 10.11.12.13 5060 + service smpp.sms at 10.11.12.13 2775 + msc ipa-name msc-901-70-0 + service sip.voice at 10.9.8.7 5060 + service smpp.sms at 10.9.8.7 2775 + +Here, "msc-262-42-0" is the IPA name of a local OsmoMSC instance. To configure an OsmoMSC's IPA name on the GSUP link, +see osmo-msc.cfg, setting `hlr` / `ipa-name`. + +For mslookup service responses, only Location Updatings in the Circuit Switched domain are relevant. OsmoHLR does manage +IMSIs attaching in the Packet Switched domain (via an SGSN) similarly to Circuit Switched (via an MSC), but mslookup +completely ignores the Packet Switched attach status. + +==== Server: Own GSUP Address + +When responding to home-HLR requests, OsmoHLR implicitly by default responds with its locally configured GSUP bind +address (setting `hlr` / `gsup` / `bind ip`). If required, an explicit local GSUP address and port can be configured, +for example: + + hlr + gsup + bind ip 0.0.0.0 + ipa-name hlr-23 + mslookup + server + # osmo-hlr's own GSUP address to send in mslookup responses: + service gsup.hlr at 10.9.8.7 4222 + +The gsup.hlr service can only be configured globally (because requests come from arbitrary mDNS clients, before a +Location Updating has associated the IMSI with the requesting MSC). + +==== Client IPA Naming + +For reliable GSUP proxy routing to a remote HLR (Roaming), it is important that each GSUP client, i.e. each HLR, MSC and +SGSN instance, has a unique IPA name. + +Example for configuring an OsmoHLR instance's IPA name: + + hlr + gsup + ipa-name hlr-23 + +Here, "hlr-23" is the unique identification of this OsmoHLR instance across all potentially connected D-GSM sites. + +Furthermore, each MSC and SGSN must have a uniquely distinct IPA name across all sites (here "msc-262-42-0" and +"msc-901-70-0" are used as example IPA names for local MSCs). + +When this OsmoHLR connects to a remote HLR, be it for GSUP proxying or SMS-over-GSUP, it communicates its own IPA name +(on GSUP link-up) as well as the IPA name of the requesting client MSC/SGSN (as Source Name in each message) to the +remote OsmoHLR GSUP server. These names are used to route GSUP responses back to the respective requesting peer. + +If two MSCs were accidentally configured with identical names, a problem will occur as soon as both MSCs attempt to +attach to the same OsmoHLR (either directly or via GSUP proxying). The MSC that shows up first will work normally, but +any duplicate that shows up later will be rejected, since a route for its name already exists. + +=== Queries + +In URL notation, typical mslookup queries look like: + + gsup.hlr.123456789.imsi + sip.voice.123.msisdn + smpp.sms.123.msisdn + +A query consists of + +- a service name ("gsup.hlr"), +- an id ("123456789"), +- the id type ("imsi"). + +The calling client also defines a timeout to wait for responses. + +The mslookup ID types are fixed, while service names can be chosen arbitrarily. + +.mslookup ID types, no other ID types are understood by mslookup +[options="header",width="100%",cols="20%,80%"] +|=== +|ID Type|Description +|imsi|An IMSI as existing in an OsmoHLR subscriber database +|msisdn|A phone number as configured in an OsmoHLR subscriber database +|=== + +.mslookup service name conventions, arbitrary service names can be added as required +[options="header",width="100%",cols="20%,20%,60%"] +|=== +|Service Name|Protocol|Description +|gsup.hlr | GSUP | Home HLR's GSUP server, to handle Location Updating related procedures +|sip.voice | SIP | OsmoSIPConnector, to receive a SIP Invite (MT side of a call) +|smpp.sms | SMPP | Destination OsmoMSC (or other SMPP server) to deliver an SMS to the recipient +|gsup.sms | GSUP | GSUP peer to deliver an SMS to the recipient using SMS-over-GSUP +|=== + +Arbitrarily named services can be added to the mslookup configuration and queried by mslookup clients; as soon as a +service name is present in osmo-hlr.cfg, it can be queried from any mslookup client. + +Service names should consist of a protocol name (like "sip", "gsup", "english") and an intended action/entity (like +"voice", "hlr", "greeting"). + +=== Service Client Implementation + +In principle, arbitrary services could query target addresses via mslookup, leaving it up to any and all kinds of +clients to find their respective destination addresses. But of course, mslookup was designed with specific services in +mind, namely: + +- SIP call agents and +- SMS delivery (an ESME or SMSC) + +The following chapters describe examples of setting up a working distributed core network providing SIP voice calls and +SMS forwarding across sites. + +==== mslookup Library + +The OsmoHLR provides an mslookup client C library, libosmo-mslookup. Service lookups can be integrated directly +in client programs using this library. However, its mDNS implementation requires the libosmocore select() loop, which +can be challenging to integrate in practice. An alternative solution is the osmo-mslookup-client tool. + +[[dgsm_osmo_mslookup_client]] +==== osmo-mslookup-client + +The mslookup C library is available, but often, a simpler approach for client implementations is desirable: + +- When querying for a service address, the client is typically interested in the single final best result (youngest age + / first responding home HLR). +- Voice call and SMS clients typically would block until an mslookup result is known. For example, the FreeSwitch + dialplan integration expects a result synchronously, i.e. without waiting for mslookup responses via a select() loop. +- Integrating the libosmocore select() loop required for mDNS can break the already existing socket handling in the + client program. + +The osmo-mslookup-client cmdline tool provides a trivial way to synchronously acquire the single result for an mslookup +request. The service client can invoke an osmo-mslookup-client process per request and read the result from stdout. + +Each invocation obviously spawns a separate process and opens a multicast socket for mDNS. For better scalability, +osmo-mslookup-client can also be run as a daemon, providing results via a unix domain socket. Using synchronous write() +and recv() allows blocking until a result is received without interfering with the client program's select() setup. + +By itself, osmo-mslookup-client is also helpful as a diagnostic tool: + +---- +$ osmo-mslookup-client sip.voice.1001.msisdn +sip.voice.1001.msisdn ok 10.9.8.7 5060 + +$ osmo-mslookup-client gsup.hlr.901700000014701.imsi +gsup.hlr.901700000014701.imsi ok 10.9.8.7 4222 + +$ osmo-mslookup-client gsup.hlr.111111.imsi +gsup.hlr.111111.imsi not-found + +$ osmo-mslookup-client gsup.hlr.1001.msisdn sip.voice.1001.msisdn smpp.sms.1001.msisdn foo.1001.msisdn +gsup.hlr.1001.msisdn ok 10.9.8.7 4222 +foo.1001.msisdn not-found +smpp.sms.1001.msisdn ok 10.9.8.7 2775 +sip.voice.1001.msisdn ok 10.9.8.7 5060 + +$ osmo-mslookup-client --csv-headers gsup.hlr.901700000014701.imsi +QUERY RESULT V4_IP V4_PORT V6_IP V6_PORT +gsup.hlr.901700000014701.imsi ok 10.9.8.7 4222 + +$ osmo-mslookup-client -f json gsup.hlr.901700000014701.imsi +{"query": "gsup.hlr.901700000014701.imsi", "result": "ok", "v4": ["10.9.8.7", "4222"]} +---- + +For full help including example client invocations in Python, see the output of: + + osmo-mslookup-client -h + +==== SIP Service Client + +[[dgsm_conf_dialplan]] +===== FreeSwitch dialplan.py + +The FreeSWITCH PBX software <> offers a Python integration to determine a SIP call recipient by a custom +dialplan implementation. An example dialplan implementation for FreeSWITCH that uses D-GSM mslookup is provided in the +osmo-hlr source tree under `contrib`, called `freeswitch_dialplan_dgsm.py`. + +To integrate it with your FREESWITCH setup, add a new `extension` block to your `dialplan/public.xml`: + +---- + + + + + + + + +---- + +Make sure that the dir containing `freeswitch_dialplan_dgsm.py` is in your `PYTHONPATH` environment variable, and start +the server: + +---- +$ export PYTHONPATH="$PYTHONPATH:/home/user/code/osmo-hlr/contrib/dgsm" +$ freeswitch -nf -nonat -nonatmap -nocal -nort -c +---- + +==== SMS Service Client + +[[dgsm_conf_esme_smpp]] +===== SMS via SMPP Port + +An example ESME using D-GSM mslookup, `esme_dgsm.py`, is provided in the osmo-hlr source tree under `contrib`. It +attaches to OsmoMSC's SMPP port to send SMS to recipients determined by mslookup. + +OsmoMSC should be configured as "smpp-first", so that all SMS routing is determined by mslookup. If configured without +smpp-first, OsmoMSC may try to deliver an SMS locally, even though the recipient has recently moved to a different site. + +An example OsmoMSC configuration to work with esme_dgsm.py: + +---- +smpp + local-tcp-ip 127.0.0.1 2775 + system-id test-msc + policy closed + smpp-first + # outgoing to esme_dgsm.py + esme OSMPP + no alert-notifications + password foo + default-route + # incoming from esme_dgsm.py + esme ISMPP + no alert-notifications + password foo +---- + +Launch esme_dgsm.py alongside OsmoMSC: + +---- +./esme_dgsm.py --src-host 127.0.0.1 +---- + +esme_dgsm.py will be notified via SMPP for each SMS to be delivered, and will forward them either to a remote +recipient, or back to the same OsmoMSC, depending on the mslookup result. If the MSISDN is not reachable (or +esme_dgsm.py can't handle the message for other reasons), it returns the RSYSERR code back to OsmoMSC. + +Note that the esme_dgsm.py is a proof of concept and should not be used in production. It has several limitations, such +as not supporting multipart SMS messages. + +===== SMS-Over-GSUP + +The GSUP protocol defines SMS delivery messages. When OsmoMSC is configured to deliver SMS via GSUP, MO SMS are directly +forwarded to the HLR, which will determine where to forward the SMS-over-GSUP messages using its mslookup client. + +FIXME implement this diff --git a/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc index 7e709bd..68db1a7 100644 --- a/doc/manuals/osmohlr-usermanual.adoc +++ b/doc/manuals/osmohlr-usermanual.adoc @@ -24,6 +24,8 @@ include::./common/chapters/control_if.adoc[] +include::{srcdir}/chapters/dgsm.adoc[] + include::./common/chapters/gsup.adoc[] include::./common/chapters/port_numbers.adoc[] -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I392b5523870c2ef3267179160028d26f3f761b77 Gerrit-Change-Number: 16211 Gerrit-PatchSet: 39 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:37 +0000 Subject: Change in osmo-hlr[master]: drop error log for when a subscriber does not exist In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16212 ) Change subject: drop error log for when a subscriber does not exist ...................................................................... drop error log for when a subscriber does not exist Checking for existence of a subscriber and seeing that there is none is not inherently an error. However, osmo-hlr currently logs on all occasions: DAUC ERROR Cannot read subscriber from db: MSISDN='1001': No such subscriber This spams the ERROR log level. Particularly when a D-GSM setup does subscriber existence checks for every incoming mslookup request, that potentially creates constant ERROR logging. The "No such subscriber" part comes from db_sel(), which might also return an sqlite3_errmsg(). We still want those sqlite3_errmsg()es in the ERROR log. Hence print an ERROR log only if db_sel() returns an rc != -ENOENT. Change-Id: I5044e9b4519b948edc4e451cef0f7830d315619b --- M src/db_hlr.c M tests/db/db_test.err 2 files changed, 4 insertions(+), 30 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/db_hlr.c b/src/db_hlr.c index 9073926..83c2c51 100644 --- a/src/db_hlr.c +++ b/src/db_hlr.c @@ -568,7 +568,7 @@ return -EIO; rc = db_sel(dbc, stmt, subscr, &err); - if (rc) + if (rc && rc != -ENOENT) LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: IMSI='%s': %s\n", imsi, err); return rc; @@ -619,7 +619,7 @@ return -EIO; rc = db_sel(dbc, stmt, subscr, &err); - if (rc) + if (rc && rc != -ENOENT) LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: MSISDN='%s': %s\n", msisdn, err); return rc; @@ -643,7 +643,7 @@ return -EIO; rc = db_sel(dbc, stmt, subscr, &err); - if (rc) + if (rc && rc != -ENOENT) LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: ID=%" PRId64 ": %s\n", id, err); return rc; @@ -666,7 +666,7 @@ return -EIO; rc = db_sel(dbc, stmt, subscr, &err); - if (rc) + if (rc && rc != -ENOENT) LOGP(DAUC, LOGL_ERROR, "Cannot read subscriber from db: IMEI=%s: %s\n", imei, err); return rc; } diff --git a/tests/db/db_test.err b/tests/db/db_test.err index e4d43c9..871e722 100644 --- a/tests/db/db_test.err +++ b/tests/db/db_test.err @@ -64,25 +64,21 @@ DAUC Cannot create subscriber: invalid IMSI: '123456789 000003' db_subscr_get_by_imsi(dbc, "123456789000003", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000003': No such subscriber db_subscr_create(dbc, "123456789000002123456", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL DAUC Cannot create subscriber: invalid IMSI: '123456789000002123456' db_subscr_get_by_imsi(dbc, "123456789000002123456", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000002123456': No such subscriber db_subscr_create(dbc, "foobar123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL DAUC Cannot create subscriber: invalid IMSI: 'foobar123' db_subscr_get_by_imsi(dbc, "foobar123", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='foobar123': No such subscriber db_subscr_create(dbc, "123", DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> -EINVAL DAUC Cannot create subscriber: invalid IMSI: '123' db_subscr_get_by_imsi(dbc, "123", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123': No such subscriber db_subscr_create(dbc, short_imsi, DB_SUBSCR_FLAG_NAM_CS | DB_SUBSCR_FLAG_NAM_PS) --> 0 @@ -142,7 +138,6 @@ } db_subscr_get_by_msisdn(dbc, "54321012345678912345678", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='54321012345678912345678': No such subscriber db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543 21") --> -EINVAL DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: '543 21' @@ -155,7 +150,6 @@ } db_subscr_get_by_msisdn(dbc, "543 21", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='543 21': No such subscriber db_subscr_update_msisdn_by_imsi(dbc, imsi0, "foobar123") --> -EINVAL DAUC IMSI='123456789000000': Cannot update subscriber: invalid MSISDN: 'foobar123' @@ -168,7 +162,6 @@ } db_subscr_get_by_msisdn(dbc, "foobar123", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='foobar123': No such subscriber db_subscr_update_msisdn_by_imsi(dbc, imsi0, "5") --> 0 @@ -187,7 +180,6 @@ } db_subscr_get_by_msisdn(dbc, "54321", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='54321': No such subscriber db_subscr_update_msisdn_by_imsi(dbc, imsi0, "543210123456789") --> 0 @@ -216,7 +208,6 @@ } db_subscr_get_by_msisdn(dbc, "5432101234567891", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='5432101234567891': No such subscriber --- Check if subscriber exists (by MSISDN) @@ -232,13 +223,11 @@ DAUC Cannot update MSISDN: no such subscriber: IMSI='999999999' db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber db_subscr_update_msisdn_by_imsi(dbc, "foobar", "99") --> -ENOENT DAUC Cannot update MSISDN: no such subscriber: IMSI='foobar' db_subscr_get_by_msisdn(dbc, "99", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: MSISDN='99': No such subscriber --- Set valid / invalid IMEI @@ -265,7 +254,6 @@ } db_subscr_get_by_imei(dbc, "123456789012345", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMEI=123456789012345: No such subscriber --- Set the same IMEI again @@ -286,7 +274,6 @@ db_subscr_update_imei_by_imsi(dbc, imsi0, NULL) --> 0 db_subscr_get_by_imei(dbc, "12345678901234", &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMEI=12345678901234: No such subscriber --- Set / unset nam_cs and nam_ps @@ -424,7 +411,6 @@ DAUC Cannot disable CS: no such subscriber: IMSI='999999999' db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber db_subscr_nam(dbc, "foobar", false, true) --> -ENOENT DAUC Cannot disable PS: no such subscriber: IMSI='foobar' @@ -567,7 +553,6 @@ DAUC Cannot update VLR number for subscriber ID=99999: no such subscriber db_subscr_get_by_id(dbc, 99999, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: ID=99999: No such subscriber --- Purge and un-purge PS and CS @@ -698,13 +683,11 @@ DAUC Cannot purge PS: no such subscriber: IMSI='999999999' db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber db_subscr_purge(dbc, unknown_imsi, true, false) --> -ENOENT DAUC Cannot purge CS: no such subscriber: IMSI='999999999' db_subscr_get_by_imsi(dbc, unknown_imsi, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='999999999': No such subscriber --- Delete non-existent / invalid IDs @@ -728,7 +711,6 @@ db_subscr_delete_by_id(dbc, id0) --> 0 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber db_subscr_delete_by_id(dbc, id0) --> -ENOENT DAUC Cannot delete: no such subscriber: ID=1 @@ -742,7 +724,6 @@ db_subscr_delete_by_id(dbc, id1) --> 0 db_subscr_get_by_imsi(dbc, imsi1, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000001': No such subscriber db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> 0 struct hlr_subscriber { @@ -753,7 +734,6 @@ db_subscr_delete_by_id(dbc, id2) --> 0 db_subscr_get_by_imsi(dbc, imsi2, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000002': No such subscriber db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> 0 struct hlr_subscriber { @@ -764,7 +744,6 @@ db_subscr_delete_by_id(dbc, id_short) --> 0 db_subscr_get_by_imsi(dbc, short_imsi, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456': No such subscriber --- Create and delete subscribers with non-default nam_cs and nam_ps @@ -1305,7 +1284,6 @@ db_subscr_delete_by_id(dbc, id) --> 0 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber --- Re-add subscriber and verify auth data didn't come back @@ -1330,7 +1308,6 @@ db_subscr_delete_by_id(dbc, id) --> 0 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber db_get_auc(dbc, imsi0, 3, vec, N_VECTORS, NULL, NULL, false) --> -2 DAUC IMSI='123456789000000': No such subscriber @@ -1431,13 +1408,11 @@ DAUC Cannot update SQN for subscriber ID=99: no auc_3g entry for such subscriber db_subscr_get_by_id(dbc, 99, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: ID=99: No such subscriber db_update_sqn(dbc, 9999, 99) --> -ENOENT DAUC Cannot update SQN for subscriber ID=9999: no auc_3g entry for such subscriber db_subscr_get_by_id(dbc, 9999, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: ID=9999: No such subscriber --- Create subscriber @@ -1635,7 +1610,6 @@ db_subscr_delete_by_id(dbc, id) --> 0 db_subscr_get_by_imsi(dbc, imsi0, &g_subscr) --> -ENOENT -DAUC Cannot read subscriber from db: IMSI='123456789000000': No such subscriber ===== test_subscr_sqn: SUCCESS -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5044e9b4519b948edc4e451cef0f7830d315619b Gerrit-Change-Number: 16212 Gerrit-PatchSet: 39 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:37 +0000 Subject: Change in osmo-hlr[master]: vty: show subscriber: change format of 'last LU seen' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/15359 ) Change subject: vty: show subscriber: change format of 'last LU seen' ...................................................................... vty: show subscriber: change format of 'last LU seen' So far, the time string format comes from ctime_r, and we manually add "UTC" to it. The ctime_r format is wildly chaotic IMHO, mixing weekday, day-of-month and hour and year in very unsorted ways. Adding "UTC" to it is non-standard. Instead use an ISO-8601 standardized time string via strftime(). Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a --- M src/hlr_vty_subscr.c 1 file changed, 7 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index 14a37f2..8079d10 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -36,25 +36,21 @@ #define hexdump_buf(buf) osmo_hexdump_nospc((void*)buf, sizeof(buf)) -static char * -get_datestr(const time_t *t, char *datebuf) +static char *get_datestr(const time_t *t, char *buf, size_t bufsize) { - char *p, *s = ctime_r(t, datebuf); - - /* Strip trailing newline. */ - p = strchr(s, '\n'); - if (p) - *p = '\0'; - return s; + struct tm tm; + gmtime_r(t, &tm); + strftime(buf, bufsize, "%FT%T+00:00", &tm); + return buf; } static void dump_last_lu_seen(struct vty *vty, const char *domain_label, time_t last_lu_seen) { uint32_t age; - char datebuf[26]; /* for ctime_r(3) */ + char datebuf[32]; if (!last_lu_seen) return; - vty_out(vty, " last LU seen on %s: %s UTC", domain_label, get_datestr(&last_lu_seen, datebuf)); + vty_out(vty, " last LU seen on %s: %s", domain_label, get_datestr(&last_lu_seen, datebuf, sizeof(datebuf))); if (!timestamp_age(&last_lu_seen, &age)) vty_out(vty, " (invalid timestamp)%s", VTY_NEWLINE); else -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/15359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6731968f05050399f4dd43b241290186e0c59e1a Gerrit-Change-Number: 15359 Gerrit-PatchSet: 29 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:40 +0000 Subject: Change in osmo-hlr[master]: vty: show subscriber: show lu d, h, m, s ago, not just seconds In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16262 ) Change subject: vty: show subscriber: show lu d,h,m,s ago, not just seconds ...................................................................... vty: show subscriber: show lu d,h,m,s ago, not just seconds Change-Id: I0fe34e0f065160ef959b2b7b4dd040f3f2985f43 --- M src/hlr_vty_subscr.c 1 file changed, 14 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c index 8079d10..a9262ba 100644 --- a/src/hlr_vty_subscr.c +++ b/src/hlr_vty_subscr.c @@ -53,8 +53,20 @@ vty_out(vty, " last LU seen on %s: %s", domain_label, get_datestr(&last_lu_seen, datebuf, sizeof(datebuf))); if (!timestamp_age(&last_lu_seen, &age)) vty_out(vty, " (invalid timestamp)%s", VTY_NEWLINE); - else - vty_out(vty, " (%us ago)%s", age, VTY_NEWLINE); + else { + vty_out(vty, " ("); +#define UNIT_AGO(UNITNAME, UNITVAL) \ + if (age >= (UNITVAL)) { \ + vty_out(vty, "%u%s", age / (UNITVAL), UNITNAME); \ + age = age % (UNITVAL); \ + } + UNIT_AGO("d", 60*60*24); + UNIT_AGO("h", 60*60); + UNIT_AGO("m", 60); + UNIT_AGO("s", 1); + vty_out(vty, " ago)%s", VTY_NEWLINE); +#undef UNIT_AGO + } } static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr) -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I0fe34e0f065160ef959b2b7b4dd040f3f2985f43 Gerrit-Change-Number: 16262 Gerrit-PatchSet: 25 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:37:40 +0000 Subject: Change in osmo-hlr[master]: auc3g: officially wrap IND around IND_bitlen space In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16763 ) Change subject: auc3g: officially wrap IND around IND_bitlen space ...................................................................... auc3g: officially wrap IND around IND_bitlen space To determine distinct IND pools for each connected VLR, we need to pick ever increasing values for any new peer showing up. Each subscriber's individual IND_bitlen is then required to modulo the least significant N of bits that fit in its IND_bitlen to effectively round-robin in the available IND pool space. So far we did that but issued a warning message. This is actually exactly what we want and it doesn't need to be treated like it weren't so. Change-Id: I716d8a8a249235c8093d7a6a78b3535d893d867e --- M src/db_auc.c 1 file changed, 9 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/db_auc.c b/src/db_auc.c index ecb9f58..975eb2d 100644 --- a/src/db_auc.c +++ b/src/db_auc.c @@ -200,15 +200,16 @@ if (rc) return rc; + /* modulo by the IND bitlen value range. For example, ind_bitlen == 5 would modulo 32: + * 1 << 5 == 0b0100000 == 32 + * - 1 == 0b0011111 == bitmask of 5 lowest bits + * x &= 0b0011111 == modulo 32 + * Why do this? osmo-hlr cannot possibly choose individual VLR INDs always matching all subscribers' IND_bitlen, + * which might vary wildly. Instead, let hlr.c pass in an arbitrarily high number here, and the modulo does a + * round-robin if the IND pools that this subscriber has available. */ + auc_3g_ind &= (1U << aud3g.u.umts.ind_bitlen) - 1; aud3g.u.umts.ind = auc_3g_ind; - if (aud3g.type == OSMO_AUTH_TYPE_UMTS - && aud3g.u.umts.ind >= (1U << aud3g.u.umts.ind_bitlen)) { - LOGAUC(imsi, LOGL_NOTICE, "3G auth: SQN's IND bitlen %u is" - " too small to hold an index of %u. Truncating. This" - " may cause numerous additional AUTS resyncing.\n", - aud3g.u.umts.ind_bitlen, aud3g.u.umts.ind); - aud3g.u.umts.ind &= (1U << aud3g.u.umts.ind_bitlen) - 1; - } + /* the first bit (bit0) cannot be used as AMF anymore, but has been * re-appropriated as the separation bit. See 3GPP TS 33.102 Annex H * together with 3GPP TS 33.401 / 33.402 / 33.501 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16763 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I716d8a8a249235c8093d7a6a78b3535d893d867e Gerrit-Change-Number: 16763 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:38:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:38:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 ) Change subject: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545 Gerrit-Change-Number: 17981 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 01 May 2020 14:38:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 ) Change subject: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4dfc994beb7d0ee5522770651150c77701c573fe Gerrit-Change-Number: 17990 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 01 May 2020 14:39:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 ) Change subject: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18ff55a8067165bf081bf21473b4f88af955bf5b Gerrit-Change-Number: 17991 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 01 May 2020 14:39:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 ) Change subject: Split templates in RLCMAC_{CSN1_}Types into their own _Templates file ...................................................................... Split templates in RLCMAC_{CSN1_}Types into their own _Templates file RLCMAC blocks have a lot of fields and we will potentially require lots of different templates, as well as functions to handle related structs. Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545 --- M bsc-nat/gen_links.sh M bsc/gen_links.sh M bts/gen_links.sh M lapdm/gen_links.sh M library/L3_Templates.ttcn A library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn A library/RLCMAC_Templates.ttcn M library/RLCMAC_Types.ttcn M mme/gen_links.sh M msc/gen_links.sh M pcu/GPRS_TBF.ttcn M pcu/PCU_Tests.ttcn M pcu/gen_links.sh M selftest/gen_links.sh M sgsn/gen_links.sh M sysinfo/gen_links.sh 17 files changed, 524 insertions(+), 477 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index 471753e..4d2303f 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -52,7 +52,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_VTY_Functions.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn BSSAP_CodecPort.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh index 845f7cc..a936ef3 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -67,7 +67,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RAN_Emulation.ttcnpp RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn RAN_Adapter.ttcnpp Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn SCCP_Templates.ttcn IPA_Testing.ttcn " FILES+="CBSP_Types.ttcn CBSP_Templates.ttcn " FILES+="CBSP_CodecPort.ttcn CBSP_CodecPort_CtrlFunct.ttcn CBSP_CodecPort_CtrlFunctdef.cc CBSP_Adapter.ttcn " gen_links $DIR $FILES diff --git a/bts/gen_links.sh b/bts/gen_links.sh index aafe231..b6921fa 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -33,7 +33,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn RSL_Types.ttcn RSL_Emulation.ttcn AbisOML_Types.ttcn " diff --git a/lapdm/gen_links.sh b/lapdm/gen_links.sh index 12830dd..217f485 100755 --- a/lapdm/gen_links.sh +++ b/lapdm/gen_links.sh @@ -14,7 +14,7 @@ DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn Osmocom_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc L1CTL_Types.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn RLCMAC_Types.ttcn RLCMAC_EncDec.cc" +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn Osmocom_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc L1CTL_Types.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_EncDec.cc" gen_links $DIR $FILES ignore_pp_results diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 8af9acc..3032503 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -20,7 +20,7 @@ import from MobileL3_CC_Types all; import from MobileL3_GMM_SM_Types all; import from MobileL3_SMS_Types all; -import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; /* TS 24.007 Table 11.3 TI Flag */ const BIT1 c_TIF_ORIG := '0'B; diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn new file mode 100644 index 0000000..07f70b4 --- /dev/null +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -0,0 +1,163 @@ +/* GPRS RLC/MAC Control Messages as per 3GPP TS 44.060 manually transcribed from the CSN.1 syntax, as no CSN.1 + * tool for Eclipse TITAN could be found. Implements only the minimum necessary messages for Osmocom teseting + * purposes. */ + +/* (C) 2017-2018 Harald Welte + * contributions by sysmocom - s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module RLCMAC_CSN1_Templates { + import from General_Types all; + import from Osmocom_Types all; + import from GSM_Types all; + import from MobileL3_GMM_SM_Types all; + import from RLCMAC_CSN1_Types all; + + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CTRL_ACK(GprsTlli tlli, + CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { + msg_type := PACKET_CONTROL_ACK, + u := { + ctrl_ack := { + tlli := tlli, + ctrl_ack := ack + } + } + } + + const ILevel iNone := { + presence := '0'B, + i_level := omit + } + const ChannelQualityReport c_ChQualRep_default := { + c_value := 0, + rxqual := 0, + sign_var := 0, + i_levels := { iNone, iNone, iNone, iNone, iNone, iNone, iNone, iNone } + } + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_DL_ACK(uint5_t dl_tfi, + AckNackDescription andesc, + ChannelQualityReport qual_rep := c_ChQualRep_default) := { + msg_type := PACKET_DL_ACK_NACK, + u := { + dl_ack_nack := { + dl_tfi := dl_tfi, + ack_nack_desc := andesc, + chreq_desc_presence := '0'B, + chreq_desc := omit, + ch_qual_rep := qual_rep + } + } + } + + private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { + if (istemplatekind(mscap_gprs, "omit")) { + return '0'B; + } + return '1'B; + } + private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { + if (istemplatekind(mscap_egprs, "omit")) { + return '0'B; + } + return '1'B; + } + template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { + mSRACapabilityValues := { + mSRACapabilityValuesExclude1111 := { + accessTechnType := att, /* E-GSM */ + accessCapabilities := { + lengthIndicator := 0, /* overwritten */ + accessCapabilities := { + rfPowerCapability := '001'B, /* FIXME */ + presenceBitA5 := '0'B, + a5bits := omit, + esind := '1'B, + psbit := '0'B, + vgcs := '0'B, + vbs := '0'B, + presenceBitMultislot := '1'B, + multislotcap := { + presenceBitHscsd := '0'B, + hscsdmultislotclass := omit, + presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs), + gprsmultislot := mscap_gprs, + presenceBitSms := '0'B, + multislotCap_SMS := omit, + multislotCapAdditionsAfterRel97 := { + presenceBitEcsdmulti := '0'B, + ecsdmultislotclass := omit, + presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs), + multislotCap_EGPRS := mscap_egprs, + presenceBitDtmGprsmulti := '0'B, + multislotCapdtmgprsmultislotsubclass := omit + } + }, + accessCapAdditionsAfterRel97 := omit + }, + spare_bits := omit + } + } + }, + presenceBitMSRACap := '0'B + }; + + private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { + if (istemplatekind(ms_rac, "omit")) { + return '0'B; + } + return '1'B; + } + + private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { + var template (omit) MSRadioAccCap2 ms_rac2 := omit; + if (istemplatekind(ms_rac, "omit")) { + return ms_rac2; + } + ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; + return ms_rac2; + } + + private const ChannelReqDescription c_ChReqDesc_default := { + peak_tput_class := 0, + priority := 0, + rlc_mode := RLC_MODE_UNACKNOWLEDGED, + llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, + RlcOctetCount := 0 + } + + /* TS 44.060 sec 11.2.16 */ + template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, + template (omit) MSRadioAccessCapabilityV ms_rac, + ChannelReqDescription ch_req_desc := c_ChReqDesc_default, + RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) + := { + msg_type := PACKET_RESOURCE_REQUEST, + u := { + resource_req := { + acc_type_presence := '1'B, + acc_type := acc_type, + id_type := '1'B, + id := { tlli := tlli }, + ms_rac2_presence := f_presence_bit_MSRadioAccessCapabilityV(ms_rac), + ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), + ch_req_desc := ch_req_desc, + change_mark_presence := '0'B, + change_mark := omit, + C_val := '000000'B, + sign_var_presence := '0'B, + sign_var := omit, + I_levels := { + iNone, iNone, iNone, iNone, + iNone, iNone, iNone, iNone + } + } + } + } + +} with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index b545368..bca4351 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -639,147 +639,6 @@ variant (relative_k) "PRESENCE(presence = '1'B)" }; - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_CTRL_ACK(GprsTlli tlli, - CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { - msg_type := PACKET_CONTROL_ACK, - u := { - ctrl_ack := { - tlli := tlli, - ctrl_ack := ack - } - } - } - - const ILevel iNone := { - presence := '0'B, - i_level := omit - } - const ChannelQualityReport c_ChQualRep_default := { - c_value := 0, - rxqual := 0, - sign_var := 0, - i_levels := { iNone, iNone, iNone, iNone, iNone, iNone, iNone, iNone } - } - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_DL_ACK(uint5_t dl_tfi, - AckNackDescription andesc, - ChannelQualityReport qual_rep := c_ChQualRep_default) := { - msg_type := PACKET_DL_ACK_NACK, - u := { - dl_ack_nack := { - dl_tfi := dl_tfi, - ack_nack_desc := andesc, - chreq_desc_presence := '0'B, - chreq_desc := omit, - ch_qual_rep := qual_rep - } - } - } - - private function f_presence_bit_MultislotCap_GPRS(template (omit) MultislotCap_GPRS mscap_gprs) return BIT1 { - if (istemplatekind(mscap_gprs, "omit")) { - return '0'B; - } - return '1'B; - } - private function f_presence_bit_MultislotCap_EGPRS(template (omit) MultislotCap_EGPRS mscap_egprs) return BIT1 { - if (istemplatekind(mscap_egprs, "omit")) { - return '0'B; - } - return '1'B; - } - template (value) MSRACapabilityValuesRecord ts_RaCapRec(BIT4 att := '0001'B /* E-GSM */, template (omit) MultislotCap_GPRS mscap_gprs := omit, template (omit) MultislotCap_EGPRS mscap_egprs := omit) := { - mSRACapabilityValues := { - mSRACapabilityValuesExclude1111 := { - accessTechnType := att, /* E-GSM */ - accessCapabilities := { - lengthIndicator := 0, /* overwritten */ - accessCapabilities := { - rfPowerCapability := '001'B, /* FIXME */ - presenceBitA5 := '0'B, - a5bits := omit, - esind := '1'B, - psbit := '0'B, - vgcs := '0'B, - vbs := '0'B, - presenceBitMultislot := '1'B, - multislotcap := { - presenceBitHscsd := '0'B, - hscsdmultislotclass := omit, - presenceBitGprs := f_presence_bit_MultislotCap_GPRS(mscap_gprs), - gprsmultislot := mscap_gprs, - presenceBitSms := '0'B, - multislotCap_SMS := omit, - multislotCapAdditionsAfterRel97 := { - presenceBitEcsdmulti := '0'B, - ecsdmultislotclass := omit, - presenceBitEgprsmulti := f_presence_bit_MultislotCap_EGPRS(mscap_egprs), - multislotCap_EGPRS := mscap_egprs, - presenceBitDtmGprsmulti := '0'B, - multislotCapdtmgprsmultislotsubclass := omit - } - }, - accessCapAdditionsAfterRel97 := omit - }, - spare_bits := omit - } - } - }, - presenceBitMSRACap := '0'B - }; - - private function f_presence_bit_MSRadioAccessCapabilityV(template (omit) MSRadioAccessCapabilityV ms_rac) return BIT1 { - if (istemplatekind(ms_rac, "omit")) { - return '0'B; - } - return '1'B; - } - - private function f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(template (omit) MSRadioAccessCapabilityV ms_rac) return template (omit) MSRadioAccCap2 { - var template (omit) MSRadioAccCap2 ms_rac2 := omit; - if (istemplatekind(ms_rac, "omit")) { - return ms_rac2; - } - ms_rac2 := { msRadioAccessCapabilityV := ms_rac }; - return ms_rac2; - } - - private const ChannelReqDescription c_ChReqDesc_default := { - peak_tput_class := 0, - priority := 0, - rlc_mode := RLC_MODE_UNACKNOWLEDGED, - llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, - RlcOctetCount := 0 - } - - /* TS 44.060 sec 11.2.16 */ - template (value) RlcmacUlCtrlMsg ts_RlcMacUlCtrl_PKT_RES_REQ(GprsTlli tlli, - template (omit) MSRadioAccessCapabilityV ms_rac, - ChannelReqDescription ch_req_desc := c_ChReqDesc_default, - RlcAccessType acc_type := RLC_ACC_TYPE_TWO_PHASE) - := { - msg_type := PACKET_RESOURCE_REQUEST, - u := { - resource_req := { - acc_type_presence := '1'B, - acc_type := acc_type, - id_type := '1'B, - id := { tlli := tlli }, - ms_rac2_presence := f_presence_bit_MSRadioAccessCapabilityV(ms_rac), - ms_rac2 := f_template_MSRadioAccessCapabilityV_to_MSRadioAccCap2(ms_rac), - ch_req_desc := ch_req_desc, - change_mark_presence := '0'B, - change_mark := omit, - C_val := '000000'B, - sign_var_presence := '0'B, - sign_var := omit, - I_levels := { - iNone, iNone, iNone, iNone, - iNone, iNone, iNone, iNone - } - } - } - } - /* 3GPP TS 44.060, table 11.2.5a.2 "EGPRS PACKET CHANNEL REQUEST" */ type union EGPRSPktChRequest { EGPRSPktChRequest_MC5P2RB3 one_phase, diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn new file mode 100644 index 0000000..8fb6b0c --- /dev/null +++ b/library/RLCMAC_Templates.ttcn @@ -0,0 +1,346 @@ +/* TITAN REW encode/decode definitions for 3GPP TS 44.060 RLC/MAC Blocks */ + +/* (C) 2017-2018 Harald Welte + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module RLCMAC_Templates { + import from General_Types all; + import from Osmocom_Types all; + import from GSM_Types all; + import from RLCMAC_CSN1_Types all; + import from RLCMAC_CSN1_Templates all; + import from RLCMAC_Types all; + + /* TS 44.060 10.4.5 */ + function f_rrbp_fn_delay(MacRrbp rrbp) return uint32_t { + select (rrbp) { + case (RRBP_Nplus13_mod_2715648) { return 13; } + case (RRBP_Nplus17_or_18_mod_2715648) { return 17; } + case (RRBP_Nplus21_or_22_mod_2715648) { return 21; } + case (RRBP_Nplus26_mod_2715648) { return 26; } + } + return 0; + } + + function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { + select (cs_mcs) { + case (CS_1) { return 23; } + case (CS_2) { return 34; } + case (CS_3) { return 40; } + case (CS_4) { return 54; } + case (MCS_1) { return 27; } + case (MCS_2) { return 33; } + case (MCS_3) { return 42; } + case (MCS_4) { return 49; } + case (MCS_5) { return 61; } + case (MCS_6) { return 79; } + case (MCS_7) { return 119; } + case (MCS_8) { return 143; } + case (MCS_9) { return 155; } + } + return 0; + } + + function f_rlcmac_block_len2cs_mcs(uint32_t len) return CodingScheme { + select (len) { + case (23) { return CS_1; } + case (34) { return CS_2; } + case (40) { return CS_3; } + case (54) { return CS_4; } + case (27) { return MCS_1; } + case (33) { return MCS_2; } + case (42) { return MCS_3; } + case (49) { return MCS_4; } + case (60) { return MCS_5; } + case (61) { return MCS_5; } + case (78) { return MCS_6; } + case (79) { return MCS_6; } + case (118) { return MCS_7; } + case (119) { return MCS_7; } + case (142) { return MCS_8; } + case (143) { return MCS_8; } + case (154) { return MCS_9; } + case (155) { return MCS_9; } + } + return CS_1; + } + + template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, + MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, + boolean retry := false) := { + ctrl := { + mac_hdr := { + payload_type := pt, + spare := '00000'B, + retry := retry + }, + payload := ctrl + } + } + + /* Send Template for Downlink ACK/NACK */ + template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, AckNackDescription andesc, boolean retry := false) := { + ctrl := { + mac_hdr := { + payload_type := MAC_PT_RLCMAC_NO_OPT, + spare := '00000'B, + retry := retry + }, + payload := { + msg_type := PACKET_DL_ACK_NACK, + u := { + dl_ack_nack := { + dl_tfi := tfi, + ack_nack_desc := andesc, + chreq_desc_presence := '0'B, + chreq_desc := omit, + ch_qual_rep := c_ChQualRep_default + } + } + } + } + } + + /* Template for uplink Data block */ + template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, + template LlcBlocks blocks := {}, template boolean stall := false) := { + data := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + countdown := cv, + stall_ind := false, + retry := false, + spare := '0'B, + pfi_ind := false, + tfi := tfi, + tlli_ind := false, + bsn := bsn, + e := false + }, + tlli := omit, + pfi := omit, + blocks := blocks + } + } + template RlcmacUlBlock t_RLCMAC_UL_DATA_TLLI(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, + template LlcBlocks blocks := {}, template boolean stall := false, template GprsTlli tlli) := { + data := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + countdown := cv, + stall_ind := false, + retry := false, + spare := '0'B, + pfi_ind := false, + tfi := tfi, + tlli_ind := true, + bsn := bsn, + e := false + }, + tlli := tlli, + pfi := omit, + blocks := blocks + } + } + + template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template +uint3_t usf) := { + payload_type := pt, + rrbp := rrbp, + rrbp_valid := ispresent(rrbp), + usf := usf + } + + template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL(template uint3_t usf := ?, template PageMode page_mode := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_DL_DUMMY_CTRL, + u := { + dl_dummy := { + page_mode := page_mode, + persistence_levels_present := ?, + persistence_levels := * + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_DL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_DL_ASSIGNMENT, + u := { + dl_assignment := { + page_mode := ?, + pres1 := ?, + persistence_levels := *, + tfi_or_tlli := ? + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_UL_ASSIGNMENT, + u := { + ul_assignment := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + identity := ?, + is_egprs := ?, /* msg escape */ + gprs := * + } + } + } + } + } + + + /* Receive Template for Uplink ACK/NACK */ + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { + ctrl := { + mac_hdr := { + payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), + rrbp:= ?, + rrbp_valid := ?, + usf := ? + }, + opt := *, + payload := { + msg_type := PACKET_UL_ACK_NACK, + u := { + ul_ack_nack := { + page_mode := ?, + msg_excape := ?, + uplink_tfi := ul_tfi, + is_egprs := '0'B, + gprs := { + ch_coding_cmd := ?, + ack_nack_desc := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + pkt_ta_present := ?, + pkt_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + } + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { + ctrl := { + mac_hdr := { + payload_type := MAC_PT_RLCMAC_NO_OPT, + rrbp:= ?, + rrbp_valid := ?, + usf := usf + }, + opt := *, + payload := { + msg_type := PACKET_PAGING_REQUEST, + u := { + paging := { + page_mode := ?, + persistence_levels_present := ?, + persistence_levels := *, + nln_present := ?, + nln := *, + repeated_pageinfo_present := ?, + repeated_pageinfo := * + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { + data := { + mac_hdr := { + mac_hdr := { + payload_type := MAC_PT_RLC_DATA, + rrbp := ?, + rrbp_valid := true, + usf := ? + }, + hdr_ext := ? + }, + blocks := ? + } + } + + template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { + data_egprs := { + mac_hdr := ?, + fbi := ?, + e := ?, + blocks := ? + } + } + + /* Template for Uplink MAC Control Header */ + template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { + payload_type := pt, + spare := '00000'B, + retry := retry + } + + /* Template for Uplink Control ACK */ + template RlcmacUlBlock ts_RLCMAC_CTRL_ACK(GprsTlli tlli, CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { + ctrl := { + mac_hdr := t_RLCMAC_UlMacCtrlH(MAC_PT_RLCMAC_NO_OPT), + payload := { + msg_type := PACKET_CONTROL_ACK, + u := { + ctrl_ack := { + tlli := tlli, + ctrl_ack := ack + } + } + } + } + } + + /* Template for a LlcBlock (part of a LLC frame inside RlcMac?lDataBlock */ + template LlcBlock t_RLCMAC_LLCBLOCK(octetstring data, boolean more := false, boolean e := true) := { + /* let encoder figure out the header */ + hdr := omit, + payload := data + } + +} with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index e5c2464..27c1805 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -31,16 +31,6 @@ RRBP_Nplus26_mod_2715648 ('11'B) } with { variant "FIELDLENGTH(2)" }; - function f_rrbp_fn_delay(MacRrbp rrbp) return uint32_t { - select (rrbp) { - case (RRBP_Nplus13_mod_2715648) { return 13; } - case (RRBP_Nplus17_or_18_mod_2715648) { return 17; } - case (RRBP_Nplus21_or_22_mod_2715648) { return 21; } - case (RRBP_Nplus26_mod_2715648) { return 26; } - } - return 0; - } - type enumerated EgprsHeaderType { RLCMAC_HDR_TYPE_1, RLCMAC_HDR_TYPE_2, @@ -66,49 +56,6 @@ // MCS6_9 ? }; - function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { - select (cs_mcs) { - case (CS_1) { return 23; } - case (CS_2) { return 34; } - case (CS_3) { return 40; } - case (CS_4) { return 54; } - case (MCS_1) { return 27; } - case (MCS_2) { return 33; } - case (MCS_3) { return 42; } - case (MCS_4) { return 49; } - case (MCS_5) { return 61; } - case (MCS_6) { return 79; } - case (MCS_7) { return 119; } - case (MCS_8) { return 143; } - case (MCS_9) { return 155; } - } - return 0; - } - - function f_rlcmac_block_len2cs_mcs(uint32_t len) return CodingScheme { - select (len) { - case (23) { return CS_1; } - case (34) { return CS_2; } - case (40) { return CS_3; } - case (54) { return CS_4; } - case (27) { return MCS_1; } - case (33) { return MCS_2; } - case (42) { return MCS_3; } - case (49) { return MCS_4; } - case (60) { return MCS_5; } - case (61) { return MCS_5; } - case (78) { return MCS_6; } - case (79) { return MCS_6; } - case (118) { return MCS_7; } - case (119) { return MCS_7; } - case (142) { return MCS_8; } - case (143) { return MCS_8; } - case (154) { return MCS_9; } - case (155) { return MCS_9; } - } - return CS_1; - } - /* Partof DL RLC data block and DL RLC/MAC ctrl block */ type record DlMacHeader { MacPayloadType payload_type, @@ -406,277 +353,6 @@ external function enc_RlcmacDlBlock(in RlcmacDlBlock si) return octetstring; external function dec_RlcmacDlBlock(in octetstring stream) return RlcmacDlBlock; - template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, - MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, - boolean retry := false) := { - ctrl := { - mac_hdr := { - payload_type := pt, - spare := '00000'B, - retry := retry - }, - payload := ctrl - } - } - - /* Send Template for Downlink ACK/NACK */ - template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK(template uint5_t tfi, AckNackDescription andesc, boolean retry := false) := { - ctrl := { - mac_hdr := { - payload_type := MAC_PT_RLCMAC_NO_OPT, - spare := '00000'B, - retry := retry - }, - payload := { - msg_type := PACKET_DL_ACK_NACK, - u := { - dl_ack_nack := { - dl_tfi := tfi, - ack_nack_desc := andesc, - chreq_desc_presence := '0'B, - chreq_desc := omit, - ch_qual_rep := c_ChQualRep_default - } - } - } - } - } - - /* Template for uplink Data block */ - template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, - template LlcBlocks blocks := {}, template boolean stall := false) := { - data := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - countdown := cv, - stall_ind := false, - retry := false, - spare := '0'B, - pfi_ind := false, - tfi := tfi, - tlli_ind := false, - bsn := bsn, - e := false - }, - tlli := omit, - pfi := omit, - blocks := blocks - } - } - template RlcmacUlBlock t_RLCMAC_UL_DATA_TLLI(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, - template LlcBlocks blocks := {}, template boolean stall := false, template GprsTlli tlli) := { - data := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - countdown := cv, - stall_ind := false, - retry := false, - spare := '0'B, - pfi_ind := false, - tfi := tfi, - tlli_ind := true, - bsn := bsn, - e := false - }, - tlli := tlli, - pfi := omit, - blocks := blocks - } - } - - template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template -uint3_t usf) := { - payload_type := pt, - rrbp := rrbp, - rrbp_valid := ispresent(rrbp), - usf := usf - } - - template RlcmacDlBlock tr_RLCMAC_DUMMY_CTRL(template uint3_t usf := ?, template PageMode page_mode := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_DL_DUMMY_CTRL, - u := { - dl_dummy := { - page_mode := page_mode, - persistence_levels_present := ?, - persistence_levels := * - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_DL_PACKET_ASS(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_DL_ASSIGNMENT, - u := { - dl_assignment := { - page_mode := ?, - pres1 := ?, - persistence_levels := *, - tfi_or_tlli := ? - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_UL_ASSIGNMENT, - u := { - ul_assignment := { - page_mode := ?, - persistence_levels_present := ?, - persistence_levels := *, - identity := ?, - is_egprs := ?, /* msg escape */ - gprs := * - } - } - } - } - } - - - /* Receive Template for Uplink ACK/NACK */ - template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { - ctrl := { - mac_hdr := { - payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), - rrbp:= ?, - rrbp_valid := ?, - usf := ? - }, - opt := *, - payload := { - msg_type := PACKET_UL_ACK_NACK, - u := { - ul_ack_nack := { - page_mode := ?, - msg_excape := ?, - uplink_tfi := ul_tfi, - is_egprs := '0'B, - gprs := { - ch_coding_cmd := ?, - ack_nack_desc := ?, - cont_res_tlli_present := ?, - cont_res_tlli := tlli, - pkt_ta_present := ?, - pkt_ta := *, - pwr_ctrl_present := ?, - pwr_ctrl := * - } - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { - ctrl := { - mac_hdr := { - payload_type := MAC_PT_RLCMAC_NO_OPT, - rrbp:= ?, - rrbp_valid := ?, - usf := usf - }, - opt := *, - payload := { - msg_type := PACKET_PAGING_REQUEST, - u := { - paging := { - page_mode := ?, - persistence_levels_present := ?, - persistence_levels := *, - nln_present := ?, - nln := *, - repeated_pageinfo_present := ?, - repeated_pageinfo := * - } - } - } - } - } - - template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { - data := { - mac_hdr := { - mac_hdr := { - payload_type := MAC_PT_RLC_DATA, - rrbp := ?, - rrbp_valid := true, - usf := ? - }, - hdr_ext := ? - }, - blocks := ? - } - } - - template RlcmacDlBlock tr_RLCMAC_DATA_EGPRS := { - data_egprs := { - mac_hdr := ?, - fbi := ?, - e := ?, - blocks := ? - } - } - - /* Template for Uplink MAC Control Header */ - template UlMacCtrlHeader t_RLCMAC_UlMacCtrlH(template MacPayloadType pt, template boolean retry := false) := { - payload_type := pt, - spare := '00000'B, - retry := retry - } - - /* Template for Uplink Control ACK */ - template RlcmacUlBlock ts_RLCMAC_CTRL_ACK(GprsTlli tlli, CtrlAck ack := MS_RCVD_TWO_RLC_SAME_RTI_DIFF_RBSN) := { - ctrl := { - mac_hdr := t_RLCMAC_UlMacCtrlH(MAC_PT_RLCMAC_NO_OPT), - payload := { - msg_type := PACKET_CONTROL_ACK, - u := { - ctrl_ack := { - tlli := tlli, - ctrl_ack := ack - } - } - } - } - } - - /* Template for a LlcBlock (part of a LLC frame inside RlcMac?lDataBlock */ - template LlcBlock t_RLCMAC_LLCBLOCK(octetstring data, boolean more := false, boolean e := true) := { - /* let encoder figure out the header */ - hdr := omit, - payload := data - } - /************************ * PTCCH/D (Packet Timing Advance Control Channel) message. * TODO: add a spec. reference to the message format definition. diff --git a/mme/gen_links.sh b/mme/gen_links.sh index 469b92f..b0ecf86 100755 --- a/mme/gen_links.sh +++ b/mme/gen_links.sh @@ -56,7 +56,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="SGsAP_Templates.ttcn SGsAP_CodecPort.ttcn SGsAP_CodecPort_CtrlFunct.ttcn SGsAP_CodecPort_CtrlFunctDef.cc SGsAP_Emulation.ttcn DNS_Helpers.ttcn " -FILES+="L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn " +FILES+="L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn " FILES+="S1AP_CodecPort.ttcn S1AP_CodecPort_CtrlFunctDef.cc S1AP_CodecPort_CtrlFunct.ttcn S1AP_Emulation.ttcn " FILES+="NAS_Templates.ttcn GTPv2_PrivateExtensions.ttcn GTPv2_Templates.ttcn " FILES+="DIAMETER_Types.ttcn DIAMETER_CodecPort.ttcn DIAMETER_CodecPort_CtrlFunct.ttcn DIAMETER_CodecPort_CtrlFunctDef.cc DIAMETER_Emulation.ttcn DIAMETER_Templates.ttcn " diff --git a/msc/gen_links.sh b/msc/gen_links.sh index 329a7d1..221110e 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -93,7 +93,7 @@ DIR=../library FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn MNCC_Types.ttcn MNCC_EncDec.cc MNCC_CodecPort.ttcn mncc.h MNCC_Emulation.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc " FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc GSUP_Types.ttcn GSUP_Emulation.ttcn " -FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn RLCMAC_CSN1_Types.ttcn L3_Common.ttcn " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn L3_Common.ttcn " FILES+="RAN_Emulation.ttcnpp BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn RAN_Adapter.ttcnpp MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn " FILES+="RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc " diff --git a/pcu/GPRS_TBF.ttcn b/pcu/GPRS_TBF.ttcn index 1c9a75b..fb42097 100644 --- a/pcu/GPRS_TBF.ttcn +++ b/pcu/GPRS_TBF.ttcn @@ -14,8 +14,9 @@ import from GSM_Types all; import from Osmocom_Types all; import from General_Types all; -import from RLCMAC_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; import from LLC_Types all; import from GPRS_Context all; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 24c198e..3562925 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -28,7 +28,9 @@ import from MobileL3_GMM_SM_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; import from RLCMAC_Types all; +import from RLCMAC_Templates all; import from MobileL3_CommonIE_Types all; import from L3_Templates all; diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh index da035cb..3a52c99 100755 --- a/pcu/gen_links.sh +++ b/pcu/gen_links.sh @@ -49,7 +49,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn " diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh index c590de6..fd64a48 100755 --- a/selftest/gen_links.sh +++ b/selftest/gen_links.sh @@ -39,7 +39,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn" +FILES="Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn" gen_links $DIR $FILES ignore_pp_results diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh index 3552bc2..bd3a7ea 100755 --- a/sgsn/gen_links.sh +++ b/sgsn/gen_links.sh @@ -83,7 +83,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc " FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " diff --git a/sysinfo/gen_links.sh b/sysinfo/gen_links.sh index d32b89b..3526a29 100755 --- a/sysinfo/gen_links.sh +++ b/sysinfo/gen_links.sh @@ -25,7 +25,7 @@ gen_links $DIR $FILES DIR=../library -FILES="GSMTAP_PortType.ttcn GSMTAP_Types.ttcn GSM_SystemInformation.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn GSM_Types.ttcn IPL4_GSMTAP_CtrlFunct.ttcn IPL4_GSMTAP_CtrlFunctDef.cc Osmocom_Types.ttcn Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn" +FILES="GSMTAP_PortType.ttcn GSMTAP_Types.ttcn GSM_SystemInformation.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_Types.ttcn IPL4_GSMTAP_CtrlFunct.ttcn IPL4_GSMTAP_CtrlFunctDef.cc Osmocom_Types.ttcn Misc_Helpers.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn" gen_links $DIR $FILES ignore_pp_results -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17981 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9c6597178168aa3848b21930f33be698dd2ce545 Gerrit-Change-Number: 17981 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 ) Change subject: cosmetic: RLCMAC_EncDEc.cc: fix typos in comments ...................................................................... cosmetic: RLCMAC_EncDEc.cc: fix typos in comments Change-Id: Id91ed01759c3e1e2b52f1e35b1f4198fbc052408 --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 777815f..f4735e9 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -279,7 +279,7 @@ } /* bit-shift the entire 'src' of length 'length_bytes' by 'offset_bits' - * and store the reuslt to caller-allocated 'buffer'. The shifting is + * and store the result to caller-allocated 'buffer'. The shifting is * done lsb-first. */ static void clone_aligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, const uint8_t *src, uint8_t *buffer) @@ -938,7 +938,7 @@ int i; if (!in.blocks().is_bound()) { - /* we don't have nay blocks: Add length value (zero) */ + /* we don't have any blocks: Add length value (zero) */ in.mac__hdr().e() = false; /* E=0: extension octet follows */ } else if (in.blocks().size_of() == 1 && in.blocks()[0].hdr() == OMIT_VALUE) { /* If there's only a single block, and that block has no HDR value defined, */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17985 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id91ed01759c3e1e2b52f1e35b1f4198fbc052408 Gerrit-Change-Number: 17985 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi unin... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 ) Change subject: RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi uninitialized instead of omit ...................................................................... RLCMAC_EncDEc.cc: dec_RlcmacUl(Egprs)DataBlock: fix tlli and pfi uninitialized instead of omit Change-Id: Id63ae66cd715512f12eb87fd9ff0a9f5af93d5d2 --- M library/RLCMAC_EncDec.cc 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index f4735e9..d544e69 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -606,10 +606,14 @@ if (ret_val.mac__hdr().tlli__ind()) { ret_val.tlli() = OCTETSTRING(4, ttcn_buffer.get_read_data()); ttcn_buffer.increase_pos(4); + } else { + ret_val.tlli() = OMIT_VALUE; } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + } else { + ret_val.pfi() = OMIT_VALUE; } /* RLC blocks at end */ @@ -734,10 +738,14 @@ if (ret_val.tlli__ind()) { ret_val.tlli() = OCTETSTRING(4, aligned_buffer.get_read_data()); aligned_buffer.increase_pos(4); + } else { + ret_val.tlli() = OMIT_VALUE; } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + } else { + ret_val.pfi() = OMIT_VALUE; } /* RLC blocks at end */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17986 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id63ae66cd715512f12eb87fd9ff0a9f5af93d5d2 Gerrit-Change-Number: 17986 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 ) Change subject: RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder ...................................................................... RLCMAC_EncDEc.cc: Fix wrong descriptors passed to RAW encoder Change-Id: Ieb061d2914be086791e264a78ae14d3d55e10815 --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index d544e69..952e2e6 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -743,7 +743,7 @@ } /* parse optional PFI */ if (ret_val.mac__hdr().pfi__ind()) { - ret_val.pfi().decode(RlcmacUlDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); + ret_val.pfi().decode(RlcmacUlEgprsDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } else { ret_val.pfi() = OMIT_VALUE; } @@ -1130,7 +1130,7 @@ } if (in.mac__hdr().pfi__ind()) { - in.pfi().encode(RlcmacUlDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); } if (in.blocks().is_bound()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17987 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieb061d2914be086791e264a78ae14d3d55e10815 Gerrit-Change-Number: 17987 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul Hdea... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 ) Change subject: RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul HdeaderType3 ...................................................................... RLCMAC_EncDEc.cc: Fix encoding of tfi and rsb fields in Egprs Ul HdeaderType3 Change-Id: Id0f7cb29cf3a30aafdaaed2aca7d34277e3c975d --- M library/RLCMAC_EncDec.cc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 952e2e6..88138c6 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1040,13 +1040,13 @@ egprs3.si = bs2uint8(si.foi__si()); egprs3.cv = si.countdown(); egprs3.tfi_hi = si.tfi() >> 0; - egprs3.tfi_lo = si.tfi() >> 1; + egprs3.tfi_lo = si.tfi() >> 2; egprs3.bsn1_hi = si.bsn1() >> 0; egprs3.bsn1_lo = si.bsn1() >> 5; egprs3.cps_hi = si.cps() >> 0; egprs3.cps_lo = si.cps() >> 2; egprs3.spb = bs2uint8(si.spb()); - egprs3.rsb = bs2uint8(si.spb()); + egprs3.rsb = bs2uint8(si.rsb()); egprs3.pi = si.pfi__ind(); egprs3.spare = 0; egprs3.dummy = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17988 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id0f7cb29cf3a30aafdaaed2aca7d34277e3c975d Gerrit-Change-Number: 17988 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 ) Change subject: RLCMAC_EncDEc.cc: Use copied structure as other parts of the function ...................................................................... RLCMAC_EncDEc.cc: Use copied structure as other parts of the function Change-Id: Iffe45b3d220c0f95f1fdb54e1b90f0a0cef88ee3 --- M library/RLCMAC_EncDec.cc 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 88138c6..f5564d8 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -1078,13 +1078,13 @@ switch (in.mac__hdr().header__type()) { case EgprsHeaderType::RLCMAC__HDR__TYPE__1: - enc__RlcmacUlEgprsDataHeader_type1(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type1(in.mac__hdr(), ttcn_buffer); break; case EgprsHeaderType::RLCMAC__HDR__TYPE__2: - enc__RlcmacUlEgprsDataHeader_type2(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type2(in.mac__hdr(), ttcn_buffer); break; case EgprsHeaderType::RLCMAC__HDR__TYPE__3: - enc__RlcmacUlEgprsDataHeader_type3(si.mac__hdr(), ttcn_buffer); + enc__RlcmacUlEgprsDataHeader_type3(in.mac__hdr(), ttcn_buffer); default: break; /* TODO: error */ } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17989 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iffe45b3d220c0f95f1fdb54e1b90f0a0cef88ee3 Gerrit-Change-Number: 17989 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 ) Change subject: RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 ...................................................................... RLCMAC_EncDEc.cc: Support decoding Egprs Ul Data HeaderType2 Change-Id: I4dfc994beb7d0ee5522770651150c77701c573fe --- M library/RLCMAC_EncDec.cc 1 file changed, 21 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index f5564d8..8f3ff2f 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -673,10 +673,30 @@ static EgprsUlMacDataHeader dec__EgprsUlMacDataHeader_type3(const OCTETSTRING& stream) { + TTCN_Buffer ttcn_buffer(stream); EgprsUlMacDataHeader ret_val; + const struct gprs_rlc_ul_header_egprs_3 *egprs3; + uint8_t tmp; - fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__); + egprs3 = static_cast + ((const void *)ttcn_buffer.get_data()); + ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__3; + ret_val.tfi() = egprs3->tfi_lo << 2 | egprs3->tfi_hi << 0; + ret_val.countdown() = egprs3->cv; + tmp = egprs3->si; + ret_val.foi__si() = BITSTRING(1, &tmp); + tmp = egprs3->r; + ret_val.r__ri() = BITSTRING(1, &tmp); + ret_val.bsn1() = egprs3->bsn1_lo << 5 | egprs3->bsn1_hi << 0; + ret_val.cps() = egprs3->cps_lo << 2 | egprs3->cps_hi << 0; + ret_val.pfi__ind() = egprs3->pi; + tmp = egprs3->rsb; + ret_val.rsb() = BITSTRING(1, &tmp); + tmp = egprs3->spb; + ret_val.spb() = BITSTRING(2, &tmp); + + ttcn_buffer.increase_pos(sizeof(*egprs3)); return ret_val; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17990 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4dfc994beb7d0ee5522770651150c77701c573fe Gerrit-Change-Number: 17990 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:39:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:39:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 ) Change subject: RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS ...................................................................... RLCMAC_Templates: Add functions to convert HeaderType<->MCS<->CPS They will be used by tests, templates and RLCMAC_EncDec.cc itself. MCS HEader Type 1 and 2 to CPS conversion lefts as a TODO with placeholder functions to easily implement when needed. Change-Id: I18ff55a8067165bf081bf21473b4f88af955bf5b --- M library/RLCMAC_Templates.ttcn M library/RLCMAC_Types.ttcn 2 files changed, 177 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 8fb6b0c..d2174d7 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -29,6 +29,22 @@ return 0; } + function f_rlcmac_mcs2headertype(CodingScheme mcs) return EgprsHeaderType { + select (mcs) { + case (MCS_0) { return RLCMAC_HDR_TYPE_3; } + case (MCS_1) { return RLCMAC_HDR_TYPE_3; } + case (MCS_2) { return RLCMAC_HDR_TYPE_3; } + case (MCS_3) { return RLCMAC_HDR_TYPE_3; } + case (MCS_4) { return RLCMAC_HDR_TYPE_3; } + case (MCS_5) { return RLCMAC_HDR_TYPE_2; } + case (MCS_6) { return RLCMAC_HDR_TYPE_2; } + case (MCS_7) { return RLCMAC_HDR_TYPE_1; } + case (MCS_8) { return RLCMAC_HDR_TYPE_1; } + case (MCS_9) { return RLCMAC_HDR_TYPE_1; } + } + return RLCMAC_HDR_TYPE_3; + } + function f_rlcmac_cs_mcs2block_len(CodingScheme cs_mcs) return uint32_t { select (cs_mcs) { case (CS_1) { return 23; } @@ -72,6 +88,166 @@ return CS_1; } + /* Coding and Puncturing Scheme indicator field for Header type 1 in EGPRS TBF or EC TBF or downlink EGPRS2 TBF */ + function f_rlcmac_cps_htype1_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type1_coding_puncturing_scheme_to_mcs := { + MCS_9 /* 0x00, "(MCS-9/P1 ; MCS-9/P1)" */, + MCS_9 /* 0x01, "(MCS-9/P1 ; MCS-9/P2)" */, + MCS_9 /* 0x02, "(MCS-9/P1 ; MCS-9/P3)" */, + MCS_0 /* 0x03, "reserved" */, + MCS_9 /* 0x04, "(MCS-9/P2 ; MCS-9/P1)" */, + MCS_9 /* 0x05, "(MCS-9/P2 ; MCS-9/P2)" */, + MCS_9 /* 0x06, "(MCS-9/P2 ; MCS-9/P3)" */, + MCS_0 /* 0x07, "reserved" */, + MCS_9 /* 0x08, "(MCS-9/P3 ; MCS-9/P1)" */, + MCS_9 /* 0x09, "(MCS-9/P3 ; MCS-9/P2)" */, + MCS_9 /* 0x0A, "(MCS-9/P3 ; MCS-9/P3)" */, + MCS_8 /* 0x0B, "(MCS-8/P1 ; MCS-8/P1)" */, + MCS_8 /* 0x0C, "(MCS-8/P1 ; MCS-8/P2)" */, + MCS_8 /* 0x0D, "(MCS-8/P1 ; MCS-8/P3)" */, + MCS_8 /* 0x0E, "(MCS-8/P2 ; MCS-8/P1)" */, + MCS_8 /* 0x0F, "(MCS-8/P2 ; MCS-8/P2)" */, + MCS_8 /* 0x10, "(MCS-8/P2 ; MCS-8/P3)" */, + MCS_8 /* 0x11, "(MCS-8/P3 ; MCS-8/P1)" */, + MCS_8 /* 0x12, "(MCS-8/P3 ; MCS-8/P2)" */, + MCS_8 /* 0x13, "(MCS-8/P3 ; MCS-8/P3)" */, + MCS_7 /* 0x14, "(MCS-7/P1 ; MCS-7/P1)" */, + MCS_7 /* 0x15, "(MCS-7/P1 ; MCS-7/P2)" */, + MCS_7 /* 0x16, "(MCS-7/P1 ; MCS-7/P3)" */, + MCS_7 /* 0x17, "(MCS-7/P2 ; MCS-7/P1)" */, + MCS_7 /* 0x18, "(MCS-7/P2 ; MCS-7/P2)" */, + MCS_7 /* 0x19, "(MCS-7/P2 ; MCS-7/P3)" */, + MCS_7 /* 0x1A, "(MCS-7/P3 ; MCS-7/P1)" */, + MCS_7 /* 0x1B, "(MCS-7/P3 ; MCS-7/P2)" */, + MCS_7 /* 0x1C, "(MCS-7/P3 ; MCS-7/P3)" */, + MCS_0 /* 0x1D, "reserved" */, + MCS_0 /* 0x1E, "reserved" */, + MCS_0 /* 0x1F, "reserved" */ + }; + return egprs_Header_type1_coding_puncturing_scheme_to_mcs[cps]; + } + + /* Coding and Puncturing Scheme indicator field for Header type 2 in (EC-)EGPRS TBF or uplink EGPRS2-A TBF */ + function f_rlcmac_cps_htype2_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type2_coding_puncturing_scheme_to_mcs := { + MCS_6 /* {0x00, "MCS-6/P1"} */, + MCS_6 /* {0x01, "MCS-6/P2"} */, + MCS_6 /* {0x02, "MCS-6/P1 with 6 octet padding"} */, + MCS_6 /* {0x03, "MCS-6/P2 with 6 octet padding "} */, + MCS_5 /* {0x04, "MCS-5/P1"} */, + MCS_5 /* {0x05, "MCS-5/P2"} */, + MCS_5 /* {0x06, "MCS-6/P1 with 10 octet padding "} */, + MCS_5 /* {0x07, "MCS-6/P2 with 10 octet padding "} */ + }; + return egprs_Header_type2_coding_puncturing_scheme_to_mcs[cps]; + } + + /* Coding and Puncturing Scheme indicator field for Header type 3 */ + function f_rlcmac_cps_htype3_to_mcs(uint3_t cps) return CodingScheme { + var CodingSchemeArray egprs_Header_type3_coding_puncturing_scheme_to_mcs := { + MCS_4 /* {0x00, "MCS-4/P1"} */, + MCS_4 /* {0x01, "MCS-4/P2"} */, + MCS_4 /* {0x02, "MCS-4/P3"} */, + MCS_3 /* {0x03, "MCS-3/P1"} */, + MCS_3 /* {0x04, "MCS-3/P2"} */, + MCS_3 /* {0x05, "MCS-3/P3"} */, + MCS_3 /* {0x06, "MCS-3/P1 with padding"} */, + MCS_3 /* {0x07, "MCS-3/P2 with padding"} */, + MCS_3 /* {0x08, "MCS-3/P3 with padding"} */, + MCS_2 /* {0x09, "MCS-2/P1"} */, + MCS_2 /* {0x0A, "MCS-2/P2"} */, + MCS_1 /* {0x0B, "MCS-1/P1"} */, + MCS_1 /* {0x0C, "MCS-1/P2"} */, + MCS_2 /* {0x0D, "MCS-2/P1 with padding"} */, + MCS_2 /* {0x0E, "MCS-2/P2 with padding"} */, + MCS_0 /* {0x0F, "MCS-0"} */ + }; + return egprs_Header_type3_coding_puncturing_scheme_to_mcs[cps]; + } + + function f_rlcmac_cps_htype_to_mcs(uint3_t cps, EgprsHeaderType htype) return CodingScheme { + select (htype) { + case (RLCMAC_HDR_TYPE_1) { return f_rlcmac_cps_htype1_to_mcs(cps); } + case (RLCMAC_HDR_TYPE_2) { return f_rlcmac_cps_htype2_to_mcs(cps); } + case (RLCMAC_HDR_TYPE_3) { return f_rlcmac_cps_htype3_to_mcs(cps); } + } + //TODO: return error here. + return CS_1; + } + + function f_rlcmac_mcs_to_cps_htype1(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + //TODO: implement similar to f_rlcmac_mcs_to_cps_htype3() + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps_htype2(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + //TODO: implement similar to f_rlcmac_mcs_to_cps_htype3() + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps_htype3(CodingScheme mcs, uint2_t part, boolean with_padding) return uint5_t { + select (mcs) { + case (MCS_4) { + select (part) { + case (1) { return 0; /* {0x00, "MCS-4/P1"} */ } + case (2) { return 1; /* {0x01, "MCS-4/P2"} */ } + case (3) { return 2; /* {0x01, "MCS-4/P2"} */ } + } + } + case (MCS_3) { + if (not with_padding) { + select (part) { + case (1) { return 3; /* {0x03, "MCS-3/P1"} */ } + case (2) { return 4; /* {0x04, "MCS-3/P2"} */ } + case (3) { return 5; /* {0x05, "MCS-3/P3"} */ } + } + } else { + select (part) { + case (1) { return 6; /* {0x06, "MCS-3/P1 with padding"} */ } + case (2) { return 7; /* {0x07, "MCS-3/P2 with padding"} */ } + case (3) { return 8; /* {0x08, "MCS-3/P3 with padding"} */ } + } + } + } + case (MCS_2) { + if (not with_padding) { + select (part) { + case (1) { return 9; /* {0x09, "MCS-2/P1"} */ } + case (2) { return 10; /* {0x0A, "MCS-2/P2"} */ } + } + } else { + select (part) { + case (1) { return 13; /* {0x0D, "MCS-2/P1 with padding"} */ } + case (2) { return 14; /* {0x0E, "MCS-2/P2 with padding"} */} + } + } + } + case (MCS_1) { + select (part) { + case (1) { return 11; /* {0x0B, "MCS-1/P1"} */ } + case (2) { return 12; /* {0x0C, "MCS-1/P2"} */ } + } + } + case (MCS_0) { return 15; /* {0x0F, "MCS-0"} */ } + } + //TODO: return error here. + return 0; + } + + function f_rlcmac_mcs_to_cps(CodingScheme mcs, uint2_t part, boolean with_padding := false) return uint5_t { + + var EgprsHeaderType htype := f_rlcmac_mcs2headertype(mcs); + select (htype) { + case (RLCMAC_HDR_TYPE_1) { return f_rlcmac_mcs_to_cps_htype1(mcs, part, with_padding); } + case (RLCMAC_HDR_TYPE_2) { return f_rlcmac_mcs_to_cps_htype2(mcs, part, with_padding); } + case (RLCMAC_HDR_TYPE_3) { return f_rlcmac_mcs_to_cps_htype3(mcs, part, with_padding); } + } + //TODO: return error here. + return 0; + } + template (value) RlcmacUlBlock ts_RLC_UL_CTRL_ACK(RlcmacUlCtrlMsg ctrl, MacPayloadType pt := MAC_PT_RLCMAC_NO_OPT, boolean retry := false) := { diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn index 27c1805..96b8a64 100644 --- a/library/RLCMAC_Types.ttcn +++ b/library/RLCMAC_Types.ttcn @@ -55,6 +55,7 @@ //MCS5_7, ? // MCS6_9 ? }; + type record of CodingScheme CodingSchemeArray; /* Partof DL RLC data block and DL RLC/MAC ctrl block */ type record DlMacHeader { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17991 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I18ff55a8067165bf081bf21473b4f88af955bf5b Gerrit-Change-Number: 17991 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:40:12 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender in case of RPL delivery failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17875 ) Change subject: SMS-over-GSUP: notify sender in case of RPL delivery failure ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8436601c4314395e28829960dc753778c37b1125 Gerrit-Change-Number: 17875 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 01 May 2020 14:40:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:40:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:40:14 +0000 Subject: Change in osmo-msc[master]: SMS-over-GSUP: notify sender in case of RPL delivery failure In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17875 ) Change subject: SMS-over-GSUP: notify sender in case of RPL delivery failure ...................................................................... SMS-over-GSUP: notify sender in case of RPL delivery failure Change-Id: I8436601c4314395e28829960dc753778c37b1125 --- M src/libmsc/gsm_04_11_gsup.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libmsc/gsm_04_11_gsup.c b/src/libmsc/gsm_04_11_gsup.c index 7c9b6fb..1f500d0 100644 --- a/src/libmsc/gsm_04_11_gsup.c +++ b/src/libmsc/gsm_04_11_gsup.c @@ -261,7 +261,7 @@ if (rc) { LOGP(DLSMS, LOGL_NOTICE, "Failed to send MT SMS, " "ignoring MT-forwardSM-Req message...\n"); - /* TODO: notify sender about that? */ + gsup_client_mux_tx_error_reply(net->gcm, gsup_msg, GMM_CAUSE_NET_FAIL); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17875 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8436601c4314395e28829960dc753778c37b1125 Gerrit-Change-Number: 17875 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:49:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:49:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec.cc: Fix egprs data block encode alignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 ) Change subject: RLCMAC_EncDec.cc: Fix egprs data block encode alignment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865 Gerrit-Change-Number: 17992 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 01 May 2020 14:49:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:49:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 1 May 2020 14:49:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec.cc: Fix egprs data block encode alignment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 ) Change subject: RLCMAC_EncDec.cc: Fix egprs data block encode alignment ...................................................................... RLCMAC_EncDec.cc: Fix egprs data block encode alignment Selftests I'm using in the pcu testsuite to verify encoding are attached too. Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865 --- M library/RLCMAC_EncDec.cc M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 4 files changed, 209 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc index 8f3ff2f..d25a7e0 100644 --- a/library/RLCMAC_EncDec.cc +++ b/library/RLCMAC_EncDec.cc @@ -2,6 +2,7 @@ #include #include "RLCMAC_Types.hh" +#include "RLCMAC_Templates.hh" #include "GSM_Types.hh" /* Decoding of TS 44.060 GPRS RLC/MAC blocks, portions requiring manual functions * beyond what TITAN RAW coder can handle internally. @@ -172,6 +173,22 @@ #endif } __attribute__ ((packed)); +/* +static const char hex_chars[] = "0123456789abcdef"; +void printbuffer(const char* ptr, TTCN_Buffer& buf) { + int len = buf.get_len(); + const unsigned char* cbuf = buf.get_data(); + + fprintf(stderr, "printbuffer %s (len=%d): [", ptr, len); + + for (int i = 0; i < len; i++) { + fprintf(stderr, " %c%c", hex_chars[cbuf[i] >> 4], hex_chars[cbuf[i] & 0xf]); + } + + fprintf(stderr, " ]\n"); +} +*/ + static CodingScheme::enum_type payload_len_2_coding_scheme(size_t payload_len) { switch (payload_len) { case 23: @@ -294,7 +311,7 @@ hdr_bytes = offset_bits / 8; extra_bits = offset_bits % 8; - fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + //fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); if (extra_bits == 0) { /* It is aligned already */ @@ -324,9 +341,8 @@ size_t length_bytes = (initial_spare_bits + length_bits + 7) / 8; size_t accepted_len = length_bytes; - fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); + //fprintf(stderr, "RLMAC: trying to allocate %u bytes (orig is %zu bytes long with read pos %zu)\n", length_bytes, orig_ttcn_buffer.get_len(), orig_ttcn_buffer.get_pos()); dst_ttcn_buffer.get_end(aligned_buf, accepted_len); - fprintf(stderr, "RLMAC: For dst ptr=%p with length=%zu\n", aligned_buf, accepted_len); if (accepted_len < length_bytes) { fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); } @@ -337,14 +353,90 @@ orig_ttcn_buffer.get_data(), aligned_buf); - fprintf(stderr, "RLMAC: clone_aligned_buffer_lsbf success\n"); - /* clear spare bits and move block header bits to the right */ aligned_buf[0] = aligned_buf[0] >> initial_spare_bits; dst_ttcn_buffer.increase_length(length_bytes); } +/* bit-shift the entire 'src' of length 'length_bytes' + * and store the result to caller-allocated 'buffer' by 'offset_bits'. The shifting is + * done lsb-first. */ +static void clone_unaligned_buffer_lsbf(unsigned int offset_bits, unsigned int length_bytes, + const uint8_t *src, uint8_t *buffer) +{ + unsigned int hdr_bytes; + unsigned int extra_bits; + unsigned int i; + + uint8_t c, last_hdr_c, last_c; + uint8_t *dst; + + hdr_bytes = offset_bits / 8; + extra_bits = offset_bits % 8; + + //fprintf(stderr, "RLMAC: clone: hdr_bytes=%u extra_bits=%u (length_bytes=%u)\n", hdr_bytes, extra_bits, length_bytes); + + if (extra_bits == 0) { + /* It is aligned already */ + memcpy(buffer, src + hdr_bytes, length_bytes); + return; + } + + /* Copy first header+data byte, it's not handled correctly by loop */ + dst = buffer + hdr_bytes; + last_hdr_c = *dst; + last_c = *dst << (8 - extra_bits); + + for (i = 0; i < length_bytes; i++) { + c = src[i]; + *(dst++) = (last_c >> (8 - extra_bits)) | (c << extra_bits); + last_c = c; + } + /* overwrite the lower extra_bits */ + *dst = (*dst & (0xff << extra_bits)) | (last_c >> (8 - extra_bits)); + + /* Copy back first header+data byte */ + dst = buffer + hdr_bytes; + *(dst++) = last_hdr_c | (src[0] << (8 - extra_bits)); + *dst |= (src[0] >> (extra_bits)) & (0xff >> (8 - extra_bits)); +} + +/* put an (aligned) EGPRS data block with given bit-offset and + * bit-length into parent buffer */ +static void put_egprs_data_block(const TTCN_Buffer& aligned_data_block_buffer, unsigned int offset_bits, + unsigned int length_bits, TTCN_Buffer& dst_ttcn_buffer) +{ + const unsigned int initial_spare_bits = 6; + unsigned char *unaligned_buf = NULL; + char tmpbuf[120]; + int tmplen = dst_ttcn_buffer.get_len(); + //size_t max_length_bytes = (initial_spare_bits + length_bits + 7) / 8; + size_t length_bytes = tmplen + aligned_data_block_buffer.get_len(); + size_t accepted_len = length_bytes; + + //fprintf(stderr, "RLMAC: trying to allocate %u bytes\n", length_bytes); + + /* API .get_end() is the only one I could find to access writeable + memory in the buffer. It points to the end. Hence, we first copy + (readonly) data to tmpbuf and later clear() so that .get_end() + provides us with a pointer to the start of the buffer. */ + memcpy(tmpbuf, dst_ttcn_buffer.get_data(), tmplen); + dst_ttcn_buffer.clear(); + dst_ttcn_buffer.get_end(unaligned_buf, accepted_len); + if (accepted_len < tmplen) { + fprintf(stderr, "RLMAC: ERROR! asked for %zu bytes but got %zu\n", length_bytes, accepted_len); + } + memcpy(unaligned_buf, tmpbuf, tmplen); + + /* Copy the data out of the tvb to an aligned buffer */ + clone_unaligned_buffer_lsbf( + offset_bits - initial_spare_bits, length_bytes, + aligned_data_block_buffer.get_data(), + unaligned_buf); + + dst_ttcn_buffer.increase_length(length_bytes); +} ///////////////////// // DECODE @@ -1078,8 +1170,15 @@ { RlcmacUlEgprsDataBlock in = si; OCTETSTRING ret_val; - TTCN_Buffer ttcn_buffer; + TTCN_Buffer ttcn_buffer, aligned_buffer; int i; + unsigned int data_block_bits, data_block_offsets[2]; + unsigned int num_calls; + CodingScheme mcs; + boolean tlli_ind, e; + + mcs = RLCMAC__Templates::f__rlcmac__cps__htype__to__mcs(in.mac__hdr().cps(), in.mac__hdr().header__type()); + //fprintf(stderr, "RLCMAC: infered MCS %s (%d)\n", mcs.enum_to_str(static_cast(mcs.as_int())), mcs.as_int()); if (!in.blocks().is_bound()) { /* we don't have nay blocks: Add length value (zero) */ @@ -1109,10 +1208,14 @@ break; /* TODO: error */ } + /* Put first TI + E byte */ + aligned_buffer.put_c(tlli_ind << 1 | e << 0); /* M=0, E=1 LEN=0 */ + //printbuffer("After encoding first byte", aligned_buffer); + if (in.e() == false) { /* Add LI octets, if any */ if (!in.blocks().is_bound()) { - ttcn_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ + aligned_buffer.put_c(0x01); /* M=0, E=1 LEN=0 */ } else { for (i = 0; i < in.blocks().size_of(); i++) { #if 0 @@ -1138,28 +1241,38 @@ } #endif if (in.blocks()[i].hdr() != OMIT_VALUE) { - in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, ttcn_buffer, + in.blocks()[i].hdr()().encode(EgprsLlcBlockHdr_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } } } } + + if (in.tlli__ind()) { - ttcn_buffer.put_string(in.tlli()); + aligned_buffer.put_string(in.tlli()); } if (in.mac__hdr().pfi__ind()) { - in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, ttcn_buffer, TTCN_EncDec::CT_RAW); + in.pfi().encode(RlcmacUlEgprsDataBlock_pfi_descr_, aligned_buffer, TTCN_EncDec::CT_RAW); } + //printbuffer("Before encoding EgprsLlc payload", aligned_buffer); if (in.blocks().is_bound()) { for (i = 0; i < in.blocks().size_of(); i++) { if (!in.blocks()[i].is_bound()) continue; - ttcn_buffer.put_string(in.blocks()[i].payload()); + aligned_buffer.put_string(in.blocks()[i].payload()); } } + //printbuffer("After encoding EgprsLlc payload", aligned_buffer); + + setup_rlc_mac_priv(mcs, in.mac__hdr().header__type(), true, + &num_calls, &data_block_bits, data_block_offsets); + //printbuffer("before merging data block", ttcn_buffer); + put_egprs_data_block(aligned_buffer, data_block_offsets[0], data_block_bits, ttcn_buffer); + //printbuffer("after merging data block", ttcn_buffer); ttcn_buffer.get_string(ret_val); return ret_val; diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index d2174d7..38147f3 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -326,6 +326,31 @@ } } + /* Template for uplink Data block */ + template RlcmacUlBlock t_RLCMAC_UL_EGPRS_DATA(CodingScheme mcs, + template uint5_t tfi, template uint4_t cv, + template uint11_t bsn1, template EgprsLlcBlocks blocks := {}) := { + data_egprs := { + mac_hdr := { + header_type := f_rlcmac_mcs2headertype(mcs), + tfi := tfi, + countdown := cv, + foi_si := '0'B, + r_ri := '0'B, + bsn1 := bsn1, + cps := f_rlcmac_mcs_to_cps(mcs, 1, false), + pfi_ind := false, + rsb := '0'B, + spb := '00'B + }, + tlli_ind := false, + e := false, + tlli := omit, + pfi := omit, + blocks := blocks + } + } + template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template uint3_t usf) := { payload_type := pt, @@ -519,4 +544,11 @@ payload := data } + /* Template for a LlcBlock (part of a LLC frame inside RlcMacEgprs?lDataBlock */ + template EgprsLlcBlock t_RLCMAC_LLCBLOCK_EGPRS(octetstring data, boolean e := true) := { + /* let encoder figure out the header */ + hdr := omit, + payload := data + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3562925..c69101b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -187,7 +187,7 @@ } } -private function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) +function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) runs on RAW_PCU_Test_CT { var RAW_PCUIF_CT vc_PCUIF; var RAW_PCU_BTS_CT vc_BTS; @@ -394,7 +394,7 @@ } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -private function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) runs on RAW_PCU_Test_CT { var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 3cdb4f4..15cdd80 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -17,12 +17,15 @@ import from NS_Emulation all; import from GPRS_Context all; import from Osmocom_Gb_Types all; +import from Osmocom_Types all; import from LLC_Types all; import from LLC_Templates all; import from L3_Templates all; import from GSM_RR_Types all; -import from RLCMAC_Types all; import from RLCMAC_CSN1_Types all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; +import from PCU_Tests all; type component dummy_CT extends BSSGP_Client_CT { var NS_CT ns_component; @@ -249,6 +252,53 @@ f_rlcmac_ul_decenc(c_ul_dl_ack_nack); } +testcase TC_selftest_rlcmac_egprs() runs on RAW_PCU_Test_CT +{ + var octetstring data; + var CodingSchemeArray schemes := { + //MCS_0, + MCS_1, + MCS_2, + MCS_3, + MCS_4, + MCS_5, + MCS_6, + MCS_7, + MCS_8, + MCS_9 + }; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + log("Started Uplink test"); + for (var integer i := 0; i < sizeof(schemes); i := i+1) { + log("Testing Coding Schema ", schemes[i]); + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_EGPRS_DATA( + schemes[i], + tfi := 4, + cv := 1, /* num UL blocks to be sent (to be overridden in loop) */ + bsn1 := 2, /* TODO: what should be here? */ + blocks := { /* To be generated in loop */ }); + + ul_data.data_egprs.tlli := '00100101'O; + ul_data.data_egprs.blocks := { valueof(t_RLCMAC_LLCBLOCK_EGPRS('AABBCCDDEEFF00112233'O)) }; + + /* Encode the payload of DATA.ind */ + log("Encoding ", valueof(ul_data)); + data := enc_RlcmacUlBlock(valueof(ul_data)); + data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O); + + /* Send to PCU so that we get gsmtap traces to verify with wireshark */ + f_pcuif_tx_data_ind(data, 0, 0); + + log("Decoding ", schemes[i]); + ul_data := dec_RlcmacUlBlock(data); + log("Decoded: ", ul_data); + } + log("Done Uplink test"); +} + /////////////////// // RR selftest /////////////////// -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17992 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865 Gerrit-Change-Number: 17992 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 14:56:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 1 May 2020 14:56:00 +0000 Subject: Change in libosmocore[master]: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17993 ) Change subject: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt ...................................................................... configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt AC_SEARCH_LIBS was finding the function correctly, but later on AC_CHECK_FUNCS was not including the found LIBRARY_RT so the function was not found, and hence HAVE_CLOCK_GETTIME ended up undefined (which in turns disables support for osmo_clock_gettime() API). This happened in systems like the soekris where the clock_gettime sybmol is available in external lib -lrt. Let's avoid double-checking for the function twice, and simply define HAVE_CLOCK_GETTIME when AC_SEARCH_LIBS succeeds (the success action is guaranteed to be called even if there's no extra lib required). Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 --- M configure.ac 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/17993/1 diff --git a/configure.ac b/configure.ac index 352648b..cba0a41 100644 --- a/configure.ac +++ b/configure.ac @@ -77,7 +77,9 @@ AX_PTHREAD # check for old glibc < 2.17 to get clock_gettime -AC_SEARCH_LIBS([clock_gettime], [rt posix4], [LIBRARY_RT="$LIBS";LIBS=""]) +AC_SEARCH_LIBS([clock_gettime], [rt posix4], + [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if clock_gettime is available]) + LIBRARY_RT="$LIBS";LIBS="";]) AC_SUBST(LIBRARY_RT) AC_ARG_ENABLE(doxygen, @@ -103,7 +105,7 @@ CFLAGS="$saved_CFLAGS" AC_SUBST(SYMBOL_VISIBILITY) -AC_CHECK_FUNCS(clock_gettime localtime_r) +AC_CHECK_FUNCS(localtime_r) AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17993 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 Gerrit-Change-Number: 17993 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 15:33:11 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 1 May 2020 15:33:11 +0000 Subject: Change in libosmocore[master]: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17993 ) Change subject: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt ...................................................................... Patch Set 1: Code-Review+1 LGTM and works on both soekris and my laptop -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17993 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 Gerrit-Change-Number: 17993 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 01 May 2020 15:33:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 1 16:05:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 1 May 2020 16:05:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: EGPRS In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16677 ) Change subject: WIP: EGPRS ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16677 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3b36d20b5350c8011fd5b4cd2bb2eadd08b74823 Gerrit-Change-Number: 16677 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat May 2 01:48:17 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 02 May 2020 01:48:17 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eacd1828b750_97e2b20445445f4110481@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 944s] | CONFIG_LINKS = [ 944s] | CONFIG_COMMANDS = [ 944s] | $ ./config.status Doxyfile.core [ 944s] | [ 944s] | on obs-arm-6 [ 944s] | [ 944s] | config.status:1341: creating Doxyfile.core [ 944s] [ 944s] # -*- compilation -*- [ 944s] 59. testsuite.at:372: testing exec ... [ 944s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 944s] --- experr 2020-05-02 01:47:53.795000000 +0000 [ 944s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-05-02 01:47:53.795000000 +0000 [ 944s] @@ -1 +0,0 @@ [ 944s] -MAHLZEIT=spaet [ 944s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 944s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 944s] make[1]: *** [override_dh_auto_test] Error 1 [ 944s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 944s] debian/rules:15: recipe for target 'build' failed [ 944s] make: *** [build] Error 2 [ 944s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 944s] ### VM INTERACTION START ### [ 947s] [ 923.461487] sysrq: SysRq : Power Off [ 947s] [ 923.466927] reboot: Power down [ 947s] ### VM INTERACTION END ### [ 947s] [ 947s] obs-arm-6 failed "build libosmocore_1.3.0.72.d87d.dsc" at Sat May 2 01:47:59 UTC 2020. [ 947s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat May 2 02:12:17 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 02 May 2020 02:12:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5eacd7064eb67_97e2b20445445f41109424@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/xUbuntu_18.10/i586 Package network:osmocom:nightly/osmo-pcap failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: [ 14s] dpkg: libgcc1:i386: dependency problems, but configuring anyway as you requested: [ 14s] libgcc1:i386 depends on libc6 (>= 2.2.4); however: [ 14s] Package libc6 is not installed. [ 14s] [15/213] installing libc6-2.28-0ubuntu1 [ 16s] [16/213] installing cpio-2.12+dfsg-6 [ 16s] update-alternatives: using /bin/mt-gnu to provide /bin/mt (mt) in auto mode [ 16s] [17/213] installing debianutils-4.8.6 [ 16s] [18/213] installing diffutils-1:3.6-1 [ 16s] [19/213] installing gettext-base-0.19.8.1-8 [ 16s] [20/213] installing hostname-3.20 [ 16s] [21/213] installing libattr1-1:2.4.47-2build1 [ 16s] [22/213] installing libbsd0-0.9.1-1 [ 16s] [23/213] installing libbz2-1.0-1.0.6-9 [ 16s] [24/213] installing libc-bin-2.28-0ubuntu1 [ 16s] [25/213] installing libc-dev-bin-2.28-0ubuntu1 [ 16s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 16s] dpkg-deb: error: subprocess returned error exit status 2 [ 16s] dpkg: error processing archive .init_b_cache/libc-dev-bin.deb (--install): [ 16s] cannot copy extracted data for './usr/bin/mtrace' to '/usr/bin/mtrace.dpkg-new': unexpected end of file or stream [ 16s] Errors were encountered while processing: [ 16s] .init_b_cache/libc-dev-bin.deb [ 16s] exit ... [ 16s] ### VM INTERACTION START ### [ 19s] [ 12.266494] sysrq: SysRq : Power Off [ 19s] [ 12.277357] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] sheep86 failed "build osmo-pcap_0.1.2.dsc" at Sat May 2 02:12:00 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat May 2 09:26:47 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 02 May 2020 09:26:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ead3cd94aaec_97e2b20445445f41192397@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 525s] ^~~~~~~~~~~~~~~~~~~ [ 525s] main.c: In function 'main': [ 525s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 525s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 525s] ^~~~~~~~~~~~~~~~~~~ [ 525s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 525s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 525s] ^ [ 525s] cc1: some warnings being treated as errors [ 525s] Makefile:469: recipe for target 'main.o' failed [ 525s] make[3]: *** [main.o] Error 1 [ 525s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 525s] Makefile:402: recipe for target 'all-recursive' failed [ 525s] make[2]: *** [all-recursive] Error 1 [ 525s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 525s] Makefile:349: recipe for target 'all' failed [ 525s] make[1]: *** [all] Error 2 [ 525s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 525s] dh_auto_build: make -j1 returned exit code 2 [ 525s] debian/rules:45: recipe for target 'build' failed [ 525s] make: *** [build] Error 2 [ 525s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 525s] ### VM INTERACTION START ### [ 528s] [ 503.859307] sysrq: SysRq : Power Off [ 528s] [ 503.903443] reboot: Power down [ 529s] ### VM INTERACTION END ### [ 529s] [ 529s] obs-arm-5 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Sat May 2 09:26:43 UTC 2020. [ 529s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 2 10:15:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 2 May 2020 10:15:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 ) Change subject: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 ...................................................................... library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 Commit [1] introduced multiple regressions, because it basically changed the byte order in all fields of the whole module from 'first' (implicit default) to 'last'. This is not what we need. Instead, let's apply BYTEORDER(last) to 5 bit 'ext_ra' fields unless the bug [2] in TITAN's RAW codec is fixed. [1] I481a40daef3eed4a3daa687ad87c4128a13181b4 [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Signed-off-by: Vadim Yanitskiy --- M library/GSM_RR_Types.ttcn 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/17994/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 6e359ab..dcf12ae 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -194,10 +194,7 @@ type record LocationAreaIdentification { BcdMccMnc mcc_mnc, uint16_t lac - } with { - /* Otherwise '262F45'H is encoded as '24F262'H */ - variant (mcc_mnc) "BYTEORDER(first)" - }; + } with { variant "" }; /* TS 24.008 10.5.1.4 */ type enumerated MobileIdentityType { @@ -412,6 +409,8 @@ variant (r99) "CSN.1 L/H" variant (presence) "PRESENCE(r99 = '1'B)" /* H */ variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first }; type union PacketUlDlAssignUnion { PacketUlAssign ul, @@ -634,6 +633,8 @@ variant (ats) "PRESENCE(ats_present = '1'B)" variant (dynamic) "PRESENCE(presence = '1'B)" variant (multiblock) "PRESENCE(presence = '0'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first }; type octetstring MblkDlAss; /* TODO */ @@ -1064,4 +1065,4 @@ } }; -} with { encode "RAW" ; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" } +} with { encode "RAW" ; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Gerrit-Change-Number: 17994 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 10:15:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 2 May 2020 10:15:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement SI3 Rest Octets as per 3GPP TS 44.018 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 ) Change subject: library: implement SI3 Rest Octets as per 3GPP TS 44.018 ...................................................................... library: implement SI3 Rest Octets as per 3GPP TS 44.018 Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Signed-off-by: Vadim Yanitskiy --- M bts/gen_links.sh A library/GSM_RestOctets.ttcn 2 files changed, 120 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/17995/1 diff --git a/bts/gen_links.sh b/bts/gen_links.sh index b6921fa..7aa8398 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -33,7 +33,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn RSL_Types.ttcn RSL_Emulation.ttcn AbisOML_Types.ttcn " diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn new file mode 100644 index 0000000..8f0346d --- /dev/null +++ b/library/GSM_RestOctets.ttcn @@ -0,0 +1,119 @@ +/** + * GSM Rest Octets definitions as per 3GPP TS 44.018. + * + * (C) 2020 Vadim Yanitskiy + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module GSM_RestOctets { + +import from General_Types all; +import from Osmocom_Types all; + +/* 10.5.2.34 SI 3 Rest Octets */ +type record SI3RestOctets { + SelectionParamsOpt sel_params, + PowerOffsetOpt pwr_offset, + BIT1 si_2ter_ind, + BIT1 early_cm_ind, + SchedIfAndWhere sched_where, + GPRSIndicatorOpt gprs_ind, + BIT1 umts_early_cm_ind, + SI2quaterIndicatorOpt si2_quater_ind, + BIT1 iu_mode_ind ('1'B) optional, + SI21IndicatorOpt si21_ind optional + /* ... spare padding ... */ +} with { + variant (si_2ter_ind) "CSN.1 L/H" + variant (early_cm_ind) "CSN.1 L/H" + variant (umts_early_cm_ind) "CSN.1 L/H" + + /* If Iu mode is not supported in the cell, the Iu Indicator is not sent + * within this cell. Iu Indicator is included if and only if GPRS is + * not supported, and Iu mode is supported in the cell. */ + variant (iu_mode_ind) "PRESENCE(gprs_ind.presence = '0'B)" + /* SI21 field is only present if 'WHERE' information is not present. */ + variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" +}; + +/* Selection Parameters */ +type record SelectionParams { + boolean cbq, + uint6_t cr_offset, + uint3_t temp_offset, + uint5_t penalty_time +} with { + variant (cbq) "FIELDLENGTH(1)" +}; + +/* Optional Selection Parameters: L | H < Selection Parameters > */ +type record SelectionParamsOpt { + BIT1 presence, // L/H + SelectionParams params optional +} with { + variant (presence) "CSN.1 L/H" + variant (params) "PRESENCE(presence = '1'B)" +}; + +/* Optional Power Offset: L | H < Power Offset bit(2) > */ +type record PowerOffsetOpt { + BIT1 presence, // L/H + uint2_t offset optional +} with { + variant (presence) "CSN.1 L/H" + variant (offset) "PRESENCE(presence = '1'B)" +}; + +/* Scheduling if and where: L | H < WHERE bit(3) > */ +type record SchedIfAndWhere { + BIT1 presence, // L/H + uint3_t where optional +} with { + variant (presence) "CSN.1 L/H" + variant (where) "PRESENCE(presence = '1'B)" +}; + +type record GPRSIndicator { + uint3_t ra_colour, + BIT1 si13_pos +} with { variant "" }; + +/* Optional GPRS Indicator: L | H < GPRS Indicator > */ +type record GPRSIndicatorOpt { + BIT1 presence, // L/H + GPRSIndicator ind optional +} with { + variant (presence) "CSN.1 L/H" + variant (ind) "PRESENCE(presence = '1'B)" +}; + +/* Optional SI2quater Indicator: L | H < SI2quater Indicator > */ +type record SI2quaterIndicatorOpt { + BIT1 presence, // L/H + BIT1 ind optional +} with { + variant (presence) "CSN.1 L/H" + variant (ind) "PRESENCE(presence = '1'B)" +}; + +/* Optional SI21 Indicator: L | H < SI21 Position > */ +type record SI21IndicatorOpt { + BIT1 presence, // L/H + BIT1 pos optional +} with { + variant (presence) "CSN.1 L/H" + variant (pos) "PRESENCE(presence = '1'B)" +}; + +external function enc_SI3RestOctets(in SI3RestOctets ro) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_SI3RestOctets(in octetstring stream) return SI3RestOctets + with { extension "prototype(convert) decode(RAW)" }; + + +} with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Gerrit-Change-Number: 17995 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 10:15:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 2 May 2020 10:15:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 59 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/17996/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 794d604..774f08f 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -29,6 +29,7 @@ import from GSM_RR_Types all; import from Osmocom_Types all; import from GSM_Types all; +import from GSM_RestOctets all; import from GSM_SystemInformation all; import from L1CTL_PortType all; import from L1CTL_Types all; @@ -4904,65 +4905,9 @@ return si.payload.si3; } -/* CSN.1 L/H logic: is the bit at the current position using "inverted logic" (true) or not? */ -private function f_bitpos_is_inv(integer idx) return boolean { - select (idx mod 8) { - case ((2, 4, 6, 7)) { return true; } /* 1-bits of 0x2B */ - case else { return false; } /* 0-bits of 0x2B */ - } -} -/* determine if the bit at position 'idx' in 'str' is a CSN.1 'H' (true) or 'L' (false) */ -private function f_bit_is_high(bitstring str, integer idx) return boolean { - var boolean invert := f_bitpos_is_inv(idx); - if (invert) { - if (str[idx] == '1'B) { - return false; - } else { - return true; - } - } else { - if (str[idx] == '1'B) { - return true; - } else { - return false; - } - } -} -/* As the TITAN RAW codec cannot expres the CSN.1 L/H concept yet, we have to do this - manually. Let's hope https://www.eclipse.org/forums/index.php/t/1099087/ takes off and - we can replace this piece of code soon ... */ -private function f_si3_has_gprs_indicator(OCT4 si3_restoctets) return boolean { - var bitstring bits := oct2bit(si3_restoctets); - var integer idx := 0; - - if (f_bit_is_high(bits, idx)) { - /* skip Optional selection parameters */ - idx := idx + 16; - } else { - idx := idx + 1; - } - - if (f_bit_is_high(bits, idx)) { - /* skip Optional power offset */ - idx := idx + 3; - } else { - idx := idx + 1; - } - - /* skip SI2ter Indicator */ - idx := idx + 1; - - /* skip Early CM Sending Control */ - idx := idx + 1; - - /* skip Scheduling if and where */ - if (f_bit_is_high(bits, idx)) { - idx := idx + 4; - } else { - idx := idx + 1; - } - - return f_bit_is_high(bits, idx); +private function f_si3_has_gprs_indicator(Si3RestOctets ro) return boolean { + var SI3RestOctets rest := dec_SI3RestOctets(ro); + return rest.gprs_ind.presence == '1'B; } testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 11:59:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 11:59:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 ) Change subject: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994/1//COMMIT_MSG at 14 PS1, Line 14: unless the bug [2] in TITAN's RAW codec is fixed. you mean "until" here right? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Gerrit-Change-Number: 17994 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 11:59:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 12:05:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 12:05:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement SI3 Rest Octets as per 3GPP TS 44.018 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 ) Change subject: library: implement SI3 Rest Octets as per 3GPP TS 44.018 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Gerrit-Change-Number: 17995 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 12:05:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 12:09:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 12:09:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn at 4908 PS1, Line 4908: private function f_si3_has_gprs_indicator(Si3RestOctets ro) return boolean { That's really confusing! Si3RestOctets vs SI3RestOctets. The first looks like an octetstirng and the second is the decoded one. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn at 4909 PS1, Line 4909: var SI3RestOctets rest := dec_SI3RestOctets(ro); I'm wondering whether it makes sense to decode it each time inside the function instead of simply passing the decode one (and in that case, actually the function is not needed). Do you need it the way it is now for a specific reason? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 12:09:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 15:11:03 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 15:11:03 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... amr: Fix OA to BWE conversion for SID frames. Size of a single AMR SID frame doesn't reduce by a byte when converted from octet-aligned to bandwidth-efficient mode. So old code generated truncated SID frames which are 1 byte short. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c 2 files changed, 33 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/1 diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 6e37c99..ab7b10d 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -93,6 +93,16 @@ /* NOTE: the above constant refers to the length of one AMR speech frame-block, * not counting CMR, TOC. */ +#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ +#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ +#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ +#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ +#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ +#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ +#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ +#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ +#define AMR_FT_SID_LEN_BITS 39 /* SID */ + int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index 5609c46..c69aaff 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,6 +29,18 @@ * 7 12.20 244 31 */ +static size_t amr_ft_to_bits[AMR_FT_MAX] = { + [AMR_FT_0] = AMR_FT_0_LEN_BITS, + [AMR_FT_1] = AMR_FT_1_LEN_BITS, + [AMR_FT_2] = AMR_FT_2_LEN_BITS, + [AMR_FT_3] = AMR_FT_3_LEN_BITS, + [AMR_FT_4] = AMR_FT_4_LEN_BITS, + [AMR_FT_5] = AMR_FT_5_LEN_BITS, + [AMR_FT_6] = AMR_FT_6_LEN_BITS, + [AMR_FT_7] = AMR_FT_7_LEN_BITS, + [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, +}; + static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -41,6 +53,11 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; +size_t osmo_amr_bits(uint8_t amr_ft) +{ + return amr_ft_to_bits[amr_ft]; +} + size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -119,8 +136,10 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; + int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -137,8 +156,10 @@ payload[i + 2] = payload[i + 2] << 6; } - /* The overall saving is one byte! */ - return payload_len - 1; + /* Calculate new payload length */ + bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + + return bwe_payload_len; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 16:21:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 16:21:50 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... Patch Set 1: (2 comments) Tests needs update https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/include/osmocom/netif/amr.h File include/osmocom/netif/amr.h: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/include/osmocom/netif/amr.h at 96 PS1, Line 96: #define AMR_FT_0_LEN_BITS 95 /* 4.75 */ I lack some documentation here like for the above. IIUC these are the same as the above ones but in bits. So it probably makes sense to redefine the above ones for instance: #define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS + 7) / 8) https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/src/amr.c File src/amr.c: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/src/amr.c at 44 PS1, Line 44: static size_t amr_ft_to_bytes[AMR_FT_MAX] = { Since we now have it in bits, we can probably drop this static array and use (amr_ft_to_bits[ft] + 7)/8. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 16:21:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 17:29:37 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 17:29:37 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. In-Reply-To: References: Message-ID: Hello dexter, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#2). Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... amr: Fix OA to BWE conversion for SID frames. Size of a single AMR SID frame doesn't reduce by a byte when converted from octet-aligned to bandwidth-efficient mode. So old code generated truncated SID frames which are 1 byte short. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c 2 files changed, 50 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 17:30:47 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 17:30:47 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/include/osmocom/netif/amr.h File include/osmocom/netif/amr.h: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/include/osmocom/netif/amr.h at 96 PS1, Line 96: #define AMR_FT_0_LEN_BITS 95 /* 4.75 */ > I lack some documentation here like for the above. [?] Makes sense. Will do this in the next revision https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/src/amr.c File src/amr.c: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/1/src/amr.c at 44 PS1, Line 44: static size_t amr_ft_to_bytes[AMR_FT_MAX] = { > Since we now have it in bits, we can probably drop this static array and use (amr_ft_to_bits[ft] + 7 [?] Don't know. This is two extra operations but probably not so critical. I'm ok both ways. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 17:30:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 18:26:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 2 May 2020 18:26:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn at 4908 PS1, Line 4908: private function f_si3_has_gprs_indicator(Si3RestOctets ro) return boolean { > That's really confusing! Si3RestOctets vs SI3RestOctets. [?] ACK. We should either rename the old symbol(s) (to SI3RestOctetsRaw?), or completely drop them as they're basically sub-types of RestOctets with length limitations (we can apply those limitations within the related records). type record SystemInformationType3 { // ... RestOctets rest_octets } with { variant (rest_octets) "FIELDLENGTH(4)" }; What do you think? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996/1/bts/BTS_Tests.ttcn at 4909 PS1, Line 4909: var SI3RestOctets rest := dec_SI3RestOctets(ro); > I'm wondering whether it makes sense to decode it each time inside the function instead of simply pa [?] I was thinking about this, but for now I just want to get rid of manual bit manipulations and make use of the new records. Given that this function is used in several test cases and we only care about the GPRS indicator for now, I think it's ok to have this function. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 18:26:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:34:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:34:13 +0000 Subject: Change in libosmocore[master]: sim: When decoding SW, take application specific SW into account References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17998 ) Change subject: sim: When decoding SW, take application specific SW into account ...................................................................... sim: When decoding SW, take application specific SW into account So far we only looked at SW definitions of the card profile. However, if we have a currently selected application, we also must check that application for SW definitions. This breaks ABI and API all over the place, but as there are no known users beyond osmo-sim-test, this is acceptable. Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1 --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/core.c M utils/osmo-sim-test.c 4 files changed, 46 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/98/17998/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 4145300..bc95b91 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param sim API/ABI change new osim_file_desc_find_aid() +sim API/ABI change all over the place diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 33ebdd7..bfd1ac9 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -309,6 +309,7 @@ const struct osim_card_app_profile * osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len); +const struct osim_card_sw *osim_app_profile_find_sw(const struct osim_card_app_profile *ap, uint16_t sw_in); /*! A card profile (e.g. SIM card */ struct osim_card_profile { @@ -319,15 +320,13 @@ const struct osim_card_sw **sws; }; -const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, - uint16_t sw); -enum osim_card_sw_class osim_sw_class(const struct osim_card_profile *cp, - uint16_t sw_in); +const struct osim_card_sw *osim_cprof_find_sw(const struct osim_card_profile *cp, uint16_t sw_in); -struct osim_card_hdl; -char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in); -char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in); -char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in); +struct osim_chan_hdl; +enum osim_card_sw_class osim_sw_class(const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw(const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw_c(const void *ctx, const struct osim_chan_hdl *ch, uint16_t sw_in); extern const struct tlv_definition ts102221_fcp_tlv_def; extern const struct value_string ts102221_fcp_vals[14]; diff --git a/src/sim/core.c b/src/sim/core.c index 8b2d6f9..d11c2d8 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -367,14 +367,19 @@ } -char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_chan_hdl *ch, uint16_t sw_in) { - const struct osim_card_sw *csw; + const struct osim_card_sw *csw = NULL; - if (!ch || !ch->prof) + if (!ch) goto ret_def; - csw = osim_find_sw(ch->prof, sw_in); + if (ch->cur_app && ch->cur_app->prof) + csw = osim_app_profile_find_sw(ch->cur_app->prof, sw_in); + + if (!csw && ch->card->prof) + csw = osim_cprof_find_sw(ch->card->prof, sw_in); + if (!csw) goto ret_def; @@ -397,13 +402,13 @@ return buf; } -char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw(const struct osim_chan_hdl *ch, uint16_t sw_in) { static __thread char sw_print_buf[256]; return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } -char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw_c(const void *ctx, const struct osim_chan_hdl *ch, uint16_t sw_in) { char *buf = talloc_size(ctx, 256); if (!buf) @@ -411,8 +416,8 @@ return osim_print_sw_buf(buf, 256, ch, sw_in); } -const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, - uint16_t sw_in) +/*! Find status word within given card profile */ +const struct osim_card_sw *osim_cprof_find_sw(const struct osim_card_profile *cp, uint16_t sw_in) { const struct osim_card_sw **sw_lists = cp->sws; const struct osim_card_sw *sw_list, *sw; @@ -426,10 +431,30 @@ return NULL; } -enum osim_card_sw_class osim_sw_class(const struct osim_card_profile *cp, - uint16_t sw_in) +/*! Find application-specific status word within given card application profile */ +const struct osim_card_sw *osim_app_profile_find_sw(const struct osim_card_app_profile *ap, uint16_t sw_in) { - const struct osim_card_sw *csw = osim_find_sw(cp, sw_in); + const struct osim_card_sw *sw_list = ap->sw, *sw; + + for (sw = sw_list; sw->code != 0 && sw->mask != 0; sw++) { + if ((sw_in & sw->mask) == sw->code) + return sw; + } + return NULL; +} + +enum osim_card_sw_class osim_sw_class(const struct osim_chan_hdl *ch, uint16_t sw_in) +{ + const struct osim_card_sw *csw = NULL; + + OSMO_ASSERT(ch); + OSMO_ASSERT(ch->card); + + if (ch->cur_app && ch->cur_app->prof) + csw = osim_app_profile_find_sw(ch->cur_app->prof, sw_in); + + if (!csw && ch->card->prof) + csw = osim_cprof_find_sw(ch->card->prof, sw_in); if (!csw) return SW_CLS_NONE; diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index cf423c4..ae55b83 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -411,7 +411,7 @@ fclose(f_data); return -EIO; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + printf("SW: %s\n", osim_print_sw(chan, msgb_apdu_sw(msg))); hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); printf("Rec %03u: %s\n", i+1, hex); @@ -593,7 +593,7 @@ osmo_hexdump_nospc(cah->aid, cah->aid_len)); continue; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + printf("SW: %s\n", osim_print_sw(chan, msgb_apdu_sw(msg))); chan->cur_app = cah; chan->cwd = cap->adf; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1 Gerrit-Change-Number: 17998 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:34:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:34:14 +0000 Subject: Change in libosmocore[master]: WIP: PIN validation References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/17999 ) Change subject: WIP: PIN validation ...................................................................... WIP: PIN validation Change-Id: I3d8441d6dcd94b8b11bb1fbcee56c754bca9aefe --- M utils/osmo-sim-test.c 1 file changed, 20 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/99/17999/1 diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index ae55b83..201d22b 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -41,6 +41,7 @@ static uint8_t g_class = 0x00; /* UICC/USIM */ static const char *g_output_dir; +static const char *g_pin; /* 11.1.1 */ static struct msgb *_select_file(struct osim_chan_hdl *st, uint8_t p1, uint8_t p2, @@ -77,15 +78,14 @@ return _select_file(st, 0x00, p2, (uint8_t *)&cfid, 2); } -#if 0 /* 11.1.9 */ -static int verify_pin(struct osim_chan_hdl *st, uint8_t pin_nr, char *pin) +static struct msgb *verify_pin(struct osim_chan_hdl *st, uint8_t pin_nr, const char *pin) { struct msgb *msg; char *pindst; if (strlen(pin) > 8) - return -EINVAL; + return NULL; msg = osim_new_apdumsg(g_class, 0x20, 0x00, pin_nr, 8, 0); pindst = (char *) msgb_put(msg, 8); @@ -93,9 +93,10 @@ /* Do not copy the terminating \0 */ memcpy(pindst, pin, strlen(pin)); - return osim_transceive_apdu(st, msg); + osim_transceive_apdu(st, msg); + + return msg; } -#endif /* 11.1.5 */ static struct msgb *read_record_nr(struct osim_chan_hdl *st, uint8_t rec_nr, uint16_t rec_size) @@ -464,6 +465,7 @@ " -h --help This message\n" " -n --reader-num NR Open reader number NR\n" " -o --output-dir DIR To-be-created output directory for filesystem dump\n" + " -p --pin PIN Authenticate using the given PIN\n" ); } @@ -477,10 +479,11 @@ { "help", 0, 0, 'h' }, { "reader-num", 1, 0, 'n' }, { "output-dir", 1, 0, 'o' }, + { "pin", 1, 0, 'p' }, {0,0,0,0} }; - c = getopt_long(argc, argv, "hn:o:", + c = getopt_long(argc, argv, "hn:o:p:", long_options, &option_index); if (c == -1) break; @@ -496,6 +499,9 @@ case 'o': g_output_dir = optarg; break; + case 'p': + g_pin = optarg; + break; default: exit(2); break; @@ -645,7 +651,14 @@ if (!chan) exit(3); - //verify_pin(chan, 1, "1653"); + if (g_pin) { + struct msgb *msg; + msg = verify_pin(chan, 1, g_pin); + if (!msg /*|| FIXME*/) { + fprintf(stderr, "Error authenticating PIN: %s\n"); + exit(6); + } + } rc = osim_uicc_scan_apps(chan); if (rc >= 0) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17999 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3d8441d6dcd94b8b11bb1fbcee56c754bca9aefe Gerrit-Change-Number: 17999 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:34:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:34:15 +0000 Subject: Change in libosmocore[master]: HACK: Disable the use of thread-local storage References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18000 ) Change subject: HACK: Disable the use of thread-local storage ...................................................................... HACK: Disable the use of thread-local storage This will disable the thread-safe use of many libosmo* featues, but it seems even in 2020 there are still systems out there wthat don't support thread-local-storage. Related: OS#4456 Related: OS#4062 Change-Id: I9baa7047fc4ff1a595ee318dcdb1247f1460da1b --- M include/osmocom/core/talloc.h M include/osmocom/gsm/cbsp.h M src/context.c M src/fsm.c M src/gb/gprs_ns.c M src/gsm/abis_nm.c M src/gsm/apn.c M src/gsm/cbsp.c M src/gsm/gsm0808_utils.c M src/gsm/gsm23003.c M src/gsm/gsm48.c M src/gsm/gsm_utils.c M src/gsm/rsl.c M src/msgb.c M src/select.c M src/sim/core.c M src/socket.c M src/utils.c 18 files changed, 39 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/00/18000/1 diff --git a/include/osmocom/core/talloc.h b/include/osmocom/core/talloc.h index c68a56c..07148df 100644 --- a/include/osmocom/core/talloc.h +++ b/include/osmocom/core/talloc.h @@ -19,7 +19,7 @@ void *select; }; -extern __thread struct osmo_talloc_contexts *osmo_ctx; +extern struct osmo_talloc_contexts *osmo_ctx; /* short-hand #defines for the osmo talloc contexts (OTC) that can be used to pass * to the various _c functions like msgb_alloc_c() */ diff --git a/include/osmocom/gsm/cbsp.h b/include/osmocom/gsm/cbsp.h index 90516cb..6f7dbad 100644 --- a/include/osmocom/gsm/cbsp.h +++ b/include/osmocom/gsm/cbsp.h @@ -283,7 +283,7 @@ } u; }; -extern const __thread char *osmo_cbsp_errstr; +extern const char *osmo_cbsp_errstr; struct msgb *osmo_cbsp_msgb_alloc(void *ctx, const char *name); struct msgb *osmo_cbsp_encode(void *ctx, const struct osmo_cbsp_decoded *in); diff --git a/src/context.c b/src/context.c index bad012b..bf13557 100644 --- a/src/context.c +++ b/src/context.c @@ -26,7 +26,7 @@ #include #include -__thread struct osmo_talloc_contexts *osmo_ctx; + struct osmo_talloc_contexts *osmo_ctx; int osmo_ctx_init(const char *id) { diff --git a/src/fsm.c b/src/fsm.c index 1e8909e..60927f2 100644 --- a/src/fsm.c +++ b/src/fsm.c @@ -95,7 +95,7 @@ static bool fsm_term_safely_enabled = false; /*! Internal state for FSM instance termination cascades. */ -static __thread struct { +static struct { /*! The first FSM instance that invoked osmo_fsm_inst_term() in the current cascade. */ struct osmo_fsm_inst *root_fi; /*! 2 if a secondary FSM terminates, 3 if a secondary FSM causes a tertiary FSM to terminate, and so on. */ @@ -583,7 +583,7 @@ */ const char *osmo_fsm_event_name(struct osmo_fsm *fsm, uint32_t event) { - static __thread char buf[32]; + static char buf[32]; if (!fsm->event_names) { snprintf(buf, sizeof(buf), "%"PRIu32, event); return buf; @@ -613,7 +613,7 @@ */ const char *osmo_fsm_state_name(struct osmo_fsm *fsm, uint32_t state) { - static __thread char buf[32]; + static char buf[32]; if (state >= fsm->num_states) { snprintf(buf, sizeof(buf), "unknown %"PRIu32, state); return buf; diff --git a/src/gb/gprs_ns.c b/src/gb/gprs_ns.c index 4e584ad..ede5152 100644 --- a/src/gb/gprs_ns.c +++ b/src/gb/gprs_ns.c @@ -1553,7 +1553,7 @@ const char *gprs_ns_ll_str(const struct gprs_nsvc *nsvc) { - static __thread char buf[80]; + static char buf[80]; return gprs_ns_ll_str_buf(buf, sizeof(buf), nsvc); } diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c index 3fb8f0f..28bddd7 100644 --- a/src/gsm/abis_nm.c +++ b/src/gsm/abis_nm.c @@ -939,7 +939,7 @@ const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh) { - static __thread char foh_buf[128]; + static char foh_buf[128]; return abis_nm_dump_foh_buf(foh_buf, sizeof(foh_buf), foh); } diff --git a/src/gsm/apn.c b/src/gsm/apn.c index a7074ea..c5169ad 100644 --- a/src/gsm/apn.c +++ b/src/gsm/apn.c @@ -31,7 +31,7 @@ #define APN_OI_GPRS_FMT "mnc%03u.mcc%03u.gprs" #define APN_GPRS_FMT "%s.mnc%03u.mcc%03u.gprs" -static __thread char apn_strbuf[APN_MAXLEN+1]; +static char apn_strbuf[APN_MAXLEN+1]; char *osmo_apn_qualify_buf(char *buf, size_t buf_len, unsigned int mcc, unsigned int mnc, const char *ni) { diff --git a/src/gsm/cbsp.c b/src/gsm/cbsp.c index ccc2df5..eb1fbaa 100644 --- a/src/gsm/cbsp.c +++ b/src/gsm/cbsp.c @@ -33,7 +33,7 @@ #include #include -const __thread char *osmo_cbsp_errstr; +const char *osmo_cbsp_errstr; struct msgb *osmo_cbsp_msgb_alloc(void *ctx, const char *name) { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 7416d8f..cce7852 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -622,7 +622,7 @@ return ret; } -static __thread char dbuf[256]; +static char dbuf[256]; /*! Dump LCLS parameters (GCR excluded) into string for printing. * \param[out] buf caller-allocated output string buffer @@ -1887,7 +1887,7 @@ */ const char *gsm0808_cell_id_name(const struct gsm0808_cell_id *cid) { - static __thread char buf[64]; + static char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1897,7 +1897,7 @@ */ const char *gsm0808_cell_id_name2(const struct gsm0808_cell_id *cid) { - static __thread char buf[64]; + static char buf[64]; return gsm0808_cell_id_name_buf(buf, sizeof(buf), cid); } @@ -1954,7 +1954,7 @@ * See also gsm0808_cell_id_list_name_buf(). */ const char *gsm0808_cell_id_list_name(const struct gsm0808_cell_id_list2 *cil) { - static __thread char buf[1024]; + static char buf[1024]; gsm0808_cell_id_list_name_buf(buf, sizeof(buf), cil); return buf; } @@ -1981,7 +1981,7 @@ const char *gsm0808_channel_type_name(const struct gsm0808_channel_type *ct) { - static __thread char buf[128]; + static char buf[128]; return gsm0808_channel_type_name_buf(buf, sizeof(buf), ct); } diff --git a/src/gsm/gsm23003.c b/src/gsm/gsm23003.c index e20afcb..e5180b8 100644 --- a/src/gsm/gsm23003.c +++ b/src/gsm/gsm23003.c @@ -107,7 +107,7 @@ */ const char *osmo_mcc_name(uint16_t mcc) { - static __thread char buf[8]; + static char buf[8]; return osmo_mcc_name_buf(buf, sizeof(buf), mcc); } @@ -158,7 +158,7 @@ */ const char *osmo_mnc_name(uint16_t mnc, bool mnc_3_digits) { - static __thread char buf[8]; + static char buf[8]; return osmo_mnc_name_buf(buf, sizeof(buf), mnc, mnc_3_digits); } @@ -182,7 +182,7 @@ */ const char *osmo_plmn_name(const struct osmo_plmn_id *plmn) { - static __thread char buf[16]; + static char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -193,7 +193,7 @@ */ const char *osmo_plmn_name2(const struct osmo_plmn_id *plmn) { - static __thread char buf[16]; + static char buf[16]; return osmo_plmn_name_buf(buf, sizeof(buf), plmn); } @@ -230,7 +230,7 @@ */ const char *osmo_lai_name(const struct osmo_location_area_id *lai) { - static __thread char buf[32]; + static char buf[32]; return osmo_lai_name_buf(buf, sizeof(buf), lai); } @@ -265,7 +265,7 @@ */ const char *osmo_cgi_name(const struct osmo_cell_global_id *cgi) { - static __thread char buf[32]; + static char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -276,7 +276,7 @@ */ const char *osmo_cgi_name2(const struct osmo_cell_global_id *cgi) { - static __thread char buf[32]; + static char buf[32]; return osmo_cgi_name_buf(buf, sizeof(buf), cgi); } @@ -320,7 +320,7 @@ */ const char *osmo_gummei_name(const struct osmo_gummei *gummei) { - static __thread char buf[32]; + static char buf[32]; return osmo_gummei_name_buf(buf, sizeof(buf), gummei); } diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 17b0829..95f0949 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -203,7 +203,7 @@ */ const char *osmo_rai_name(const struct gprs_ra_id *rai) { - static __thread char buf[32]; + static char buf[32]; return osmo_rai_name_buf(buf, sizeof(buf), rai); } @@ -502,7 +502,7 @@ */ const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len) { - static __thread char mi_name[10 + GSM48_MI_SIZE + 1]; + static char mi_name[10 + GSM48_MI_SIZE + 1]; return osmo_mi_name_buf(mi_name, sizeof(mi_name), mi, mi_len); } @@ -1149,7 +1149,7 @@ */ const char *gsm48_pdisc_msgtype_name(uint8_t pdisc, uint8_t msg_type) { - static __thread char namebuf[64]; + static char namebuf[64]; return gsm48_pdisc_msgtype_name_buf(namebuf, sizeof(namebuf), pdisc, msg_type); } @@ -1302,7 +1302,7 @@ */ const char *osmo_gsm48_classmark_a5_name(const struct osmo_gsm48_classmark *cm) { - static __thread char buf[128]; + static char buf[128]; return osmo_gsm48_classmark_a5_name_buf(buf, sizeof(buf), cm); } diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c index ae77a9d..33a3f8d 100644 --- a/src/gsm/gsm_utils.c +++ b/src/gsm/gsm_utils.c @@ -898,7 +898,7 @@ char *osmo_dump_gsmtime(const struct gsm_time *tm) { - static __thread char buf[64]; + static char buf[64]; return osmo_dump_gsmtime_buf(buf, sizeof(buf), tm); } diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index 5534aa2..bba91aa 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -264,7 +264,7 @@ */ const char *rsl_chan_nr_str(uint8_t chan_nr) { - static __thread char str[20]; + static char str[20]; return rsl_chan_nr_str_buf(str, sizeof(str), chan_nr); } diff --git a/src/msgb.c b/src/msgb.c index 4edbdf3..fc5a9eb 100644 --- a/src/msgb.c +++ b/src/msgb.c @@ -511,7 +511,7 @@ */ const char *msgb_hexdump(const struct msgb *msg) { - static __thread char buf[4100]; + static char buf[4100]; return msgb_hexdump_buf(buf, sizeof(buf), msg); } diff --git a/src/select.c b/src/select.c index 8e31205..5971ac5 100644 --- a/src/select.c +++ b/src/select.c @@ -52,9 +52,9 @@ /* keep a set of file descriptors per-thread, so that each thread can have its own * distinct set of file descriptors to interact with */ -static __thread int maxfd = 0; -static __thread struct llist_head osmo_fds; /* TLS cannot use LLIST_HEAD() */ -static __thread int unregistered_count; +static int maxfd = 0; +static struct llist_head osmo_fds; /* TLS cannot use LLIST_HEAD() */ +static int unregistered_count; /*! Set up an osmo-fd. Will not register it. * \param[inout] ofd Osmo FD to be set-up diff --git a/src/sim/core.c b/src/sim/core.c index d11c2d8..f6f022a 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -404,7 +404,7 @@ char *osim_print_sw(const struct osim_chan_hdl *ch, uint16_t sw_in) { - static __thread char sw_print_buf[256]; + static char sw_print_buf[256]; return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } diff --git a/src/socket.c b/src/socket.c index 503ceaf..d153c30 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1109,7 +1109,7 @@ */ const char *osmo_sock_get_name2(int fd) { - static __thread char str[OSMO_SOCK_NAME_MAXLEN]; + static char str[OSMO_SOCK_NAME_MAXLEN]; osmo_sock_get_name_buf(str, sizeof(str), fd); return str; } diff --git a/src/utils.c b/src/utils.c index 038288c..565324e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -41,9 +41,9 @@ * * \file utils.c */ -static __thread char namebuf[255]; +static char namebuf[255]; /* shared by osmo_str_tolower() and osmo_str_toupper() */ -static __thread char capsbuf[128]; +static char capsbuf[128]; /*! get human-readable string for given value * \param[in] vs Array of value_string tuples @@ -221,7 +221,7 @@ return nibblepos >> 1; } -static __thread char hexd_buff[4096]; +static char hexd_buff[4096]; static const char hex_chars[] = "0123456789abcdef"; /*! Convert binary sequence to hexadecimal ASCII string. @@ -494,7 +494,7 @@ * sizeof(uint64_t), only the least significant bytes of value are encoded. */ uint8_t *osmo_encode_big_endian(uint64_t value, size_t data_len) { - static __thread uint8_t buf[sizeof(uint64_t)]; + static uint8_t buf[sizeof(uint64_t)]; OSMO_ASSERT(data_len <= ARRAY_SIZE(buf)); osmo_store64be_ext(value, buf, data_len); return buf; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18000 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9baa7047fc4ff1a595ee318dcdb1247f1460da1b Gerrit-Change-Number: 18000 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:34:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:34:15 +0000 Subject: Change in libosmocore[master]: gsm_29_118.h: Fix compilation with gcc-10 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18001 ) Change subject: gsm_29_118.h: Fix compilation with gcc-10 ...................................................................... gsm_29_118.h: Fix compilation with gcc-10 this causes problems when compiling user applications /usr/bin/ld: ../../src/libvlr/libvlr.a(vlr_lu_fsm.o):/usr/local/include/osmocom/gsm/protocol/gsm_29_118.h:184: multiple definition of `sgsap_ie_tlvdef'; msc_main.o:/usr/local/include/osmocom/gsm/protocol/gsm_29_118.h:184: first defined here Change-Id: Iaa1d36c7a9bb64aa84ee85fa3e40f6b3560fe693 --- M include/osmocom/gsm/protocol/gsm_29_118.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/18001/1 diff --git a/include/osmocom/gsm/protocol/gsm_29_118.h b/include/osmocom/gsm/protocol/gsm_29_118.h index 9adb90f..1583588 100644 --- a/include/osmocom/gsm/protocol/gsm_29_118.h +++ b/include/osmocom/gsm/protocol/gsm_29_118.h @@ -181,4 +181,4 @@ * See also: RFC1123 Section 2.1 Host Names and Numbers */ #define SGS_VLR_NAME_MAXLEN 255 -const struct tlv_definition sgsap_ie_tlvdef; +extern const struct tlv_definition sgsap_ie_tlvdef; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18001 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaa1d36c7a9bb64aa84ee85fa3e40f6b3560fe693 Gerrit-Change-Number: 18001 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:34:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:34:15 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... lapd/lapdm: print user-defined string name instead of (dl=%p) At the moment we print the pointer address to identify the log lines belonging to a specific connection. Since pointer addresses are difficult to work with, a human readable ID should be printed instead. e.g. "This is LAPD instance for SAPI3 on bts0/trx1/ts5/lchan3" Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Closes: OS#1938 --- M TODO-RELEASE M include/osmocom/gsm/lapd_core.h M include/osmocom/gsm/lapdm.h M src/gsm/lapd_core.c M src/gsm/lapdm.c M src/gsm/libosmogsm.map 6 files changed, 264 insertions(+), 314 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/18002/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index bc95b91..bef9afb 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param sim API/ABI change new osim_file_desc_find_aid() sim API/ABI change all over the place +gsm API/ABI change add new member to lapd_datalink diff --git a/include/osmocom/gsm/lapd_core.h b/include/osmocom/gsm/lapd_core.h index cfc357a..825de7f 100644 --- a/include/osmocom/gsm/lapd_core.h +++ b/include/osmocom/gsm/lapd_core.h @@ -14,6 +14,9 @@ * \file lapd_core.h */ +#define LOGDL(dl, level, fmt, args...) \ + LOGP(DLLAPD, level, "(%s) " fmt, (dl)->name, ## args) + /*! LAPD related primitives (L2<->L3 SAP)*/ enum osmo_dl_prim { PRIM_DL_UNIT_DATA, /*!< DL-UNIT-DATA */ @@ -158,10 +161,13 @@ uint8_t range_hist; /*!< range of history buffer 2..2^n */ struct msgb *rcv_buffer; /*!< buffer to assemble the received message */ struct msgb *cont_res; /*!< buffer to store content resolution data on network side, to detect multiple phones on same channel */ + char *name; /*!< user-provided name */ }; void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf); +void lapd_dl_init2(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, + int maxf, const char *name); void lapd_dl_exit(struct lapd_datalink *dl); void lapd_dl_reset(struct lapd_datalink *dl); int lapd_set_mode(struct lapd_datalink *dl, enum lapd_mode mode); diff --git a/include/osmocom/gsm/lapdm.h b/include/osmocom/gsm/lapdm.h index 931de80..8003371 100644 --- a/include/osmocom/gsm/lapdm.h +++ b/include/osmocom/gsm/lapdm.h @@ -83,13 +83,20 @@ /* initialize a LAPDm entity */ void lapdm_entity_init(struct lapdm_entity *le, enum lapdm_mode mode, int t200) - OSMO_DEPRECATED("Use lapdm_entity_init2() instead"); + OSMO_DEPRECATED("Use lapdm_entity_init3() instead"); void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, - const int *t200_ms, int n200); + const int *t200_ms, int n200) + OSMO_DEPRECATED("Use lapdm_entity_init3() instead"); +void lapdm_entity_init3(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200, const char *name_pfx); void lapdm_channel_init(struct lapdm_channel *lc, enum lapdm_mode mode) - OSMO_DEPRECATED("Use lapdm_channel_init2() instead"); + OSMO_DEPRECATED("Use lapdm_channel_init3() instead"); int lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, - const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t); + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t) + OSMO_DEPRECATED("Use lapdm_channel_init3() instead"); +int lapdm_channel_init3(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t, + const char *name_pfx); /* deinitialize a LAPDm entity */ void lapdm_entity_exit(struct lapdm_entity *le); void lapdm_channel_exit(struct lapdm_channel *lc); diff --git a/src/gsm/lapd_core.c b/src/gsm/lapd_core.c index a0f3c2b..b49ac68 100644 --- a/src/gsm/lapd_core.c +++ b/src/gsm/lapd_core.c @@ -1,7 +1,7 @@ /*! \file lapd_core.c * LAPD core implementation */ /* - * (C) 2010-2011 by Harald Welte + * (C) 2010-2020 by Harald Welte * (C) 2010-2011 by Andreas Eversberg * * All Rights Reserved @@ -203,8 +203,8 @@ { if (osmo_timer_pending(&dl->t200)) return; - LOGP(DLLAPD, LOGL_INFO, "start T200 (dl=%p, timeout=%d.%06ds)\n", - dl, dl->t200_sec, dl->t200_usec); + LOGDL(dl, LOGL_INFO, "start T200 (timeout=%d.%06ds)\n", + dl->t200_sec, dl->t200_usec); osmo_timer_schedule(&dl->t200, dl->t200_sec, dl->t200_usec); } @@ -212,7 +212,7 @@ { if (osmo_timer_pending(&dl->t203)) return; - LOGP(DLLAPD, LOGL_INFO, "start T203 (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "start T203\n"); osmo_timer_schedule(&dl->t203, dl->t203_sec, dl->t203_usec); } @@ -220,7 +220,7 @@ { if (!osmo_timer_pending(&dl->t200)) return; - LOGP(DLLAPD, LOGL_INFO, "stop T200 (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "stop T200\n"); osmo_timer_del(&dl->t200); } @@ -228,14 +228,14 @@ { if (!osmo_timer_pending(&dl->t203)) return; - LOGP(DLLAPD, LOGL_INFO, "stop T203 (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "stop T203\n"); osmo_timer_del(&dl->t203); } static void lapd_dl_newstate(struct lapd_datalink *dl, uint32_t state) { - LOGP(DLLAPD, LOGL_INFO, "new state %s -> %s (dl=%p)\n", - lapd_state_name(dl->state), lapd_state_name(state), dl); + LOGDL(dl, LOGL_INFO, "new state %s -> %s\n", + lapd_state_name(dl->state), lapd_state_name(state)); if (state != LAPD_STATE_MF_EST && dl->state == LAPD_STATE_MF_EST) { /* stop T203 on leaving MF EST state, if running */ @@ -255,9 +255,14 @@ static void *tall_lapd_ctx = NULL; -/* init datalink instance and allocate history */ -void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, - int maxf) +/*! Initialize LAPD datalink instance and allocate history + * \param[in] dl caller-allocated datalink structure + * \param[in] k maximum number of unacknowledged frames + * \param[in] v_range range of sequence numbers + * \param[in] maxf maximum frame size (after defragmentation) + * \param[in] human-readable name (will be copied internally) */ +void lapd_dl_init2(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf, + const char *name) { int m; @@ -293,22 +298,27 @@ } } - LOGP(DLLAPD, LOGL_INFO, "Init DL layer: sequence range = %d, k = %d, " - "history range = %d (dl=%p)\n", dl->v_range, dl->k, - dl->range_hist, dl); + LOGDL(dl, LOGL_INFO, "Init DL layer: sequence range = %d, k = %d, " + "history range = %d\n", dl->v_range, dl->k, dl->range_hist); lapd_dl_newstate(dl, LAPD_STATE_IDLE); if (!tall_lapd_ctx) tall_lapd_ctx = talloc_named_const(NULL, 1, "lapd context"); + dl->name = talloc_strdup(tall_lapd_ctx, name); dl->tx_hist = talloc_zero_array(tall_lapd_ctx, struct lapd_history, dl->range_hist); } +void lapd_dl_init(struct lapd_datalink *dl, uint8_t k, uint8_t v_range, int maxf) +{ + lapd_dl_init2(dl, k, v_range, maxf, NULL); +} + /* reset to IDLE state */ void lapd_dl_reset(struct lapd_datalink *dl) { - LOGP(DLLAPD, LOGL_INFO, "Resetting LAPDm instance\n"); + LOGDL(dl, LOGL_INFO, "Resetting LAPDm instance\n"); /* enter idle state (and remove eventual cont_res) */ lapd_dl_newstate(dl, LAPD_STATE_IDLE); /* flush buffer */ @@ -322,7 +332,6 @@ lapd_stop_t203(dl); if (dl->state == LAPD_STATE_IDLE) return; - LOGP(DLLAPD, LOGL_INFO, "Resetting LAPDm instance (dl=%p)\n", dl); /* enter idle state (and remove eventual cont_res) */ lapd_dl_newstate(dl, LAPD_STATE_IDLE); } @@ -339,6 +348,8 @@ /* free history buffer list */ talloc_free(dl->tx_hist); dl->tx_hist = NULL; + talloc_free(dl->name); + dl->name = NULL; } /*! Set the \ref lapdm_mode of a LAPDm entity */ @@ -389,9 +400,9 @@ struct lapd_datalink *dl = lctx->dl; struct osmo_dlsap_prim dp; - LOGP(DLLAPD, LOGL_NOTICE, - "sending MDL-ERROR-IND cause %d from state %s (dl=%p)\n", - cause, lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_NOTICE, + "sending MDL-ERROR-IND cause %d from state %s\n", + cause, lapd_state_name(dl->state)); osmo_prim_init(&dp.oph, 0, PRIM_MDL_ERROR, PRIM_OP_INDICATION, NULL); dp.u.error_ind.cause = cause; return dl->send_dlsap(&dp, lctx); @@ -546,7 +557,7 @@ struct osmo_dlsap_prim dp; struct msgb *msg; - LOGP(DLLAPD, LOGL_DEBUG, "lapd reestablish (dl=%p)\n", dl); + LOGDL(dl, LOGL_DEBUG, "LAPD reestablish\n"); msg = lapd_msgb_alloc(0, "DUMMY"); osmo_prim_init(&dp.oph, 0, PRIM_DL_EST, PRIM_OP_REQUEST, msg); @@ -559,8 +570,7 @@ { struct lapd_datalink *dl = data; - LOGP(DLLAPD, LOGL_INFO, "Timeout T200 state=%s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "Timeout T200 state=%s\n", lapd_state_name(dl->state)); switch (dl->state) { case LAPD_STATE_SABM_SENT: @@ -628,8 +638,7 @@ int length = dl->tx_hist[h].msg->len; struct lapd_msg_ctx nctx; - LOGP(DLLAPD, LOGL_INFO, "retransmit last frame" - " V(S)=%d (dl=%p)\n", vs, dl); + LOGDL(dl, LOGL_INFO, "retransmit last frame V(S)=%d\n", vs); /* Create I frame (segment) from tx_hist */ memcpy(&nctx, &dl->lctx, sizeof(nctx)); /* keep nctx.ldp */ @@ -660,8 +669,7 @@ } else if (dl->own_busy) { lapd_send_rnr(&dl->lctx, 1, 1); } else { - LOGP(DLLAPD, LOGL_INFO, "unhandled, " - "pls. fix (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unhandled, pls. fix\n"); } } /* restart T200 (PH-READY-TO-SEND) */ @@ -672,14 +680,13 @@ /* reestablish */ if (!dl->reestablish) break; - LOGP(DLLAPD, LOGL_NOTICE, "N200+1 reached, performing " - "reestablishment. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "N200+1 reached, performingreestablishment\n"); lapd_reestablish(dl); } break; default: - LOGP(DLLAPD, LOGL_INFO, "T200 expired in unexpected " - "dl->state %s (dl=%p)\n", lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "T200 expired in unexpected dl->state %s)\n", + lapd_state_name(dl->state)); } } @@ -688,12 +695,10 @@ { struct lapd_datalink *dl = data; - LOGP(DLLAPD, LOGL_INFO, "Timeout T203 state=%s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "Timeout T203 state=%s\n", lapd_state_name(dl->state)); if (dl->state != LAPD_STATE_MF_EST) { - LOGP(DLLAPD, LOGL_ERROR, "T203 fired outside MF EST state, " - "please fix! (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "T203 fired outside MF EST state, please fix!\n"); return; } @@ -703,13 +708,11 @@ lapd_dl_newstate(dl, LAPD_STATE_TIMER_RECOV); /* transmit a supervisory command with P bit set to 1 as follows: */ if (!dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, - "transmit an RR poll command (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "transmit an RR poll command\n"); /* Send RR with P=1 */ lapd_send_rr(&dl->lctx, 1, 1); } else { - LOGP(DLLAPD, LOGL_INFO, - "transmit an RNR poll command (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "transmit an RNR poll command\n"); /* Send RNR with P=1 */ lapd_send_rnr(&dl->lctx, 1, 1); } @@ -738,7 +741,7 @@ if (dl->tx_hist[h].msg) { msgb_free(dl->tx_hist[h].msg); dl->tx_hist[h].msg = NULL; - LOGP(DLLAPD, LOGL_INFO, "ack frame %d\n", i); + LOGDL(dl, LOGL_INFO, "ack frame %d\n", i); } } @@ -759,7 +762,7 @@ */ if (sub_mod(nr, dl->v_ack, dl->v_range) > sub_mod(dl->v_send, dl->v_ack, dl->v_range)) { - LOGP(DLLAPD, LOGL_NOTICE, "N(R) sequence error (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "N(R) sequence error\n"); mdl_error(MDL_CAUSE_SEQ_ERR, lctx); } } @@ -771,8 +774,7 @@ * and if there are outstanding I frames, restart T200 */ if (t200_reset && !rej) { if (dl->tx_hist[sub_mod(dl->v_send, 1, dl->range_hist)].msg) { - LOGP(DLLAPD, LOGL_INFO, "start T200, due to unacked I " - "frame(s) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "start T200, due to unacked I frame(s)\n"); lapd_start_t200(dl); } } @@ -805,14 +807,12 @@ prim = PRIM_DL_EST; op = PRIM_OP_INDICATION; - LOGP(DLLAPD, LOGL_INFO, "SABM(E) received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "SABM(E) received in state %s\n", lapd_state_name(dl->state)); /* 5.7.1 */ dl->seq_err_cond = 0; /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.resp) { - LOGP(DLLAPD, LOGL_ERROR, - "SABM response error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "SABM response error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -822,8 +822,7 @@ * set, AN MDL-ERROR-INDICATION is sent to MM. */ if (lctx->more || length > lctx->n201) { - LOGP(DLLAPD, LOGL_ERROR, - "SABM too large error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "SABM too large error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_UFRM_INC_PARAM, lctx); return -EIO; @@ -833,8 +832,7 @@ case LAPD_STATE_IDLE: break; case LAPD_STATE_MF_EST: - LOGP(DLLAPD, LOGL_INFO, "SABM command, multiple " - "frame established state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "SABM command, multiple frame established state\n"); /* If link is lost on the remote side, we start over * and send DL-ESTABLISH indication again. */ /* Additionally, continue in case of content resoltion @@ -846,14 +844,12 @@ if (!length) { /* If no content resolution, this is a * re-establishment. */ - LOGP(DLLAPD, LOGL_INFO, - "Remote reestablish (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "Remote reestablish\n"); break; } if (!dl->cont_res) { - LOGP(DLLAPD, LOGL_INFO, "SABM command not " - "allowed in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "SABM command not allowed in state %s\n", + lapd_state_name(dl->state)); mdl_error(MDL_CAUSE_SABM_MF, lctx); msgb_free(msg); return 0; @@ -865,9 +861,8 @@ #endif if (memcmp(dl->cont_res->data, msg->data, length)) { - LOGP(DLLAPD, LOGL_INFO, "Another SABM " - "with different content - " - "ignoring! (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "Another SABM with different content - " + "ignoring!\n"); msgb_free(msg); return 0; } @@ -889,9 +884,8 @@ */ /* check for contention resoultion */ if (dl->tx_hist[0].msg && dl->tx_hist[0].msg->len) { - LOGP(DLLAPD, LOGL_NOTICE, "SABM not allowed " - "during contention resolution (state=%s, dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_NOTICE, "SABM not allowed during contention " + "resolution (state=%s)\n", lapd_state_name(dl->state)); mdl_error(MDL_CAUSE_SABM_INFO_NOTALL, lctx); } lapd_send_ua(lctx, length, msg->l3h); @@ -917,8 +911,7 @@ dl->cont_res = lapd_msgb_alloc(length, "CONT RES"); memcpy(msgb_put(dl->cont_res, length), msg->l3h, length); - LOGP(DLLAPD, LOGL_NOTICE, - "Store content res. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Store content res.\n"); } /* send notification to L3 */ if (length == 0) { @@ -932,12 +925,10 @@ } break; case LAPD_U_DM: - LOGP(DLLAPD, LOGL_INFO, "DM received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "DM received in state %s\n", lapd_state_name(dl->state)); /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.cmd) { - LOGP(DLLAPD, LOGL_ERROR, - "DM command error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "DM command error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -954,21 +945,18 @@ break; case LAPD_STATE_MF_EST: if (lctx->p_f) { - LOGP(DLLAPD, LOGL_INFO, "unsolicited DM " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited DM response\n"); mdl_error(MDL_CAUSE_UNSOL_DM_RESP, lctx); } else { - LOGP(DLLAPD, LOGL_INFO, "unsolicited DM " - "response, multiple frame established " - "state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited DM response, " + "multiple frame established state\n"); mdl_error(MDL_CAUSE_UNSOL_DM_RESP_MF, lctx); /* reestablish */ if (!dl->reestablish) { msgb_free(msg); return 0; } - LOGP(DLLAPD, LOGL_NOTICE, "Performing " - "reestablishment. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Performing reestablishment\n"); lapd_reestablish(dl); } msgb_free(msg); @@ -976,16 +964,14 @@ case LAPD_STATE_TIMER_RECOV: /* FP = 0 (DM is normal in case PF = 1) */ if (!lctx->p_f) { - LOGP(DLLAPD, LOGL_INFO, "unsolicited DM " - "response, multiple frame established " - "state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited DM response, multiple frame " + "established state\n"); mdl_error(MDL_CAUSE_UNSOL_DM_RESP_MF, lctx); msgb_free(msg); /* reestablish */ if (!dl->reestablish) return 0; - LOGP(DLLAPD, LOGL_NOTICE, "Performing " - "reestablishment. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Performing reestablishment\n"); return lapd_reestablish(dl); } break; @@ -1002,8 +988,7 @@ case LAPD_STATE_IDLE: /* 5.4.5 all other frame types shall be discarded */ default: - LOGP(DLLAPD, LOGL_INFO, "unsolicited DM response! " - "(discarding) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited DM response! (discarding)\n"); msgb_free(msg); return 0; } @@ -1015,11 +1000,10 @@ msgb_free(msg); break; case LAPD_U_UI: - LOGP(DLLAPD, LOGL_INFO, "UI received (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "UI received\n"); /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.resp) { - LOGP(DLLAPD, LOGL_ERROR, "UI indicates response " - "error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "UI indicates response error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1029,9 +1013,8 @@ * set, AN MDL-ERROR-INDICATION is sent to MM. */ if (length > lctx->n201 || lctx->more) { - LOGP(DLLAPD, LOGL_ERROR, "UI too large error " - "(%d > N201(%d) or M=%d) (dl=%p)\n", length, - lctx->n201, lctx->more, dl); + LOGDL(dl, LOGL_ERROR, "UI too large error (%d > N201(%d) or M=%d)\n", + length, lctx->n201, lctx->more); msgb_free(msg); mdl_error(MDL_CAUSE_UFRM_INC_PARAM, lctx); return -EIO; @@ -1042,8 +1025,7 @@ /* 5.3.3 UI frames received with the length indicator * set to "0" shall be ignored */ - LOGP(DLLAPD, LOGL_INFO, - "length=0 (discarding) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "length=0 (discarding)\n"); msgb_free(msg); return 0; } @@ -1055,8 +1037,7 @@ prim = PRIM_DL_REL; op = PRIM_OP_INDICATION; - LOGP(DLLAPD, LOGL_INFO, "DISC received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "DISC received in state %s\n", lapd_state_name(dl->state)); /* flush tx and send buffers */ lapd_dl_flush_tx(dl); lapd_dl_flush_send(dl); @@ -1064,8 +1045,7 @@ dl->seq_err_cond = 0; /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.resp) { - LOGP(DLLAPD, LOGL_ERROR, - "DISC response error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "DISC response error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1076,22 +1056,19 @@ * primitive with cause "U frame with incorrect * parameters" is sent to the mobile management entity. */ - LOGP(DLLAPD, LOGL_ERROR, - "U frame iwth incorrect parameters (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "U frame iwth incorrect parameters\n"); msgb_free(msg); mdl_error(MDL_CAUSE_UFRM_INC_PARAM, lctx); return -EIO; } switch (dl->state) { case LAPD_STATE_IDLE: - LOGP(DLLAPD, LOGL_INFO, - "DISC in idle state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "DISC in idle state\n"); /* send DM with F=P */ msgb_free(msg); return lapd_send_dm(lctx); case LAPD_STATE_SABM_SENT: - LOGP(DLLAPD, LOGL_INFO, - "DISC in SABM state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "DISC in SABM state\n"); /* 5.4.6.2 send DM with F=P */ lapd_send_dm(lctx); /* stop Timer T200 */ @@ -1103,12 +1080,10 @@ lctx); case LAPD_STATE_MF_EST: case LAPD_STATE_TIMER_RECOV: - LOGP(DLLAPD, LOGL_INFO, - "DISC in est state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "DISC in est state\n"); break; case LAPD_STATE_DISC_SENT: - LOGP(DLLAPD, LOGL_INFO, - "DISC in disc state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "DISC in disc state\n"); prim = PRIM_DL_REL; op = PRIM_OP_CONFIRM; break; @@ -1128,12 +1103,10 @@ msgb_free(msg); break; case LAPD_U_UA: - LOGP(DLLAPD, LOGL_INFO, "UA received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "UA received in state %s\n", lapd_state_name(dl->state)); /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.cmd) { - LOGP(DLLAPD, LOGL_ERROR, "UA indicates command " - "error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "UA indicates command error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1143,8 +1116,7 @@ * set, AN MDL-ERROR-INDICATION is sent to MM. */ if (lctx->more || length > lctx->n201) { - LOGP(DLLAPD, LOGL_ERROR, - "UA too large error (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "UA too large error\n"); msgb_free(msg); mdl_error(MDL_CAUSE_UFRM_INC_PARAM, lctx); return -EIO; @@ -1154,8 +1126,7 @@ /* 5.4.1.2 A UA response with the F bit set to "0" * shall be ignored. */ - LOGP(DLLAPD, LOGL_INFO, - "F=0 (discarding) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "F=0 (discarding)\n"); msgb_free(msg); return 0; } @@ -1164,14 +1135,12 @@ break; case LAPD_STATE_MF_EST: case LAPD_STATE_TIMER_RECOV: - LOGP(DLLAPD, LOGL_INFO, "unsolicited UA response! " - "(discarding) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited UA response! (discarding)\n"); mdl_error(MDL_CAUSE_UNSOL_UA_RESP, lctx); msgb_free(msg); return 0; case LAPD_STATE_DISC_SENT: - LOGP(DLLAPD, LOGL_INFO, - "UA in disconnect state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "UA in disconnect state\n"); /* stop Timer T200 */ lapd_stop_t200(dl); /* go to idle state */ @@ -1184,12 +1153,11 @@ case LAPD_STATE_IDLE: /* 5.4.5 all other frame types shall be discarded */ default: - LOGP(DLLAPD, LOGL_INFO, "unsolicited UA response! " - "(discarding) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "unsolicited UA response! (discarding)\n"); msgb_free(msg); return 0; } - LOGP(DLLAPD, LOGL_INFO, "UA in SABM state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "UA in SABM state\n"); /* stop Timer T200 */ lapd_stop_t200(dl); /* compare UA with SABME if contention resolution is applied */ @@ -1197,8 +1165,7 @@ if (length != (dl->tx_hist[0].msg->len) || !!memcmp(dl->tx_hist[0].msg->data, msg->l3h, length)) { - LOGP(DLLAPD, LOGL_INFO, "**** UA response " - "mismatches **** (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "**** UA response mismatches ****\n"); rc = send_dl_simple(PRIM_DL_REL, PRIM_OP_INDICATION, lctx); msgb_free(msg); @@ -1222,22 +1189,19 @@ msgb_free(msg); break; case LAPD_U_FRMR: - LOGP(DLLAPD, LOGL_NOTICE, - "Frame reject received (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Frame reject received\n"); /* send MDL ERROR INIDCATION to L3 */ mdl_error(MDL_CAUSE_FRMR, lctx); msgb_free(msg); /* reestablish */ if (!dl->reestablish) break; - LOGP(DLLAPD, LOGL_NOTICE, - "Performing reestablishment. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Performing reestablishment\n"); rc = lapd_reestablish(dl); break; default: /* G.3.1 */ - LOGP(DLLAPD, LOGL_NOTICE, - "Unnumbered frame not allowed. (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Unnumbered frame not allowed\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1256,8 +1220,7 @@ * with the M bit set to "1", an MDL-ERROR-INDICATION * primitive with cause "S frame with incorrect * parameters" is sent to the mobile management entity. */ - LOGP(DLLAPD, LOGL_ERROR, - "S frame with incorrect parameters (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "S frame with incorrect parameters\n"); msgb_free(msg); mdl_error(MDL_CAUSE_SFRM_INC_PARAM, lctx); return -EIO; @@ -1267,8 +1230,7 @@ && lctx->p_f && dl->state != LAPD_STATE_TIMER_RECOV) { /* 5.4.2.2: Inidcate error on supervisory reponse F=1 */ - LOGP(DLLAPD, LOGL_NOTICE, - "S frame response with F=1 error (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "S frame response with F=1 error\n"); mdl_error(MDL_CAUSE_UNSOL_SPRV_RESP, lctx); } @@ -1281,15 +1243,13 @@ /* fall though */ case LAPD_STATE_SABM_SENT: case LAPD_STATE_DISC_SENT: - LOGP(DLLAPD, LOGL_NOTICE, - "S frame ignored in this state (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "S frame ignored in this state\n"); msgb_free(msg); return 0; } switch (lctx->s_u) { case LAPD_S_RR: - LOGP(DLLAPD, LOGL_INFO, "RR received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "RR received in state %s\n", lapd_state_name(dl->state)); /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); @@ -1297,10 +1257,8 @@ if (lctx->cr == dl->cr.rem2loc.cmd && lctx->p_f) { if (!dl->own_busy && !dl->seq_err_cond) { - LOGP(DLLAPD, LOGL_INFO, "RR frame command " - "with polling bit set and we are not " - "busy, so we reply with RR frame " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RR frame command with polling bit set and " + "we are not busy, so we reply with RR frame response\n"); lapd_send_rr(lctx, 1, 0); /* NOTE: In case of sequence error condition, * the REJ frame has been transmitted when @@ -1308,18 +1266,15 @@ * done here */ } else if (dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, "RR frame command " - "with polling bit set and we are busy, " - "so we reply with RR frame response (dl=%p)\n", - dl); + LOGDL(dl, LOGL_INFO, "RR frame command with polling bit set and " + "we are busy, so we reply with RR frame response\n"); lapd_send_rnr(lctx, 1, 0); } } else if (lctx->cr == dl->cr.rem2loc.resp && lctx->p_f && dl->state == LAPD_STATE_TIMER_RECOV) { - LOGP(DLLAPD, LOGL_INFO, "RR response with F==1, " - "and we are in timer recovery state, so " - "we leave that state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RR response with F==1, and we are in timer recovery " + "state, so we leave that state\n"); /* V(S) to the N(R) in the RR frame */ dl->v_send = lctx->n_recv; /* stop Timer T200 */ @@ -1332,8 +1287,7 @@ break; case LAPD_S_RNR: - LOGP(DLLAPD, LOGL_INFO, "RNR received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "RNR received in state %s\n", lapd_state_name(dl->state)); /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); @@ -1344,40 +1298,33 @@ if (lctx->p_f) { if (lctx->cr == dl->cr.rem2loc.cmd) { if (!dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, "RNR poll " - "command and we are not busy, " - "so we reply with RR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RNR poll command and we are not busy, " + "so we reply with RR final response\n"); /* Send RR with F=1 */ lapd_send_rr(lctx, 1, 0); } else { - LOGP(DLLAPD, LOGL_INFO, "RNR poll " - "command and we are busy, so " - "we reply with RNR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RNR poll command and we are busy, so " + "we reply with RNR final response\n"); /* Send RNR with F=1 */ lapd_send_rnr(lctx, 1, 0); } } else if (dl->state == LAPD_STATE_TIMER_RECOV) { - LOGP(DLLAPD, LOGL_INFO, "RNR poll response " - "and we in timer recovery state, so " - "we leave that state (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RNR poll response and we in timer recovery " + "state, so we leave that state\n"); /* 5.5.7 Clear timer recovery condition */ lapd_dl_newstate(dl, LAPD_STATE_MF_EST); /* V(S) to the N(R) in the RNR frame */ dl->v_send = lctx->n_recv; } } else - LOGP(DLLAPD, LOGL_INFO, "RNR not polling/final state " - "received (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "RNR not polling/final state received\n"); /* Send message, if possible due to acknowledged data */ lapd_send_i(lctx, __LINE__); break; case LAPD_S_REJ: - LOGP(DLLAPD, LOGL_INFO, "REJ received in state %s (dl=%p)\n", - lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "REJ received in state %s\n", lapd_state_name(dl->state)); /* 5.5.3.1: Acknowlege all tx frames up the the N(R)-1 */ lapd_acknowledge(lctx); @@ -1392,12 +1339,9 @@ /* 5.5.3.2 */ if (lctx->cr == dl->cr.rem2loc.cmd && lctx->p_f) { if (!dl->own_busy && !dl->seq_err_cond) { - LOGP(DLLAPD, LOGL_INFO, "REJ poll " - "command not in timer recovery " - "state and not in own busy " - "condition received, so we " - "respond with RR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ poll command not in timer recovery " + "state and not in own busy condition received, so we " + "respond with RR final response\n"); lapd_send_rr(lctx, 1, 0); /* NOTE: In case of sequence error * condition, the REJ frame has been @@ -1406,29 +1350,22 @@ * here */ } else if (dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, "REJ poll " - "command not in timer recovery " - "state and in own busy " - "condition received, so we " - "respond with RNR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ poll command not in timer recovery " + "state and in own busy condition received, so we " + "respond with RNR final response\n"); lapd_send_rnr(lctx, 1, 0); } } else - LOGP(DLLAPD, LOGL_INFO, "REJ response or not " - "polling command not in timer recovery " - "state received (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ response or not polling command not " + "in timer recovery state received\n"); /* send MDL ERROR INIDCATION to L3 */ if (lctx->cr == dl->cr.rem2loc.resp && lctx->p_f) { - LOGP(DLLAPD, LOGL_ERROR, - "unsolicited supervisory response! (dl=%p)\n", - dl); + LOGDL(dl, LOGL_ERROR, "unsolicited supervisory response!\n"); mdl_error(MDL_CAUSE_UNSOL_SPRV_RESP, lctx); } } else if (lctx->cr == dl->cr.rem2loc.resp && lctx->p_f) { - LOGP(DLLAPD, LOGL_INFO, "REJ poll response in timer " - "recovery state received (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ poll response in timer recovery state received\n"); /* Clear an existing peer receiver busy condition */ dl->peer_busy = 0; /* V(S) and V(A) to the N(R) in the REJ frame */ @@ -1445,12 +1382,9 @@ /* 5.5.3.2 */ if (lctx->cr == dl->cr.rem2loc.cmd && lctx->p_f) { if (!dl->own_busy && !dl->seq_err_cond) { - LOGP(DLLAPD, LOGL_INFO, "REJ poll " - "command in timer recovery " - "state and not in own busy " - "condition received, so we " - "respond with RR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ poll command in timer recovery " + "state and not in own busy condition received, so we " + "respond with RR final response\n"); lapd_send_rr(lctx, 1, 0); /* NOTE: In case of sequence error * condition, the REJ frame has been @@ -1459,18 +1393,14 @@ * here */ } else if (dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, "REJ poll " - "command in timer recovery " - "state and in own busy " - "condition received, so we " - "respond with RNR final " - "response (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ poll command in timer recovery " + "state and in own busy condition received, so we " + "respond with RNR final response\n"); lapd_send_rnr(lctx, 1, 0); } } else - LOGP(DLLAPD, LOGL_INFO, "REJ response or not " - "polling command in timer recovery " - "state received (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "REJ response or not polling command in " + "timer recovery state received\n"); } /* FIXME: 5.5.4.2 2) */ @@ -1481,8 +1411,7 @@ break; default: /* G.3.1 */ - LOGP(DLLAPD, LOGL_ERROR, - "Supervisory frame not allowed. (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "Supervisory frame not allowed\n"); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1500,13 +1429,13 @@ int length = lctx->length; int rc; - LOGP(DLLAPD, LOGL_INFO, "I received in state %s on SAPI(%u) (dl=%p)\n", - lapd_state_name(dl->state), lctx->sapi, dl); + LOGDL(dl, LOGL_INFO, "I received in state %s on SAPI(%u)\n", + lapd_state_name(dl->state), lctx->sapi); /* G.2.2 Wrong value of the C/R bit */ if (lctx->cr == dl->cr.rem2loc.resp) { - LOGP(DLLAPD, LOGL_ERROR, - "I frame response not allowed (dl=%p state %s)\n", dl, lapd_state_name(dl->state)); + LOGDL(dl, LOGL_ERROR, "I frame response not allowed (state %s)\n", + lapd_state_name(dl->state)); msgb_free(msg); mdl_error(MDL_CAUSE_FRM_UNIMPL, lctx); return -EINVAL; @@ -1517,8 +1446,8 @@ * to a numerical value L>N201 or L=0, an MDL-ERROR-INDICATION * primitive with cause "I frame with incorrect length" * is sent to the mobile management entity. */ - LOGP(DLLAPD, LOGL_ERROR, - "I frame length not allowed (dl=%p state %s)\n", dl, lapd_state_name(dl->state)); + LOGDL(dl, LOGL_ERROR, "I frame length not allowed (state %s)\n", + lapd_state_name(dl->state)); msgb_free(msg); mdl_error(MDL_CAUSE_IFRM_INC_LEN, lctx); return -EIO; @@ -1529,8 +1458,8 @@ * cause "I frame with incorrect use of M bit" is sent to the * mobile management entity. */ if (lctx->more && length < lctx->n201) { - LOGP(DLLAPD, LOGL_ERROR, - "I frame with M bit too short (dl=%p state %s)\n", dl, lapd_state_name(dl->state)); + LOGDL(dl, LOGL_ERROR, "I frame with M bit too short (state %s)\n", + lapd_state_name(dl->state)); msgb_free(msg); mdl_error(MDL_CAUSE_IFRM_INC_MBITS, lctx); return -EIO; @@ -1545,16 +1474,15 @@ /* fall though */ case LAPD_STATE_SABM_SENT: case LAPD_STATE_DISC_SENT: - LOGP(DLLAPD, LOGL_NOTICE, - "I frame ignored in state %s (dl=%p)\n", lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_NOTICE, "I frame ignored in state %s\n", lapd_state_name(dl->state)); msgb_free(msg); return 0; } /* 5.7.1: N(s) sequence error */ if (ns != dl->v_recv) { - LOGP(DLLAPD, LOGL_NOTICE, "N(S) sequence error: N(S)=%u, " - "V(R)=%u (dl=%p state %s)\n", ns, dl->v_recv, dl, lapd_state_name(dl->state)); + LOGDL(dl, LOGL_NOTICE, "N(S) sequence error: N(S)=%u, V(R)=%u (state %s)\n", + ns, dl->v_recv, lapd_state_name(dl->state)); /* discard data */ msgb_free(msg); if (dl->seq_err_cond != 1) { @@ -1588,8 +1516,7 @@ /* Increment receiver state */ dl->v_recv = inc_mod(dl->v_recv, dl->v_range); - LOGP(DLLAPD, LOGL_INFO, "incrementing V(R) to %u (dl=%p)\n", - dl->v_recv, dl); + LOGDL(dl, LOGL_INFO, "incrementing V(R) to %u\n", dl->v_recv); /* 5.5.3.1: Acknowlege all transmitted frames up the the N(R)-1 */ lapd_acknowledge(lctx); /* V(A) is also set here */ @@ -1598,8 +1525,7 @@ if (!dl->own_busy) { /* if the frame carries a complete segment */ if (!lctx->more && !dl->rcv_buffer) { - LOGP(DLLAPD, LOGL_INFO, - "message in single I frame (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "message in single I frame\n"); /* send a DATA INDICATION to L3 */ msgb_trim(msg, length); rc = send_dl_l3(PRIM_DL_DATA, PRIM_OP_INDICATION, lctx, @@ -1607,50 +1533,43 @@ } else { /* create rcv_buffer */ if (!dl->rcv_buffer) { - LOGP(DLLAPD, LOGL_INFO, "message in multiple " - "I frames (first message) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "message in multiple I frames (first message)\n"); dl->rcv_buffer = lapd_msgb_alloc(dl->maxf, "LAPD RX"); dl->rcv_buffer->l3h = dl->rcv_buffer->data; } /* concat. rcv_buffer */ if (msgb_l3len(dl->rcv_buffer) + length > dl->maxf) { - LOGP(DLLAPD, LOGL_NOTICE, "Received frame " - "overflow! (dl=%p)\n", dl); + LOGDL(dl, LOGL_NOTICE, "Received frame overflow!\n"); } else { memcpy(msgb_put(dl->rcv_buffer, length), msg->l3h, length); } /* if the last segment was received */ if (!lctx->more) { - LOGP(DLLAPD, LOGL_INFO, "message in multiple " - "I frames (last message) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "message in multiple I frames (last message)\n"); rc = send_dl_l3(PRIM_DL_DATA, PRIM_OP_INDICATION, lctx, dl->rcv_buffer); dl->rcv_buffer = NULL; } else - LOGP(DLLAPD, LOGL_INFO, "message in multiple " - "I frames (next message) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "message in multiple I frames (next message)\n"); msgb_free(msg); } } else - LOGP(DLLAPD, LOGL_INFO, "I frame ignored during own receiver " - "busy condition\n"); + LOGDL(dl, LOGL_INFO, "I frame ignored during own receiver busy condition\n"); /* Check for P bit */ if (lctx->p_f) { /* 5.5.2.1 */ /* check if we are not in own receiver busy */ if (!dl->own_busy) { - LOGP(DLLAPD, LOGL_INFO, - "we are not busy, send RR (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "we are not busy, send RR\n"); /* Send RR with F=1 */ rc = lapd_send_rr(lctx, 1, 0); } else { - LOGP(DLLAPD, LOGL_INFO, - "we are busy, send RNR (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "we are busy, send RNR\n"); /* Send RNR with F=1 */ rc = lapd_send_rnr(lctx, 1, 0); } @@ -1667,17 +1586,15 @@ rc = dl->update_pending_frames(lctx); if (rc) { - LOGP(DLLAPD, LOGL_INFO, "we are not busy and " - "have no pending data, send RR (dl=%p)\n", - dl); + LOGDL(dl, LOGL_INFO, "we are not busy and have no pending data, " + "send RR\n"); /* Send RR with F=0 */ return lapd_send_rr(lctx, 0, 0); } /* all I or one RR is sent, we are done */ return 0; } else { - LOGP(DLLAPD, LOGL_INFO, - "we are busy, send RNR (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "we are busy, send RNR\n"); /* Send RNR with F=0 */ rc = lapd_send_rnr(lctx, 0, 0); } @@ -1705,8 +1622,7 @@ rc = lapd_rx_i(msg, lctx); break; default: - LOGP(DLLAPD, LOGL_NOTICE, - "unknown LAPD format (dl=%p)\n", lctx->dl); + LOGDL(lctx->dl, LOGL_NOTICE, "unknown LAPD format\n"); msgb_free(msg); rc = -EINVAL; } @@ -1744,11 +1660,9 @@ struct lapd_msg_ctx nctx; if (msg->len) - LOGP(DLLAPD, LOGL_INFO, "perform establishment with content " - "(SABM) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "perform establishment with content (SABM)\n"); else - LOGP(DLLAPD, LOGL_INFO, - "perform normal establishm. (SABM), (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "perform normal establishm. (SABM)\n"); /* Flush send-queue */ /* Clear send-buffer */ @@ -1803,15 +1717,12 @@ struct msgb *msg = dp->oph.msg; if (msgb_l3len(msg) == 0) { - LOGP(DLLAPD, LOGL_ERROR, - "writing an empty message is not possible. (dl=%p)\n", dl); + LOGDL(dl, LOGL_ERROR, "writing an empty message is not possible\n"); msgb_free(msg); return -1; } - LOGP(DLLAPD, LOGL_INFO, - "writing message to send-queue: l3len: %d (dl=%p)\n", - msgb_l3len(msg), dl); + LOGDL(dl, LOGL_INFO, "writing message to send-queue: l3len: %d\n", msgb_l3len(msg)); /* Write data into the send queue */ msgb_enqueue(&dl->send_queue, msg); @@ -1834,19 +1745,17 @@ struct lapd_msg_ctx nctx; - LOGP(DLLAPD, LOGL_INFO, - "%s() called from line %d (dl=%p)\n", __func__, line, dl); + LOGDL(dl, LOGL_INFO, "%s() called from line %d\n", __func__, line); next_frame: if (dl->peer_busy) { - LOGP(DLLAPD, LOGL_INFO, "peer busy, not sending (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "peer busy, not sending\n"); return rc; } if (dl->state == LAPD_STATE_TIMER_RECOV) { - LOGP(DLLAPD, LOGL_INFO, - "timer recovery, not sending (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "timer recovery, not sending\n"); return rc; } @@ -1857,9 +1766,8 @@ * of the error recovery procedures as described in subclauses 5.5.4 and * 5.5.7. */ if (dl->v_send == add_mod(dl->v_ack, k, dl->v_range)) { - LOGP(DLLAPD, LOGL_INFO, "k frames outstanding, not sending " - "more (k=%u V(S)=%u V(A)=%u) (dl=%p)\n", k, dl->v_send, - dl->v_ack, dl); + LOGDL(dl, LOGL_INFO, "k frames outstanding, not sending more " + "(k=%u V(S)=%u V(A)=%u)\n", k, dl->v_send, dl->v_ack); return rc; } @@ -1875,8 +1783,7 @@ /* No more data to be sent */ if (!dl->send_buffer) return rc; - LOGP(DLLAPD, LOGL_INFO, "get message from " - "send-queue (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "get message from send-queue\n"); } /* How much is left in the send-buffer? */ @@ -1885,10 +1792,9 @@ length = left; if (length > lctx->n201) length = lctx->n201; - LOGP(DLLAPD, LOGL_INFO, "msg-len %d sent %d left %d N201 %d " - "length %d first byte %02x (dl=%p)\n", - msgb_l3len(dl->send_buffer), dl->send_out, left, - lctx->n201, length, dl->send_buffer->l3h[0], dl); + LOGDL(dl, LOGL_INFO, "msg-len %d sent %d left %d N201 %d length %d " + "first byte %02x\n", msgb_l3len(dl->send_buffer), dl->send_out, left, + lctx->n201, length, dl->send_buffer->l3h[0]); /* If message in send-buffer is completely sent */ if (left == 0) { msgb_free(dl->send_buffer); @@ -1896,8 +1802,8 @@ goto next_message; } - LOGP(DLLAPD, LOGL_INFO, "send I frame %sV(S)=%d (dl=%p)\n", - (left > length) ? "segment " : "", dl->v_send, dl); + LOGDL(dl, LOGL_INFO, "send I frame %sV(S)=%d\n", + (left > length) ? "segment " : "", dl->v_send); /* Create I frame (segment) and transmit-buffer content */ msg = lapd_msgb_alloc(length, "LAPD I"); @@ -1929,8 +1835,7 @@ /* Add length to track how much is already in the tx buffer */ dl->send_out += length; } else { - LOGP(DLLAPD, LOGL_INFO, "resend I frame from tx buffer " - "V(S)=%d (dl=%p)\n", dl->v_send, dl); + LOGDL(dl, LOGL_INFO, "resend I frame from tx buffer V(S)=%d\n", dl->v_send); /* Create I frame (segment) from tx_hist */ length = dl->tx_hist[h].msg->len; @@ -1978,16 +1883,15 @@ struct lapd_datalink *dl = lctx->dl; struct msgb *msg = dp->oph.msg; - LOGP(DLLAPD, LOGL_INFO, "perform suspension (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "perform suspension\n"); /* put back the send-buffer to the send-queue (first position) */ if (dl->send_buffer) { - LOGP(DLLAPD, LOGL_INFO, "put frame in sendbuffer back to " - "queue (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "put frame in sendbuffer back to queue\n"); llist_add(&dl->send_buffer->list, &dl->send_queue); dl->send_buffer = NULL; } else - LOGP(DLLAPD, LOGL_INFO, "no frame in sendbuffer (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "no frame in sendbuffer\n"); /* Clear transmit buffer, but keep send buffer */ lapd_dl_flush_tx(dl); @@ -2007,9 +1911,7 @@ struct msgb *msg = dp->oph.msg; struct lapd_msg_ctx nctx; - LOGP(DLLAPD, LOGL_INFO, - "perform re-establishment (SABM) length=%d (dl=%p)\n", - msg->len, dl); + LOGDL(dl, LOGL_INFO, "perform re-establishment (SABM) length=%d\n", msg->len); /* be sure that history is empty */ lapd_dl_flush_hist(dl); @@ -2079,7 +1981,7 @@ /* local release */ if (dp->u.rel_req.mode) { - LOGP(DLLAPD, LOGL_INFO, "perform local release (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "perform local release\n"); msgb_free(msg); /* stop Timer T200 */ lapd_stop_t200(dl); @@ -2099,7 +2001,7 @@ /* flush tx_hist */ lapd_dl_flush_hist(dl); - LOGP(DLLAPD, LOGL_INFO, "perform normal release (DISC) (dl=%p)\n", dl); + LOGDL(dl, LOGL_INFO, "perform normal release (DISC)\n"); /* Push LAPD header on msgb */ /* assemble message */ @@ -2224,22 +2126,20 @@ } } if (!supported) { - LOGP(DLLAPD, LOGL_NOTICE, - "Message %u/%u unsupported. (dl=%p)\n", dp->oph.primitive, - dp->oph.operation, dl); + LOGDL(dl, LOGL_NOTICE, "Message %u/%u unsupported\n", + dp->oph.primitive, dp->oph.operation); msgb_free(msg); return 0; } if (i == L2DOWNSLLEN) { - LOGP(DLLAPD, LOGL_NOTICE, "Message %u/%u unhandled at this " - "state %s. (dl=%p)\n", dp->oph.primitive, - dp->oph.operation, lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_NOTICE, "Message %u/%u unhandled at this state %s\n", + dp->oph.primitive, dp->oph.operation, lapd_state_name(dl->state)); msgb_free(msg); return 0; } - LOGP(DLLAPD, LOGL_INFO, "Message %s received in state %s (dl=%p)\n", - l2downstatelist[i].name, lapd_state_name(dl->state), dl); + LOGDL(dl, LOGL_INFO, "Message %s received in state %s\n", + l2downstatelist[i].name, lapd_state_name(dl->state)); rc = l2downstatelist[i].rout(dp, lctx); diff --git a/src/gsm/lapdm.c b/src/gsm/lapdm.c index 8084029..d06b929 100644 --- a/src/gsm/lapdm.c +++ b/src/gsm/lapdm.c @@ -132,11 +132,12 @@ static int update_pending_frames(struct lapd_msg_ctx *lctx); static void lapdm_dl_init(struct lapdm_datalink *dl, - struct lapdm_entity *entity, int t200_ms, uint32_t n200) + struct lapdm_entity *entity, int t200_ms, uint32_t n200, + const char *name) { memset(dl, 0, sizeof(*dl)); dl->entity = entity; - lapd_dl_init(&dl->dl, 1, 8, 251); /* Section 5.8.5 of TS 04.06 */ + lapd_dl_init2(&dl->dl, 1, 8, 251, name); /* Section 5.8.5 of TS 04.06 */ dl->dl.reestablish = 0; /* GSM uses no reestablish */ dl->dl.send_ph_data_req = lapdm_send_ph_data_req; dl->dl.send_dlsap = send_rslms_dlsap; @@ -177,10 +178,27 @@ void lapdm_entity_init2(struct lapdm_entity *le, enum lapdm_mode mode, const int *t200_ms, int n200) { + lapdm_entity_init3(le, mode, t200_ms, n200, NULL); +} + +/*! initialize a LAPDm entity and all datalinks inside + * \param[in] le LAPDm entity + * \param[in] mode lapdm_mode (BTS/MS) + * \param[in] t200_ms per-SAPI array of T200 re-transmission timer in milli-seconds + * \param[in] n200 N200 re-transmisison count + * \param[in] name human-readable name (will be copied internally) + */ +void lapdm_entity_init3(struct lapdm_entity *le, enum lapdm_mode mode, + const int *t200_ms, int n200, const char *name_pfx) +{ unsigned int i; - for (i = 0; i < ARRAY_SIZE(le->datalink); i++) - lapdm_dl_init(&le->datalink[i], le, t200_ms[i], n200); + for (i = 0; i < ARRAY_SIZE(le->datalink); i++) { + char name[256]; + if (name_pfx) + snprintf(name, sizeof(name), "%s[%s]", name_pfx, i == 0 ? "0" : "3"); + lapdm_dl_init(&le->datalink[i], le, t200_ms[i], n200, name); + } lapdm_entity_set_mode(le, mode); } @@ -226,14 +244,36 @@ int lapdm_channel_init2(struct lapdm_channel *lc, enum lapdm_mode mode, const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t) { + return lapdm_channel_init3(lc, mode, t200_ms_dcch, t200_ms_acch, chan_t, NULL); +} + +/*! initialize a LAPDm channel and all its channels + * \param[in] lc \ref lapdm_channel to be initialized + * \param[in] mode \ref lapdm_mode (BTS/MS) + * \param[in] t200_ms_dcch per-SAPI array of T200 in milli-seconds for DCCH + * \param[in] t200_ms_acch per-SAPI array of T200 in milli-seconds for SACCH + * \param[in] chan_t GSM channel type (to correctly set N200) + * \parma[in] name_pfx human-readable name (copied by function) + */ +int lapdm_channel_init3(struct lapdm_channel *lc, enum lapdm_mode mode, + const int *t200_ms_dcch, const int *t200_ms_acch, enum gsm_chan_t chan_t, + const char *name_pfx) +{ int n200_dcch = get_n200_dcch(chan_t); + char name[256]; + + if (!name_pfx) + name_pfx = ""; + if (n200_dcch < 0) return -EINVAL; - lapdm_entity_init2(&lc->lapdm_acch, mode, t200_ms_acch, N200_TR_SACCH); + snprintf(name, sizeof(name), "%s[ACCH]", name_pfx); + lapdm_entity_init3(&lc->lapdm_acch, mode, t200_ms_acch, N200_TR_SACCH, name); lc->lapdm_acch.lapdm_ch = lc; - lapdm_entity_init2(&lc->lapdm_dcch, mode, t200_ms_dcch, n200_dcch); + snprintf(name, sizeof(name), "%s[DCCH]", name_pfx); + lapdm_entity_init3(&lc->lapdm_dcch, mode, t200_ms_dcch, n200_dcch, name); lc->lapdm_dcch.lapdm_ch = lc; return 0; @@ -478,7 +518,7 @@ { struct msgb *msg; - LOGP(DLLAPD, LOGL_NOTICE, "sending MDL-ERROR-IND %d\n", cause); + LOGDL(&mctx->dl->dl, LOGL_NOTICE, "sending MDL-ERROR-IND %d\n", cause); msg = rsl_rll_simple(RSL_MT_ERROR_IND, mctx->chan_nr, mctx->link_id, 0); msgb_tlv_put(msg, RSL_IE_RLM_CAUSE, 1, &cause); return rslms_sendmsg(msg, mctx->dl->entity); @@ -523,7 +563,7 @@ } if (!rll_msg) { - LOGP(DLLAPD, LOGL_ERROR, "Unsupported op %d, prim %d. Please " + LOGDL(dl, LOGL_ERROR, "Unsupported op %d, prim %d. Please " "fix!\n", dp->oph.primitive, dp->oph.operation); return -EINVAL; } @@ -592,7 +632,7 @@ LAPDm_CTRL_PF_BIT(msg->l2h[1])); rc = 0; } else if (LAPDm_CTRL_is_S(msg->l2h[1])) { - LOGP(DLLAPD, LOGL_ERROR, "Supervisory frame in queue, this shouldn't happen\n"); + LOGDL(dl, LOGL_ERROR, "Supervisory frame in queue, this shouldn't happen\n"); } } @@ -690,8 +730,7 @@ mctx.dl = lapdm_datalink_for_sapi(le, sapi); /* G.2.1 No action on frames containing an unallocated SAPI. */ if (!mctx.dl) { - LOGP(DLLAPD, LOGL_NOTICE, "Received frame for unsupported " - "SAPI %d!\n", sapi); + LOGP(DLLAPD, LOGL_NOTICE, "Received frame for unsupported SAPI %d!\n", sapi); msgb_free(msg); return -EIO; } @@ -705,8 +744,7 @@ mctx.link_id |= LAPDm_ADDR_SAPI(msg->l2h[0]); /* G.2.3 EA bit set to "0" is not allowed in GSM */ if (!LAPDm_ADDR_EA(msg->l2h[0])) { - LOGP(DLLAPD, LOGL_NOTICE, "EA bit 0 is not allowed in " - "GSM\n"); + LOGDL(lctx.dl, LOGL_NOTICE, "EA bit 0 is not allowed in GSM\n"); msgb_free(msg); rsl_rll_error(RLL_CAUSE_FRM_UNIMPL, &mctx); return -EINVAL; @@ -737,8 +775,7 @@ /* 5.3.3 UI frames with invalid SAPI values shall be * discarded */ - LOGP(DLLAPD, LOGL_INFO, "sapi=%u (discarding)\n", - lctx.sapi); + LOGDL(lctx.dl, LOGL_INFO, "sapi=%u (discarding)\n", lctx.sapi); msgb_free(msg); return 0; } @@ -755,8 +792,7 @@ * MDL-ERROR-INDICATION primitive with cause * "frame not implemented" is sent to the * mobile management entity. */ - LOGP(DLLAPD, LOGL_NOTICE, "we don't support " - "multi-octet length\n"); + LOGDL(lctx.dl, LOGL_NOTICE, "we don't support multi-octet length\n"); msgb_free(msg); rsl_rll_error(RLL_CAUSE_FRM_UNIMPL, &mctx); return -EINVAL; @@ -771,7 +807,7 @@ memcpy(&mctx.dl->mctx, &mctx, sizeof(mctx.dl->mctx)); rc =lapdm_rx_not_permitted(le, &lctx); if (rc > 0) { - LOGP(DLLAPD, LOGL_NOTICE, "received message not permitted\n"); + LOGDL(lctx.dl, LOGL_NOTICE, "received message not permitted\n"); msgb_free(msg); rsl_rll_error(rc, &mctx); return -EINVAL; @@ -930,7 +966,7 @@ if (sapi != 0) { /* According to clause 6, the contention resolution * procedure is only permitted with SAPI value 0 */ - LOGP(DLLAPD, LOGL_ERROR, "SAPI != 0 but contention" + LOGDL(&dl->dl, LOGL_ERROR, "SAPI != 0 but contention" "resolution (discarding)\n"); msgb_free(msg); return send_rll_simple(RSL_MT_REL_IND, &dl->mctx); @@ -946,7 +982,7 @@ /* check if the layer3 message length exceeds N201 */ if (length > n201) { - LOGP(DLLAPD, LOGL_ERROR, "frame too large: %d > N201(%d) " + LOGDL(&dl->dl, LOGL_ERROR, "frame too large: %d > N201(%d) " "(discarding)\n", length, n201); msgb_free(msg); return send_rll_simple(RSL_MT_REL_IND, &dl->mctx); @@ -975,7 +1011,7 @@ int length, ui_bts; if (!le) { - LOGP(DLLAPD, LOGL_ERROR, "lapdm_datalink without entity error\n"); + LOGDL(&dl->dl, LOGL_ERROR, "lapdm_datalink without entity error\n"); msgb_free(msg); return -EMLINK; } @@ -992,8 +1028,7 @@ le->tx_power = *TLVP_VAL(&tv, RSL_IE_MS_POWER); } if (!TLVP_PRESENT(&tv, RSL_IE_L3_INFO)) { - LOGP(DLLAPD, LOGL_ERROR, "unit data request without message " - "error\n"); + LOGDL(&dl->dl, LOGL_ERROR, "unit data request without message error\n"); msgb_free(msg); return -EINVAL; } @@ -1001,15 +1036,14 @@ length = TLVP_LEN(&tv, RSL_IE_L3_INFO); /* check if the layer3 message length exceeds N201 */ if (length + ((link_id & 0x40) ? 4 : 2) + !ui_bts > 23) { - LOGP(DLLAPD, LOGL_ERROR, "frame too large: %d > N201(%d) " + LOGDL(&dl->dl, LOGL_ERROR, "frame too large: %d > N201(%d) " "(discarding)\n", length, ((link_id & 0x40) ? 18 : 20) + ui_bts); msgb_free(msg); return -EIO; } - LOGP(DLLAPD, LOGL_INFO, "sending unit data (tx_power=%d, ta=%d)\n", - le->tx_power, le->ta); + LOGDL(&dl->dl, LOGL_INFO, "sending unit data (tx_power=%d, ta=%d)\n", le->tx_power, le->ta); /* Remove RLL header from msgb and set length to L3-info */ msgb_pull_to_l3(msg); @@ -1041,8 +1075,7 @@ rsl_tlv_parse(&tv, rllh->data, msgb_l2len(msg)-sizeof(*rllh)); if (!TLVP_PRESENT(&tv, RSL_IE_L3_INFO)) { - LOGP(DLLAPD, LOGL_ERROR, "data request without message " - "error\n"); + LOGDL(&dl->dl, LOGL_ERROR, "data request without message error\n"); msgb_free(msg); return -EINVAL; } @@ -1068,7 +1101,7 @@ struct osmo_dlsap_prim dp; if (sapi != 0) { - LOGP(DLLAPD, LOGL_ERROR, "SAPI != 0 while suspending\n"); + LOGDL(&dl->dl, LOGL_ERROR, "SAPI != 0 while suspending\n"); msgb_free(msg); return -EINVAL; } @@ -1098,7 +1131,7 @@ rsl_tlv_parse(&tv, rllh->data, msgb_l2len(msg)-sizeof(*rllh)); if (!TLVP_PRESENT(&tv, RSL_IE_L3_INFO)) { - LOGP(DLLAPD, LOGL_ERROR, "resume without message error\n"); + LOGDL(&dl->dl, LOGL_ERROR, "resume without message error\n"); msgb_free(msg); return send_rll_simple(RSL_MT_REL_IND, &dl->mctx); } diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index a518b28..5ad2d32 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -452,6 +452,7 @@ lapd_dl_exit; lapd_dl_init; +lapd_dl_init2; lapd_dl_reset; lapd_msgb_alloc; lapd_ph_data_ind; @@ -462,6 +463,7 @@ lapdm_channel_exit; lapdm_channel_init; lapdm_channel_init2; +lapdm_channel_init3; lapdm_channel_reset; lapdm_channel_set_flags; lapdm_channel_set_l1; @@ -471,6 +473,7 @@ lapdm_entity_exit; lapdm_entity_init; lapdm_entity_init2; +lapdm_entity_init3; lapdm_entity_reset; lapdm_entity_set_flags; lapdm_entity_set_mode; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:35:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:35:36 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... lapd/lapdm: print user-defined string name instead of (dl=%p) At the moment we print the pointer address to identify the log lines belonging to a specific connection. Since pointer addresses are difficult to work with, a human readable ID should be printed instead. e.g. "This is LAPD instance for SAPI3 on bts0/trx1/ts5/lchan3" Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Closes: OS#1938 --- M TODO-RELEASE M include/osmocom/gsm/lapd_core.h M include/osmocom/gsm/lapdm.h M src/gsm/lapd_core.c M src/gsm/lapdm.c M src/gsm/libosmogsm.map 6 files changed, 265 insertions(+), 314 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/18002/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:36:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:36:07 +0000 Subject: Change in libosmo-abis[master]: lapd: Always print context information when logging References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18003 ) Change subject: lapd: Always print context information when logging ...................................................................... lapd: Always print context information when logging Historically, OpenBSC has primarily been used with setups that have a single E1 based BTS connected. This meant that an error message on the E1 LAPD implicitly has to be related to that single BTS. However, in more comprehensive setups, there may be many BTSs on many E1 lines with many signaling slots. At this point, it's important to know which line/timeslot/tei/sapi a given log message relates to. This patch introduces related log context. Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Requires: libosmocore.git Change-Id Ie6742843fff809edffcac24c4dce4edf66bc71be Related: OS#1938 --- M TODO-RELEASE M include/osmocom/abis/e1_input.h M include/osmocom/abis/lapd.h M src/e1_input.c M src/input/dahdi.c M src/input/e1d.c M src/input/lapd.c M src/input/misdn.c M src/input/unixsocket.c 9 files changed, 92 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/03/18003/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index e49df7a..85b16a7 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line libosmo-abis API change major: add parameter to struct e1inp_line libosmo-trau API change add new function osmo_rtp_socket_set_dscp() +libosmo-abis API change major: add parameter to struct lapd_instance diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h index 4362f50..523a11a 100644 --- a/include/osmocom/abis/e1_input.h +++ b/include/osmocom/abis/e1_input.h @@ -285,6 +285,9 @@ void (*hdlc_recv_cb)(struct e1inp_ts *ts, struct msgb *msg)); +/* obtain a string identifier/name for the given timeslot */ +void e1inp_ts_name(char *out, size_t out_len, const struct e1inp_ts *ts); + /* Receive a packet from the E1 driver */ int e1inp_rx_ts(struct e1inp_ts *ts, struct msgb *msg, uint8_t tei, uint8_t sapi); diff --git a/include/osmocom/abis/lapd.h b/include/osmocom/abis/lapd.h index d618187..1e9ffe7 100644 --- a/include/osmocom/abis/lapd.h +++ b/include/osmocom/abis/lapd.h @@ -38,6 +38,7 @@ struct llist_head tei_list; /* list of TEI in this LAPD instance */ int pcap_fd; /* PCAP file descriptor */ + char *name; /* human-readable name */ }; enum lapd_recv_errors { @@ -63,7 +64,14 @@ void (*tx_cb)(struct msgb *msg, void *cbdata), void *tx_cbdata, void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, void *rx_cbdata), void *rx_cbdata, - const struct lapd_profile *profile); + const struct lapd_profile *profile) +OSMO_DEPRECATED("Use lapd_instance_alloc2() instead"); + +struct lapd_instance *lapd_instance_alloc2(int network_side, + void (*tx_cb)(struct msgb *msg, void *cbdata), void *tx_cbdata, + void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, + void *rx_cbdata), void *rx_cbdata, + const struct lapd_profile *profile, const char *name); /* In rare cases (e.g. Ericsson's lapd dialect), it may be necessary to * exchange the lapd profile on the fly. lapd_instance_set_profile() diff --git a/src/e1_input.c b/src/e1_input.c index ad4e25c..6fda163 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -287,6 +287,11 @@ return 0; } +void e1inp_ts_name(char *out, size_t out_len, const struct e1inp_ts *ts) +{ + snprintf(out, out_len, "%u:%u", ts->line->num, ts->num); +} + int e1inp_ts_config_sign(struct e1inp_ts *ts, struct e1inp_line *line) { if (ts->type == E1INP_TS_TYPE_SIGN && ts->line && line) diff --git a/src/input/dahdi.c b/src/input/dahdi.c index 6da1a02..a461f27 100644 --- a/src/input/dahdi.c +++ b/src/input/dahdi.c @@ -683,10 +683,13 @@ if (ret < 0) return ret; - if (!e1i_ts->lapd) - e1i_ts->lapd = lapd_instance_alloc(1, + if (!e1i_ts->lapd) { + char name[32]; + e1inp_ts_name(name, sizeof(name), e1i_ts); + e1i_ts->lapd = lapd_instance_alloc2(1, dahdi_write_msg, bfd, e1inp_dlsap_up, - e1i_ts, &lapd_profile_abis); + e1i_ts, &lapd_profile_abis, name); + } break; case E1INP_TS_TYPE_HDLC: if (!bfd->fd) diff --git a/src/input/e1d.c b/src/input/e1d.c index 1e9f3bb..f7a0b18 100644 --- a/src/input/e1d.c +++ b/src/input/e1d.c @@ -254,10 +254,13 @@ } bfd->when = BSC_FD_READ; - if (!e1i_ts->lapd) - e1i_ts->lapd = lapd_instance_alloc(1, + if (!e1i_ts->lapd) { + char name[32]; + e1inp_ts_name(name, e1i_ts); + e1i_ts->lapd = lapd_instance_alloc2(1, e1d_write_msg, bfd, e1inp_dlsap_up, - e1i_ts, &lapd_profile_abis); + e1i_ts, &lapd_profile_abis, name); + } break; case E1INP_TS_TYPE_HDLC: /* close/release LAPD instance, if any */ diff --git a/src/input/lapd.c b/src/input/lapd.c index a72a19b..16d1765 100644 --- a/src/input/lapd.c +++ b/src/input/lapd.c @@ -73,6 +73,15 @@ #define LAPD_SET_K(n, o) {n,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o} +#define LOGLI(li, level, fmt, args ...) \ + LOGP(DLLAPD, level, "%s: " fmt, (li)->name, ## args) + +#define LOGTEI(teip, level, fmt, args ...) \ + LOGP(DLLAPD, level, "(%s-T%u): " fmt, (teip)->li->name, (teip)->tei, ## args) + +#define LOGSAP(sap, level, fmt, args ...) \ + LOGP(DLLAPD, level, "%s: " fmt, (sap)->dl.name, ## args) + const struct lapd_profile lapd_profile_isdn = { .k = LAPD_SET_K(7,7), .n200 = 3, @@ -177,7 +186,7 @@ /* Change state of TEI */ static void lapd_tei_set_state(struct lapd_tei *teip, int newstate) { - LOGP(DLLAPD, LOGL_INFO, "LAPD state change on TEI %d: %s -> %s\n", + LOGTEI(teip, LOGL_INFO, "LAPD state change on TEI %d: %s -> %s\n", teip->tei, lapd_tei_states[teip->state], lapd_tei_states[newstate]); teip->state = newstate; @@ -225,15 +234,18 @@ struct lapd_datalink *dl; struct lapd_instance *li; struct lapd_profile *profile; + char name[256]; int k; + snprintf(name, sizeof(name), "(%s-T%u-S%u)", teip->li->name, teip->tei, sapi); + sap = talloc_zero(teip, struct lapd_sap); if (!sap) return NULL; LOGP(DLLAPD, LOGL_NOTICE, - "LAPD Allocating SAP for SAPI=%u / TEI=%u (dl=%p, sap=%p)\n", - sapi, teip->tei, &sap->dl, sap); + "%s: LAPD Allocating SAP for SAPI=%u / TEI=%u (dl=%p, sap=%p)\n", + name, sapi, teip->tei, &sap->dl, sap); sap->sapi = sapi; sap->tei = teip; @@ -242,10 +254,10 @@ profile = &li->profile; k = profile->k[sapi & 0x3f]; - LOGP(DLLAPD, LOGL_NOTICE, "k=%d N200=%d N201=%d T200=%d.%d T203=%d.%d" - "\n", k, profile->n200, profile->n201, profile->t200_sec, + LOGP(DLLAPD, LOGL_NOTICE, "%s: k=%d N200=%d N201=%d T200=%d.%d T203=%d.%d\n", + name, k, profile->n200, profile->n201, profile->t200_sec, profile->t200_usec, profile->t203_sec, profile->t203_usec); - lapd_dl_init(dl, k, 128, profile->n201); + lapd_dl_init2(dl, k, 128, profile->n201, name); dl->use_sabme = 1; /* use SABME instead of SABM (GSM) */ dl->send_ph_data_req = send_ph_data_req; dl->send_dlsap = send_dlsap; @@ -269,7 +281,7 @@ /* Free SAP instance, including the datalink */ static void lapd_sap_free(struct lapd_sap *sap) { - LOGP(DLLAPD, LOGL_NOTICE, + LOGSAP(sap, LOGL_NOTICE, "LAPD Freeing SAP for SAPI=%u / TEI=%u (dl=%p, sap=%p)\n", sap->sapi, sap->tei->tei, &sap->dl, sap); @@ -306,7 +318,7 @@ struct msgb *msg; if (len < 5) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD TEIMGR frame receive len %d < 5" + LOGLI(li, LOGL_ERROR, "LAPD TEIMGR frame receive len %d < 5" ", ignoring\n", len); return -EINVAL; }; @@ -327,7 +339,7 @@ teip = teip_from_tei(li, action); if (!teip) { - LOGP(DLLAPD, LOGL_INFO, "TEI MGR: New TEI %u\n", + LOGLI(li, LOGL_INFO, "TEI MGR: New TEI %u\n", action); teip = lapd_tei_alloc(li, action); if (!teip) @@ -344,16 +356,14 @@ /* write to PCAP file, if enabled. */ osmo_pcap_lapd_write(li->pcap_fd, OSMO_LAPD_PCAP_OUTPUT, msg); - LOGP(DLLAPD, LOGL_DEBUG, "TX: %s\n", - osmo_hexdump(msg->data, msg->len)); + LOGTEI(teip, LOGL_DEBUG, "TX: %s\n", osmo_hexdump(msg->data, msg->len)); li->transmit_cb(msg, li->transmit_cbdata); if (teip->state == LAPD_TEI_NONE) lapd_tei_set_state(teip, LAPD_TEI_ASSIGNED); break; default: - LOGP(DLLAPD, LOGL_NOTICE, "LAPD TEIMGR: unknown mt %x " - "action %x\n", mt, action); + LOGLI(li, LOGL_NOTICE, "LAPD TEIMGR: unknown mt %x action %x\n", mt, action); break; }; @@ -372,10 +382,9 @@ /* write to PCAP file, if enabled. */ osmo_pcap_lapd_write(li->pcap_fd, OSMO_LAPD_PCAP_INPUT, msg); - LOGP(DLLAPD, LOGL_DEBUG, "RX: %s\n", osmo_hexdump(msg->data, msg->len)); + LOGLI(li, LOGL_DEBUG, "RX: %s\n", osmo_hexdump(msg->data, msg->len)); if (msg->len < 2) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD frame receive len %d < 2, " - "ignoring\n", msg->len); + LOGLI(li, LOGL_ERROR, "LAPD frame receive len %d < 2, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; }; @@ -390,7 +399,7 @@ lctx.lpd = 0; if (!LAPD_ADDR_EA(msg->l2h[i])) { if (msg->len < 3) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD frame with TEI receive " + LOGLI(li, LOGL_ERROR, "LAPD frame with TEI receive " "len %d < 3, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; @@ -405,13 +414,13 @@ lctx.n_send = LAPD_CTRL_I_Ns(msg->l2h[i]); i++; if (msg->len < 3 && i == 2) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD I frame without TEI " + LOGLI(li, LOGL_ERROR, "LAPD I frame without TEI " "receive len %d < 3, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; }; if (msg->len < 4 && i == 3) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD I frame with TEI " + LOGLI(li, LOGL_ERROR, "LAPD I frame with TEI " "receive len %d < 4, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; @@ -423,13 +432,13 @@ lctx.s_u = LAPD_CTRL_S_BITS(msg->l2h[i]); i++; if (msg->len < 3 && i == 2) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD S frame without TEI " + LOGLI(li, LOGL_ERROR, "LAPD S frame without TEI " "receive len %d < 3, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; }; if (msg->len < 4 && i == 3) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD S frame with TEI " + LOGLI(li, LOGL_ERROR, "LAPD S frame with TEI " "receive len %d < 4, ignoring\n", msg->len); *error = LAPD_ERR_BAD_LEN; return -EINVAL; @@ -458,14 +467,14 @@ /* resolve TEI and SAPI */ teip = teip_from_tei(li, lctx.tei); if (!teip) { - LOGP(DLLAPD, LOGL_NOTICE, "LAPD Unknown TEI %u\n", lctx.tei); + LOGLI(li, LOGL_NOTICE, "LAPD Unknown TEI %u\n", lctx.tei); *error = LAPD_ERR_UNKNOWN_TEI; msgb_free(msg); return -EINVAL; } sap = lapd_sap_find(teip, lctx.sapi); if (!sap) { - LOGP(DLLAPD, LOGL_INFO, "LAPD No SAP for TEI=%u / SAPI=%u, " + LOGTEI(teip, LOGL_INFO, "LAPD No SAP for TEI=%u / SAPI=%u, " "allocating\n", lctx.tei, lctx.sapi); sap = lapd_sap_alloc(teip, lctx.sapi); if (!sap) { @@ -478,7 +487,7 @@ lctx.n201 = lctx.dl->maxf; if (msg->len > lctx.n201) { - LOGP(DLLAPD, LOGL_ERROR, "message len %d > N201(%d) " + LOGSAP(sap, LOGL_ERROR, "message len %d > N201(%d) " "(discarding)\n", msg->len, lctx.n201); msgb_free(msg); *error = LAPD_ERR_BAD_LEN; @@ -509,8 +518,7 @@ if (!sap) return -ENOMEM; - LOGP(DLLAPD, LOGL_NOTICE, "LAPD DL-ESTABLISH request TEI=%d SAPI=%d\n", - tei, sapi); + LOGSAP(sap, LOGL_NOTICE, "LAPD DL-ESTABLISH request TEI=%d SAPI=%d\n", tei, sapi); /* prepare prim */ msg = msgb_alloc_headroom(56, 56, "DL EST"); @@ -537,8 +545,7 @@ if (!sap) return -ENODEV; - LOGP(DLLAPD, LOGL_NOTICE, "LAPD DL-RELEASE request TEI=%d SAPI=%d\n", - tei, sapi); + LOGSAP(sap, LOGL_NOTICE, "LAPD DL-RELEASE request TEI=%d SAPI=%d\n", tei, sapi); /* prepare prim */ msg = msgb_alloc_headroom(56, 56, "DL REL"); @@ -558,16 +565,14 @@ struct osmo_dlsap_prim dp; if (!teip) { - LOGP(DLLAPD, LOGL_ERROR, "LAPD Cannot transmit on " - "non-existing TEI %u\n", tei); + LOGLI(li, LOGL_ERROR, "LAPD Cannot transmit on non-existing TEI %u\n", tei); msgb_free(msg); return; } sap = lapd_sap_find(teip, sapi); if (!sap) { - LOGP(DLLAPD, LOGL_INFO, "LAPD Tx on unknown SAPI=%u " - "in TEI=%u\n", sapi, tei); + LOGTEI(teip, LOGL_INFO, "LAPD Tx on unknown SAPI=%u in TEI=%u\n", sapi, tei); msgb_free(msg); return; } @@ -625,7 +630,7 @@ osmo_pcap_lapd_write(li->pcap_fd, OSMO_LAPD_PCAP_OUTPUT, msg); /* forward frame to L1 */ - LOGP(DLLAPD, LOGL_DEBUG, "TX: %s\n", osmo_hexdump(msg->data, msg->len)); + LOGDL(dl, LOGL_DEBUG, "TX: %s\n", osmo_hexdump(msg->data, msg->len)); li->transmit_cb(msg, li->transmit_cbdata); return 0; @@ -648,11 +653,11 @@ switch (dp->oph.primitive) { case PRIM_DL_EST: - LOGP(DLLAPD, LOGL_NOTICE, "LAPD DL-ESTABLISH %s TEI=%d " + LOGDL(dl, LOGL_NOTICE, "LAPD DL-ESTABLISH %s TEI=%d " "SAPI=%d\n", op, lctx->tei, lctx->sapi); break; case PRIM_DL_REL: - LOGP(DLLAPD, LOGL_NOTICE, "LAPD DL-RELEASE %s TEI=%d " + LOGDL(dl, LOGL_NOTICE, "LAPD DL-RELEASE %s TEI=%d " "SAPI=%d\n", op, lctx->tei, lctx->sapi); lapd_sap_free(sap); /* note: sap and dl is now gone, don't use it anymore */ @@ -667,11 +672,11 @@ } /* Allocate a new LAPD instance */ -struct lapd_instance *lapd_instance_alloc(int network_side, +struct lapd_instance *lapd_instance_alloc2(int network_side, void (*tx_cb)(struct msgb *msg, void *cbdata), void *tx_cbdata, - void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, + void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, void *rx_cbdata), void *rx_cbdata, - const struct lapd_profile *profile) + const struct lapd_profile *profile, const char *name) { struct lapd_instance *li; @@ -685,6 +690,7 @@ li->receive_cb = rx_cb; li->receive_cbdata = rx_cbdata; li->pcap_fd = -1; + li->name = talloc_strdup(li, name); memcpy(&li->profile, profile, sizeof(li->profile)); INIT_LLIST_HEAD(&li->tei_list); @@ -692,6 +698,16 @@ return li; } +struct lapd_instance *lapd_instance_alloc(int network_side, + void (*tx_cb)(struct msgb *msg, void *cbdata), void *tx_cbdata, + void (*rx_cb)(struct osmo_dlsap_prim *odp, uint8_t tei, uint8_t sapi, + void *rx_cbdata), void *rx_cbdata, + const struct lapd_profile *profile) +{ + return lapd_instance_alloc2(network_side, tx_cbdata, tx_cb, rx_cb, rx_cbdata, profile, NULL); +} + + /* Change lapd-profile on the fly (use with caution!) */ void lapd_instance_set_profile(struct lapd_instance *li, const struct lapd_profile *profile) diff --git a/src/input/misdn.c b/src/input/misdn.c index fef1c0f..564d008 100644 --- a/src/input/misdn.c +++ b/src/input/misdn.c @@ -636,10 +636,12 @@ switch (e1i_ts->type) { case E1INP_TS_TYPE_SIGN: if (mline->use_userspace_lapd) { + char name[32]; addr.channel = ts; - e1i_ts->lapd = lapd_instance_alloc(1, + e1inp_ts_name(name, sizeof(name), e1i_ts); + e1i_ts->lapd = lapd_instance_alloc2(1, misdn_write_msg, bfd, e1inp_dlsap_up, - e1i_ts, &lapd_profile_abis); + e1i_ts, &lapd_profile_abis, name); } else { addr.channel = 0; /* SAPI not supported yet in kernel */ diff --git a/src/input/unixsocket.c b/src/input/unixsocket.c index 1d25ddf..cfb4979 100644 --- a/src/input/unixsocket.c +++ b/src/input/unixsocket.c @@ -287,10 +287,12 @@ /* Set line parameter */ for (i = 0; i < ARRAY_SIZE(line->ts); i++) { struct e1inp_ts *e1i_ts = &line->ts[i]; + char name[32]; if (!e1i_ts->lapd) { - e1i_ts->lapd = lapd_instance_alloc(1, + e1inp_ts_name(name, sizeof(name), e1i_ts); + e1i_ts->lapd = lapd_instance_alloc2(1, unixsocket_write_msg_lapd_cb, &config->fd, - e1inp_dlsap_up, e1i_ts, &lapd_profile_abis); + e1inp_dlsap_up, e1i_ts, &lapd_profile_abis, name); } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Gerrit-Change-Number: 18003 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:36:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:36:38 +0000 Subject: Change in osmo-bts[master]: Ensure we include lchan name in all LAPDm log lines References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18004 ) Change subject: Ensure we include lchan name in all LAPDm log lines ...................................................................... Ensure we include lchan name in all LAPDm log lines This makes use of the newly-introduced lapdm_channel_init3() API, which provides the user (BTS in this case) to provide a human-readable string identifier for each LAPDm channel. This identifier is subsequently used in all related log lines to provide context. This means we will now get context information about which specific SAPI in which sub-channel (ACCH/DCCH) on which lchan/ts/trx/bts a given message originated from. Change-Id: I17e3d4797ec71e31d0775330ae36d2e1fd70423f Depends: libosmocore.git Ie6742843fff809edffcac24c4dce4edf66bc71be Related: OS#1938 --- M src/common/bts.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/04/18004/1 diff --git a/src/common/bts.c b/src/common/bts.c index 2200615..9710a2c 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -429,7 +429,8 @@ "Setting T200 D0=%u, D3=%u, S0=%u, S3=%u (all in ms)\n", t200_ms_dcch[DL_SAPI0], t200_ms_dcch[DL_SAPI3], t200_ms_acch[DL_SAPI0], t200_ms_acch[DL_SAPI3]); - lapdm_channel_init2(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type); + lapdm_channel_init3(lc, LAPDM_MODE_BTS, t200_ms_dcch, t200_ms_acch, lchan->type, + gsm_lchan_name(lchan)); lapdm_channel_set_flags(lc, LAPDM_ENT_F_POLLING_ONLY); lapdm_channel_set_l1(lc, NULL, lchan); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I17e3d4797ec71e31d0775330ae36d2e1fd70423f Gerrit-Change-Number: 18004 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:39:00 +0000 Subject: Change in libosmocore[master]: HACK: Disable the use of thread-local storage In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18000 ) Change subject: HACK: Disable the use of thread-local storage ...................................................................... Abandoned accidentially pushed -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18000 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9baa7047fc4ff1a595ee318dcdb1247f1460da1b Gerrit-Change-Number: 18000 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:40:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:40:22 +0000 Subject: Change in libosmocore[master]: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17993 ) Change subject: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17993 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 Gerrit-Change-Number: 17993 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 02 May 2020 19:40:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:40:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:40:27 +0000 Subject: Change in libosmocore[master]: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17993 ) Change subject: configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt ...................................................................... configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt AC_SEARCH_LIBS was finding the function correctly, but later on AC_CHECK_FUNCS was not including the found LIBRARY_RT so the function was not found, and hence HAVE_CLOCK_GETTIME ended up undefined (which in turns disables support for osmo_clock_gettime() API). This happened in systems like the soekris where the clock_gettime sybmol is available in external lib -lrt. Let's avoid double-checking for the function twice, and simply define HAVE_CLOCK_GETTIME when AC_SEARCH_LIBS succeeds (the success action is guaranteed to be called even if there's no extra lib required). Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 --- M configure.ac 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 352648b..cba0a41 100644 --- a/configure.ac +++ b/configure.ac @@ -77,7 +77,9 @@ AX_PTHREAD # check for old glibc < 2.17 to get clock_gettime -AC_SEARCH_LIBS([clock_gettime], [rt posix4], [LIBRARY_RT="$LIBS";LIBS=""]) +AC_SEARCH_LIBS([clock_gettime], [rt posix4], + [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if clock_gettime is available]) + LIBRARY_RT="$LIBS";LIBS="";]) AC_SUBST(LIBRARY_RT) AC_ARG_ENABLE(doxygen, @@ -103,7 +105,7 @@ CFLAGS="$saved_CFLAGS" AC_SUBST(SYMBOL_VISIBILITY) -AC_CHECK_FUNCS(clock_gettime localtime_r) +AC_CHECK_FUNCS(localtime_r) AC_DEFUN([CHECK_TM_INCLUDES_TM_GMTOFF], [ AC_CACHE_CHECK( -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17993 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iced1e0542cee6beb9f08f5299aad49fab142cfb4 Gerrit-Change-Number: 17993 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:40:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:40:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 ) Change subject: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Gerrit-Change-Number: 17994 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 19:40:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:40:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:40:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 ) Change subject: library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 ...................................................................... library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488 Commit [1] introduced multiple regressions, because it basically changed the byte order in all fields of the whole module from 'first' (implicit default) to 'last'. This is not what we need. Instead, let's apply BYTEORDER(last) to 5 bit 'ext_ra' fields unless the bug [2] in TITAN's RAW codec is fixed. [1] I481a40daef3eed4a3daa687ad87c4128a13181b4 [2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Signed-off-by: Vadim Yanitskiy --- M library/GSM_RR_Types.ttcn 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 6e359ab..dcf12ae 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -194,10 +194,7 @@ type record LocationAreaIdentification { BcdMccMnc mcc_mnc, uint16_t lac - } with { - /* Otherwise '262F45'H is encoded as '24F262'H */ - variant (mcc_mnc) "BYTEORDER(first)" - }; + } with { variant "" }; /* TS 24.008 10.5.1.4 */ type enumerated MobileIdentityType { @@ -412,6 +409,8 @@ variant (r99) "CSN.1 L/H" variant (presence) "PRESENCE(r99 = '1'B)" /* H */ variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first }; type union PacketUlDlAssignUnion { PacketUlAssign ul, @@ -634,6 +633,8 @@ variant (ats) "PRESENCE(ats_present = '1'B)" variant (dynamic) "PRESENCE(presence = '1'B)" variant (multiblock) "PRESENCE(presence = '0'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first }; type octetstring MblkDlAss; /* TODO */ @@ -1064,4 +1065,4 @@ } }; -} with { encode "RAW" ; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" } +} with { encode "RAW" ; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17994 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a Gerrit-Change-Number: 17994 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:41:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:41:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement SI3 Rest Octets as per 3GPP TS 44.018 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 ) Change subject: library: implement SI3 Rest Octets as per 3GPP TS 44.018 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Gerrit-Change-Number: 17995 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 19:41:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:42:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:42:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement SI3 Rest Octets as per 3GPP TS 44.018 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 ) Change subject: library: implement SI3 Rest Octets as per 3GPP TS 44.018 ...................................................................... library: implement SI3 Rest Octets as per 3GPP TS 44.018 Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Signed-off-by: Vadim Yanitskiy --- M bts/gen_links.sh A library/GSM_RestOctets.ttcn 2 files changed, 120 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/gen_links.sh b/bts/gen_links.sh index b6921fa..7aa8398 100755 --- a/bts/gen_links.sh +++ b/bts/gen_links.sh @@ -33,7 +33,7 @@ gen_links $DIR $FILES DIR=../library -FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " +FILES="Misc_Helpers.ttcn General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn GSM_RestOctets.ttcn Osmocom_Types.ttcn RLCMAC_Templates.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Templates.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn " #FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc " #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn " FILES+="IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp IPA_CodecPort.ttcn RSL_Types.ttcn RSL_Emulation.ttcn AbisOML_Types.ttcn " diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn new file mode 100644 index 0000000..8f0346d --- /dev/null +++ b/library/GSM_RestOctets.ttcn @@ -0,0 +1,119 @@ +/** + * GSM Rest Octets definitions as per 3GPP TS 44.018. + * + * (C) 2020 Vadim Yanitskiy + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module GSM_RestOctets { + +import from General_Types all; +import from Osmocom_Types all; + +/* 10.5.2.34 SI 3 Rest Octets */ +type record SI3RestOctets { + SelectionParamsOpt sel_params, + PowerOffsetOpt pwr_offset, + BIT1 si_2ter_ind, + BIT1 early_cm_ind, + SchedIfAndWhere sched_where, + GPRSIndicatorOpt gprs_ind, + BIT1 umts_early_cm_ind, + SI2quaterIndicatorOpt si2_quater_ind, + BIT1 iu_mode_ind ('1'B) optional, + SI21IndicatorOpt si21_ind optional + /* ... spare padding ... */ +} with { + variant (si_2ter_ind) "CSN.1 L/H" + variant (early_cm_ind) "CSN.1 L/H" + variant (umts_early_cm_ind) "CSN.1 L/H" + + /* If Iu mode is not supported in the cell, the Iu Indicator is not sent + * within this cell. Iu Indicator is included if and only if GPRS is + * not supported, and Iu mode is supported in the cell. */ + variant (iu_mode_ind) "PRESENCE(gprs_ind.presence = '0'B)" + /* SI21 field is only present if 'WHERE' information is not present. */ + variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" +}; + +/* Selection Parameters */ +type record SelectionParams { + boolean cbq, + uint6_t cr_offset, + uint3_t temp_offset, + uint5_t penalty_time +} with { + variant (cbq) "FIELDLENGTH(1)" +}; + +/* Optional Selection Parameters: L | H < Selection Parameters > */ +type record SelectionParamsOpt { + BIT1 presence, // L/H + SelectionParams params optional +} with { + variant (presence) "CSN.1 L/H" + variant (params) "PRESENCE(presence = '1'B)" +}; + +/* Optional Power Offset: L | H < Power Offset bit(2) > */ +type record PowerOffsetOpt { + BIT1 presence, // L/H + uint2_t offset optional +} with { + variant (presence) "CSN.1 L/H" + variant (offset) "PRESENCE(presence = '1'B)" +}; + +/* Scheduling if and where: L | H < WHERE bit(3) > */ +type record SchedIfAndWhere { + BIT1 presence, // L/H + uint3_t where optional +} with { + variant (presence) "CSN.1 L/H" + variant (where) "PRESENCE(presence = '1'B)" +}; + +type record GPRSIndicator { + uint3_t ra_colour, + BIT1 si13_pos +} with { variant "" }; + +/* Optional GPRS Indicator: L | H < GPRS Indicator > */ +type record GPRSIndicatorOpt { + BIT1 presence, // L/H + GPRSIndicator ind optional +} with { + variant (presence) "CSN.1 L/H" + variant (ind) "PRESENCE(presence = '1'B)" +}; + +/* Optional SI2quater Indicator: L | H < SI2quater Indicator > */ +type record SI2quaterIndicatorOpt { + BIT1 presence, // L/H + BIT1 ind optional +} with { + variant (presence) "CSN.1 L/H" + variant (ind) "PRESENCE(presence = '1'B)" +}; + +/* Optional SI21 Indicator: L | H < SI21 Position > */ +type record SI21IndicatorOpt { + BIT1 presence, // L/H + BIT1 pos optional +} with { + variant (presence) "CSN.1 L/H" + variant (pos) "PRESENCE(presence = '1'B)" +}; + +external function enc_SI3RestOctets(in SI3RestOctets ro) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_SI3RestOctets(in octetstring stream) return SI3RestOctets + with { extension "prototype(convert) decode(RAW)" }; + + +} with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17995 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaf86f1451a956bf1deef0a9d98fa0513aeb8164b Gerrit-Change-Number: 17995 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:43:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:43:46 +0000 Subject: Change in libosmocore[master]: gsm_29_118.h: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18001 ) Change subject: gsm_29_118.h: Fix compilation with gcc-10 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18001 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaa1d36c7a9bb64aa84ee85fa3e40f6b3560fe693 Gerrit-Change-Number: 18001 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 02 May 2020 19:43:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 19:43:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 19:43:50 +0000 Subject: Change in libosmocore[master]: gsm_29_118.h: Fix compilation with gcc-10 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18001 ) Change subject: gsm_29_118.h: Fix compilation with gcc-10 ...................................................................... gsm_29_118.h: Fix compilation with gcc-10 this causes problems when compiling user applications /usr/bin/ld: ../../src/libvlr/libvlr.a(vlr_lu_fsm.o):/usr/local/include/osmocom/gsm/protocol/gsm_29_118.h:184: multiple definition of `sgsap_ie_tlvdef'; msc_main.o:/usr/local/include/osmocom/gsm/protocol/gsm_29_118.h:184: first defined here Change-Id: Iaa1d36c7a9bb64aa84ee85fa3e40f6b3560fe693 --- M include/osmocom/gsm/protocol/gsm_29_118.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_29_118.h b/include/osmocom/gsm/protocol/gsm_29_118.h index 9adb90f..1583588 100644 --- a/include/osmocom/gsm/protocol/gsm_29_118.h +++ b/include/osmocom/gsm/protocol/gsm_29_118.h @@ -181,4 +181,4 @@ * See also: RFC1123 Section 2.1 Host Names and Numbers */ #define SGS_VLR_NAME_MAXLEN 255 -const struct tlv_definition sgsap_ie_tlvdef; +extern const struct tlv_definition sgsap_ie_tlvdef; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18001 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaa1d36c7a9bb64aa84ee85fa3e40f6b3560fe693 Gerrit-Change-Number: 18001 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 20:16:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 20:16:29 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Stop using printf, use libosmocore logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17363 ) Change subject: user_simtrace2: Stop using printf, use libosmocore logging ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I9ace31d781dd3e50f9a5d9239bafa87a01abb0d6 Gerrit-Change-Number: 17363 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 02 May 2020 20:16:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 20:16:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 20:16:38 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Stop using printf, use libosmocore logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/17363 ) Change subject: user_simtrace2: Stop using printf, use libosmocore logging ...................................................................... user_simtrace2: Stop using printf, use libosmocore logging This way we have consistent logging from all parts of the code via the common libosmocore logging infrastructure. Change-Id: I9ace31d781dd3e50f9a5d9239bafa87a01abb0d6 --- M src/client/user_simtrace2.c M src/debug.c M src/debug.h 3 files changed, 24 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 24a8d09..5d5bfc1 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -37,6 +37,8 @@ #include "client.h" #include "debug.h" +#define LOGCI(ci, lvl, fmt, args ...) \ + LOGP(DST2, lvl, fmt, ## args) /*********************************************************************** * Incoming Messages from cardem firmware @@ -48,9 +50,8 @@ struct cardemu_usb_msg_status *status; status = (struct cardemu_usb_msg_status *) buf; - printf("SIMtrace => STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", - status->flags, status->fi, status->di, status->wi, - status->waiting_time); + LOGCI(ci, LOGL_INFO, "SIMtrace => STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + status->flags, status->fi, status->di, status->wi, status->waiting_time); return 0; } @@ -65,7 +66,7 @@ .len = sizeof(pts->req), }; - printf("SIMtrace => PTS req: %s\n", osmo_hexdump(pts->req, sizeof(pts->req))); + LOGCI(ci, LOGL_INFO, "SIMtrace => PTS req: %s\n", osmo_hexdump(pts->req, sizeof(pts->req))); osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_PTS_IND, &fpts); @@ -78,9 +79,8 @@ struct cardemu_usb_msg_error *err; err = (struct cardemu_usb_msg_error *) buf; - printf("SIMtrace => ERROR: %u/%u/%u: %s\n", - err->severity, err->subsystem, err->code, - err->msg_len ? (char *)err->msg : ""); + LOGCI(ci, LOGL_ERROR, "SIMtrace => ERROR: %u/%u/%u: %s\n", + err->severity, err->subsystem, err->code, err->msg_len ? (char *)err->msg : ""); return 0; } @@ -95,7 +95,7 @@ struct frontend_tpdu ftpdu; int rc; - printf("SIMtrace => DATA: flags=%x, %s: ", data->flags, + LOGCI(ci, LOGL_DEBUG, "SIMtrace => DATA: flags=%x, %s: ", data->flags, osmo_hexdump(data->data, data->data_len)); /* parse the APDU data in the USB message */ @@ -131,7 +131,7 @@ struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; int rc; - printf("SIMtrace -> %s\n", osmo_hexdump(buf, len)); + LOGCI(ci, LOGL_DEBUG, "SIMtrace -> %s\n", osmo_hexdump(buf, len)); buf += sizeof(*sh); @@ -149,7 +149,7 @@ /* firmware confirms configuration change; ignore */ break; default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + LOGCI(ci, LOGL_ERROR, "unknown simtrace msg type 0x%02x\n", sh->msg_type); rc = -1; break; } @@ -177,7 +177,7 @@ .waiting_time = status->waiting_time, }; - printf("SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", + LOGCI(ci, LOGL_INFO, "SIMtrace IRQ STATUS: flags=0x%x, fi=%u, di=%u, wi=%u wtime=%u\n", status->flags, status->fi, status->di, status->wi, status->waiting_time); @@ -190,7 +190,7 @@ struct simtrace_msg_hdr *sh = (struct simtrace_msg_hdr *)buf; int rc; - printf("SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); + LOGCI(ci, LOGL_INFO, "SIMtrace IRQ %s\n", osmo_hexdump(buf, len)); buf += sizeof(*sh); @@ -199,7 +199,7 @@ rc = process_irq_status(ci, buf, len); break; default: - printf("unknown simtrace msg type 0x%02x\n", sh->msg_type); + LOGCI(ci, LOGL_ERROR, "unknown simtrace msg type 0x%02x\n", sh->msg_type); rc = -1; break; } @@ -218,11 +218,11 @@ process_usb_msg(ci, xfer->buffer, xfer->actual_length); break; case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); + LOGCI(ci, LOGL_FATAL, "USB device disappeared\n"); exit(1); break; default: - fprintf(stderr, "USB IN transfer failed, status=%u\n", xfer->status); + LOGCI(ci, LOGL_FATAL, "USB IN transfer failed, status=%u\n", xfer->status); exit(1); break; } @@ -269,11 +269,11 @@ process_usb_msg_irq(ci, xfer->buffer, xfer->actual_length); break; case LIBUSB_TRANSFER_NO_DEVICE: - fprintf(stderr, "USB device disappeared\n"); + LOGCI(ci, LOGL_FATAL, "USB device disappeared\n"); exit(1); break; default: - fprintf(stderr, "USB IRQ transfer failed, status=%u\n", xfer->status); + LOGCI(ci, LOGL_FATAL, "USB IN transfer failed, status=%u\n", xfer->status); exit(1); break; } @@ -341,7 +341,7 @@ ac.sw[0] = data[len-2]; ac.sw[1] = data[len=1]; - printf("SIMtrace <= SW=0x%02x%02x, len_rx=%zu\n", ac.sw[0], ac.sw[1], len-2); + LOGCI(ci, LOGL_DEBUG, "SIMtrace <= SW=0x%02x%02x, len_rx=%zu\n", ac.sw[0], ac.sw[1], len-2); if (len > 2) { // send PB and data to modem osmo_st2_cardem_request_pb_and_tx(ci, ac.hdr.ins, data, len-2); } diff --git a/src/debug.c b/src/debug.c index 70c04d2..91c2f71 100644 --- a/src/debug.c +++ b/src/debug.c @@ -31,6 +31,11 @@ .loglevel = LOGL_DEBUG, .enabled = 1, }, + [DST2] = { + .name = "DST2", + .loglevel = LOGL_INFO, + .enabled = 1, + }, }; const struct log_info log_info = { diff --git a/src/debug.h b/src/debug.h index e3994b4..2a3e5a3 100644 --- a/src/debug.h +++ b/src/debug.h @@ -3,6 +3,7 @@ enum { DMAIN, + DST2, }; extern const struct log_info log_info; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/17363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I9ace31d781dd3e50f9a5d9239bafa87a01abb0d6 Gerrit-Change-Number: 17363 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 20:33:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 20:33:36 +0000 Subject: Change in osmo-trx[master]: PRBS tool sending PRBS sequence to TRX References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18005 ) Change subject: PRBS tool sending PRBS sequence to TRX ...................................................................... PRBS tool sending PRBS sequence to TRX Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a --- M Makefile.am M configure.ac A utils/Makefile.am A utils/prbs-tool.c 4 files changed, 327 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/05/18005/1 diff --git a/Makefile.am b/Makefile.am index 8b55e79..9462fa8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,7 +33,8 @@ GSM \ Transceiver52M \ contrib \ - tests + tests \ + utils EXTRA_DIST = \ LEGAL \ diff --git a/configure.ac b/configure.ac index b7b0d00..d0cfe44 100644 --- a/configure.ac +++ b/configure.ac @@ -92,6 +92,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.3.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( @@ -327,6 +328,7 @@ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ + utils/Makefile \ doc/Makefile \ doc/examples/Makefile \ contrib/Makefile \ diff --git a/utils/Makefile.am b/utils/Makefile.am new file mode 100644 index 0000000..0b8bda0 --- /dev/null +++ b/utils/Makefile.am @@ -0,0 +1,7 @@ +AM_CPPFLAGS = $(LIBOSMOCODING_CFLAGS) +AM_CFLAGS = -Wall + +noinst_PROGRAMS = osmo-prbs-tool + +osmo_prbs_tool_SOURCES = prbs-tool.c +osmo_prbs_tool_LDADD = $(LIBOSMOCODING_LIBS) diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c new file mode 100644 index 0000000..de68f0b --- /dev/null +++ b/utils/prbs-tool.c @@ -0,0 +1,316 @@ +/* Dummy TRX for sening PRBS test sequences into osmo-bts-trx to test + * the decoder/receiver processing in osmo-bts-trx as well as any + * additional PRBS testing code. + * + * The purpose of this program is to use it as a mock dummy MS-side + * transmitter of GSM bursts that contain encoded PRBS sequences, + * similar to what one would normally do with an arbitrary + * function/waveform generator or BERT tester in hardware. + * + * (C) 2017 by Harald Welte + * All Rights Reserved + * + * Licensed under terms of the GNU Generral Public License, Version 2, + * or (at your option) any later version. + */ + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +/*********************************************************************** + * GSM Constants + ***********************************************************************/ + +#define GSM_FR_BYTES 33 +#define GSM_BURST_BITS 116 +#define GSM_4BURST_BITS (GSM_BURST_BITS*4) +#define GSM_BURST_LEN 148 + + +/*********************************************************************** + * TRX Interface / Protocol + ***********************************************************************/ + +#define TRX_BASE_PORT 5700 +/* DATA port on the TRX side */ +#define TRX_PORT_CTRL_TRX(C) (TRX_BASE_PORT+(2*(C))+1) +#define TRX_PORT_DATA_TRX(C) (TRX_BASE_PORT+(2*(C))+2) +#define TRX_PORT_CTRL_BTS(C) (TRX_PORT_CTRL_TRX(C)+100) +#define TRX_PORT_DATA_BTS(C) (TRX_PORT_DATA_TRX(C)+100) + +struct trx_ul_msg { + uint8_t ts; + uint32_t fn; + uint8_t rssi; + uint16_t t_offs; + sbit_t bits[148]; +} __attribute__((packed)); + +struct trx_dl_msg { + uint8_t ts; + uint32_t fn; + uint8_t att_db; + ubit_t bits[148]; +} __attribute__((packed)); + + +/*********************************************************************** + * Helper Functions + ***********************************************************************/ + +static int ubits2trxbits(uint8_t *sbits, const ubit_t *ubits, unsigned int count) +{ + unsigned int i; + + for (i = 0; i < count; i++) { + if ((*ubits++) & 1) { + *sbits++ = 255; + } else { + *sbits++ = 0; + } + } + + return count; +} + +static int __attribute__((__unused__)) dec(const ubit_t *bursts_u) +{ + sbit_t bursts_s[GSM_4BURST_BITS*2]; + uint8_t dec_tch_data[GSM_FR_BYTES]; + int n_errors, n_bits_total; + int rc; + + /* convert from u_bit (tx) to s_bit (rx) */ + osmo_ubit2sbit(bursts_s, bursts_u, sizeof(bursts_s)); + + rc = gsm0503_tch_fr_decode(dec_tch_data, bursts_s, 1, 0, &n_errors, &n_bits_total); + printf("rc=%d, n_errors=%d, n_bits_total=%d: %s\n", rc, n_errors, n_bits_total, + osmo_hexdump(dec_tch_data, sizeof(dec_tch_data))); + + return rc; +} + +/*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ +static const ubit_t _sched_tsc[8][26] = { + { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, + { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, + { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0, }, + { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1, }, + { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0, }, + { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1, }, + { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, +}; + +/*********************************************************************** + * state + processing functions + ***********************************************************************/ + +/* state we have to keep for one physical channel */ +struct pchan_data { + /* PRBS state */ + struct osmo_prbs_state st; + /* unpacked PRBS bits, generated from PRBS */ + ubit_t prbs_u[4+260]; + /* packed frame (to be sent) */ + uint8_t tch_data[GSM_FR_BYTES]; + /* burst bits (ubit) to be transmitted */ + ubit_t bursts[GSM_4BURST_BITS*2]; /* 116 * 8 */ + /* burst bits (sbit) 'as if received' */ + sbit_t bursts_s[GSM_4BURST_BITS*2]; + /* next to-be transmitted burst number */ + unsigned int burst_nr; + /* training sequence code */ + unsigned int tsc; +}; + +struct ts_data { + struct pchan_data pchan[2]; +}; + +struct trx_data { + struct ts_data ts[8]; +}; + +static struct trx_data g_trx_data; + +/* initialize the state for one TRX */ +static void trx_data_init(struct trx_data *trx) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct ts_data *ts = &trx->ts[i]; + int j; + for (j = 0; j < ARRAY_SIZE(ts->pchan); j++) { + struct pchan_data *pchan = &ts->pchan[j]; + + memset(pchan, 0, sizeof(*pchan)); + osmo_prbs_state_init(&pchan->st, &osmo_prbs9); + pchan->tsc = 7; + } + } +} + +/*! obtain the next to-be-transmitted burst for the given pchan + * \param pchan physical channel on which we operate + * \param[in] fn frame number + * \param[out] burst_out caller-provided buffer for 148 unpacked output bits + * \retruns number of bits stored in \a burst_out */ +static int pchan_get_next_burst(struct pchan_data *pchan, uint32_t fn, ubit_t *burst_out) +{ + uint32_t fn26 = fn % 26; + int rc; + + if (fn26 == 0 || fn26 == 4 || fn26 == 8 || fn26 == 13 || fn26 == 17 || fn26 == 21) + pchan->burst_nr = 0; + + if (fn26 == 12 || fn26 == 25) { + memset(burst_out, 0, GSM_BURST_LEN); + return GSM_BURST_LEN; + } + + if (pchan->burst_nr == 0) { + /* generate PRBS output in ubit format, skipping first nibble for 260-264 padding */ + const uint8_t prefix[] = { 0xd0 }; + osmo_pbit2ubit(pchan->prbs_u, prefix, 4); + rc = osmo_prbs_get_ubits(pchan->prbs_u+4, sizeof(pchan->prbs_u)-4, &pchan->st); + OSMO_ASSERT(rc == sizeof(pchan->prbs_u)-4); + /* pack to PBIT format */ + rc = osmo_ubit2pbit(pchan->tch_data, pchan->prbs_u, sizeof(pchan->prbs_u)); + //memset(pchan->tch_data, 0xff, sizeof(pchan->tch_data)); + + printf("%s\n", osmo_hexdump(pchan->tch_data, GSM_FR_BYTES)); + + /* shift buffer by 4 bursts for interleaving */ + memcpy(pchan->bursts, pchan->bursts + GSM_4BURST_BITS, GSM_4BURST_BITS); + memset(pchan->bursts + GSM_4BURST_BITS, 0, GSM_4BURST_BITS); + + /* encode block (codec frame) into four bursts */ + rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); + OSMO_ASSERT(rc == 0); + + for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) + printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); + +// dec(pchan->bursts); + } + + /* for all bursts: format 148 symbols from 116 input bits */ + ubit_t *burst = pchan->bursts + pchan->burst_nr * GSM_BURST_BITS; + printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); + memset(burst_out, 0, 3); /* guard bits */ + memcpy(burst_out+3, burst, 58); /* firrst half */ + memcpy(burst_out+61, _sched_tsc[pchan->tsc], 26); /* midamble */ + memcpy(burst_out+87, burst+58, 58); /* second half */ + memset(burst_out+145, 0, 3); /* guard bits */ + + /* increment burst number for next call */ + pchan->burst_nr += 1; +#if 0 + if (pchan->burst_nr == 4) + pchan->burst_nr = 0; +#endif + + return GSM_BURST_LEN; +} + +static int pchan_process_ts_fn(struct pchan_data *pchan, uint32_t fn, uint8_t *burst_t) +{ + ubit_t burst_u[GSM_BURST_LEN]; + int rc; + + rc = pchan_get_next_burst(pchan, fn, burst_u); + OSMO_ASSERT(rc == sizeof(burst_u)); + + /* convert from u_bit (tx) to s_bit (rx) */ + ubits2trxbits(burst_t, burst_u, GSM_BURST_LEN); + + return GSM_BURST_LEN; +} + +/* read TRX DL data from BTS, write TRX UL data to BTS */ +static int read_and_process(int fd) +{ + /* receive (downlink) buffer */ + uint8_t rx_dl_buf[1024]; + struct trx_dl_msg *dl_msg = (struct trx_dl_msg *) rx_dl_buf; + /* transmit (uplink) buffer */ + uint8_t tx_ul_buf[1024]; + struct trx_ul_msg *ul_msg = (struct trx_ul_msg *) tx_ul_buf; + /* other variables */ + struct pchan_data *pchan; + uint8_t rc; + + /* do a blocking read on the socket and receive DL from BTS */ + rc = read(fd, rx_dl_buf, sizeof(rx_dl_buf)); + if (rc < sizeof(*dl_msg)) + return rc; + + dl_msg->fn = ntohl(dl_msg->fn); + + if (dl_msg->ts >= ARRAY_SIZE(g_trx_data.ts)) + return -ENODEV; + + if (dl_msg->ts != 2) + return 0; + + printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(dl_msg->fn), dl_msg->ts); + + /* FIXME: second pchan for TCH/H */ + pchan = &g_trx_data.ts[dl_msg->ts].pchan[0]; + + rc = pchan_process_ts_fn(pchan, dl_msg->fn, (uint8_t *) ul_msg->bits); + OSMO_ASSERT(rc == sizeof(ul_msg->bits)); + + /* copy over timeslot and frame number */ + ul_msg->fn = htonl(dl_msg->fn); + ul_msg->ts = dl_msg->ts; + + /* write uplink message towards BTS */ + rc = write(fd, tx_ul_buf, sizeof(*ul_msg)); + if (rc < sizeof(*ul_msg)) + return -EIO; + + return 0; +} + +static int open_trx_data_sock(unsigned int trx_nr, const char *bts_host) +{ + int rc; + + rc = osmo_sock_init2(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, TRX_PORT_DATA_TRX(trx_nr), + bts_host, TRX_PORT_DATA_BTS(trx_nr), + OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_BIND); + return rc; +} + + +int main(int argc, char **argv) +{ + int fd; + + trx_data_init(&g_trx_data); + + fd = open_trx_data_sock(0, "127.0.0.1"); + if (fd < 0) + exit(1); + + while (1) { + read_and_process(fd); + } + + return 0; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a Gerrit-Change-Number: 18005 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 20:33:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 20:33:37 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Add error simulation capabilities References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18006 ) Change subject: prbs-tool: Add error simulation capabilities ...................................................................... prbs-tool: Add error simulation capabilities The tool can now simulate: * lost bursts on the TRX->BTS interface * zeroed/overwritten bursts on the TRX->BTS interface * errors in the TCH codec frames before passing them to the encoder Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 TODO: Ability to introduce errors in certain classes of the bits only. --- M utils/prbs-tool.c 1 file changed, 79 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/06/18006/1 diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c index de68f0b..0211453 100644 --- a/utils/prbs-tool.c +++ b/utils/prbs-tool.c @@ -55,7 +55,7 @@ uint32_t fn; uint8_t rssi; uint16_t t_offs; - sbit_t bits[148]; + uint8_t bits[148]; /* 0..255, *NOT* sbit_t */ } __attribute__((packed)); struct trx_dl_msg { @@ -134,6 +134,26 @@ unsigned int burst_nr; /* training sequence code */ unsigned int tsc; + + /* loose 'count' bursts every 'nth_mframe' on TRX-BTS interface */ + struct { + unsigned int count; + unsigned int nth_mframe; + } sim_lost_bursts; + + /* zero 'count' bursts every 'nth_mframe' on TRX-BTS interface */ + struct { + unsigned int count; + unsigned int nth_mframe; + } sim_zero_bursts; + + /* flip every 'nth_bit' of the PRNG oudput before encoding */ + struct { + unsigned int nth_bit; + unsigned int i; + } sim_flip_codec_bits; + + unsigned int i; }; struct ts_data { @@ -164,6 +184,18 @@ } } +/* apply any intentional errors to the output of the PRBS sequence */ +static void apply_errors_prbs(struct pchan_data *pchan) +{ + for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { + pchan->sim_flip_codec_bits.i++; + if (pchan->sim_flip_codec_bits.i == pchan->sim_flip_codec_bits.nth_bit) { + pchan->sim_flip_codec_bits.i = 0; + pchan->prbs_u[4+i] ^= 0x01; + } + } +} + /*! obtain the next to-be-transmitted burst for the given pchan * \param pchan physical channel on which we operate * \param[in] fn frame number @@ -188,6 +220,9 @@ osmo_pbit2ubit(pchan->prbs_u, prefix, 4); rc = osmo_prbs_get_ubits(pchan->prbs_u+4, sizeof(pchan->prbs_u)-4, &pchan->st); OSMO_ASSERT(rc == sizeof(pchan->prbs_u)-4); + + apply_errors_prbs(pchan); + /* pack to PBIT format */ rc = osmo_ubit2pbit(pchan->tch_data, pchan->prbs_u, sizeof(pchan->prbs_u)); //memset(pchan->tch_data, 0xff, sizeof(pchan->tch_data)); @@ -201,16 +236,17 @@ /* encode block (codec frame) into four bursts */ rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); OSMO_ASSERT(rc == 0); - +#if 0 for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); -// dec(pchan->bursts); + dec(pchan->bursts); +#endif } /* for all bursts: format 148 symbols from 116 input bits */ ubit_t *burst = pchan->bursts + pchan->burst_nr * GSM_BURST_BITS; - printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); +// printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); memset(burst_out, 0, 3); /* guard bits */ memcpy(burst_out+3, burst, 58); /* firrst half */ memcpy(burst_out+61, _sched_tsc[pchan->tsc], 26); /* midamble */ @@ -219,10 +255,6 @@ /* increment burst number for next call */ pchan->burst_nr += 1; -#if 0 - if (pchan->burst_nr == 4) - pchan->burst_nr = 0; -#endif return GSM_BURST_LEN; } @@ -252,6 +284,7 @@ struct trx_ul_msg *ul_msg = (struct trx_ul_msg *) tx_ul_buf; /* other variables */ struct pchan_data *pchan; + uint32_t fn; uint8_t rc; /* do a blocking read on the socket and receive DL from BTS */ @@ -259,7 +292,7 @@ if (rc < sizeof(*dl_msg)) return rc; - dl_msg->fn = ntohl(dl_msg->fn); + fn = ntohl(dl_msg->fn); if (dl_msg->ts >= ARRAY_SIZE(g_trx_data.ts)) return -ENODEV; @@ -267,18 +300,48 @@ if (dl_msg->ts != 2) return 0; - printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(dl_msg->fn), dl_msg->ts); + printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(fn), dl_msg->ts); /* FIXME: second pchan for TCH/H */ pchan = &g_trx_data.ts[dl_msg->ts].pchan[0]; - rc = pchan_process_ts_fn(pchan, dl_msg->fn, (uint8_t *) ul_msg->bits); + rc = pchan_process_ts_fn(pchan, fn, (uint8_t *) ul_msg->bits); OSMO_ASSERT(rc == sizeof(ul_msg->bits)); /* copy over timeslot and frame number */ - ul_msg->fn = htonl(dl_msg->fn); + ul_msg->fn = htonl(fn); ul_msg->ts = dl_msg->ts; + /* simulate lost frames on TRX <-> BTS interface */ + if (pchan->sim_lost_bursts.count) { + /* count number of 26-multiframes */ + static int count = 0; + if (fn % 26 == 0) + count++; + + /* every 10th multiframe, drop two entire block of 8 bursts */ + if (count % pchan->sim_lost_bursts.nth_mframe == 0 && + (fn % 26) <= pchan->sim_lost_bursts.count) { + printf("===> SKIPPING BURST\n"); + return 0; + } + } + + /* simulate zero-ed frames on TRX <-> BTS interface */ + if (pchan->sim_zero_bursts.count) { + /* count number of 26-multiframes */ + static int count = 0; + if (fn % 26 == 0) + count++; + + /* every 10th multiframe, drop two entire block of 8 bursts */ + if (count % pchan->sim_zero_bursts.nth_mframe == 0 && + (fn % 26) <= pchan->sim_zero_bursts.count) { + memset(ul_msg->bits, 0, sizeof(ul_msg->bits)); + printf("===> ZEROING BURST\n"); + } + } + /* write uplink message towards BTS */ rc = write(fd, tx_ul_buf, sizeof(*ul_msg)); if (rc < sizeof(*ul_msg)) @@ -304,6 +367,10 @@ trx_data_init(&g_trx_data); + //g_trx_data.ts[2].pchan[0].sim_zero_bursts.count = 8; + //g_trx_data.ts[2].pchan[0].sim_zero_bursts.nth_mframe = 10; + g_trx_data.ts[2].pchan[0].sim_flip_codec_bits.nth_bit = 260*4; + fd = open_trx_data_sock(0, "127.0.0.1"); if (fd < 0) exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 Gerrit-Change-Number: 18006 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 20:35:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 2 May 2020 20:35:14 +0000 Subject: Change in osmo-trx[master]: utils: Ensure content of this directory is included in 'make dist' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18007 ) Change subject: utils: Ensure content of this directory is included in 'make dist' ...................................................................... utils: Ensure content of this directory is included in 'make dist' The python + matlab should be part of every source release Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 --- M utils/Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/07/18007/1 diff --git a/utils/Makefile.am b/utils/Makefile.am index 0b8bda0..bac9a7f 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -1,6 +1,8 @@ AM_CPPFLAGS = $(LIBOSMOCODING_CFLAGS) AM_CFLAGS = -Wall +EXTRA_DIST = clockdump.sh matlab + noinst_PROGRAMS = osmo-prbs-tool osmo_prbs_tool_SOURCES = prbs-tool.c -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 Gerrit-Change-Number: 18007 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 21:58:14 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 21:58:14 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. In-Reply-To: References: Message-ID: Hello dexter, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#3). Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... amr: Fix OA to BWE conversion for SID frames. Size of a single AMR SID frame doesn't reduce by a byte when converted from octet-aligned to bandwidth-efficient mode. So old code generated truncated SID frames which are 1 byte short. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:04:26 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 22:04:26 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA to BWE conversion for SID frames. In-Reply-To: References: Message-ID: Hello dexter, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#4). Change subject: amr: Fix OA to BWE conversion for SID frames. ...................................................................... amr: Fix OA to BWE conversion for SID frames. Size of a single AMR SID frame doesn't reduce by a byte when converted from octet-aligned to bandwidth-efficient mode. So old code generated truncated SID frames which are 1 byte short. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:10:13 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 22:10:13 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello dexter, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#5). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated SID frames for those AMR modes which are 1 byte short. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:12:54 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 22:12:54 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello dexter, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#6). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/6 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:44:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 22:44:46 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/libosmocore/+/18002/2/TODO-RELEASE File TODO-RELEASE: https://gerrit.osmocom.org/c/libosmocore/+/18002/2/TODO-RELEASE at 12 PS2, Line 12: sim API/ABI change all over the place this line is non-related to this commit. https://gerrit.osmocom.org/c/libosmocore/+/18002/2/src/gsm/lapd_core.c File src/gsm/lapd_core.c: https://gerrit.osmocom.org/c/libosmocore/+/18002/2/src/gsm/lapd_core.c at 308 PS2, Line 308: dl->name = talloc_strdup(tall_lapd_ctx, name); to check: is it fine calling talloc_stdup() on NULL ptr? https://gerrit.osmocom.org/c/libosmocore/+/18002/2/src/gsm/lapdm.c File src/gsm/lapdm.c: https://gerrit.osmocom.org/c/libosmocore/+/18002/2/src/gsm/lapdm.c at 189 PS2, Line 189: * \param[in] name human-readable name (will be copied internally) mention the name is changed to contain offset. https://gerrit.osmocom.org/c/libosmocore/+/18002/2/src/gsm/lapdm.c at 256 PS2, Line 256: * \parma[in] name_pfx human-readable name (copied by function) mention it's a prefix (stuff is appended to it). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 22:44:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:47:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 22:47:29 +0000 Subject: Change in osmo-bts[master]: Ensure we include lchan name in all LAPDm log lines In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18004 ) Change subject: Ensure we include lchan name in all LAPDm log lines ...................................................................... Patch Set 1: please add an entry in TODO_RELEASE in this repo explaining libosmocore > $LAST_RELEASE will be required. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I17e3d4797ec71e31d0775330ae36d2e1fd70423f Gerrit-Change-Number: 18004 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 02 May 2020 22:47:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 22:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 2 May 2020 22:57:38 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/17997/6/tests/amr/amr_test.c File tests/amr/amr_test.c: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/6/tests/amr/amr_test.c at 127 PS6, Line 127: len = strlen(bwe_amr_samples[i]); just spotted this line has not use at all. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 22:57:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 23:18:59 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 23:18:59 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello dexter, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 to look at the new patch set (#7). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/17997/7 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 2 23:19:31 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 2 May 2020 23:19:31 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/17997/6/tests/amr/amr_test.c File tests/amr/amr_test.c: https://gerrit.osmocom.org/c/libosmo-netif/+/17997/6/tests/amr/amr_test.c at 127 PS6, Line 127: len = strlen(bwe_amr_samples[i]); > just spotted this line has not use at all. Fixed -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 02 May 2020 23:19:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun May 3 01:44:24 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 03 May 2020 01:44:24 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eae2209d2d13_97e2b20445445f413202ef@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 726s] | ## Running config.status. ## [ 726s] | ## ---------------------- ## [ 726s] | [ 726s] | This file was extended by libosmocore config.status 1.3.0.74-98929, which was [ 726s] | generated by GNU Autoconf 2.69. Invocation command line was [ 726s] | [ 726s] | CONFIG_FILES = [ 726s] | CONFIG_HEADERS = [ 726s] | CONFIG_LINKS = [ 726s] | CONFIG_COMMANDS = [ 726s] | $ ./config.status Doxyfile.core [ 726s] | [ 726s] | on obs-arm-6 [ 726s] | [ 726s] | config.status:1341: creating Doxyfile.core [ 726s] [ 726s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 726s] make[1]: *** [override_dh_auto_test] Error 1 [ 726s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 726s] debian/rules:15: recipe for target 'build' failed [ 726s] make: *** [build] Error 2 [ 726s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 726s] ### VM INTERACTION START ### [ 728s] [ 711.283242] sysrq: SysRq : Power Off [ 728s] [ 711.285233] reboot: Power down [ 728s] ### VM INTERACTION END ### [ 729s] [ 729s] obs-arm-6 failed "build libosmocore_1.3.0.74.98929.dsc" at Sun May 3 01:44:13 UTC 2020. [ 729s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 3 01:53:49 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 03 May 2020 01:53:49 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5eae24444d993_97e2b20445445f4132105c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 746s] ... saving built packages [ 746s] [ 696.915284] print_req_error: I/O error, dev vda, sector 10508256 [ 746s] [ 696.917612] print_req_error: I/O error, dev vda, sector 10508256 [ 746s] [ 696.919864] print_req_error: I/O error, dev vda, sector 10508256 [ 746s] /.build/build-vm: line 1053: /.build/computeblocklists: Input/output error [ 746s] ### VM INTERACTION START ### [ 747s] [ 698.020002] print_req_error: I/O error, dev vda, sector 11827200 [ 747s] [ 698.024120] Buffer I/O error on dev vda, logical block 1478400, lost async page write [ 747s] [ 698.026774] Buffer I/O error on dev vda, logical block 1478401, lost async page write [ 747s] [ 698.029367] Buffer I/O error on dev vda, logical block 1478402, lost async page write [ 747s] [ 698.031926] Buffer I/O error on dev vda, logical block 1478403, lost async page write [ 747s] [ 698.034489] Buffer I/O error on dev vda, logical block 1478404, lost async page write [ 747s] [ 698.037143] Buffer I/O error on dev vda, logical block 1478405, lost async page write [ 747s] [ 698.039686] Buffer I/O error on dev vda, logical block 1478406, lost async page write [ 747s] [ 698.042387] Buffer I/O error on dev vda, logical block 1478407, lost async page write [ 747s] [ 698.045084] Buffer I/O error on dev vda, logical block 1478408, lost async page write [ 747s] [ 698.047631] Buffer I/O error on dev vda, logical block 1478409, lost async page write [ 747s] [ 698.050282] print_req_error: I/O error, dev vda, sector 11797648 [ 747s] [ 698.052476] print_req_error: I/O error, dev vda, sector 11827712 [ 747s] [ 698.054459] print_req_error: I/O error, dev vda, sector 11828584 [ 747s] [ 698.056474] print_req_error: I/O error, dev vda, sector 11827320 [ 747s] [ 698.058435] print_req_error: I/O error, dev vda, sector 11828600 [ 747s] [ 698.060454] print_req_error: I/O error, dev vda, sector 11829632 [ 749s] [ 700.065231] sysrq: SysRq : Power Off [ 749s] [ 700.069406] reboot: Power down [ 749s] ### VM INTERACTION END ### [ 749s] [ 749s] cloud122 failed "build libosmo-sccp_1.2.0.35.f712.dsc" at Sun May 3 01:53:46 UTC 2020. [ 749s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 3 03:49:32 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 03 May 2020 03:49:32 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5eae3f56dd24a_97e2b20445445f4134084e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: rpc timeout (worker was lamb02:12) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 3 05:43:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 05:43:44 +0000 Subject: Change in libosmo-abis[master]: lapd: Always print context information when logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18003 ) Change subject: lapd: Always print context information when logging ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18003/1/include/osmocom/abis/lapd.h File include/osmocom/abis/lapd.h: https://gerrit.osmocom.org/c/libosmo-abis/+/18003/1/include/osmocom/abis/lapd.h at 68 PS1, Line 68: OSMO_DEPRECATED Do we really need to deprecate this function just because of a new feature? I mean this is not a bug, so we could simply add a function like lapd_instance_set_name(). Just an idea. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Gerrit-Change-Number: 18003 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 03 May 2020 05:43:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 10:03:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 3 May 2020 10:03:53 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Comment the 'nokia' BTS fields References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18008 ) Change subject: gsm_data.h: Comment the 'nokia' BTS fields ...................................................................... gsm_data.h: Comment the 'nokia' BTS fields Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc --- M include/osmocom/bsc/gsm_data.h 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/18008/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 9a1db07..6996905 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1138,12 +1138,12 @@ } rbs2000; struct { uint8_t bts_type; - unsigned int configured:1, - skip_reset:1, - no_loc_rel_cnf:1, - bts_reset_timer_cnf, - did_reset:1, - wait_reset:1; + unsigned int configured:1, /* we sent the config data request */ + skip_reset:1, /* skip reset at bootstrap */ + no_loc_rel_cnf:1, /* don't wait for RSL REL CONF */ + bts_reset_timer_cnf, /* timer for BTS RESET */ + did_reset:1, /* we received a RESET ACK */ + wait_reset:1; /* we are waiting for reset to complete */ struct osmo_timer_list reset_timer; } nokia; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc Gerrit-Change-Number: 18008 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 10:03:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 3 May 2020 10:03:54 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... bts_nokia_site: Fix LAPD segfault during reset procedure The existing Nokia *Site code destroyed the LAPD SAP instance for OML while processing an OML message. Once the stack frame returned back to the LAPD code, the LAPD SAP was gone -> segfault. Let's work around this by moving deletion of the LAPD SAP out-of-line by starting a timer 0ms in the future. Not particularly nice, but effective. Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Closes: OS#1761 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_nokia_site.c 2 files changed, 29 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/18009/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 6996905..1d02e39 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1143,7 +1143,7 @@ no_loc_rel_cnf:1, /* don't wait for RSL REL CONF */ bts_reset_timer_cnf, /* timer for BTS RESET */ did_reset:1, /* we received a RESET ACK */ - wait_reset:1; /* we are waiting for reset to complete */ + wait_reset:2; /* we are waiting for reset to complete */ struct osmo_timer_list reset_timer; } nokia; }; diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index 66972c2..7206bdc 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -41,6 +41,11 @@ #include +enum reset_timer_state { + RESET_T_STOP_LAPD = 1, /* first timer expiration: stop LAPD SAP */ + RESET_T_RESTART_LAPD = 2, /* second timer expiration: restart LAPD SAP */ +}; + /* TODO: put in a separate file ? */ extern int abis_nm_sendmsg(struct gsm_bts *bts, struct msgb *msg); @@ -1461,18 +1466,26 @@ struct gsm_e1_subslot *e1_link = &bts->oml_e1_link; struct e1inp_line *line; - bts->nokia.wait_reset = 0; - /* OML link */ line = e1inp_line_find(e1_link->e1_nr); if (!line) { - LOGP(DLINP, LOGL_ERROR, "BTS %u OML link referring to " - "non-existing E1 line %u\n", bts->nr, e1_link->e1_nr); + LOGP(DLINP, LOGL_ERROR, "BTS %u OML link referring to non-existing E1 line %u\n", + bts->nr, e1_link->e1_nr); return; } - start_sabm_in_line(line, 0, -1); /* stop all first */ - start_sabm_in_line(line, 1, SAPI_OML); /* start only OML */ + switch (bts->nokia.wait_reset) { + case RESET_T_STOP_LAPD: + start_sabm_in_line(line, 0, -1); /* stop all first */ + bts->nokia.wait_reset = RESET_T_RESTART_LAPD; + osmo_timer_schedule(&bts->nokia.reset_timer, bts->nokia.bts_reset_timer_cnf, 0); + break; + case RESET_T_RESTART_LAPD: + bts->nokia.wait_reset = 0; + start_sabm_in_line(line, 0, -1); /* stop all first */ + start_sabm_in_line(line, 1, SAPI_OML); /* start only OML */ + break; + } } /* TODO: put in a separate file ? */ @@ -1574,25 +1587,16 @@ (function handle_ts1_read()) and ignoring the received data. It seems to be necessary for the MetroSite too. */ - bts->nokia.wait_reset = 1; - osmo_timer_setup(&bts->nokia.reset_timer, - reset_timer_cb, bts); - osmo_timer_schedule(&bts->nokia.reset_timer, bts->nokia.bts_reset_timer_cnf, 0); - - struct gsm_e1_subslot *e1_link = &bts->oml_e1_link; - struct e1inp_line *line; - /* OML link */ - line = e1inp_line_find(e1_link->e1_nr); - if (!line) { - LOGP(DLINP, LOGL_ERROR, - "BTS %u OML link referring to " - "non-existing E1 line %u\n", bts->nr, - e1_link->e1_nr); - return -ENOMEM; - } - - start_sabm_in_line(line, 0, -1); /* stop all first */ + /* we cannot delete / stop the OML LAPD SAP right here, as we are in + * the middle of processing an LAPD I framd and are subsequently returning + * back to the LAPD I frame processing code that assumes the SAP is still + * active. So we first schedule the timer at 0ms in the future, where we + * kill all LAPD SAP and re-arm the timer for the reset duration, after which + * we re-create them */ + bts->nokia.wait_reset = RESET_T_STOP_LAPD; + osmo_timer_setup(&bts->nokia.reset_timer, reset_timer_cb, bts); + osmo_timer_schedule(&bts->nokia.reset_timer, 0, 0); } /* ACK for CONF DATA message ? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun May 3 14:04:43 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 03 May 2020 14:04:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eaecf89bbd60_97e2b20445445f41492710@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 554s] ^~~~~~~~~~~~~~~~~~~ [ 554s] main.c: In function 'main': [ 554s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 554s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 554s] ^~~~~~~~~~~~~~~~~~~ [ 554s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 554s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 554s] ^ [ 554s] cc1: some warnings being treated as errors [ 554s] Makefile:469: recipe for target 'main.o' failed [ 554s] make[3]: *** [main.o] Error 1 [ 554s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 554s] Makefile:402: recipe for target 'all-recursive' failed [ 554s] make[2]: *** [all-recursive] Error 1 [ 554s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 554s] Makefile:349: recipe for target 'all' failed [ 554s] make[1]: *** [all] Error 2 [ 554s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 554s] dh_auto_build: make -j1 returned exit code 2 [ 554s] debian/rules:45: recipe for target 'build' failed [ 554s] make: *** [build] Error 2 [ 554s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 554s] ### VM INTERACTION START ### [ 557s] [ 514.091237] sysrq: SysRq : Power Off [ 557s] [ 514.093574] reboot: Power down [ 558s] ### VM INTERACTION END ### [ 558s] [ 558s] armbuild13 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Sun May 3 14:04:30 UTC 2020. [ 558s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 3 14:50:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 14:50:19 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Comment the 'nokia' BTS fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18008 ) Change subject: gsm_data.h: Comment the 'nokia' BTS fields ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18008/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18008/1//COMMIT_MSG at 7 PS1, Line 7: gsm_data.h: Comment the 'nokia' BTS fields I thought to wanted to disable them in code. Probably "document" would fit a lot better here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc Gerrit-Change-Number: 18008 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 03 May 2020 14:50:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 14:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 14:58:12 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/include/osmocom/bsc/gsm_data.h at 1144 PS1, Line 1144: bts_reset_timer_cnf, /* timer for BTS RESET */ ugh so this now is 1 bit less? Having no size in this one is really confusing. https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/src/osmo-bsc/bts_nokia_site.c File src/osmo-bsc/bts_nokia_site.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/src/osmo-bsc/bts_nokia_site.c at 1484 PS1, Line 1484: bts->nokia.wait_reset = 0; Can you add an enum field for 0? https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/src/osmo-bsc/bts_nokia_site.c at 1488 PS1, Line 1488: } Then add a case for the enum val 0 and comment it's already being disabled. https://gerrit.osmocom.org/c/osmo-bsc/+/18009/1/src/osmo-bsc/bts_nokia_site.c at 1592 PS1, Line 1592: * the middle of processing an LAPD I framd and are subsequently returning framd/frame? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 03 May 2020 14:58:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 14:58:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 14:58:45 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 03 May 2020 14:58:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 18:58:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 18:58:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... library: implement mandatory part of SI4 Rest Octets Optional "Rest Octets S" part is left for later. Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Signed-off-by: Vadim Yanitskiy --- M library/GSM_RestOctets.ttcn 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/10/18010/1 diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index 8f0346d..da3478a 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -41,6 +41,19 @@ variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" }; +/* 10.5.2.35 SI 4 Rest Octets (O & S) */ +type record SI4RestOctets { + SelectionParamsOpt sel_params, + PowerOffsetOpt pwr_offset, + GPRSIndicatorOpt gprs_ind, + BIT1 s_presence, // L/H + /* TODO: optional "Rest Octets S" part */ + bitstring s optional +} with { + variant (s_presence) "CSN.1 L/H" + variant (s) "PRESENCE(s_presence = '1'B)" +}; + /* Selection Parameters */ type record SelectionParams { boolean cbq, @@ -115,5 +128,10 @@ external function dec_SI3RestOctets(in octetstring stream) return SI3RestOctets with { extension "prototype(convert) decode(RAW)" }; +external function enc_SI4RestOctets(in SI4RestOctets ro) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_SI4RestOctets(in octetstring stream) return SI4RestOctets + with { extension "prototype(convert) decode(RAW)" }; + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 18:58:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 18:58:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: get rid of Si1RestOctets and Si3RestOctets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 ) Change subject: library: get rid of Si1RestOctets and Si3RestOctets ...................................................................... library: get rid of Si1RestOctets and Si3RestOctets Both are basically sub-types of GSM_RR_Types.RestOctets with length constraints. We don't really need to have them as separate symbols, especially since we have SI3RestOctets and SI4RestOctets now, so let's apply these constraints within the corresponding records. Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/11/18011/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index f1918c9..a4688cd 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -115,16 +115,14 @@ AccessControlClass acc } with { variant (acc) "FIELDLENGTH(16)" }; - /* 44.018 10.5.2.32 */ - type RestOctets Si1RestOctets with { variant "FIELDLENGTH(1)" }; - type RestOctets Si3RestOctets with { variant "FIELDLENGTH(4)" }; - /* 44.018 9.1.31 */ type record SystemInformationType1 { CellChannelDescription cell_chan_desc, RachControlParameters rach_control, - Si1RestOctets rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(1)" + }; /* 44.018 9.1.32 */ type record SystemInformationType2 { @@ -154,8 +152,10 @@ CellOptions cell_options, CellSelectionParameters cell_sel_par, RachControlParameters rach_control, - Si3RestOctets rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(4)" + }; template SystemInformationType3 t_SI3 := { cell_id := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Gerrit-Change-Number: 18011 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 18:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 18:58:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: System Information: use RestOctets where possible References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 ) Change subject: library: System Information: use RestOctets where possible ...................................................................... library: System Information: use RestOctets where possible The 'RestOctets' is a sub-type of the 'octetstring' with additional padding attributes. Let's use it for SI2bis, SI2ter, and SI6 too. Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 12 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/18012/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index a4688cd..4cabd77 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -135,14 +135,18 @@ type record SystemInformationType2bis { NeighbourCellDescription extd_bcch_freq_list, RachControlParameters rach_control, - OCT1 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(1)" + }; /* 44.018 9.1.34 */ type record SystemInformationType2ter { NeighbourCellDescription2 extd_bcch_freq_list, - OCT4 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(4)" + }; /* 44.018 9.1.35 */ type record SystemInformationType3 { @@ -199,8 +203,10 @@ LocationAreaIdentification lai, CellOptionsSacch cell_options, BIT8 ncc_permitted, - OCT7 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(7)" + }; type union SystemInformationUnion { SystemInformationType1 si1, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Gerrit-Change-Number: 18012 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 18:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 18:58:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: clarify length restrictions for SI4 Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 ) Change subject: library: clarify length restrictions for SI4 Rest Octets ...................................................................... library: clarify length restrictions for SI4 Rest Octets Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/18013/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 4cabd77..07ca8e6 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -179,7 +179,7 @@ RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, MobileAllocationT cbch_mobile_alloc optional, - RestOctets rest_octets + RestOctets rest_octets /* 0 .. 10 octets (see 10.5.2.35) */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; /* 44.018 9.1.37 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Gerrit-Change-Number: 18013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 18:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 18:58:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix f_get_si3(): do not return uninitialized SI value References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 ) Change subject: BTS: fix f_get_si3(): do not return uninitialized SI value ...................................................................... BTS: fix f_get_si3(): do not return uninitialized SI value Change-Id: Ie60ef237443043578a218dcf19fe1b474b1d4e10 Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/14/18014/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 7191a7d..6f43a44 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,7 +4899,7 @@ repeat; } [] T.timeout { - setverdict(fail, "Timeout waiting for SI3"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI3"); } } return si.payload.si3; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie60ef237443043578a218dcf19fe1b474b1d4e10 Gerrit-Change-Number: 18014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 19:02:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 3 May 2020 19:02:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 03 May 2020 19:02:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 19:03:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 19:03:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG at 12 PS1, Line 12: Signed-off-by: Vadim Yanitskiy not needed? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 03 May 2020 19:03:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 19:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 19:44:31 +0000 Subject: Change in osmo-trx[master]: PRBS tool sending PRBS sequence to TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18005 ) Change subject: PRBS tool sending PRBS sequence to TRX ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a Gerrit-Change-Number: 18005 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 03 May 2020 19:44:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 19:48:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 19:48:30 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Add error simulation capabilities In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18006 ) Change subject: prbs-tool: Add error simulation capabilities ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 Gerrit-Change-Number: 18006 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 03 May 2020 19:48:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 3 19:51:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 3 May 2020 19:51:04 +0000 Subject: Change in osmo-trx[master]: utils: Ensure content of this directory is included in 'make dist' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18007 ) Change subject: utils: Ensure content of this directory is included in 'make dist' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 Gerrit-Change-Number: 18007 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 03 May 2020 19:51:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 4 01:46:37 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 04 May 2020 01:46:37 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eaf740217214_97e2b20445445f415763a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 889s] | | #define HAVE_PTHREAD_PRIO_INHERIT 1 [ 889s] | | #define HAVE_PTHREAD 1 [ 889s] | | #define HAVE_CLOCK_GETTIME 1 [ 889s] | | #define HAVE_DECL_SYS_GETRANDOM 1 [ 889s] | | #define HAVE_LOCALTIME_R 1 [ 889s] | | #define HAVE_TM_GMTOFF_IN_TM 1 [ 889s] | | #define HAVE_PCSC 1 [ 889s] | | #define USE_GNUTLS 1 [ 889s] | | /* end confdefs.h. */ [ 889s] | | [ 889s] | | /* Override any GCC internal prototype to avoid an error. [ 889s] | | Use char because int might match the return type of a GCC [ 889s] | | builtin and then its argument prototype would still apply. */ [ 889s] | | #ifdef __cplusplus [ 889s] | | extern "C" [ 889s] | | #endif [ 889s] | | char sctp_bindx (); [ 889s] | | int [ 889s] | | main () [ 889s] | | { [ 889s] | | return sctp_bindx (); [ 889s] | | ; [ 889s] | | return 0; [ 891s] | [ 860.391959] sysrq: SysRq : Power Off [ 891s] [ 860.395206] reboot: Power down [ 891s] ### VM INTERACTION END ### [ 891s] [ 891s] armbuild04 failed "build libosmocore_1.3.0.74.98929.dsc" at Mon May 4 01:46:25 UTC 2020. [ 891s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 4 05:20:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 05:20:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG at 12 PS1, Line 12: Signed-off-by: Vadim Yanitskiy > not needed? Ah, I forgot that I have signing (without GPG) enabled by default because a project I am also working on requires every commit to have it. Are you against this signature? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 04 May 2020 05:20:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:26:47 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 4 May 2020 07:26:47 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > will it be okay to use the following file from python-pcsclite python library? please let me know yo [?] i tried to use pytlv for parsing TLV, which is recommended while installing pysim as per README. But, EF.ePDGId or EF.ePDGIdEm field can have more than one TLV with the same tag '80' and the output of tlv.parse of pytlv library is a dictionary. So pytlv maybe rendered useless in this case as most of the info is already parsed. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 07:26:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:27:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 07:27:50 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 to look at the new patch set (#2). Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... src/input/ipaccess.c: set TCP_NODELAY Set TCP_NODELAY for all RSL/OML sockets. Related: SYS#4906 Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 --- M src/input/ipaccess.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/72/17972/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:29:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 07:29:06 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c File src/input/ipaccess.c: https://gerrit.osmocom.org/c/libosmo-abis/+/17972/1/src/input/ipaccess.c at 314 PS1, Line 314: FIXME: just call update_fd_settings() here instead? > I don't see any new socket being created, only an osmo_fd wrapper for an already existing socket. Right, thanks! > I think we need to drop this call or move it near to where the socket is created if required. It seems that update_fd_settings() is already called whenever a socket is created in this file, so we can just drop the call here. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 07:29:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:54:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 07:54:18 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > i tried to use pytlv for parsing TLV, which is recommended while installing pysim as per README. [?] Using AGPLv3 code from GPLv2-or-later code makes the combined project effectively AGPLv3. This works from a legal point of view, but was not really what we intended by putting pySim under the more permissive GPLv2+. I have never looked at it in detail, one idea might be TLV_utils.py from cyberflex-shell? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 07:54:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:54:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 07:54:57 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 07:54:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:55:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 07:55:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010/1//COMMIT_MSG at 12 PS1, Line 12: Signed-off-by: Vadim Yanitskiy > Ah, I forgot that I have signing (without GPG) enabled by default because a project I am also workin [?] no problem, I don't care. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 04 May 2020 07:55:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 07:56:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 07:56:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: get rid of Si1RestOctets and Si3RestOctets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 ) Change subject: library: get rid of Si1RestOctets and Si3RestOctets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Gerrit-Change-Number: 18011 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 04 May 2020 07:56:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:07:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:07:19 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 to look at the new patch set (#4). Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... VTY: make configurable: X23002, X23005, X23006 Default value is the current default of 5s for all timers that are not specified. Related: SYS#4897 Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb --- M src/osmo-bsc/net_init.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/17973/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:07:20 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:07:20 +0000 Subject: Change in osmo-bsc[master]: timers: T->X: 23002, 23004, 23005, 23006 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18017 ) Change subject: timers: T->X: 23002, 23004, 23005, 23006 ...................................................................... timers: T->X: 23002, 23004, 23005, 23006 Make various internally used timers negative, to indicate that they are Osmocom specific. A follow-up patch will make them configurable. Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/18017/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 9ca73df..f55fbf9 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -210,7 +210,7 @@ struct osmo_tdef_state_timeout lchan_fsm_timeouts[32] = { [LCHAN_ST_WAIT_TS_READY] = { .T=23001 }, - [LCHAN_ST_WAIT_ACTIV_ACK] = { .T=23002 }, + [LCHAN_ST_WAIT_ACTIV_ACK] = { .T=-23002 }, [LCHAN_ST_WAIT_RLL_RTP_ESTABLISH] = { .T=3101 }, [LCHAN_ST_WAIT_RLL_RTP_RELEASED] = { .T=3109 }, [LCHAN_ST_WAIT_BEFORE_RF_RELEASE] = { .T=3111 }, diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index da09aec..25aca14 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -42,10 +42,10 @@ } struct osmo_tdef_state_timeout lchan_rtp_fsm_timeouts[32] = { - [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_AVAILABLE] = { .T=23004 }, - [LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK] = { .T=23005 }, - [LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK] = { .T=23006 }, - [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED] = { .T=23004 }, + [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_AVAILABLE] = { .T=-23004 }, + [LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK] = { .T=-23005 }, + [LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK] = { .T=-23006 }, + [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED] = { .T=-23004 }, }; /* Transition to a state, using the T timer defined in lchan_rtp_fsm_timeouts. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef Gerrit-Change-Number: 18017 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:08:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:08:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:08:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:08:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:08:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: get rid of Si1RestOctets and Si3RestOctets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 ) Change subject: library: get rid of Si1RestOctets and Si3RestOctets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Gerrit-Change-Number: 18011 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:08:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:09:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:09:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: System Information: use RestOctets where possible In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 ) Change subject: library: System Information: use RestOctets where possible ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Gerrit-Change-Number: 18012 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:09:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:09:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:09:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: clarify length restrictions for SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 ) Change subject: library: clarify length restrictions for SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Gerrit-Change-Number: 18013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:09:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:10:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:10:06 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... Patch Set 4: I've added another patch to make the timers negative. > Patch Set 3: Code-Review+1 > > where is that default value of 5 taken from? (the one for non defined timers). The 5 here: https://git.osmocom.org/osmo-bsc/tree/src/osmo-bsc/lchan_fsm.c?id=e55e76f4c7774d29da445c8e6f73966edbbda57b#n228 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 08:10:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:10:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:10:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:10:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:10:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix f_get_si3(): do not return uninitialized SI value In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 ) Change subject: BTS: fix f_get_si3(): do not return uninitialized SI value ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie60ef237443043578a218dcf19fe1b474b1d4e10 Gerrit-Change-Number: 18014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:10:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:13:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:13:24 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17973/4/src/osmo-bsc/net_init.c File src/osmo-bsc/net_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17973/4/src/osmo-bsc/net_init.c at 48 PS4, Line 48: { .T=-23002, .default_val=5, .desc="Wait time for RSL Channel Activate ACK after sending RSL Channel Activate" }, Better move negative ones to a separate block (inside this same array) to clearly differentiate osmo specific ones vs spec ones. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 08:13:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:14:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:14:59 +0000 Subject: Change in osmo-bsc[master]: timers: T->X: 23002, 23004, 23005, 23006 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18017 ) Change subject: timers: T->X: 23002, 23004, 23005, 23006 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef Gerrit-Change-Number: 18017 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 04 May 2020 08:14:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:17:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:17:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: System Information: use RestOctets where possible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 ) Change subject: library: System Information: use RestOctets where possible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Gerrit-Change-Number: 18012 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:17:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:17:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:17:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: clarify length restrictions for SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 ) Change subject: library: clarify length restrictions for SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Gerrit-Change-Number: 18013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:17:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:18:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: implement mandatory part of SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 ) Change subject: library: implement mandatory part of SI4 Rest Octets ...................................................................... library: implement mandatory part of SI4 Rest Octets Optional "Rest Octets S" part is left for later. Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Signed-off-by: Vadim Yanitskiy --- M library/GSM_RestOctets.ttcn 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index 8f0346d..da3478a 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -41,6 +41,19 @@ variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" }; +/* 10.5.2.35 SI 4 Rest Octets (O & S) */ +type record SI4RestOctets { + SelectionParamsOpt sel_params, + PowerOffsetOpt pwr_offset, + GPRSIndicatorOpt gprs_ind, + BIT1 s_presence, // L/H + /* TODO: optional "Rest Octets S" part */ + bitstring s optional +} with { + variant (s_presence) "CSN.1 L/H" + variant (s) "PRESENCE(s_presence = '1'B)" +}; + /* Selection Parameters */ type record SelectionParams { boolean cbq, @@ -115,5 +128,10 @@ external function dec_SI3RestOctets(in octetstring stream) return SI3RestOctets with { extension "prototype(convert) decode(RAW)" }; +external function enc_SI4RestOctets(in SI4RestOctets ro) return octetstring + with { extension "prototype(convert) encode(RAW)" }; +external function dec_SI4RestOctets(in octetstring stream) return SI4RestOctets + with { extension "prototype(convert) decode(RAW)" }; + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18010 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib0814e79f8627f3e2b4746b7e521e06ff82bf2d7 Gerrit-Change-Number: 18010 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: get rid of Si1RestOctets and Si3RestOctets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 ) Change subject: library: get rid of Si1RestOctets and Si3RestOctets ...................................................................... library: get rid of Si1RestOctets and Si3RestOctets Both are basically sub-types of GSM_RR_Types.RestOctets with length constraints. We don't really need to have them as separate symbols, especially since we have SI3RestOctets and SI4RestOctets now, so let's apply these constraints within the corresponding records. Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 8 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index f1918c9..a4688cd 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -115,16 +115,14 @@ AccessControlClass acc } with { variant (acc) "FIELDLENGTH(16)" }; - /* 44.018 10.5.2.32 */ - type RestOctets Si1RestOctets with { variant "FIELDLENGTH(1)" }; - type RestOctets Si3RestOctets with { variant "FIELDLENGTH(4)" }; - /* 44.018 9.1.31 */ type record SystemInformationType1 { CellChannelDescription cell_chan_desc, RachControlParameters rach_control, - Si1RestOctets rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(1)" + }; /* 44.018 9.1.32 */ type record SystemInformationType2 { @@ -154,8 +152,10 @@ CellOptions cell_options, CellSelectionParameters cell_sel_par, RachControlParameters rach_control, - Si3RestOctets rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(4)" + }; template SystemInformationType3 t_SI3 := { cell_id := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b126348ae5c5425fea4267ab2b77ea0192795ac Gerrit-Change-Number: 18011 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: System Information: use RestOctets where possible In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 ) Change subject: library: System Information: use RestOctets where possible ...................................................................... library: System Information: use RestOctets where possible The 'RestOctets' is a sub-type of the 'octetstring' with additional padding attributes. Let's use it for SI2bis, SI2ter, and SI6 too. Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 12 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index a4688cd..4cabd77 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -135,14 +135,18 @@ type record SystemInformationType2bis { NeighbourCellDescription extd_bcch_freq_list, RachControlParameters rach_control, - OCT1 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(1)" + }; /* 44.018 9.1.34 */ type record SystemInformationType2ter { NeighbourCellDescription2 extd_bcch_freq_list, - OCT4 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(4)" + }; /* 44.018 9.1.35 */ type record SystemInformationType3 { @@ -199,8 +203,10 @@ LocationAreaIdentification lai, CellOptionsSacch cell_options, BIT8 ncc_permitted, - OCT7 rest_octets - } with { variant "" }; + RestOctets rest_octets + } with { + variant (rest_octets) "FIELDLENGTH(7)" + }; type union SystemInformationUnion { SystemInformationType1 si1, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I183d3ba9000e3ced8ecce74a4390b80075ddf25d Gerrit-Change-Number: 18012 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: clarify length restrictions for SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 ) Change subject: library: clarify length restrictions for SI4 Rest Octets ...................................................................... library: clarify length restrictions for SI4 Rest Octets Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 4cabd77..07ca8e6 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -179,7 +179,7 @@ RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, MobileAllocationT cbch_mobile_alloc optional, - RestOctets rest_octets + RestOctets rest_octets /* 0 .. 10 octets (see 10.5.2.35) */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; /* 44.018 9.1.37 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I54bfe5710f744cdd61752f3e46b1b00e9f2f3e43 Gerrit-Change-Number: 18013 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 ) Change subject: BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets ...................................................................... BTS: refactor f_si3_has_gprs_indicator(): use SI3RestOctets Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn 1 file changed, 4 insertions(+), 59 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 794d604..7191a7d 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -29,6 +29,7 @@ import from GSM_RR_Types all; import from Osmocom_Types all; import from GSM_Types all; +import from GSM_RestOctets all; import from GSM_SystemInformation all; import from L1CTL_PortType all; import from L1CTL_Types all; @@ -4904,65 +4905,9 @@ return si.payload.si3; } -/* CSN.1 L/H logic: is the bit at the current position using "inverted logic" (true) or not? */ -private function f_bitpos_is_inv(integer idx) return boolean { - select (idx mod 8) { - case ((2, 4, 6, 7)) { return true; } /* 1-bits of 0x2B */ - case else { return false; } /* 0-bits of 0x2B */ - } -} -/* determine if the bit at position 'idx' in 'str' is a CSN.1 'H' (true) or 'L' (false) */ -private function f_bit_is_high(bitstring str, integer idx) return boolean { - var boolean invert := f_bitpos_is_inv(idx); - if (invert) { - if (str[idx] == '1'B) { - return false; - } else { - return true; - } - } else { - if (str[idx] == '1'B) { - return true; - } else { - return false; - } - } -} -/* As the TITAN RAW codec cannot expres the CSN.1 L/H concept yet, we have to do this - manually. Let's hope https://www.eclipse.org/forums/index.php/t/1099087/ takes off and - we can replace this piece of code soon ... */ -private function f_si3_has_gprs_indicator(OCT4 si3_restoctets) return boolean { - var bitstring bits := oct2bit(si3_restoctets); - var integer idx := 0; - - if (f_bit_is_high(bits, idx)) { - /* skip Optional selection parameters */ - idx := idx + 16; - } else { - idx := idx + 1; - } - - if (f_bit_is_high(bits, idx)) { - /* skip Optional power offset */ - idx := idx + 3; - } else { - idx := idx + 1; - } - - /* skip SI2ter Indicator */ - idx := idx + 1; - - /* skip Early CM Sending Control */ - idx := idx + 1; - - /* skip Scheduling if and where */ - if (f_bit_is_high(bits, idx)) { - idx := idx + 4; - } else { - idx := idx + 1; - } - - return f_bit_is_high(bits, idx); +private function f_si3_has_gprs_indicator(RestOctets ro) return boolean { + var SI3RestOctets rest := dec_SI3RestOctets(ro); + return rest.gprs_ind.presence == '1'B; } testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17996 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2dc970d3d34a7d70c6845558544259e387f1d6fc Gerrit-Change-Number: 17996 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:18:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:18:55 +0000 Subject: Change in osmo-bsc[master]: timers: T->X: 23002, 23004, 23005, 23006 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18017 ) Change subject: timers: T->X: 23002, 23004, 23005, 23006 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef Gerrit-Change-Number: 18017 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:18:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:19:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:19:15 +0000 Subject: Change in osmo-bsc[master]: timers: T->X: 23002, 23004, 23005, 23006 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18017 ) Change subject: timers: T->X: 23002, 23004, 23005, 23006 ...................................................................... timers: T->X: 23002, 23004, 23005, 23006 Make various internally used timers negative, to indicate that they are Osmocom specific. A follow-up patch will make them configurable. Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef --- M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/lchan_rtp_fsm.c 2 files changed, 5 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 9ca73df..f55fbf9 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -210,7 +210,7 @@ struct osmo_tdef_state_timeout lchan_fsm_timeouts[32] = { [LCHAN_ST_WAIT_TS_READY] = { .T=23001 }, - [LCHAN_ST_WAIT_ACTIV_ACK] = { .T=23002 }, + [LCHAN_ST_WAIT_ACTIV_ACK] = { .T=-23002 }, [LCHAN_ST_WAIT_RLL_RTP_ESTABLISH] = { .T=3101 }, [LCHAN_ST_WAIT_RLL_RTP_RELEASED] = { .T=3109 }, [LCHAN_ST_WAIT_BEFORE_RF_RELEASE] = { .T=3111 }, diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c index da09aec..25aca14 100644 --- a/src/osmo-bsc/lchan_rtp_fsm.c +++ b/src/osmo-bsc/lchan_rtp_fsm.c @@ -42,10 +42,10 @@ } struct osmo_tdef_state_timeout lchan_rtp_fsm_timeouts[32] = { - [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_AVAILABLE] = { .T=23004 }, - [LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK] = { .T=23005 }, - [LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK] = { .T=23006 }, - [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED] = { .T=23004 }, + [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_AVAILABLE] = { .T=-23004 }, + [LCHAN_RTP_ST_WAIT_IPACC_CRCX_ACK] = { .T=-23005 }, + [LCHAN_RTP_ST_WAIT_IPACC_MDCX_ACK] = { .T=-23006 }, + [LCHAN_RTP_ST_WAIT_MGW_ENDPOINT_CONFIGURED] = { .T=-23004 }, }; /* Transition to a state, using the T timer defined in lchan_rtp_fsm_timeouts. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18017 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6f8be40ea54a3083f4b21ab938cc1723fc67c2ef Gerrit-Change-Number: 18017 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:20:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:20:03 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Comment the 'nokia' BTS fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18008 ) Change subject: gsm_data.h: Comment the 'nokia' BTS fields ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc Gerrit-Change-Number: 18008 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 08:20:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:20:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 08:20:07 +0000 Subject: Change in osmo-bsc[master]: gsm_data.h: Comment the 'nokia' BTS fields In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18008 ) Change subject: gsm_data.h: Comment the 'nokia' BTS fields ...................................................................... gsm_data.h: Comment the 'nokia' BTS fields Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc --- M include/osmocom/bsc/gsm_data.h 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 9a1db07..6996905 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1138,12 +1138,12 @@ } rbs2000; struct { uint8_t bts_type; - unsigned int configured:1, - skip_reset:1, - no_loc_rel_cnf:1, - bts_reset_timer_cnf, - did_reset:1, - wait_reset:1; + unsigned int configured:1, /* we sent the config data request */ + skip_reset:1, /* skip reset at bootstrap */ + no_loc_rel_cnf:1, /* don't wait for RSL REL CONF */ + bts_reset_timer_cnf, /* timer for BTS RESET */ + did_reset:1, /* we received a RESET ACK */ + wait_reset:1; /* we are waiting for reset to complete */ struct osmo_timer_list reset_timer; } nokia; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5e3eaf3dee97e2edcd80b20c3acf85bd89b40cdc Gerrit-Change-Number: 18008 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:20:32 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:20:32 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 to look at the new patch set (#5). Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... VTY: make configurable: X23002, X23005, X23006 Default value is the current default of 5s for all timers that are not specified. Related: SYS#4897 Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb --- M src/osmo-bsc/net_init.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/17973/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:20:48 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:20:48 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/17973/4/src/osmo-bsc/net_init.c File src/osmo-bsc/net_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/17973/4/src/osmo-bsc/net_init.c at 48 PS4, Line 48: { .T=-23002, .default_val=5, .desc="Wait time for RSL Channel Activate ACK after sending RSL Channel Activate" }, > Better move negative ones to a separate block (inside this same array) to clearly differentiate osmo [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 08:20:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:21:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 08:21:38 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 08:21:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 08:45:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 08:45:04 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 6: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c at 44 PS6, Line 44: GSM_TCHF_FRAME > I think this implicitly means FR. [?] I recommend to make it FR-only in this patch, as making it work with EFR needs unrelated adjustments in the magic checking code (0xd vs 0xc), see: https://git.osmocom.org/osmocom-bb/commit/?h=osmith/virt-voice&id=7bee40eafb8896c6664e3407371de7e87665ba1a I'll create a proper version of that patch today, to add EFR support (instead of replacing FR -> EFR) on top of this patch currently in gerrit. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 08:45:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 4 08:45:28 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 04 May 2020 08:45:28 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eafd63836d2b_97e2b20445445f416376a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 478s] ^~~~~~~~~~~~~~~~~~~ [ 478s] main.c: In function 'main': [ 478s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 478s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 478s] ^~~~~~~~~~~~~~~~~~~ [ 478s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 478s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 478s] ^ [ 478s] cc1: some warnings being treated as errors [ 478s] Makefile:469: recipe for target 'main.o' failed [ 478s] make[3]: *** [main.o] Error 1 [ 478s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 478s] Makefile:402: recipe for target 'all-recursive' failed [ 478s] make[2]: *** [all-recursive] Error 1 [ 478s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 478s] Makefile:349: recipe for target 'all' failed [ 478s] make[1]: *** [all] Error 2 [ 478s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 478s] dh_auto_build: make -j1 returned exit code 2 [ 478s] debian/rules:45: recipe for target 'build' failed [ 478s] make: *** [build] Error 2 [ 478s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 478s] ### VM INTERACTION START ### [ 481s] [ 458.927519] sysrq: SysRq : Power Off [ 481s] [ 458.929193] reboot: Power down [ 481s] ### VM INTERACTION END ### [ 481s] [ 481s] obs-arm-6 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Mon May 4 08:45:23 UTC 2020. [ 481s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 4 09:04:22 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 4 May 2020 09:04:22 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > Using AGPLv3 code from GPLv2-or-later code makes the combined project effectively AGPLv3. [?] thanks a lot for suggestion. I had a look into it and i think it may not be the one we want here. However, i found another source https://github.com/mitshell/card/blob/master/card/utils.py which has the implementation we need and also uses the same license as pysim. Please let me know what you think about this? The function to look out for is TLV_parser(bytelist): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 04 May 2020 09:04:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 09:30:09 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Mon, 4 May 2020 09:30:09 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... Patch Set 1: Just tested this and it fixed the segfault (which was instant before that). And the InSite bootstrapped properly. (it takes a couple of tries / oml resets but that's not un-usual AFAIR the startup sequence is still a bit screwy). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 04 May 2020 09:30:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 09:34:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 09:34:12 +0000 Subject: Change in docker-playground[master]: gerrit: Update to 2.16.18 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18020 ) Change subject: gerrit: Update to 2.16.18 ...................................................................... gerrit: Update to 2.16.18 Change-Id: I2979d892b38c6a7729fe2b39ad240e0a66323284 --- M gerrit/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/20/18020/1 diff --git a/gerrit/Dockerfile b/gerrit/Dockerfile index af11345..9592b25 100644 --- a/gerrit/Dockerfile +++ b/gerrit/Dockerfile @@ -1,4 +1,4 @@ -FROM gerritcodereview/gerrit:2.16.16 +FROM gerritcodereview/gerrit:2.16.18 USER root RUN yum -y install zip unzip patch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2979d892b38c6a7729fe2b39ad240e0a66323284 Gerrit-Change-Number: 18020 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 10:56:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 10:56:12 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18002 to look at the new patch set (#3). Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... lapd/lapdm: print user-defined string name instead of (dl=%p) At the moment we print the pointer address to identify the log lines belonging to a specific connection. Since pointer addresses are difficult to work with, a human readable ID should be printed instead. e.g. "This is LAPD instance for SAPI3 on bts0/trx1/ts5/lchan3" Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Closes: OS#1938 --- M TODO-RELEASE M include/osmocom/gsm/lapd_core.h M include/osmocom/gsm/lapdm.h M src/gsm/lapd_core.c M src/gsm/lapdm.c M src/gsm/libosmogsm.map 6 files changed, 263 insertions(+), 313 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/18002/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 11:06:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 11:06:04 +0000 Subject: Change in libosmo-abis[master]: lapd: Always print context information when logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18003 to look at the new patch set (#2). Change subject: lapd: Always print context information when logging ...................................................................... lapd: Always print context information when logging Historically, OpenBSC has primarily been used with setups that have a single E1 based BTS connected. This meant that an error message on the E1 LAPD implicitly has to be related to that single BTS. However, in more comprehensive setups, there may be many BTSs on many E1 lines with many signaling slots. At this point, it's important to know which line/timeslot/tei/sapi a given log message relates to. This patch introduces related log context. Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Requires: libosmocore.git Change-Id Ie6742843fff809edffcac24c4dce4edf66bc71be Related: OS#1938 --- M TODO-RELEASE M include/osmocom/abis/e1_input.h M include/osmocom/abis/lapd.h M src/e1_input.c M src/input/dahdi.c M src/input/e1d.c M src/input/lapd.c M src/input/misdn.c M src/input/unixsocket.c 9 files changed, 96 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/03/18003/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Gerrit-Change-Number: 18003 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 11:06:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 11:06:14 +0000 Subject: Change in libosmo-abis[master]: lapd: Always print context information when logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18003 ) Change subject: lapd: Always print context information when logging ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18003/1/include/osmocom/abis/lapd.h File include/osmocom/abis/lapd.h: https://gerrit.osmocom.org/c/libosmo-abis/+/18003/1/include/osmocom/abis/lapd.h at 68 PS1, Line 68: OSMO_DEPRECATED > Do we really need to deprecate this function just because of a new feature? I mean this is not a bug [?] I understand your line of thought. But in the end, we want to make sure that all users set a proper name, so we get the most useful log information (with context). By simply adding a new function, we risk that users/callers don't update their code, as they won't even get a warning. So my preference remains to use the current approach. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18003 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08 Gerrit-Change-Number: 18003 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 11:06:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 11:09:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 11:09:29 +0000 Subject: Change in osmo-bts[master]: Ensure we include lchan name in all LAPDm log lines In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18004 to look at the new patch set (#2). Change subject: Ensure we include lchan name in all LAPDm log lines ...................................................................... Ensure we include lchan name in all LAPDm log lines This makes use of the newly-introduced lapdm_channel_init3() API, which provides the user (BTS in this case) to provide a human-readable string identifier for each LAPDm channel. This identifier is subsequently used in all related log lines to provide context. This means we will now get context information about which specific SAPI in which sub-channel (ACCH/DCCH) on which lchan/ts/trx/bts a given message originated from. Change-Id: I17e3d4797ec71e31d0775330ae36d2e1fd70423f Depends: libosmocore.git Ie6742843fff809edffcac24c4dce4edf66bc71be Related: OS#1938 --- A TODO-RELEASE M src/common/bts.c 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/04/18004/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18004 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I17e3d4797ec71e31d0775330ae36d2e1fd70423f Gerrit-Change-Number: 18004 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 11:39:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 11:39:19 +0000 Subject: Change in docker-playground[master]: gerrit: Update to 2.16.18 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18020 ) Change subject: gerrit: Update to 2.16.18 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2979d892b38c6a7729fe2b39ad240e0a66323284 Gerrit-Change-Number: 18020 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 04 May 2020 11:39:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 11:39:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 4 May 2020 11:39:22 +0000 Subject: Change in docker-playground[master]: gerrit: Update to 2.16.18 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18020 ) Change subject: gerrit: Update to 2.16.18 ...................................................................... gerrit: Update to 2.16.18 Change-Id: I2979d892b38c6a7729fe2b39ad240e0a66323284 --- M gerrit/Dockerfile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/gerrit/Dockerfile b/gerrit/Dockerfile index af11345..9592b25 100644 --- a/gerrit/Dockerfile +++ b/gerrit/Dockerfile @@ -1,4 +1,4 @@ -FROM gerritcodereview/gerrit:2.16.16 +FROM gerritcodereview/gerrit:2.16.18 USER root RUN yum -y install zip unzip patch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2979d892b38c6a7729fe2b39ad240e0a66323284 Gerrit-Change-Number: 18020 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 13:10:42 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 13:10:42 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#7) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... mobile: loopback voice frames Use newly added audio / loopback config vty node to provide audio loopback from mobile app. Only FR is supported for now. Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/17381/7 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 13:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 13:10:43 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... mobile: traffic req check: support EFR While at it, move to extra function and add a length check. Related: SYS#4924 Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 --- M src/host/layer23/src/common/l1ctl.c 1 file changed, 37 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/21/18021/1 diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index b7d0ecd..37a29e6 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -888,6 +888,42 @@ return 0; } +#define LOG_TRAFFIC_REQ(mode, level, fmt, args...) \ + LOGP(DL1C, level, "Traffic Request, mode=%s: " fmt, get_value_string(gsm48_chan_mode_names, mode), ## args) + +int traffic_req_frame_verify(enum gsm48_chan_mode mode, uint8_t *frame, size_t frame_len) +{ + switch (mode) { + case GSM48_CMODE_SPEECH_V1: + /* FIXME: this is FR only, check for TCH/F (FR) and TCH/H (HR) */ + /* RFC 3551, section 4.5.8 GSM */ + if (frame_len != 13) { + LOG_TRAFFIC_REQ(mode, LOGL_ERROR, "incorrect length (%zu != 13)\n", frame_len); + return -2; + } + if ((frame[0] >> 4) != 0xd) { + LOG_TRAFFIC_REQ(mode, LOGL_ERROR, "incorrect magic (%u != 0xd)\n", frame[0] >> 4); + return -3; + } + break; + case GSM48_CMODE_SPEECH_EFR: + /* RFC 3551, section 4.5.9 GSM-EFR */ + if (frame_len != 31) { + LOG_TRAFFIC_REQ(mode, LOGL_ERROR, "incorrect length (%zu != 31)\n", frame_len); + return -4; + } + if ((frame[0] >> 4) != 0xc) { + LOG_TRAFFIC_REQ(mode, LOGL_ERROR, "incorrect magic (%u != 0xc)\n", frame[0] >> 4); + return -5; + } + break; + default: + LOG_TRAFFIC_REQ(mode, LOGL_ERROR, "not implemented\n"); + return -1; + } + return 0; +} + /* Transmit L1CTL_TRAFFIC_REQ (Traffic Request to L1) */ int l1ctl_tx_traffic_req(struct osmocom_ms *ms, struct msgb *msg, uint8_t chan_nr, uint8_t link_id) @@ -909,9 +945,7 @@ DEBUGP(DL1C, "TRAFFIC REQ len=%zu (%s)\n", frame_len, osmo_hexdump(frame, frame_len)); - if ((frame[0] >> 4) != 0xd) { - LOGP(DL1C, LOGL_ERROR, "Traffic Request has incorrect magic " - "(%u != 0xd)\n", frame[0] >> 4); + if (traffic_req_frame_verify(ms->rrlayer.cd_now.mode, frame, frame_len) < 0) { msgb_free(msg); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 13:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 13:10:43 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... mobile: loopback: support EFR Related: SYS#4924 Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 33 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/22/18022/1 diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index 235e899..1df3ad9 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -22,7 +22,9 @@ #include #include +#include +#include #include #include #include @@ -42,10 +44,20 @@ mncc = (struct gsm_data_frame *) msgb_push(msg, sizeof(struct gsm_data_frame)); - /* FIXME: FR only! */ - OSMO_ASSERT(ms->rrlayer.cd_now.mode == GSM48_CMODE_SPEECH_V1); - - mncc->msg_type = GSM_TCHF_FRAME; + /* set msg_type */ + switch (ms->rrlayer.cd_now.mode) { + case GSM48_CMODE_SPEECH_V1: + /* FIXME: FR only, check for TCH/F (FR) and TCH/H (HR) */ + mncc->msg_type = GSM_TCHF_FRAME; + break; + case GSM48_CMODE_SPEECH_EFR: + mncc->msg_type = GSM_TCHF_FRAME_EFR; + break; + default: + /* should not have been accepted by traffic_req_frame_verify() */ + OSMO_ASSERT(false); + break; + } mncc->callref = ms->mncc_entity.ref; /* send voice frame back, if appropriate */ @@ -67,12 +79,26 @@ int gsm_send_voice(struct osmocom_ms *ms, struct gsm_data_frame *data) { struct msgb *nmsg; + int len; - nmsg = msgb_alloc_headroom(33 + 64, 64, "TCH/F"); + switch (ms->rrlayer.cd_now.mode) { + case GSM48_CMODE_SPEECH_V1: + /* FIXME: FR only, check for TCH/F (FR) and TCH/H (HR) */ + len = GSM_FR_BYTES; + break; + case GSM48_CMODE_SPEECH_EFR: + len = GSM_EFR_BYTES; + break; + default: + LOGP(DL1C, LOGL_ERROR, "gsm_send_voice, msg_type=%i: not implemented\n", data->msg_type); + return -EINVAL; + } + + nmsg = msgb_alloc_headroom(len + 64, 64, "TCH/F"); if (!nmsg) return -ENOMEM; - nmsg->l2h = msgb_put(nmsg, 33); - memcpy(nmsg->l2h, data->data, 33); + nmsg->l2h = msgb_put(nmsg, len); + memcpy(nmsg->l2h, data->data, len); return gsm48_rr_tx_voice(ms, nmsg); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 13:11:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 4 May 2020 13:11:33 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback voice frames In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: loopback voice frames ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17381/6/src/host/layer23/src/mobile/voice.c at 44 PS6, Line 44: GSM_TCHF_FRAME > I recommend to make it FR-only in this patch, as making it work with EFR needs unrelated adjustments [?] Assert and note in commit message added. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 13:11:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 13:45:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 13:45:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix f_get_si3(): do not return uninitialized SI value In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 ) Change subject: BTS: fix f_get_si3(): do not return uninitialized SI value ...................................................................... BTS: fix f_get_si3(): do not return uninitialized SI value Change-Id: Ie60ef237443043578a218dcf19fe1b474b1d4e10 Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 7191a7d..6f43a44 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,7 +4899,7 @@ repeat; } [] T.timeout { - setverdict(fail, "Timeout waiting for SI3"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI3"); } } return si.payload.si3; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie60ef237443043578a218dcf19fe1b474b1d4e10 Gerrit-Change-Number: 18014 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 14:39:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 14:39:03 +0000 Subject: Change in osmo-gsm-tester[master]: Generate schemas dynamically from pieces provided by each object class References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 ) Change subject: Generate schemas dynamically from pieces provided by each object class ...................................................................... Generate schemas dynamically from pieces provided by each object class This way we benefit from: * knowing which attributes are used/required by each object class and subclass * Having validation function definitions near the class going to use them Change-Id: I8fd6773c51d19405a585977af4ed72cad2b21db1 --- M selftest/config_test.py M selftest/resource_test.py M selftest/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/core/util.py M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/bts_osmo.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/obj/msc_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/run_node.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 26 files changed, 418 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/23/18023/1 diff --git a/selftest/config_test.py b/selftest/config_test.py index 83a8d06..c26ebd1 100755 --- a/selftest/config_test.py +++ b/selftest/config_test.py @@ -116,35 +116,35 @@ a = {'times': '2'} b = {'type': 'osmo-bts-trx'} res = {'times': '2', 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine dicts 2:') a = {'times': '1', 'label': 'foo', 'type': 'osmo-bts-trx'} b = {'type': 'osmo-bts-trx'} res = {'times': '1', 'label': 'foo', 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists:') a = { 'a_list': ['x', 'y', 'z'] } b = { 'a_list': ['y'] } res = {'a_list': ['x', 'y', 'z']} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 2:') a = { 'a_list': ['x'] } b = { 'a_list': ['w', 'u', 'x', 'y', 'z'] } res = {'a_list': ['x', 'w', 'u', 'y', 'z']} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 3:') a = { 'a_list': ['x', 3] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -152,7 +152,7 @@ a = { 'a_list': [2, 3] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -160,7 +160,7 @@ a = { 'a_list': [{}, {}] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -168,49 +168,49 @@ a = { 'a_list': [{}, {}] } b = { 'a_list': [{}] } res = {'a_list': [{}, {}]} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 7:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 8:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 9:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 10:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 13:') a = { 'times': '1', 'label': 'foo', 'trx': [{}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 14:') a = { 'times': '1', 'label': 'foo', 'trx': [] } b = { 'type': 'osmo-bts-trx', 'trx': [] } res = {'times': '1', 'label': 'foo', 'trx': [], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/selftest/resource_test.py b/selftest/resource_test.py index f399e20..ecbeb24 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -7,6 +7,7 @@ import atexit import _prep from osmo_gsm_tester.core import config, log, util +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import resource workdir = util.get_tempdir() @@ -16,6 +17,9 @@ log.get_process_id = lambda: '123-1490837279' +# Generate supported schemas dynamically from objects: +generate_schemas() + print('- expect solutions:') pprint.pprint( resource.solve([ [0, 1, 2], diff --git a/selftest/suite_test.py b/selftest/suite_test.py index c4dd5bf..1fb95ec 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -3,6 +3,7 @@ import _prep import shutil from osmo_gsm_tester.core import log, config, util +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import suite, report config.ENV_CONF = './suite_test' @@ -24,6 +25,9 @@ #log.style_change(trace=True) +# Generate supported schemas dynamically from objects: +generate_schemas() + print('- non-existing suite dir') assert(log.run_logging_exceptions(suite.load, 'does_not_exist') == None) diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index df87957..af66b32 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -70,7 +70,9 @@ import argparse from signal import * from osmo_gsm_tester import __version__ -from osmo_gsm_tester.core import log, config +from osmo_gsm_tester.core import log +from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): @@ -162,6 +164,9 @@ if not combination_strs: raise RuntimeError('Need at least one suite:scenario or series to run') + # Generate supported schemas dynamically from objects: + generate_schemas() + # make sure all suite:scenarios exist suite_scenarios = [] for combination_str in combination_strs: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 9333601..6730807 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -54,7 +54,8 @@ import os import copy -from . import log, schema, util, template +from . import log, util, template +from . import schema from .util import is_dict, is_list, Dir, get_tempdir ENV_PREFIX = 'OSMO_GSM_TESTER_' @@ -288,68 +289,6 @@ sc.read_from_file(validation_schema) return sc -def add(dest, src): - if is_dict(dest): - if not is_dict(src): - raise ValueError('cannot add to dict a value of type: %r' % type(src)) - - for key, val in src.items(): - dest_val = dest.get(key) - if dest_val is None: - dest[key] = val - else: - log.ctx(key=key) - add(dest_val, val) - return - if is_list(dest): - if not is_list(src): - raise ValueError('cannot add to list a value of type: %r' % type(src)) - dest.extend(src) - return - if dest == src: - return - raise ValueError('cannot add dicts, conflicting items (values %r and %r)' - % (dest, src)) - -def combine(dest, src): - if is_dict(dest): - if not is_dict(src): - raise ValueError('cannot combine dict with a value of type: %r' % type(src)) - - for key, val in src.items(): - log.ctx(key=key) - dest_val = dest.get(key) - if dest_val is None: - dest[key] = val - else: - combine(dest_val, val) - return - if is_list(dest): - if not is_list(src): - raise ValueError('cannot combine list with a value of type: %r' % type(src)) - # Validate that all elements in both lists are of the same type: - t = util.list_validate_same_elem_type(src + dest) - if t is None: - return # both lists are empty, return - # For lists of complex objects, we expect them to be sorted lists: - if t in (dict, list, tuple): - for i in range(len(dest)): - log.ctx(idx=i) - src_it = src[i] if i < len(src) else util.empty_instance_type(t) - combine(dest[i], src_it) - for i in range(len(dest), len(src)): - log.ctx(idx=i) - dest.append(src[i]) - else: # for lists of basic elements, we handle them as unsorted sets: - for elem in src: - if elem not in dest: - dest.append(elem) - return - if dest == src: - return - raise ValueError('cannot combine dicts, conflicting items (values %r and %r)' - % (dest, src)) - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index d343bef..588c432 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -18,9 +18,10 @@ # along with this program. If not, see . import re +import os from . import log -from .util import is_dict, is_list, str2bool, ENUM_OSMO_AUTH_ALGO +from . import util KEY_RE = re.compile('[a-zA-Z][a-zA-Z0-9_]*') IPV4_RE = re.compile('([0-9]{1,3}.){3}[0-9]{1,3}') @@ -62,7 +63,7 @@ match_re('MSISDN', MSISDN_RE, val) def auth_algo(val): - if val not in ENUM_OSMO_AUTH_ALGO: + if val not in util.ENUM_OSMO_AUTH_ALGO: raise ValueError('Unknown Authentication Algorithm: %r' % val) def uint(val): @@ -162,7 +163,7 @@ INT: int, STR: str, UINT: uint, - BOOL_STR: str2bool, + BOOL_STR: util.str2bool, BAND: band, IPV4: ipv4, HWADDR: hwaddr, @@ -182,6 +183,87 @@ DURATION: duration, } +def add(dest, src): + if util.is_dict(dest): + if not util.is_dict(src): + raise ValueError('cannot add to dict a value of type: %r' % type(src)) + + for key, val in src.items(): + dest_val = dest.get(key) + if dest_val is None: + dest[key] = val + else: + log.ctx(key=key) + add(dest_val, val) + return + if util.is_list(dest): + if not util.is_list(src): + raise ValueError('cannot add to list a value of type: %r' % type(src)) + dest.extend(src) + return + if dest == src: + return + raise ValueError('cannot add dicts, conflicting items (values %r and %r)' + % (dest, src)) + +def combine(dest, src): + if util.is_dict(dest): + if not util.is_dict(src): + raise ValueError('cannot combine dict with a value of type: %r' % type(src)) + + for key, val in src.items(): + log.ctx(key=key) + dest_val = dest.get(key) + if dest_val is None: + dest[key] = val + else: + combine(dest_val, val) + return + if util.is_list(dest): + if not util.is_list(src): + raise ValueError('cannot combine list with a value of type: %r' % type(src)) + # Validate that all elements in both lists are of the same type: + t = util.list_validate_same_elem_type(src + dest) + if t is None: + return # both lists are empty, return + # For lists of complex objects, we expect them to be sorted lists: + if t in (dict, list, tuple): + for i in range(len(dest)): + log.ctx(idx=i) + src_it = src[i] if i < len(src) else util.empty_instance_type(t) + combine(dest[i], src_it) + for i in range(len(dest), len(src)): + log.ctx(idx=i) + dest.append(src[i]) + else: # for lists of basic elements, we handle them as unsorted sets: + for elem in src: + if elem not in dest: + dest.append(elem) + return + if dest == src: + return + raise ValueError('cannot combine dicts, conflicting items (values %r and %r)' + % (dest, src)) + +def replicate_times(d): + ''' + replicate items that have a "times" > 1 + + 'd' is a dict matching WANT_SCHEMA, which is the same as + the RESOURCES_SCHEMA, except each entity that can be reserved has a 'times' + field added, to indicate how many of those should be reserved. + ''' + d = copy.deepcopy(d) + for key, item_list in d.items(): + idx = 0 + while idx < len(item_list): + item = item_list[idx] + times = int(item.pop('times', 1)) + for j in range(1, times): + item_list.insert(idx + j, copy.deepcopy(item)) + idx += times + return d + def validate(config, schema): '''Make sure the given config dict adheres to the schema. The schema is a dict of 'dict paths' in dot-notation with permitted @@ -198,17 +280,17 @@ def validate_item(path, value, schema): want_type = schema.get(path) - if is_list(value): + if util.is_list(value): if want_type: raise ValueError('config item is a list, should be %r: %r' % (want_type, path)) path = path + '[]' want_type = schema.get(path) if not want_type: - if is_dict(value): + if util.is_dict(value): nest(path, value, schema) return - if is_list(value) and value: + if util.is_list(value) and value: for list_v in value: validate_item(path, list_v, schema) return @@ -217,11 +299,11 @@ if want_type not in SCHEMA_TYPES: raise ValueError('unknown type %r at %r' % (want_type, path)) - if is_dict(value): + if util.is_dict(value): raise ValueError('config item is dict but should be a leaf node of type %r: %r' % (want_type, path)) - if is_list(value): + if util.is_list(value): for list_v in value: validate_item(path, list_v, schema) return @@ -243,4 +325,73 @@ nest(None, config, schema) +def generate_schemas(): + "Generate supported schemas dynamically from objects" + obj_dir = '%s/../obj/' % os.path.dirname(os.path.abspath(__file__)) + for filename in os.listdir(obj_dir): + if not filename.endswith(".py"): + continue + module_name = 'osmo_gsm_tester.obj.%s' % filename[:-3] + util.run_python_file_method(module_name, 'on_register_schemas', False) + + +_RESOURCE_TYPES = ['ip_address', 'arfcn'] + +_RESOURCES_SCHEMA = { + 'ip_address[].addr': IPV4, + 'arfcn[].arfcn': INT, + 'arfcn[].band': BAND, + } + +_CONFIG_SCHEMA = {} + +_WANT_SCHEMA = None +_ALL_SCHEMA = None + +def register_resource_schema(obj_class_str, obj_attr_dict): + """Register schema attributes for a resource type. + For instance: register_resource_schema_attributes('modem', {'type': schema.STR, 'ki': schema.KI}) + """ + global _RESOURCES_SCHEMA + global _RESOURCE_TYPES + tmpdict = {} + for key, val in obj_attr_dict.items(): + new_key = '%s[].%s' % (obj_class_str, key) + tmpdict[new_key] = val + combine(_RESOURCES_SCHEMA, tmpdict) + if obj_class_str not in _RESOURCE_TYPES: + _RESOURCE_TYPES.append(obj_class_str) + +def register_config_schema(obj_class_str, obj_attr_dict): + """Register schema attributes to configure all instances of an object class. + For instance: register_resource_schema_attributes('bsc', {'net.codec_list[]': schema.CODEC}) + """ + global _CONFIG_SCHEMA + tmpdict = {} + for key, val in obj_attr_dict.items(): + new_key = '%s.%s' % (obj_class_str, key) + tmpdict[new_key] = val + combine(_CONFIG_SCHEMA, tmpdict) + +def get_resources_schema(): + return _RESOURCES_SCHEMA; + +def get_want_schema(): + global _WANT_SCHEMA + if _WANT_SCHEMA is None: + _WANT_SCHEMA = util.dict_add( + dict([('%s[].times' % r, TIMES) for r in _RESOURCE_TYPES]), + get_resources_schema()) + return _WANT_SCHEMA + +def get_all_schema(): + global _ALL_SCHEMA + if _ALL_SCHEMA is None: + want_schema = get_want_schema() + _ALL_SCHEMA = util.dict_add({ 'defaults.timeout': STR }, + dict([('config.%s' % key, val) for key, val in _CONFIG_SCHEMA.items()]), + dict([('resources.%s' % key, val) for key, val in want_schema.items()]), + dict([('modifiers.%s' % key, val) for key, val in want_schema.items()])) + return _ALL_SCHEMA + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/util.py b/src/osmo_gsm_tester/core/util.py index a5b2bbf..4c7b1dd 100644 --- a/src/osmo_gsm_tester/core/util.py +++ b/src/osmo_gsm_tester/core/util.py @@ -370,6 +370,17 @@ def run_python_file(module_name, path): SourceFileLoader(module_name, path).load_module() +def run_python_file_method(module_name, func_name, fail_if_missing=True): + module_obj = __import__(module_name, globals(), locals(), [func_name]) + try: + func = getattr(module_obj, func_name) + except AttributeError as e: + if fail_if_missing: + raise RuntimeError('function %s not found in %s (%s)' % (func_name, module_name)) + else: + return None + return func() + def msisdn_inc(msisdn_str): 'add 1 and preserve leading zeros' return ('%%0%dd' % len(msisdn_str)) % (int(msisdn_str) + 1) diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 25cc780..046ef94 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -22,8 +22,16 @@ import pprint from ..core import log, util, config, template, process +from ..core import schema from . import osmo_ctrl, pcap_recorder +def on_register_schemas(): + config_schema = { + 'net.codec_list[]': schema.CODEC, + } + schema.register_config_schema('bsc', config_schema) + + class OsmoBsc(log.Origin): def __init__(self, suite_run, msc, mgw, stp, ip_address): diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index 515b42b..8b05ea0 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -21,6 +21,30 @@ from abc import ABCMeta, abstractmethod from ..core import log, config, schema +def on_register_schemas(): + resource_schema = { + 'label': schema.STR, + 'type': schema.STR, + 'addr': schema.IPV4, + 'band': schema.BAND, + 'direct_pcu': schema.BOOL_STR, + 'ciphers[]': schema.CIPHER, + 'channel_allocator': schema.CHAN_ALLOCATOR, + 'gprs_mode': schema.GPRS_MODE, + 'num_trx': schema.UINT, + 'max_trx': schema.UINT, + 'trx_list[].addr': schema.IPV4, + 'trx_list[].hw_addr': schema.HWADDR, + 'trx_list[].net_device': schema.STR, + 'trx_list[].nominal_power': schema.UINT, + 'trx_list[].max_power_red': schema.UINT, + 'trx_list[].timeslot_list[].phys_chan_config': schema.PHY_CHAN, + 'trx_list[].power_supply.type': schema.STR, + 'trx_list[].power_supply.device': schema.STR, + 'trx_list[].power_supply.port': schema.STR, + } + schema.register_resource_schema('bts', resource_schema) + class Bts(log.Origin, metaclass=ABCMeta): ############## diff --git a/src/osmo_gsm_tester/obj/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py index 74f3ec7..a182c47 100644 --- a/src/osmo_gsm_tester/obj/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -21,8 +21,18 @@ import tempfile from abc import ABCMeta, abstractmethod from ..core import log +from ..core import schema from . import bts, pcu_osmo +def on_register_schemas(): + resource_schema = { + 'ipa_unit_id': schema.UINT, + 'direct_pcu': schema.BOOL_STR, + 'channel_allocator': schema.CHAN_ALLOCATOR, + 'gprs_mode': schema.GPRS_MODE, + } + schema.register_resource_schema('bts', resource_schema) + class OsmoBts(bts.Bts, metaclass=ABCMeta): ############## diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 5339946..9234fc8 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -21,9 +21,25 @@ import pprint from abc import ABCMeta, abstractmethod from ..core import log, config, util, template, process, remote +from ..core import schema from ..core.event_loop import MainLoop from . import powersupply, bts_osmo +def on_register_schemas(): + resource_schema = { + 'osmo_trx.launch_trx': schema.BOOL_STR, + 'osmo_trx.type': schema.STR, + 'osmo_trx.clock_reference': schema.OSMO_TRX_CLOCK_REF, + 'osmo_trx.trx_ip': schema.IPV4, + 'osmo_trx.remote_user': schema.STR, + 'osmo_trx.dev_args': schema.STR, + 'osmo_trx.multi_arfcn': schema.BOOL_STR, + 'osmo_trx.max_trxd_version': schema.UINT, + 'osmo_trx.channels[].rx_path': schema.STR, + 'osmo_trx.channels[].tx_path': schema.STR, + } + schema.register_resource_schema('bts', resource_schema) + class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): ############## # PROTECTED diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 3c1f771..c652761 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -19,7 +19,47 @@ from abc import ABCMeta, abstractmethod from ..core import log, config +from ..core import schema +def on_register_schemas(): + resource_schema = { + 'label': schema.STR, + 'type': schema.STR, + 'remote_user': schema.STR, + 'addr': schema.IPV4, + 'gtp_bind_addr': schema.IPV4, + 'id': schema.UINT, + 'num_prb': schema.UINT, + 'transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'tx_gain': schema.UINT, + 'rx_gain': schema.UINT, + 'rf_dev_type': schema.STR, + 'rf_dev_args': schema.STR, + 'additional_args': schema.STR, + 'enable_measurements': schema.BOOL_STR, + 'a1_report_type': schema.STR, + 'a1_report_value': schema.INT, + 'a1_hysteresis': schema.INT, + 'a1_time_to_trigger': schema.INT, + 'a2_report_type': schema.STR, + 'a2_report_value': schema.INT, + 'a2_hysteresis': schema.INT, + 'a2_time_to_trigger': schema.INT, + 'a3_report_type': schema.STR, + 'a3_report_value': schema.INT, + 'a3_hysteresis': schema.INT, + 'a3_time_to_trigger': schema.INT, + 'num_cells': schema.UINT, + 'cell_list[].cell_id': schema.UINT, + 'cell_list[].pci': schema.UINT, + 'cell_list[].ncell_list[]': schema.UINT, + 'cell_list[].scell_list[]': schema.UINT, + 'cell_list[].dl_earfcn': schema.UINT, + 'cell_list[].dl_rfemu.type': schema.STR, + 'cell_list[].dl_rfemu.addr': schema.IPV4, + 'cell_list[].dl_rfemu.ports[]': schema.UINT, + } + schema.register_resource_schema('enb', resource_schema) class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index ec7063c..6f7080a 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -21,9 +21,16 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import enb from . import rfemu +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 243ffaa..0816ca6 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -24,6 +24,14 @@ from . import enb from . import rfemu +from ..core import schema + +def on_register_schemas(): + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('enb', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index f6bddea..c725f76 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -19,7 +19,14 @@ from abc import ABCMeta, abstractmethod from ..core import log, config +from ..core import schema +def on_register_schemas(): + config_schema = { + 'type': schema.STR, + 'qci': schema.UINT, + } + schema.register_config_schema('epc', config_schema) class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index afd8aa4..8606e57 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import epc +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + class AmarisoftEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index ec9dc44..f859df0 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import epc +def on_register_schemas(): + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('epc', config_schema) + class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 9427770..b9fdfe8 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -21,8 +21,15 @@ import json from ..core import log, util, config, process, remote +from ..core import schema from . import pcap_recorder, run_node +def on_register_schemas(): + config_schema = { + 'time': schema.DURATION, + } + schema.register_config_schema('iperf3cli', config_schema) + def iperf3_result_to_json(log_obj, data): try: # Drop non-interesting self-generated output before json: diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index 3dcea7b..b72333a 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -19,6 +19,21 @@ from abc import ABCMeta, abstractmethod from ..core import log +from ..core import schema + +def on_register_schemas(): + resource_schema = { + 'type': schema.STR, + 'label': schema.STR, + 'path': schema.STR, + 'imsi': schema.IMSI, + 'ki': schema.KI, + 'auth_algo': schema.AUTH_ALGO, + 'apn_ipaddr': schema.IPV4, + 'ciphers[]': schema.CIPHER, + 'features[]': schema.MODEM_FEATURE + } + schema.register_resource_schema('modem', resource_schema) class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 6fd80ee..46a92dc 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -21,10 +21,17 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from ..core.event_loop import MainLoop from .run_node import RunNode from .ms import MS +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index cdc8d18..7d08b66 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -21,6 +21,7 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from .run_node import RunNode from ..core.event_loop import MainLoop from .ms import MS @@ -28,6 +29,26 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') +def on_register_schemas(): + resource_schema = { + 'remote_user': schema.STR, + 'addr': schema.IPV4, + 'rf_dev_type': schema.STR, + 'rf_dev_args': schema.STR, + 'num_carriers': schema.UINT, + 'additional_args': schema.STR, + 'airplane_t_on_ms': schema.INT, + 'airplane_t_off_ms': schema.INT, + 'tx_gain': schema.UINT, + 'rx_gain': schema.UINT, + } + schema.register_resource_schema('modem', resource_schema) + + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('modem', config_schema) + #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): if num_prb <= 6: diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index cb8894f..048934e 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process +from ..core import schema from . import osmo_ctrl, pcap_recorder, smsc +def on_register_schemas(): + resource_schema = { + 'path': schema.STR, + } + schema.register_resource_schema('modem', resource_schema) + class OsmoMsc(log.Origin): def __init__(self, suite_run, hlr, mgw, stp, ip_address): diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 1fad239..6f6ac2a 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -21,8 +21,16 @@ import tempfile from ..core import log, util, process +from ..core import schema from ..core.event_loop import MainLoop +def on_register_schemas(): + resource_schema = { + 'serial_device': schema.STR, + } + schema.register_resource_schema('osmocon_phone', resource_schema) + + class Osmocon(log.Origin): FIRMWARE_FILE="opt/osmocom-bb/target/firmware/board/compal_e88/layer1.compalram.bin" diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index e9f43a1..26c85df 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -18,6 +18,17 @@ # along with this program. If not, see . from ..core import log +from ..core import schema + +def on_register_schemas(): + resource_schema = { + 'run_type': schema.STR, + 'run_addr': schema.IPV4, + 'ssh_user': schema.STR, + 'ssh_addr': schema.IPV4, + } + schema.register_resource_schema('run_node', resource_schema) + class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 20302d3..b216c50 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -46,120 +46,6 @@ R_MODEM = 'modem' R_OSMOCON = 'osmocon_phone' R_ENB = 'enb' -R_ALL = (R_IP_ADDRESS, R_RUN_NODE, R_BTS, R_ARFCN, R_MODEM, R_OSMOCON, R_ENB) - -RESOURCES_SCHEMA = { - 'ip_address[].addr': schema.IPV4, - 'run_node[].run_type': schema.STR, - 'run_node[].run_addr': schema.IPV4, - 'run_node[].ssh_user': schema.STR, - 'run_node[].ssh_addr': schema.IPV4, - 'bts[].label': schema.STR, - 'bts[].type': schema.STR, - 'bts[].ipa_unit_id': schema.UINT, - 'bts[].addr': schema.IPV4, - 'bts[].band': schema.BAND, - 'bts[].direct_pcu': schema.BOOL_STR, - 'bts[].ciphers[]': schema.CIPHER, - 'bts[].channel_allocator': schema.CHAN_ALLOCATOR, - 'bts[].gprs_mode': schema.GPRS_MODE, - 'bts[].num_trx': schema.UINT, - 'bts[].max_trx': schema.UINT, - 'bts[].trx_list[].addr': schema.IPV4, - 'bts[].trx_list[].hw_addr': schema.HWADDR, - 'bts[].trx_list[].net_device': schema.STR, - 'bts[].trx_list[].nominal_power': schema.UINT, - 'bts[].trx_list[].max_power_red': schema.UINT, - 'bts[].trx_list[].timeslot_list[].phys_chan_config': schema.PHY_CHAN, - 'bts[].trx_list[].power_supply.type': schema.STR, - 'bts[].trx_list[].power_supply.device': schema.STR, - 'bts[].trx_list[].power_supply.port': schema.STR, - 'bts[].osmo_trx.launch_trx': schema.BOOL_STR, - 'bts[].osmo_trx.type': schema.STR, - 'bts[].osmo_trx.clock_reference': schema.OSMO_TRX_CLOCK_REF, - 'bts[].osmo_trx.trx_ip': schema.IPV4, - 'bts[].osmo_trx.remote_user': schema.STR, - 'bts[].osmo_trx.dev_args': schema.STR, - 'bts[].osmo_trx.multi_arfcn': schema.BOOL_STR, - 'bts[].osmo_trx.max_trxd_version': schema.UINT, - 'bts[].osmo_trx.channels[].rx_path': schema.STR, - 'bts[].osmo_trx.channels[].tx_path': schema.STR, - 'enb[].label': schema.STR, - 'enb[].type': schema.STR, - 'enb[].remote_user': schema.STR, - 'enb[].addr': schema.IPV4, - 'enb[].gtp_bind_addr': schema.IPV4, - 'enb[].id': schema.UINT, - 'enb[].num_prb': schema.UINT, - 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, - 'enb[].tx_gain': schema.UINT, - 'enb[].rx_gain': schema.UINT, - 'enb[].rf_dev_type': schema.STR, - 'enb[].rf_dev_args': schema.STR, - 'enb[].additional_args': schema.STR, - 'enb[].enable_measurements': schema.BOOL_STR, - 'enb[].a1_report_type': schema.STR, - 'enb[].a1_report_value': schema.INT, - 'enb[].a1_hysteresis': schema.INT, - 'enb[].a1_time_to_trigger': schema.INT, - 'enb[].a2_report_type': schema.STR, - 'enb[].a2_report_value': schema.INT, - 'enb[].a2_hysteresis': schema.INT, - 'enb[].a2_time_to_trigger': schema.INT, - 'enb[].a3_report_type': schema.STR, - 'enb[].a3_report_value': schema.INT, - 'enb[].a3_hysteresis': schema.INT, - 'enb[].a3_time_to_trigger': schema.INT, - 'enb[].num_cells': schema.UINT, - 'enb[].cell_list[].cell_id': schema.UINT, - 'enb[].cell_list[].pci': schema.UINT, - 'enb[].cell_list[].ncell_list[]': schema.UINT, - 'enb[].cell_list[].scell_list[]': schema.UINT, - 'enb[].cell_list[].dl_earfcn': schema.UINT, - 'enb[].cell_list[].dl_rfemu.type': schema.STR, - 'enb[].cell_list[].dl_rfemu.addr': schema.IPV4, - 'enb[].cell_list[].dl_rfemu.ports[]': schema.UINT, - 'arfcn[].arfcn': schema.INT, - 'arfcn[].band': schema.BAND, - 'modem[].type': schema.STR, - 'modem[].label': schema.STR, - 'modem[].path': schema.STR, - 'modem[].imsi': schema.IMSI, - 'modem[].ki': schema.KI, - 'modem[].auth_algo': schema.AUTH_ALGO, - 'modem[].apn_ipaddr': schema.IPV4, - 'modem[].remote_user': schema.STR, - 'modem[].addr': schema.IPV4, - 'modem[].ciphers[]': schema.CIPHER, - 'modem[].features[]': schema.MODEM_FEATURE, - 'modem[].rf_dev_type': schema.STR, - 'modem[].rf_dev_args': schema.STR, - 'modem[].num_carriers': schema.UINT, - 'modem[].additional_args': schema.STR, - 'modem[].airplane_t_on_ms': schema.INT, - 'modem[].airplane_t_off_ms': schema.INT, - 'modem[].tx_gain': schema.UINT, - 'modem[].rx_gain': schema.UINT, - 'osmocon_phone[].serial_device': schema.STR, - } - -WANT_SCHEMA = util.dict_add( - dict([('%s[].times' % r, schema.TIMES) for r in R_ALL]), - RESOURCES_SCHEMA) - -CONF_SCHEMA = util.dict_add( - { 'defaults.timeout': schema.STR, - 'config.bsc.net.codec_list[]': schema.CODEC, - 'config.enb.enable_pcap': schema.BOOL_STR, - 'config.epc.type': schema.STR, - 'config.epc.qci': schema.UINT, - 'config.epc.enable_pcap': schema.BOOL_STR, - 'config.modem.enable_pcap': schema.BOOL_STR, - 'config.amarisoft.license_server_addr': schema.IPV4, - 'config.iperf3cli.time': schema.DURATION, - }, - dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), - dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) KNOWN_BTS_TYPES = { 'osmo-bts-sysmo': bts_sysmo.SysmoBts, @@ -204,7 +90,7 @@ self.read_conf() def read_conf(self): - self.all_resources = Resources(config.read(self.config_path, RESOURCES_SCHEMA)) + self.all_resources = Resources(config.read(self.config_path, schema.get_resources_schema())) self.all_resources.set_hashes() def reserve(self, origin, want, modifiers): @@ -239,8 +125,8 @@ 'modem': [ {}, {} ], } ''' - schema.validate(want, RESOURCES_SCHEMA) - schema.validate(modifiers, RESOURCES_SCHEMA) + schema.validate(want, schema.get_resources_schema()) + schema.validate(modifiers, schema.get_resources_schema()) origin_id = origin.origin_id() @@ -480,7 +366,7 @@ def add(self, more): if more is self: raise RuntimeError('adding a list of resources to itself?') - config.add(self, copy.deepcopy(more)) + schema.add(self, copy.deepcopy(more)) def mark_reserved_by(self, origin_id): for key, item_list in self.items(): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index fecb7a6..6d2916c 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,7 +21,7 @@ import sys import time import pprint -from .core import config, log, util, process +from .core import config, log, util, process, schema from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -50,7 +50,7 @@ raise RuntimeError('No such directory: %r' % self.suite_dir) self.conf = config.read(os.path.join(self.suite_dir, SuiteDefinition.CONF_FILENAME), - resource.CONF_SCHEMA) + schema.get_all_schema()) self.load_test_basenames() def load_test_basenames(self): @@ -143,7 +143,7 @@ log.dbg(scenario=scenario.name(), conf=c) if c is None: continue - config.combine(combination, c) + schema.combine(combination, c) return combination def get_run_dir(self): @@ -486,7 +486,7 @@ def load_suite_scenario_str(suite_scenario_str): suite_name, scenario_names = parse_suite_scenario_str(suite_scenario_str) suite = load(suite_name) - scenarios = [config.get_scenario(scenario_name, resource.CONF_SCHEMA) for scenario_name in scenario_names] + scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) def bts_obj(suite_run, conf): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 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: I8fd6773c51d19405a585977af4ed72cad2b21db1 Gerrit-Change-Number: 18023 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: add PADDING attributes to SI3/SI4 Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 ) Change subject: library: add PADDING attributes to SI3/SI4 Rest Octets ...................................................................... library: add PADDING attributes to SI3/SI4 Rest Octets Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Signed-off-by: Vadim Yanitskiy --- M library/GSM_RestOctets.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/18024/1 diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index da3478a..045d177 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -39,6 +39,10 @@ variant (iu_mode_ind) "PRESENCE(gprs_ind.presence = '0'B)" /* SI21 field is only present if 'WHERE' information is not present. */ variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; /* 10.5.2.35 SI 4 Rest Octets (O & S) */ @@ -52,6 +56,10 @@ } with { variant (s_presence) "CSN.1 L/H" variant (s) "PRESENCE(s_presence = '1'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; /* Selection Parameters */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Gerrit-Change-Number: 18024 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: relax length constraints applied to SI Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 ) Change subject: library: relax length constraints applied to SI Rest Octets ...................................................................... library: relax length constraints applied to SI Rest Octets As it turned out, the length constraints introduced in [1] were too strict. In particular, the use of FIELDLENGTH attribute made it impossible to assign an octetstring of a smaller size and then pad the remaining octets with '2B'O. TITAN would just use '00'O instead, ignoring all my attempts to talk some sense into it. [1] I183d3ba9000e3ced8ecce74a4390b80075ddf25d Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 11 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/18025/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 07ca8e6..de1fcf7 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -119,10 +119,8 @@ type record SystemInformationType1 { CellChannelDescription cell_chan_desc, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.32 */ type record SystemInformationType2 { @@ -135,18 +133,14 @@ type record SystemInformationType2bis { NeighbourCellDescription extd_bcch_freq_list, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.34 */ type record SystemInformationType2ter { NeighbourCellDescription2 extd_bcch_freq_list, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; /* 44.018 9.1.35 */ type record SystemInformationType3 { @@ -156,10 +150,8 @@ CellOptions cell_options, CellSelectionParameters cell_sel_par, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; template SystemInformationType3 t_SI3 := { cell_id := ?, @@ -179,7 +171,7 @@ RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, MobileAllocationT cbch_mobile_alloc optional, - RestOctets rest_octets /* 0 .. 10 octets (see 10.5.2.35) */ + RestOctets rest_octets length(0..10) /* see 10.5.2.35 */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; /* 44.018 9.1.37 */ @@ -203,10 +195,8 @@ LocationAreaIdentification lai, CellOptionsSacch cell_options, BIT8 ncc_permitted, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(7)" - }; + RestOctets rest_octets length(0..7) + } with { variant "" }; type union SystemInformationUnion { SystemInformationType1 si1, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Gerrit-Change-Number: 18025 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 ) Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... library: fix enc_SystemInformation(): properly pad messages Due to a buggy nature of TITAN's padding attributes, we cannot apply them to individual fields of the records that are embedded into other structured types, like records and unions. Ensure that encoded System Information messages are padded to either 23 or 19 octets, depending on their type. In order to achieve this, rename and wrap the external encoding function. Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 25 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/18026/1 diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index de1fcf7..758ad1c 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -228,9 +228,33 @@ other, OTHERWISE; )" }; - external function enc_SystemInformation(in SystemInformation si) return octetstring + external function enc_SystemInformationNoPad(in SystemInformation si) return octetstring with { extension "prototype(convert) encode(RAW)" }; external function dec_SystemInformation(in octetstring stream) return SystemInformation with { extension "prototype(convert) decode(RAW)" }; + /* Due to a buggy nature of TITAN's padding attributes, we have to apply padding manually. */ + function enc_SystemInformation(in SystemInformation si) return octetstring + { + var octetstring si_enc := enc_SystemInformationNoPad(si); + + /* Resulting message length depends on SI Type */ + select (si.header.message_type) { + case (SYSTEM_INFORMATION_TYPE_5, + SYSTEM_INFORMATION_TYPE_5bis, + SYSTEM_INFORMATION_TYPE_5ter) { + /* SACCH: no Rest Octets, return 'as-is' */ + return si_enc; + } + case (SYSTEM_INFORMATION_TYPE_6) { + /* SACCH: pad to 19 octets, leave room for L1/LAPDm headers */ + return f_pad_oct(si_enc, 19, '2B'O); + } + case else { + /* BCCH: pad to 23 octets */ + return f_pad_oct(si_enc, 23, '2B'O); + } + } + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... BTS: manually compose Rest Octets for SI Type 3 and 4 Finally, we can get rid of hard-coded octetstrings and control every field of the Rest Octets we're sending to the IUT. Note that template 'ts_SI4_default' did not contain any Rest Octets at all, thus the GPRS indicator was (and still is) absent. This will be fixed in a follow up change. Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn M library/GSM_RestOctets.ttcn M library/Osmocom_Types.ttcn 3 files changed, 78 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/18027/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6f43a44..3ed3655 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -225,6 +225,28 @@ lac := 42 } +private template (value) GPRSIndicator ts_GPRSIndicator_def := { + ra_colour := 0, + si13_pos := '0'B +} + +private template (value) SI3RestOctets ts_SI3RestOctets_def +modifies ts_SI3RestOctets := { + gprs_ind := { + presence := CSN1_H, + ind := ts_GPRSIndicator_def + } +} + +private template (value) SI4RestOctets ts_SI4RestOctets_def +modifies ts_SI4RestOctets := { + gprs_ind := { + /* FIXME: GPRS Indicator shall be present here too */ + presence := CSN1_L, + ind := omit + } +} + /* Default SYSTEM INFORMATION 3 */ template (value) SystemInformation ts_SI3_default := { header := ts_RrHeader(SYSTEM_INFORMATION_TYPE_3, 18), @@ -251,7 +273,7 @@ }, cell_sel_par := ts_CellSelPar_default, rach_control := ts_RachCtrl_default, - rest_octets := '2C2B2B2B'O /* GPRS present */ + rest_octets := enc_SI3RestOctets(valueof(ts_SI3RestOctets_def)) } } } @@ -276,7 +298,7 @@ rach_control := ts_RachCtrl_default, cbch_chan_desc := omit, cbch_mobile_alloc := omit, - rest_octets := ''O + rest_octets := enc_SI4RestOctets(valueof(ts_SI4RestOctets_def)) } } } diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index 045d177..531528c 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -142,4 +142,54 @@ with { extension "prototype(convert) decode(RAW)" }; +/* Basic templates to be extended in place */ +template (value) SI3RestOctets ts_SI3RestOctets := { + sel_params := { + presence := CSN1_L, + params := omit + }, + pwr_offset := { + presence := CSN1_L, + offset := omit + }, + si_2ter_ind := CSN1_L, + early_cm_ind := CSN1_L, + sched_where := { + presence := CSN1_L, + where := omit + }, + gprs_ind := { + presence := CSN1_L, + ind := omit + }, + umts_early_cm_ind := CSN1_L, + si2_quater_ind := { + presence := CSN1_L, + ind := omit + }, + iu_mode_ind := omit, + si21_ind := { + presence := CSN1_L, + pos := omit + } +} + +template (value) SI4RestOctets ts_SI4RestOctets := { + sel_params := { + presence := CSN1_L, + params := omit + }, + pwr_offset := { + presence := CSN1_L, + offset := omit + }, + gprs_ind := { + presence := CSN1_L, + ind := omit + }, + s_presence := CSN1_L, + s := omit +} + + } with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 3b2ca17..16395df 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -40,6 +40,10 @@ const uint16_t c_UINT16_MAX := 65535; const uint32_t c_UINT32_MAX := 4294967295; + /* CSN.1 L/H placeholders */ + const BIT1 CSN1_L := '0'B; + const BIT1 CSN1_H := '1'B; + type record Arfcn { boolean pcs, uint15_t arfcn -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix missing GPRS Indicator in SI4 Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 ) Change subject: BTS: fix missing GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: fix missing GPRS Indicator in SI4 Rest Octets We do have GPRS Indicator in SI3 Rest Octets, but for some reason it was absent in SI4 Rest Octets. Let's finally enable it, so we can extend the existing test cases to check GPRS Indicator in the Rest Octets of both System Information Type 3 and 4. Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/18028/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3ed3655..4466ad4 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -241,9 +241,8 @@ private template (value) SI4RestOctets ts_SI4RestOctets_def modifies ts_SI4RestOctets := { gprs_ind := { - /* FIXME: GPRS Indicator shall be present here too */ - presence := CSN1_L, - ind := omit + presence := CSN1_H, + ind := ts_GPRSIndicator_def } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Gerrit-Change-Number: 18028 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 ) Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... BTS: refactor f_get_si3(), so it can be used to get SI4 This is needed for the follow up change(s) verifying the GPRS indicator in the Rest Octets of RR System Information Type 4. Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 14 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18029/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 4466ad4..0347e05 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,7 +4899,8 @@ } /* Ensure that GPRS capability is not advertised before PCU socket conncet */ -private function f_get_si3(L1CTL_PT pt) runs on test_CT return SystemInformationType3 { +private function f_get_si(L1CTL_PT pt, RrMessageType si_type) +runs on test_CT return SystemInformation { var L1ctlDlMessage l1_dl; var SystemInformation si; timer T := 5.0; @@ -4912,7 +4913,7 @@ repeat; } si := dec_SystemInformation(l1_dl.payload.data_ind.payload) - if (not ischosen(si.payload.si3)) { + if (si.header.message_type != si_type) { repeat; } } @@ -4920,10 +4921,10 @@ repeat; } [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI3"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI"); } } - return si.payload.si3; + return si; } private function f_si3_has_gprs_indicator(RestOctets ro) return boolean { @@ -4932,7 +4933,7 @@ } testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; timer T := 5.0; /* don't call f_init() as this would connect PCU socket */ @@ -4951,8 +4952,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates GPRS even before PCU socket connected"); } else { setverdict(pass); @@ -4962,7 +4963,7 @@ /* Ensure that GPRS capability is advertised after PCU socket connect */ testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); @@ -4971,8 +4972,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (not f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (not f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates no GPRS despite PCU socket connected"); } else { setverdict(pass); @@ -4982,7 +4983,7 @@ /* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); @@ -5000,8 +5001,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates GPRS after PCU socket disconnected"); } else { setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:17:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:17:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: verify presence of GPRS Indicator in SI4 Rest Octets References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 ) Change subject: BTS: verify presence of GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: verify presence of GPRS Indicator in SI4 Rest Octets So far we only checked presence of GPRS Indicator in the Rest Octets of System Information Type 3, but this indicator is also included in the Rest Octets of System Information Type 4. Let's add additional test cases to check this indicator in the Rest Octets of both message types. In order to achieve this: a) refactor f_si3_has_gprs_indicator(), so it can handle System Information Type 4 and its Rest Octets too; b) separate common part from the existing test cases into functions and (re)use them from the new ones; c) in f_TC_pcu_socket_noconnect(), make sure to send BCCH INFO with System Information Type 4. Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 65 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/18030/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0347e05..ab0b982 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4927,13 +4927,28 @@ return si; } -private function f_si3_has_gprs_indicator(RestOctets ro) return boolean { - var SI3RestOctets rest := dec_SI3RestOctets(ro); - return rest.gprs_ind.presence == '1'B; +/* Check if GPRS Indicator is present in RR System Information of a given type */ +private function f_si_has_gprs_indicator(RrMessageType si_type) +runs on test_CT return boolean { + var SystemInformation si := f_get_si(L1CTL, si_type); + + if (si_type == SYSTEM_INFORMATION_TYPE_3) { + var RestOctets ro := si.payload.si3.rest_octets; + var SI3RestOctets rest := dec_SI3RestOctets(ro); + return rest.gprs_ind.presence == '1'B; + } else if (si_type == SYSTEM_INFORMATION_TYPE_4) { + var RestOctets ro := si.payload.si4.rest_octets; + var SI4RestOctets rest := dec_SI4RestOctets(ro); + return rest.gprs_ind.presence == '1'B; + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unhandled SI type"); + return false; } -testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { - var SystemInformation si; +/* Make sure that GPRS Indicator is absent when the PCU is not connected */ +private function f_TC_pcu_socket_noconnect(RrMessageType si_type) +runs on test_CT { timer T := 5.0; /* don't call f_init() as this would connect PCU socket */ @@ -4945,26 +4960,36 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } } + + /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); + f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); f_init_l1ctl(); f_l1_tune(L1CTL); - f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates GPRS even before PCU socket connected"); + + if (f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates GPRS even before PCU socket connected"); } else { setverdict(pass); } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* Ensure that GPRS capability is advertised after PCU socket connect */ -testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { - var SystemInformation si; +testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { + f_TC_pcu_socket_noconnect(SYSTEM_INFORMATION_TYPE_3); +} +testcase TC_pcu_socket_noconnect_nosi4gprs() runs on test_CT { + f_TC_pcu_socket_noconnect(SYSTEM_INFORMATION_TYPE_4); +} + +/* Ensure that GPRS capability is advertised after PCU socket connect */ +private function f_TC_pcu_socket_connect(RrMessageType si_type) +runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); f_init_l1ctl(); @@ -4972,19 +4997,27 @@ f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (not f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates no GPRS despite PCU socket connected"); + + if (not f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates no GPRS despite PCU socket connected"); } else { setverdict(pass); } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ -testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { - var SystemInformation si; +testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { + f_TC_pcu_socket_connect(SYSTEM_INFORMATION_TYPE_3); +} +testcase TC_pcu_socket_connect_si4gprs() runs on test_CT { + f_TC_pcu_socket_connect(SYSTEM_INFORMATION_TYPE_4); +} + +/* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ +private function f_TC_pcu_socket_disconnect(RrMessageType si_type) +runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); f_init_l1ctl(); @@ -5001,9 +5034,9 @@ f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates GPRS after PCU socket disconnected"); + + if (f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates GPRS after PCU socket disconnected"); } else { setverdict(pass); } @@ -5011,6 +5044,14 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { + f_TC_pcu_socket_disconnect(SYSTEM_INFORMATION_TYPE_3); +} + +testcase TC_pcu_socket_disconnect_nosi4gprs() runs on test_CT { + f_TC_pcu_socket_disconnect(SYSTEM_INFORMATION_TYPE_4); +} + /* Verify that the cell_id of SI3 (TS 04.08 9.1.35) and other values are passed properly to the PCU socket (OS#3854) */ testcase TC_pcu_socket_verify_info_ind() runs on test_CT { var SystemInformation si3 := valueof(ts_SI3_default); @@ -6437,8 +6478,11 @@ execute( TC_pcu_socket_connect_multi() ); execute( TC_pcu_socket_reconnect() ); execute( TC_pcu_socket_noconnect_nosi3gprs() ); + execute( TC_pcu_socket_noconnect_nosi4gprs() ); execute( TC_pcu_socket_connect_si3gprs() ); + execute( TC_pcu_socket_connect_si4gprs() ); execute( TC_pcu_socket_disconnect_nosi3gprs() ); + execute( TC_pcu_socket_disconnect_nosi4gprs() ); execute( TC_pcu_socket_verify_info_ind() ); execute( TC_dyn_osmo_pdch_act_deact() ); execute( TC_dyn_osmo_pdch_double_act() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Gerrit-Change-Number: 18030 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:33:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:33:00 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... Patch Set 1: Code-Review-1 I believe that L1CTL handling code should not be involved in such high level checks, so ideally we should drop this 'if' [1] and move your code to the place, from where l1ctl_tx_traffic_req() is called. [1] https://git.osmocom.org/osmocom-bb/commit/?h=fixeria/audio&id=8d093f5e291b847c326e02cbbe660a7ad5fc11e1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 18:33:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:36:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 18:36:36 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18022/1/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18022/1/src/host/layer23/src/mobile/voice.c at 93 PS1, Line 93: %i Rather use 0x%02x. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 18:36:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:45:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 18:45:57 +0000 Subject: Change in osmo-gsm-tester[master]: Move object subclass instance allocation logic out of suite.py/resour... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 ) Change subject: Move object subclass instance allocation logic out of suite.py/resource.py ...................................................................... Move object subclass instance allocation logic out of suite.py/resource.py This way we get rid of object related content in resource.py and we can finally move it to core/ in next commit. Change-Id: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4 --- M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 6 files changed, 120 insertions(+), 90 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/31/18031/1 diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index 8b05ea0..e23b555 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -162,6 +162,34 @@ 'Nothing to do by default. Subclass can override if required.' pass + def get_instance_by_type(suite_run, conf): + """Allocate a BTS child class based on type. Opts are passed to the newly created object.""" + bts_type = conf.get('type') + if bts_type is None: + raise RuntimeError('BTS type is not defined!') + + if bts_type == 'osmo-bts-sysmo': + from .bts_sysmo import SysmoBts + bts_class = SysmoBts + elif bts_type == 'osmo-bts-trx': + from .bts_osmotrx import OsmoBtsTrx + bts_class = OsmoBtsTrx + elif bts_type == 'osmo-bts-oc2g': + from .bts_oc2g import OsmoBtsOC2G + bts_class = OsmoBtsOC2G + elif bts_type == 'osmo-bts-octphy': + from .bts_octphy import OsmoBtsOctphy + bts_class = OsmoBtsOctphy + elif bts_type == 'osmo-bts-virtual': + from .bts_osmovirtual import OsmoBtsVirtual + bts_class = OsmoBtsVirtual + elif bts_type == 'nanobts': + from .bts_nanobts import NanoBts + bts_class = NanoBts + else: + raise log.Error('BTS type not supported:', bts_type) + return bts_class(suite_run, conf) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index c652761..7514604 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -192,6 +192,22 @@ return rf_dev_args + def get_instance_by_type(suite_run, conf): + """Allocate a ENB child class based on type. Opts are passed to the newly created object.""" + enb_type = conf.get('type') + if enb_type is None: + raise RuntimeError('ENB type is not defined!') + + if enb_type == 'amarisoftenb': + from .enb_amarisoft import AmarisoftENB + enb_class = AmarisoftENB + elif enb_type == 'srsenb': + from .enb_srs import srsENB + enb_class = srsENB + else: + raise log.Error('ENB type not supported:', enb_type) + return enb_class(suite_run, conf) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index c725f76..cbca0fb 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -57,6 +57,25 @@ 'Nothing to do by default. Subclass can override if required.' pass + def get_instance_by_type(suite_run, run_node): + """Allocate a EPC child class based on type. Opts are passed to the newly created object.""" + values = dict(epc=config.get_defaults('epc')) + config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) + epc_type = values['epc'].get('type', None) + if epc_type is None: + raise RuntimeError('EPC type is not defined!') + + if epc_type == 'amarisoftepc': + from .epc_amarisoft import AmarisoftEPC + epc_class = AmarisoftEPC + elif epc_type == 'srsepc': + from .epc_srs import srsEPC + epc_class = srsEPC + else: + raise log.Error('EPC type not supported:', epc_type) + + return epc_class(suite_run, run_node) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index b72333a..a30a9c7 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -38,11 +38,48 @@ class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" +############## +# PROTECTED +############## def __init__(self, name, conf): super().__init__(log.C_TST, name) self._conf = conf self.msisdn = None +######################## +# PUBLIC - INTERNAL API +######################## + @abstractmethod + def cleanup(self): + """Cleans up resources allocated.""" + pass + + def get_instance_by_type(suite_run, conf): + """Allocate a MS child class based on type. Opts are passed to the newly created object.""" + ms_type = conf.get('type') + if ms_type is None: + # Map None to ofono for forward compability + ms_type = 'ofono' + + if ms_type == 'ofono': + from .ms_ofono import Modem + ms_class = Modem + elif ms_type == 'osmo-mobile': + from .ms_osmo_mobile import MSOsmoMobile + ms_class = MSOsmoMobile + elif ms_type == 'srsue': + from .ms_srs import srsUE + ms_class = srsUE + elif ms_type == 'amarisoftue': + from .ms_amarisoft import AmarisoftUE + ms_class = AmarisoftUE + else: + raise log.Error('MS type not supported:', ms_type) + return ms_class(suite_run, conf) + +################### +# PUBLIC (test API included) +################### def imsi(self): return self._conf.get('imsi') @@ -60,8 +97,3 @@ def msisdn(self): return self.msisdn - - @abstractmethod - def cleanup(self): - """Cleans up resources allocated.""" - pass diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index b216c50..7674bff 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,10 +26,6 @@ from .core import config from .core import util from .core import schema -from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from .obj import ms_ofono -from .obj import ms_osmo_mobile -from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .core.util import is_dict, is_list @@ -47,38 +43,6 @@ R_OSMOCON = 'osmocon_phone' R_ENB = 'enb' -KNOWN_BTS_TYPES = { - 'osmo-bts-sysmo': bts_sysmo.SysmoBts, - 'osmo-bts-trx': bts_osmotrx.OsmoBtsTrx, - 'osmo-bts-oc2g': bts_oc2g.OsmoBtsOC2G, - 'osmo-bts-octphy': bts_octphy.OsmoBtsOctphy, - 'osmo-bts-virtual': bts_osmovirtual.OsmoBtsVirtual, - 'nanobts': bts_nanobts.NanoBts, - } - -KNOWN_ENB_TYPES = { - 'srsenb': enb_srs.srsENB, - 'amarisoftenb': enb_amarisoft.AmarisoftENB, -} - -KNOWN_EPC_TYPES = { - 'srsepc': epc_srs.srsEPC, - 'amarisoftepc': epc_amarisoft.AmarisoftEPC, -} - -KNOWN_MS_TYPES = { - # Map None to ofono for forward compability - None: ms_ofono.Modem, - 'ofono': ms_ofono.Modem, - 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, - 'srsue': ms_srs.srsUE, - 'amarisoftue': ms_amarisoft.AmarisoftUE, -} - - -def register_bts_type(name, clazz): - KNOWN_BTS_TYPES[name] = clazz - class ResourcesPool(log.Origin): _remember_to_free = None _registered_exit_handler = False diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 6d2916c..db307ff 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -25,6 +25,10 @@ from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node +from .obj import epc +from .obj import enb +from .obj import bts +from .obj import ms from . import resource, test class Timeout(Exception): @@ -324,24 +328,19 @@ return ms def bts(self, specifics=None): - bts = bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) - bts.set_lac(self.lac()) - bts.set_rac(self.rac()) - bts.set_cellid(self.cellid()) - bts.set_bvci(self.bvci()) - self.register_for_cleanup(bts) - return bts + bts_obj = bts.Bts.get_instance_by_type(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) + bts_obj.set_lac(self.lac()) + bts_obj.set_rac(self.rac()) + bts_obj.set_cellid(self.cellid()) + bts_obj.set_bvci(self.bvci()) + self.register_for_cleanup(bts_obj) + return bts_obj def modem(self, specifics=None): conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) - ms_type = conf.get('type') - ms_class = resource.KNOWN_MS_TYPES.get(ms_type) - if ms_class is None: - raise RuntimeError('No such Modem type is defined: %r' % ms_type) - self.dbg('create Modem object', conf=conf) - ms = ms_class(self, conf) - self.register_for_cleanup(ms) - return ms + ms_obj = ms.MS.get_instance_by_type(self, conf) + self.register_for_cleanup(ms_obj) + return ms_obj def modems(self, count): l = [] @@ -367,16 +366,16 @@ return run_node.RunNode.from_conf(self.reserved_resources.get(resource.R_RUN_NODE, specifics=specifics)) def enb(self, specifics=None): - enb = enb_obj(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) - self.register_for_cleanup(enb) - return enb + enb_obj = enb.eNodeB.get_instance_by_type(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) + self.register_for_cleanup(enb_obj) + return enb_obj def epc(self, run_node=None): if run_node is None: run_node = self.run_node() - epc = epc_obj(self, run_node) - self.register_for_cleanup(epc) - return epc + epc_obj = epc.EPC.get_instance_by_type(self, run_node) + self.register_for_cleanup(epc_obj) + return epc_obj def osmocon(self, specifics=None): conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) @@ -489,32 +488,4 @@ scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) -def bts_obj(suite_run, conf): - bts_type = conf.get('type') - log.dbg('create BTS object', type=bts_type) - bts_class = resource.KNOWN_BTS_TYPES.get(bts_type) - if bts_class is None: - raise RuntimeError('No such BTS type is defined: %r' % bts_type) - return bts_class(suite_run, conf) - -def enb_obj(suite_run, conf): - enb_type = conf.get('type') - log.dbg('create ENB object', type=enb_type) - enb_class = resource.KNOWN_ENB_TYPES.get(enb_type) - if enb_class is None: - raise RuntimeError('No such ENB type is defined: %r' % enb_type) - return enb_class(suite_run, conf) - -def epc_obj(suite_run, run_node): - values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) - epc_type = values['epc'].get('type', None) - if epc_type is None: - raise RuntimeError('EPC type is not defined!') - log.dbg('create EPC object', type=epc_type) - epc_class = resource.KNOWN_EPC_TYPES.get(epc_type) - if epc_class is None: - raise RuntimeError('No such EPC type is defined: %r' % epc_type) - return epc_class(suite_run, run_node) - # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 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: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4 Gerrit-Change-Number: 18031 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:45:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 18:45:57 +0000 Subject: Change in osmo-gsm-tester[master]: Move resource.py to core/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 ) Change subject: Move resource.py to core/ ...................................................................... Move resource.py to core/ Change-Id: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901 --- M selftest/resource_test.py R src/osmo_gsm_tester/core/resource.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 4 files changed, 9 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/32/18032/1 diff --git a/selftest/resource_test.py b/selftest/resource_test.py index ecbeb24..0b9550e 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -6,9 +6,8 @@ import shutil import atexit import _prep -from osmo_gsm_tester.core import config, log, util +from osmo_gsm_tester.core import config, log, util, resource from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import resource workdir = util.get_tempdir() diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/core/resource.py similarity index 99% rename from src/osmo_gsm_tester/resource.py rename to src/osmo_gsm_tester/core/resource.py index 7674bff..a1a8ea5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/core/resource.py @@ -22,12 +22,12 @@ import atexit import pprint -from .core import log -from .core import config -from .core import util -from .core import schema +from . import log +from . import config +from . import util +from . import schema -from .core.util import is_dict, is_list +from .util import is_dict, is_list HASH_KEY = '_hash' RESERVED_KEY = '_reserved_by' diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index db307ff..c5421c4 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,7 +21,7 @@ import sys import time import pprint -from .core import config, log, util, process, schema +from .core import config, log, util, process, schema, resource from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -29,7 +29,7 @@ from .obj import enb from .obj import bts from .obj import ms -from . import resource, test +from . import test class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 64b45c5..ec81d7d 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -23,8 +23,7 @@ import traceback from . import testenv -from .core import log, util -from . import resource +from .core import log, util, resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 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: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901 Gerrit-Change-Number: 18032 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:45:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 18:45:58 +0000 Subject: Change in osmo-gsm-tester[master]: Move test.py and report.py to core/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 ) Change subject: Move test.py and report.py to core/ ...................................................................... Move test.py and report.py to core/ Change-Id: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544 --- M selftest/suite_test.py R src/osmo_gsm_tester/core/report.py R src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 6 files changed, 20 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/18033/1 diff --git a/selftest/suite_test.py b/selftest/suite_test.py index 1fb95ec..560ca50 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -2,9 +2,9 @@ import os import _prep import shutil -from osmo_gsm_tester.core import log, config, util +from osmo_gsm_tester.core import log, config, util, report from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import suite, report +from osmo_gsm_tester import suite config.ENV_CONF = './suite_test' diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/core/report.py similarity index 100% rename from src/osmo_gsm_tester/report.py rename to src/osmo_gsm_tester/core/report.py diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/core/test.py similarity index 94% rename from src/osmo_gsm_tester/test.py rename to src/osmo_gsm_tester/core/test.py index ec81d7d..93dbf6a 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -21,9 +21,9 @@ import sys import time import traceback -from . import testenv +from .. import testenv -from .core import log, util, resource +from . import log, util, resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -56,11 +56,7 @@ log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - from .core import process - from .core.event_loop import MainLoop - from .obj import sms - from . import suite - testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) + testenv.setup(self.suite_run, self) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), self.path) diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index c5421c4..6952fd2 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -22,6 +22,7 @@ import time import pprint from .core import config, log, util, process, schema, resource +from .core import test from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -29,7 +30,6 @@ from .obj import enb from .obj import bts from .obj import ms -from . import test class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index ceea028..8c4743a 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -36,8 +36,14 @@ Sms = None process = None -def setup(suite_run, _test, suite_module, event_module, sms_module, process_module): +def setup(suite_run, _test): + from .core import process as process_module + from .core.event_loop import MainLoop + from .obj.sms import Sms as Sms_class + from . import suite as suite_module + global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Timeout, Sms, process + trial = suite_run.trial suite = suite_run test = _test @@ -45,13 +51,13 @@ log = test.log dbg = test.dbg err = test.err - wait = lambda *args, **kwargs: event_module.wait(suite_run, *args, **kwargs) - wait_no_raise = lambda *args, **kwargs: event_module.wait_no_raise(suite_run, *args, **kwargs) - sleep = lambda *args, **kwargs: event_module.sleep(suite_run, *args, **kwargs) - poll = event_module.poll + wait = lambda *args, **kwargs: MainLoop.wait(suite_run, *args, **kwargs) + wait_no_raise = lambda *args, **kwargs: MainLoop.wait_no_raise(suite_run, *args, **kwargs) + sleep = lambda *args, **kwargs: MainLoop.sleep(suite_run, *args, **kwargs) + poll = MainLoop.poll prompt = suite_run.prompt Timeout = suite_module.Timeout - Sms = sms_module.Sms + Sms = Sms_class process = process_module # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index 9dcc188..fb94a59 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,8 +22,8 @@ import shutil import tarfile -from .core import log, util -from . import suite, report +from .core import log, util, report +from . import suite FILE_MARK_TAKEN = 'taken' FILE_CHECKSUMS = 'checksums.md5' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 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: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544 Gerrit-Change-Number: 18033 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:55:18 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 4 May 2020 18:55:18 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... measurement: make measurements more debugable A debug line is printed whenever a measurement is added and it also displays if the added measurement is a sub frame or not, lets display all the other properties too, especially inv_rssi would help a lot as it shows us the rssi values which are reported by the lower layers Related: OS#2978 Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b --- M src/common/measurement.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/18034/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index 086a1cc..fc91bb7 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -341,8 +341,10 @@ if (!ulm->is_sub) ulm->is_sub = ts45008_83_is_sub(lchan, fn); - DEBUGPFN(DMEAS, fn, "%s adding measurement (is_sub=%u), num_ul_meas=%d, fn_mod=%u\n", - gsm_lchan_name(lchan), ulm->is_sub, lchan->meas.num_ul_meas, fn_mod); + DEBUGPFN(DMEAS, fn, "%s adding measurement (ber10k=%u, ta_offs=%u, ci=%0.2f, is_sub=%u, rssi=-%u), num_ul_meas=%d, fn_mod=%u\n", + gsm_lchan_name(lchan), ulm->ber10k, ulm->ta_offs_256bits, + ulm->c_i, ulm->is_sub, ulm->inv_rssi, lchan->meas.num_ul_meas, + fn_mod); memcpy(&lchan->meas.uplink[lchan->meas.num_ul_meas++], ulm, sizeof(*ulm)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 18:55:19 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 4 May 2020 18:55:19 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: fix RSSI calculation for SUB frames References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18035 ) Change subject: scheduler_trx: fix RSSI calculation for SUB frames ...................................................................... scheduler_trx: fix RSSI calculation for SUB frames Currently the RSSI value of the burst that concludes a block is passed up to the higher layer. However, this also means that the RSSI values of the other bursts are skipped. Lets keep record of all RSSI values and average the values before we pass them up to the higher layers. Also lets make sure that we pick the correct RSSI measurements when we calculate the RSSI values for the AMR SID frames (SUB frames). Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Related: OS#2978 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 179 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/18035/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index c026411..4462566 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -76,6 +76,7 @@ ubit_t *dl_bursts; /* burst buffer for TX */ enum trx_burst_type dl_burst_type; /* GMSK or 8PSK burst type */ sbit_t *ul_bursts; /* burst buffer for RX */ + int8_t ul_rssi[8]; /* rssi meas buffer for RX */ uint32_t ul_first_fn; /* fn of first burst */ uint8_t ul_mask; /* mask of received bursts */ diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8c3dd64..09b00bc 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1120,6 +1120,98 @@ PRES_INFO_BOTH); } +/* Modes that can be used with function calc_rssi_avg() */ +enum rssi_calc_mode { + RSSI_FR_LOWER_FOUR, + RSSI_FR_HIGHER_FOUR, + RSSI_HR_ALL, + RSSI_HR_LOWER_TWO, + RSSI_HR_MID_TWO, +}; + +/* A handy function to calculate the RSSI for received bursts in various + * different modes. */ +static int8_t calc_rssi_avg(int8_t * rssi_values, enum rssi_calc_mode mode, + struct gsm_lchan *lchan) +{ + int rssi_sum = 0; + int rssi_count = 0; + int8_t rc; + unsigned int i; + int8_t *r = rssi_values; + + switch (mode) { + case RSSI_FR_LOWER_FOUR: + rssi_count = 4; + break; + case RSSI_FR_HIGHER_FOUR: + rssi_count = 4; + rssi_values += 4; + break; + case RSSI_HR_ALL: + rssi_count = 6; + break; + case RSSI_HR_LOWER_TWO: + rssi_count = 2; + break; + case RSSI_HR_MID_TWO: + rssi_count = 2; + rssi_values += 2; + break; + default: + OSMO_ASSERT(false); + break; + } + + for (i = 0; i < rssi_count; i++) { + if (rssi_values[i] == 0) + rssi_sum += -127; + else + rssi_sum += rssi_values[i]; + } + + rc = rssi_sum / rssi_count; + + /* Debug output: */ + switch (mode) { + case RSSI_FR_LOWER_FOUR: + LOGP(DL1P, LOGL_INFO, + "%s calculating rssi: [%02i %02i %02i %02i] %02i %02i %02i %02i => %i\n", + gsm_lchan_name(lchan), r[0], r[1], r[2], r[3], r[4], r[5], + r[6], r[7], rc); + break; + case RSSI_FR_HIGHER_FOUR: + LOGP(DL1P, LOGL_INFO, + "%s calculating rssi: %02i %02i %02i %02i [%02i %02i %02i %02i] => %i\n", + gsm_lchan_name(lchan), r[0], r[1], r[2], r[3], r[4], r[5], + r[6], r[7], rc); + break; + case RSSI_HR_ALL: + LOGP(DL1P, LOGL_INFO, + "%s calculating rssi: [%02i %02i %02i %02i %02i %02i] => %i\n", + gsm_lchan_name(lchan), r[0], r[1], r[2], r[3], r[4], r[5], + rc); + break; + case RSSI_HR_LOWER_TWO: + LOGP(DL1P, LOGL_INFO, + "%s calculating rssi: [%02i %02i] %02i %02i %02i %02i => %i\n", + gsm_lchan_name(lchan), r[0], r[1], r[2], r[3], r[4], r[5], + rc); + break; + case RSSI_HR_MID_TWO: + LOGP(DL1P, LOGL_INFO, + "%s calculating rssi: %02i %02i [%02i %02i] %02i %02i => %i\n", + gsm_lchan_name(lchan), r[0], r[1], r[2], r[3], r[4], r[5], + rc); + break; + default: + OSMO_ASSERT(false); + break; + } + + return rc; +} + /*! \brief a single TCH/F burst was received by the PHY, process it */ int rx_tchf_fn(struct l1sched_trx *l1t, enum trx_chan_type chan, uint8_t bid, const struct trx_ul_burst_ind *bi) @@ -1142,6 +1234,7 @@ uint16_t ber10k; uint8_t is_sub = 0; uint8_t ft; + int8_t rssi; /* handle rach, if handover rach detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1175,10 +1268,18 @@ } else memset(burst, 0, 116); + /* keep record of the rssi values for each burst */ + chan_state->ul_rssi[bid + 4] = bi->rssi; + /* wait until complete set of bursts */ if (bid != 3) return 0; + /* Precalculate the RSSI value for a regular TCH burst, this calucation + * will be valid for the most situation, however, FACCH and AMR-DTX + * frames require a different calculation mode. */ + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_FR_LOWER_FOUR, lchan); + /* check for complete set of bursts */ if ((*mask & 0xf) != 0xf) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, @@ -1226,7 +1327,7 @@ /* Tag all frames that are not regular AMR voice frames as * SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1S(DL1P, LOGL_INFO, l1t, bi->tn, chan, bi->fn, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; @@ -1246,6 +1347,23 @@ break; } + switch (chan_state->amr_last_dtx) { + case AFS_SID_FIRST: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_FR_LOWER_FOUR, lchan); + break; + case AFS_SID_UPDATE: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_FR_HIGHER_FOUR, lchan); + break; + case AFS_SID_UPDATE_CN: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_FR_LOWER_FOUR, lchan); + break; + case AFS_ONSET: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_FR_HIGHER_FOUR, lchan); + break; + default: + break; + } + if (rc) trx_loop_amr_input(l1t, trx_chan_desc[chan].chan_nr | bi->tn, chan_state, @@ -1270,8 +1388,14 @@ tch_mode); return -EINVAL; } + + /* copy bursts to the beginning of the buffer since they are needed in + * the lower half of the buffer for the next run (diagonal interleaving) */ memcpy(*bursts_p, *bursts_p + 464, 464); + /* also move measurement values */ + memcpy(chan_state->ul_rssi, chan_state->ul_rssi + 4, 4); + /* Check if the frame is bad */ if (rc < 0) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, @@ -1297,8 +1421,8 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_F); _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, - /* FIXME: AVG RSSI and ToA256 */ - bi->rssi, bi->toa256, + /* FIXME: AVG ToA256 */ + rssi, bi->toa256, 0 /* FIXME: AVG C/I */, ber10k, PRES_INFO_UNKNOWN); bfi: @@ -1356,7 +1480,7 @@ compose_l1sap: fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, - tch_data, rc, bi->toa256, ber10k, bi->rssi, is_sub); + tch_data, rc, bi->toa256, ber10k, rssi, is_sub); } /*! \brief a single TCH/H burst was received by the PHY, process it */ @@ -1386,6 +1510,7 @@ uint16_t ber10k; uint8_t is_sub = 0; uint8_t ft; + int8_t rssi; /* handle RACH, if handover RACH detection is turned on */ if (chan_state->ho_rach_detect == 1) @@ -1411,7 +1536,9 @@ /* update mask */ *mask |= (1 << bid); - /* copy burst to end of buffer of 6 bursts */ + /* copy burst to end of buffer of 6 bursts, even though a normal TCH + * frame requires only 4 bursts. However, we will need 6 bursts to + * decode the FACCH channel (diagonal interleaving). */ burst = *bursts_p + bid * 116 + 464; if (bi->burst_len > 0) { memcpy(burst, bi->burst + 3, 58); @@ -1419,10 +1546,18 @@ } else memset(burst, 0, 116); + /* keep record of the rssi values for each burst */ + chan_state->ul_rssi[bid + 4] = bi->rssi; + /* wait until complete set of bursts */ if (bid != 1) return 0; + /* Precalculate the RSSI value for a regular TCH burst, this calucation + * will be valid for the most situation, however, FACCH and AMR-DTX + * frames require a different calculation mode. */ + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_MID_TWO, lchan); + /* check for complete set of bursts */ if ((*mask & 0x3) != 0x3) { LOGL1S(DL1P, LOGL_NOTICE, l1t, bi->tn, chan, bi->fn, @@ -1479,7 +1614,7 @@ /* Tag all frames that are not regular AMR voice frames as SUB-Frames */ if (chan_state->amr_last_dtx != AMR_OTHER) { - LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, + LOGL1S(DL1P, LOGL_INFO, l1t, bi->tn, chan, bi->fn, "Received AMR SID frame: %s\n", gsm0503_amr_dtx_frame_name(chan_state->amr_last_dtx)); is_sub = 1; @@ -1496,6 +1631,30 @@ break; } + switch (chan_state->amr_last_dtx) { + case AHS_SID_FIRST_P1: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + case AHS_SID_FIRST_P2: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + case AHS_SID_UPDATE: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + case AHS_SID_UPDATE_CN: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + case AHS_ONSET: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_MID_TWO, lchan); + break; + case AHS_SID_FIRST_INH: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + case AHS_SID_UPDATE_INH: + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_LOWER_TWO, lchan); + break; + } + if (rc) trx_loop_amr_input(l1t, trx_chan_desc[chan].chan_nr | bi->tn, chan_state, @@ -1521,10 +1680,17 @@ tch_mode); return -EINVAL; } + + /* copy bursts to the beginning of the buffer since they are needed in + * the lower half of the buffer for the next run (diagonal interleaving) */ memcpy(*bursts_p, *bursts_p + 232, 232); memcpy(*bursts_p + 232, *bursts_p + 464, 232); - ber10k = compute_ber10k(n_bits_total, n_errors); + /* also move measurement values */ + memcpy(chan_state->ul_rssi, chan_state->ul_rssi + 2, 2); + memcpy(chan_state->ul_rssi + 2, chan_state->ul_rssi + 4, 2); + + ber10k = compute_ber10k(n_bits_total, n_errors); /* Check if the frame is bad */ if (rc < 0) { @@ -1547,6 +1713,7 @@ /* FACCH */ if (rc == GSM_MACBLOCK_LEN) { + rssi = calc_rssi_avg(chan_state->ul_rssi, RSSI_HR_ALL, lchan); chan_state->ul_ongoing_facch = 1; uint16_t ber10k = compute_ber10k(n_bits_total, n_errors); if (lchan->nr == 0) @@ -1555,10 +1722,11 @@ fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_FACCH_H1); _sched_compose_ph_data_ind(l1t, bi->tn, fn_begin, chan, tch_data + amr, GSM_MACBLOCK_LEN, - /* FIXME: AVG both RSSI and ToA */ - bi->rssi, bi->toa256, + /* FIXME: AVG ToA */ + rssi, bi->toa256, 0 /* FIXME: AVG C/I */, ber10k, PRES_INFO_UNKNOWN); + bfi: /* FIXME: a FACCH/H frame replaces two speech frames, * so we actually need to send two bad frame indications! */ @@ -1619,7 +1787,7 @@ else fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, - tch_data, rc, bi->toa256, ber10k, bi->rssi, is_sub); + tch_data, rc, bi->toa256, ber10k, rssi, is_sub); } /* schedule all frames of all TRX for given FN */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 19:04:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 19:04:53 +0000 Subject: Change in libosmocore[master]: rest_octets: fix encoding of 3G Early Classmark Sending Restriction References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18036 ) Change subject: rest_octets: fix encoding of 3G Early Classmark Sending Restriction ...................................................................... rest_octets: fix encoding of 3G Early Classmark Sending Restriction Change-Id: I6df515a00518fabb3eb8f65054addd3aead14bfe Relates: OS#3075 --- M src/gsm/gsm48_rest_octets.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/18036/1 diff --git a/src/gsm/gsm48_rest_octets.c b/src/gsm/gsm48_rest_octets.c index 518572e..3c1b22a 100644 --- a/src/gsm/gsm48_rest_octets.c +++ b/src/gsm/gsm48_rest_octets.c @@ -576,9 +576,9 @@ /* 3G Early Classmark Sending Restriction. If H, then controlled by * early_cm_ctrl above */ if (si3->early_cm_restrict_3g) - bitvec_set_bit(&bv, L); - else bitvec_set_bit(&bv, H); + else + bitvec_set_bit(&bv, L); if (si3->si2quater_indicator) { bitvec_set_bit(&bv, H); /* indicator struct present */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df515a00518fabb3eb8f65054addd3aead14bfe Gerrit-Change-Number: 18036 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 19:32:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 4 May 2020 19:32:56 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: fix RSSI calculation for SUB frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18035 ) Change subject: scheduler_trx: fix RSSI calculation for SUB frames ...................................................................... Patch Set 1: Code-Review-1 (4 comments) Would be also nice to have a more universal solution for all kinds of measurements (+ToA256, +C/I), not only RSSI. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1281 PS1, Line 1281: RSSI_FR_LOWER_FOUR Why only four bursts? A regular TCH/F or FACCH/F frame is interleaved over 8 bursts, so you need to calculate AVG for all of them. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1330 PS1, Line 1330: LOGL_INFO Unrelated change. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1559 PS1, Line 1559: RSSI_HR_MID_TWO Same question, why only two bursts? It should be 4 for a regular speech frame. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1617 PS1, Line 1617: LOGL_INFO Unrelated change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 04 May 2020 19:32:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:25 +0000 Subject: Change in osmo-gsm-tester[master]: Generate schemas dynamically from pieces provided by each object class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 ) Change subject: Generate schemas dynamically from pieces provided by each object class ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 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: I8fd6773c51d19405a585977af4ed72cad2b21db1 Gerrit-Change-Number: 18023 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:13:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:27 +0000 Subject: Change in osmo-gsm-tester[master]: Move object subclass instance allocation logic out of suite.py/resour... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 ) Change subject: Move object subclass instance allocation logic out of suite.py/resource.py ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 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: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4 Gerrit-Change-Number: 18031 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:13:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:34 +0000 Subject: Change in osmo-gsm-tester[master]: Move resource.py to core/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 ) Change subject: Move resource.py to core/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 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: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901 Gerrit-Change-Number: 18032 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:13:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:36 +0000 Subject: Change in osmo-gsm-tester[master]: Move test.py and report.py to core/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 ) Change subject: Move test.py and report.py to core/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 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: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544 Gerrit-Change-Number: 18033 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:38 +0000 Subject: Change in osmo-gsm-tester[master]: Generate schemas dynamically from pieces provided by each object class In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 ) Change subject: Generate schemas dynamically from pieces provided by each object class ...................................................................... Generate schemas dynamically from pieces provided by each object class This way we benefit from: * knowing which attributes are used/required by each object class and subclass * Having validation function definitions near the class going to use them Change-Id: I8fd6773c51d19405a585977af4ed72cad2b21db1 --- M selftest/config_test.py M selftest/resource_test.py M selftest/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/core/util.py M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/bts_osmo.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/obj/msc_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/run_node.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 26 files changed, 418 insertions(+), 208 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/config_test.py b/selftest/config_test.py index 83a8d06..c26ebd1 100755 --- a/selftest/config_test.py +++ b/selftest/config_test.py @@ -116,35 +116,35 @@ a = {'times': '2'} b = {'type': 'osmo-bts-trx'} res = {'times': '2', 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine dicts 2:') a = {'times': '1', 'label': 'foo', 'type': 'osmo-bts-trx'} b = {'type': 'osmo-bts-trx'} res = {'times': '1', 'label': 'foo', 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists:') a = { 'a_list': ['x', 'y', 'z'] } b = { 'a_list': ['y'] } res = {'a_list': ['x', 'y', 'z']} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 2:') a = { 'a_list': ['x'] } b = { 'a_list': ['w', 'u', 'x', 'y', 'z'] } res = {'a_list': ['x', 'w', 'u', 'y', 'z']} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 3:') a = { 'a_list': ['x', 3] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -152,7 +152,7 @@ a = { 'a_list': [2, 3] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -160,7 +160,7 @@ a = { 'a_list': [{}, {}] } b = { 'a_list': ['y', 'z'] } try: - config.combine(a, b) + schema.combine(a, b) except ValueError: print("ValueError expected") @@ -168,49 +168,49 @@ a = { 'a_list': [{}, {}] } b = { 'a_list': [{}] } res = {'a_list': [{}, {}]} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 7:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 8:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 9:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 10:') a = { 'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 13:') a = { 'times': '1', 'label': 'foo', 'trx': [{}, {'nominal power': '12'}] } b = { 'type': 'osmo-bts-trx', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}] } res = {'times': '1', 'label': 'foo', 'trx': [{'nominal power': '10'}, {'nominal power': '12'}], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res print('- Combine lists 14:') a = { 'times': '1', 'label': 'foo', 'trx': [] } b = { 'type': 'osmo-bts-trx', 'trx': [] } res = {'times': '1', 'label': 'foo', 'trx': [], 'type': 'osmo-bts-trx'} -config.combine(a, b) +schema.combine(a, b) assert a == res # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/selftest/resource_test.py b/selftest/resource_test.py index f399e20..ecbeb24 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -7,6 +7,7 @@ import atexit import _prep from osmo_gsm_tester.core import config, log, util +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import resource workdir = util.get_tempdir() @@ -16,6 +17,9 @@ log.get_process_id = lambda: '123-1490837279' +# Generate supported schemas dynamically from objects: +generate_schemas() + print('- expect solutions:') pprint.pprint( resource.solve([ [0, 1, 2], diff --git a/selftest/suite_test.py b/selftest/suite_test.py index c4dd5bf..1fb95ec 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -3,6 +3,7 @@ import _prep import shutil from osmo_gsm_tester.core import log, config, util +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import suite, report config.ENV_CONF = './suite_test' @@ -24,6 +25,9 @@ #log.style_change(trace=True) +# Generate supported schemas dynamically from objects: +generate_schemas() + print('- non-existing suite dir') assert(log.run_logging_exceptions(suite.load, 'does_not_exist') == None) diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index df87957..af66b32 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -70,7 +70,9 @@ import argparse from signal import * from osmo_gsm_tester import __version__ -from osmo_gsm_tester.core import log, config +from osmo_gsm_tester.core import log +from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF +from osmo_gsm_tester.core.schema import generate_schemas from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): @@ -162,6 +164,9 @@ if not combination_strs: raise RuntimeError('Need at least one suite:scenario or series to run') + # Generate supported schemas dynamically from objects: + generate_schemas() + # make sure all suite:scenarios exist suite_scenarios = [] for combination_str in combination_strs: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 9333601..6730807 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -54,7 +54,8 @@ import os import copy -from . import log, schema, util, template +from . import log, util, template +from . import schema from .util import is_dict, is_list, Dir, get_tempdir ENV_PREFIX = 'OSMO_GSM_TESTER_' @@ -288,68 +289,6 @@ sc.read_from_file(validation_schema) return sc -def add(dest, src): - if is_dict(dest): - if not is_dict(src): - raise ValueError('cannot add to dict a value of type: %r' % type(src)) - - for key, val in src.items(): - dest_val = dest.get(key) - if dest_val is None: - dest[key] = val - else: - log.ctx(key=key) - add(dest_val, val) - return - if is_list(dest): - if not is_list(src): - raise ValueError('cannot add to list a value of type: %r' % type(src)) - dest.extend(src) - return - if dest == src: - return - raise ValueError('cannot add dicts, conflicting items (values %r and %r)' - % (dest, src)) - -def combine(dest, src): - if is_dict(dest): - if not is_dict(src): - raise ValueError('cannot combine dict with a value of type: %r' % type(src)) - - for key, val in src.items(): - log.ctx(key=key) - dest_val = dest.get(key) - if dest_val is None: - dest[key] = val - else: - combine(dest_val, val) - return - if is_list(dest): - if not is_list(src): - raise ValueError('cannot combine list with a value of type: %r' % type(src)) - # Validate that all elements in both lists are of the same type: - t = util.list_validate_same_elem_type(src + dest) - if t is None: - return # both lists are empty, return - # For lists of complex objects, we expect them to be sorted lists: - if t in (dict, list, tuple): - for i in range(len(dest)): - log.ctx(idx=i) - src_it = src[i] if i < len(src) else util.empty_instance_type(t) - combine(dest[i], src_it) - for i in range(len(dest), len(src)): - log.ctx(idx=i) - dest.append(src[i]) - else: # for lists of basic elements, we handle them as unsorted sets: - for elem in src: - if elem not in dest: - dest.append(elem) - return - if dest == src: - return - raise ValueError('cannot combine dicts, conflicting items (values %r and %r)' - % (dest, src)) - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index d343bef..588c432 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -18,9 +18,10 @@ # along with this program. If not, see . import re +import os from . import log -from .util import is_dict, is_list, str2bool, ENUM_OSMO_AUTH_ALGO +from . import util KEY_RE = re.compile('[a-zA-Z][a-zA-Z0-9_]*') IPV4_RE = re.compile('([0-9]{1,3}.){3}[0-9]{1,3}') @@ -62,7 +63,7 @@ match_re('MSISDN', MSISDN_RE, val) def auth_algo(val): - if val not in ENUM_OSMO_AUTH_ALGO: + if val not in util.ENUM_OSMO_AUTH_ALGO: raise ValueError('Unknown Authentication Algorithm: %r' % val) def uint(val): @@ -162,7 +163,7 @@ INT: int, STR: str, UINT: uint, - BOOL_STR: str2bool, + BOOL_STR: util.str2bool, BAND: band, IPV4: ipv4, HWADDR: hwaddr, @@ -182,6 +183,87 @@ DURATION: duration, } +def add(dest, src): + if util.is_dict(dest): + if not util.is_dict(src): + raise ValueError('cannot add to dict a value of type: %r' % type(src)) + + for key, val in src.items(): + dest_val = dest.get(key) + if dest_val is None: + dest[key] = val + else: + log.ctx(key=key) + add(dest_val, val) + return + if util.is_list(dest): + if not util.is_list(src): + raise ValueError('cannot add to list a value of type: %r' % type(src)) + dest.extend(src) + return + if dest == src: + return + raise ValueError('cannot add dicts, conflicting items (values %r and %r)' + % (dest, src)) + +def combine(dest, src): + if util.is_dict(dest): + if not util.is_dict(src): + raise ValueError('cannot combine dict with a value of type: %r' % type(src)) + + for key, val in src.items(): + log.ctx(key=key) + dest_val = dest.get(key) + if dest_val is None: + dest[key] = val + else: + combine(dest_val, val) + return + if util.is_list(dest): + if not util.is_list(src): + raise ValueError('cannot combine list with a value of type: %r' % type(src)) + # Validate that all elements in both lists are of the same type: + t = util.list_validate_same_elem_type(src + dest) + if t is None: + return # both lists are empty, return + # For lists of complex objects, we expect them to be sorted lists: + if t in (dict, list, tuple): + for i in range(len(dest)): + log.ctx(idx=i) + src_it = src[i] if i < len(src) else util.empty_instance_type(t) + combine(dest[i], src_it) + for i in range(len(dest), len(src)): + log.ctx(idx=i) + dest.append(src[i]) + else: # for lists of basic elements, we handle them as unsorted sets: + for elem in src: + if elem not in dest: + dest.append(elem) + return + if dest == src: + return + raise ValueError('cannot combine dicts, conflicting items (values %r and %r)' + % (dest, src)) + +def replicate_times(d): + ''' + replicate items that have a "times" > 1 + + 'd' is a dict matching WANT_SCHEMA, which is the same as + the RESOURCES_SCHEMA, except each entity that can be reserved has a 'times' + field added, to indicate how many of those should be reserved. + ''' + d = copy.deepcopy(d) + for key, item_list in d.items(): + idx = 0 + while idx < len(item_list): + item = item_list[idx] + times = int(item.pop('times', 1)) + for j in range(1, times): + item_list.insert(idx + j, copy.deepcopy(item)) + idx += times + return d + def validate(config, schema): '''Make sure the given config dict adheres to the schema. The schema is a dict of 'dict paths' in dot-notation with permitted @@ -198,17 +280,17 @@ def validate_item(path, value, schema): want_type = schema.get(path) - if is_list(value): + if util.is_list(value): if want_type: raise ValueError('config item is a list, should be %r: %r' % (want_type, path)) path = path + '[]' want_type = schema.get(path) if not want_type: - if is_dict(value): + if util.is_dict(value): nest(path, value, schema) return - if is_list(value) and value: + if util.is_list(value) and value: for list_v in value: validate_item(path, list_v, schema) return @@ -217,11 +299,11 @@ if want_type not in SCHEMA_TYPES: raise ValueError('unknown type %r at %r' % (want_type, path)) - if is_dict(value): + if util.is_dict(value): raise ValueError('config item is dict but should be a leaf node of type %r: %r' % (want_type, path)) - if is_list(value): + if util.is_list(value): for list_v in value: validate_item(path, list_v, schema) return @@ -243,4 +325,73 @@ nest(None, config, schema) +def generate_schemas(): + "Generate supported schemas dynamically from objects" + obj_dir = '%s/../obj/' % os.path.dirname(os.path.abspath(__file__)) + for filename in os.listdir(obj_dir): + if not filename.endswith(".py"): + continue + module_name = 'osmo_gsm_tester.obj.%s' % filename[:-3] + util.run_python_file_method(module_name, 'on_register_schemas', False) + + +_RESOURCE_TYPES = ['ip_address', 'arfcn'] + +_RESOURCES_SCHEMA = { + 'ip_address[].addr': IPV4, + 'arfcn[].arfcn': INT, + 'arfcn[].band': BAND, + } + +_CONFIG_SCHEMA = {} + +_WANT_SCHEMA = None +_ALL_SCHEMA = None + +def register_resource_schema(obj_class_str, obj_attr_dict): + """Register schema attributes for a resource type. + For instance: register_resource_schema_attributes('modem', {'type': schema.STR, 'ki': schema.KI}) + """ + global _RESOURCES_SCHEMA + global _RESOURCE_TYPES + tmpdict = {} + for key, val in obj_attr_dict.items(): + new_key = '%s[].%s' % (obj_class_str, key) + tmpdict[new_key] = val + combine(_RESOURCES_SCHEMA, tmpdict) + if obj_class_str not in _RESOURCE_TYPES: + _RESOURCE_TYPES.append(obj_class_str) + +def register_config_schema(obj_class_str, obj_attr_dict): + """Register schema attributes to configure all instances of an object class. + For instance: register_resource_schema_attributes('bsc', {'net.codec_list[]': schema.CODEC}) + """ + global _CONFIG_SCHEMA + tmpdict = {} + for key, val in obj_attr_dict.items(): + new_key = '%s.%s' % (obj_class_str, key) + tmpdict[new_key] = val + combine(_CONFIG_SCHEMA, tmpdict) + +def get_resources_schema(): + return _RESOURCES_SCHEMA; + +def get_want_schema(): + global _WANT_SCHEMA + if _WANT_SCHEMA is None: + _WANT_SCHEMA = util.dict_add( + dict([('%s[].times' % r, TIMES) for r in _RESOURCE_TYPES]), + get_resources_schema()) + return _WANT_SCHEMA + +def get_all_schema(): + global _ALL_SCHEMA + if _ALL_SCHEMA is None: + want_schema = get_want_schema() + _ALL_SCHEMA = util.dict_add({ 'defaults.timeout': STR }, + dict([('config.%s' % key, val) for key, val in _CONFIG_SCHEMA.items()]), + dict([('resources.%s' % key, val) for key, val in want_schema.items()]), + dict([('modifiers.%s' % key, val) for key, val in want_schema.items()])) + return _ALL_SCHEMA + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/util.py b/src/osmo_gsm_tester/core/util.py index a5b2bbf..4c7b1dd 100644 --- a/src/osmo_gsm_tester/core/util.py +++ b/src/osmo_gsm_tester/core/util.py @@ -370,6 +370,17 @@ def run_python_file(module_name, path): SourceFileLoader(module_name, path).load_module() +def run_python_file_method(module_name, func_name, fail_if_missing=True): + module_obj = __import__(module_name, globals(), locals(), [func_name]) + try: + func = getattr(module_obj, func_name) + except AttributeError as e: + if fail_if_missing: + raise RuntimeError('function %s not found in %s (%s)' % (func_name, module_name)) + else: + return None + return func() + def msisdn_inc(msisdn_str): 'add 1 and preserve leading zeros' return ('%%0%dd' % len(msisdn_str)) % (int(msisdn_str) + 1) diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 25cc780..046ef94 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -22,8 +22,16 @@ import pprint from ..core import log, util, config, template, process +from ..core import schema from . import osmo_ctrl, pcap_recorder +def on_register_schemas(): + config_schema = { + 'net.codec_list[]': schema.CODEC, + } + schema.register_config_schema('bsc', config_schema) + + class OsmoBsc(log.Origin): def __init__(self, suite_run, msc, mgw, stp, ip_address): diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index 515b42b..8b05ea0 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -21,6 +21,30 @@ from abc import ABCMeta, abstractmethod from ..core import log, config, schema +def on_register_schemas(): + resource_schema = { + 'label': schema.STR, + 'type': schema.STR, + 'addr': schema.IPV4, + 'band': schema.BAND, + 'direct_pcu': schema.BOOL_STR, + 'ciphers[]': schema.CIPHER, + 'channel_allocator': schema.CHAN_ALLOCATOR, + 'gprs_mode': schema.GPRS_MODE, + 'num_trx': schema.UINT, + 'max_trx': schema.UINT, + 'trx_list[].addr': schema.IPV4, + 'trx_list[].hw_addr': schema.HWADDR, + 'trx_list[].net_device': schema.STR, + 'trx_list[].nominal_power': schema.UINT, + 'trx_list[].max_power_red': schema.UINT, + 'trx_list[].timeslot_list[].phys_chan_config': schema.PHY_CHAN, + 'trx_list[].power_supply.type': schema.STR, + 'trx_list[].power_supply.device': schema.STR, + 'trx_list[].power_supply.port': schema.STR, + } + schema.register_resource_schema('bts', resource_schema) + class Bts(log.Origin, metaclass=ABCMeta): ############## diff --git a/src/osmo_gsm_tester/obj/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py index 74f3ec7..a182c47 100644 --- a/src/osmo_gsm_tester/obj/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -21,8 +21,18 @@ import tempfile from abc import ABCMeta, abstractmethod from ..core import log +from ..core import schema from . import bts, pcu_osmo +def on_register_schemas(): + resource_schema = { + 'ipa_unit_id': schema.UINT, + 'direct_pcu': schema.BOOL_STR, + 'channel_allocator': schema.CHAN_ALLOCATOR, + 'gprs_mode': schema.GPRS_MODE, + } + schema.register_resource_schema('bts', resource_schema) + class OsmoBts(bts.Bts, metaclass=ABCMeta): ############## diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 5339946..9234fc8 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -21,9 +21,25 @@ import pprint from abc import ABCMeta, abstractmethod from ..core import log, config, util, template, process, remote +from ..core import schema from ..core.event_loop import MainLoop from . import powersupply, bts_osmo +def on_register_schemas(): + resource_schema = { + 'osmo_trx.launch_trx': schema.BOOL_STR, + 'osmo_trx.type': schema.STR, + 'osmo_trx.clock_reference': schema.OSMO_TRX_CLOCK_REF, + 'osmo_trx.trx_ip': schema.IPV4, + 'osmo_trx.remote_user': schema.STR, + 'osmo_trx.dev_args': schema.STR, + 'osmo_trx.multi_arfcn': schema.BOOL_STR, + 'osmo_trx.max_trxd_version': schema.UINT, + 'osmo_trx.channels[].rx_path': schema.STR, + 'osmo_trx.channels[].tx_path': schema.STR, + } + schema.register_resource_schema('bts', resource_schema) + class OsmoBtsTrx(bts_osmo.OsmoBtsMainUnit): ############## # PROTECTED diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 3c1f771..c652761 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -19,7 +19,47 @@ from abc import ABCMeta, abstractmethod from ..core import log, config +from ..core import schema +def on_register_schemas(): + resource_schema = { + 'label': schema.STR, + 'type': schema.STR, + 'remote_user': schema.STR, + 'addr': schema.IPV4, + 'gtp_bind_addr': schema.IPV4, + 'id': schema.UINT, + 'num_prb': schema.UINT, + 'transmission_mode': schema.LTE_TRANSMISSION_MODE, + 'tx_gain': schema.UINT, + 'rx_gain': schema.UINT, + 'rf_dev_type': schema.STR, + 'rf_dev_args': schema.STR, + 'additional_args': schema.STR, + 'enable_measurements': schema.BOOL_STR, + 'a1_report_type': schema.STR, + 'a1_report_value': schema.INT, + 'a1_hysteresis': schema.INT, + 'a1_time_to_trigger': schema.INT, + 'a2_report_type': schema.STR, + 'a2_report_value': schema.INT, + 'a2_hysteresis': schema.INT, + 'a2_time_to_trigger': schema.INT, + 'a3_report_type': schema.STR, + 'a3_report_value': schema.INT, + 'a3_hysteresis': schema.INT, + 'a3_time_to_trigger': schema.INT, + 'num_cells': schema.UINT, + 'cell_list[].cell_id': schema.UINT, + 'cell_list[].pci': schema.UINT, + 'cell_list[].ncell_list[]': schema.UINT, + 'cell_list[].scell_list[]': schema.UINT, + 'cell_list[].dl_earfcn': schema.UINT, + 'cell_list[].dl_rfemu.type': schema.STR, + 'cell_list[].dl_rfemu.addr': schema.IPV4, + 'cell_list[].dl_rfemu.ports[]': schema.UINT, + } + schema.register_resource_schema('enb', resource_schema) class eNodeB(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index ec7063c..6f7080a 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -21,9 +21,16 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import enb from . import rfemu +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 243ffaa..0816ca6 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -24,6 +24,14 @@ from . import enb from . import rfemu +from ..core import schema + +def on_register_schemas(): + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('enb', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index f6bddea..c725f76 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -19,7 +19,14 @@ from abc import ABCMeta, abstractmethod from ..core import log, config +from ..core import schema +def on_register_schemas(): + config_schema = { + 'type': schema.STR, + 'qci': schema.UINT, + } + schema.register_config_schema('epc', config_schema) class EPC(log.Origin, metaclass=ABCMeta): diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index afd8aa4..8606e57 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import epc +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + class AmarisoftEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-amarisoftepc' diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index ec9dc44..f859df0 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from . import epc +def on_register_schemas(): + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('epc', config_schema) + class srsEPC(epc.EPC): REMOTE_DIR = '/osmo-gsm-tester-srsepc' diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 9427770..b9fdfe8 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -21,8 +21,15 @@ import json from ..core import log, util, config, process, remote +from ..core import schema from . import pcap_recorder, run_node +def on_register_schemas(): + config_schema = { + 'time': schema.DURATION, + } + schema.register_config_schema('iperf3cli', config_schema) + def iperf3_result_to_json(log_obj, data): try: # Drop non-interesting self-generated output before json: diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index 3dcea7b..b72333a 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -19,6 +19,21 @@ from abc import ABCMeta, abstractmethod from ..core import log +from ..core import schema + +def on_register_schemas(): + resource_schema = { + 'type': schema.STR, + 'label': schema.STR, + 'path': schema.STR, + 'imsi': schema.IMSI, + 'ki': schema.KI, + 'auth_algo': schema.AUTH_ALGO, + 'apn_ipaddr': schema.IPV4, + 'ciphers[]': schema.CIPHER, + 'features[]': schema.MODEM_FEATURE + } + schema.register_resource_schema('modem', resource_schema) class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 6fd80ee..46a92dc 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -21,10 +21,17 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from ..core.event_loop import MainLoop from .run_node import RunNode from .ms import MS +def on_register_schemas(): + config_schema = { + 'license_server_addr': schema.IPV4, + } + schema.register_config_schema('amarisoft', config_schema) + def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index cdc8d18..7d08b66 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -21,6 +21,7 @@ import pprint from ..core import log, util, config, template, process, remote +from ..core import schema from .run_node import RunNode from ..core.event_loop import MainLoop from .ms import MS @@ -28,6 +29,26 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') +def on_register_schemas(): + resource_schema = { + 'remote_user': schema.STR, + 'addr': schema.IPV4, + 'rf_dev_type': schema.STR, + 'rf_dev_args': schema.STR, + 'num_carriers': schema.UINT, + 'additional_args': schema.STR, + 'airplane_t_on_ms': schema.INT, + 'airplane_t_off_ms': schema.INT, + 'tx_gain': schema.UINT, + 'rx_gain': schema.UINT, + } + schema.register_resource_schema('modem', resource_schema) + + config_schema = { + 'enable_pcap': schema.BOOL_STR, + } + schema.register_config_schema('modem', config_schema) + #reference: srsLTE.git srslte_symbol_sz() def num_prb2symbol_sz(num_prb): if num_prb <= 6: diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index cb8894f..048934e 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -21,8 +21,15 @@ import pprint from ..core import log, util, config, template, process +from ..core import schema from . import osmo_ctrl, pcap_recorder, smsc +def on_register_schemas(): + resource_schema = { + 'path': schema.STR, + } + schema.register_resource_schema('modem', resource_schema) + class OsmoMsc(log.Origin): def __init__(self, suite_run, hlr, mgw, stp, ip_address): diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 1fad239..6f6ac2a 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -21,8 +21,16 @@ import tempfile from ..core import log, util, process +from ..core import schema from ..core.event_loop import MainLoop +def on_register_schemas(): + resource_schema = { + 'serial_device': schema.STR, + } + schema.register_resource_schema('osmocon_phone', resource_schema) + + class Osmocon(log.Origin): FIRMWARE_FILE="opt/osmocom-bb/target/firmware/board/compal_e88/layer1.compalram.bin" diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index e9f43a1..26c85df 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -18,6 +18,17 @@ # along with this program. If not, see . from ..core import log +from ..core import schema + +def on_register_schemas(): + resource_schema = { + 'run_type': schema.STR, + 'run_addr': schema.IPV4, + 'ssh_user': schema.STR, + 'ssh_addr': schema.IPV4, + } + schema.register_resource_schema('run_node', resource_schema) + class RunNode(log.Origin): diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index 20302d3..b216c50 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -46,120 +46,6 @@ R_MODEM = 'modem' R_OSMOCON = 'osmocon_phone' R_ENB = 'enb' -R_ALL = (R_IP_ADDRESS, R_RUN_NODE, R_BTS, R_ARFCN, R_MODEM, R_OSMOCON, R_ENB) - -RESOURCES_SCHEMA = { - 'ip_address[].addr': schema.IPV4, - 'run_node[].run_type': schema.STR, - 'run_node[].run_addr': schema.IPV4, - 'run_node[].ssh_user': schema.STR, - 'run_node[].ssh_addr': schema.IPV4, - 'bts[].label': schema.STR, - 'bts[].type': schema.STR, - 'bts[].ipa_unit_id': schema.UINT, - 'bts[].addr': schema.IPV4, - 'bts[].band': schema.BAND, - 'bts[].direct_pcu': schema.BOOL_STR, - 'bts[].ciphers[]': schema.CIPHER, - 'bts[].channel_allocator': schema.CHAN_ALLOCATOR, - 'bts[].gprs_mode': schema.GPRS_MODE, - 'bts[].num_trx': schema.UINT, - 'bts[].max_trx': schema.UINT, - 'bts[].trx_list[].addr': schema.IPV4, - 'bts[].trx_list[].hw_addr': schema.HWADDR, - 'bts[].trx_list[].net_device': schema.STR, - 'bts[].trx_list[].nominal_power': schema.UINT, - 'bts[].trx_list[].max_power_red': schema.UINT, - 'bts[].trx_list[].timeslot_list[].phys_chan_config': schema.PHY_CHAN, - 'bts[].trx_list[].power_supply.type': schema.STR, - 'bts[].trx_list[].power_supply.device': schema.STR, - 'bts[].trx_list[].power_supply.port': schema.STR, - 'bts[].osmo_trx.launch_trx': schema.BOOL_STR, - 'bts[].osmo_trx.type': schema.STR, - 'bts[].osmo_trx.clock_reference': schema.OSMO_TRX_CLOCK_REF, - 'bts[].osmo_trx.trx_ip': schema.IPV4, - 'bts[].osmo_trx.remote_user': schema.STR, - 'bts[].osmo_trx.dev_args': schema.STR, - 'bts[].osmo_trx.multi_arfcn': schema.BOOL_STR, - 'bts[].osmo_trx.max_trxd_version': schema.UINT, - 'bts[].osmo_trx.channels[].rx_path': schema.STR, - 'bts[].osmo_trx.channels[].tx_path': schema.STR, - 'enb[].label': schema.STR, - 'enb[].type': schema.STR, - 'enb[].remote_user': schema.STR, - 'enb[].addr': schema.IPV4, - 'enb[].gtp_bind_addr': schema.IPV4, - 'enb[].id': schema.UINT, - 'enb[].num_prb': schema.UINT, - 'enb[].transmission_mode': schema.LTE_TRANSMISSION_MODE, - 'enb[].tx_gain': schema.UINT, - 'enb[].rx_gain': schema.UINT, - 'enb[].rf_dev_type': schema.STR, - 'enb[].rf_dev_args': schema.STR, - 'enb[].additional_args': schema.STR, - 'enb[].enable_measurements': schema.BOOL_STR, - 'enb[].a1_report_type': schema.STR, - 'enb[].a1_report_value': schema.INT, - 'enb[].a1_hysteresis': schema.INT, - 'enb[].a1_time_to_trigger': schema.INT, - 'enb[].a2_report_type': schema.STR, - 'enb[].a2_report_value': schema.INT, - 'enb[].a2_hysteresis': schema.INT, - 'enb[].a2_time_to_trigger': schema.INT, - 'enb[].a3_report_type': schema.STR, - 'enb[].a3_report_value': schema.INT, - 'enb[].a3_hysteresis': schema.INT, - 'enb[].a3_time_to_trigger': schema.INT, - 'enb[].num_cells': schema.UINT, - 'enb[].cell_list[].cell_id': schema.UINT, - 'enb[].cell_list[].pci': schema.UINT, - 'enb[].cell_list[].ncell_list[]': schema.UINT, - 'enb[].cell_list[].scell_list[]': schema.UINT, - 'enb[].cell_list[].dl_earfcn': schema.UINT, - 'enb[].cell_list[].dl_rfemu.type': schema.STR, - 'enb[].cell_list[].dl_rfemu.addr': schema.IPV4, - 'enb[].cell_list[].dl_rfemu.ports[]': schema.UINT, - 'arfcn[].arfcn': schema.INT, - 'arfcn[].band': schema.BAND, - 'modem[].type': schema.STR, - 'modem[].label': schema.STR, - 'modem[].path': schema.STR, - 'modem[].imsi': schema.IMSI, - 'modem[].ki': schema.KI, - 'modem[].auth_algo': schema.AUTH_ALGO, - 'modem[].apn_ipaddr': schema.IPV4, - 'modem[].remote_user': schema.STR, - 'modem[].addr': schema.IPV4, - 'modem[].ciphers[]': schema.CIPHER, - 'modem[].features[]': schema.MODEM_FEATURE, - 'modem[].rf_dev_type': schema.STR, - 'modem[].rf_dev_args': schema.STR, - 'modem[].num_carriers': schema.UINT, - 'modem[].additional_args': schema.STR, - 'modem[].airplane_t_on_ms': schema.INT, - 'modem[].airplane_t_off_ms': schema.INT, - 'modem[].tx_gain': schema.UINT, - 'modem[].rx_gain': schema.UINT, - 'osmocon_phone[].serial_device': schema.STR, - } - -WANT_SCHEMA = util.dict_add( - dict([('%s[].times' % r, schema.TIMES) for r in R_ALL]), - RESOURCES_SCHEMA) - -CONF_SCHEMA = util.dict_add( - { 'defaults.timeout': schema.STR, - 'config.bsc.net.codec_list[]': schema.CODEC, - 'config.enb.enable_pcap': schema.BOOL_STR, - 'config.epc.type': schema.STR, - 'config.epc.qci': schema.UINT, - 'config.epc.enable_pcap': schema.BOOL_STR, - 'config.modem.enable_pcap': schema.BOOL_STR, - 'config.amarisoft.license_server_addr': schema.IPV4, - 'config.iperf3cli.time': schema.DURATION, - }, - dict([('resources.%s' % key, val) for key, val in WANT_SCHEMA.items()]), - dict([('modifiers.%s' % key, val) for key, val in WANT_SCHEMA.items()])) KNOWN_BTS_TYPES = { 'osmo-bts-sysmo': bts_sysmo.SysmoBts, @@ -204,7 +90,7 @@ self.read_conf() def read_conf(self): - self.all_resources = Resources(config.read(self.config_path, RESOURCES_SCHEMA)) + self.all_resources = Resources(config.read(self.config_path, schema.get_resources_schema())) self.all_resources.set_hashes() def reserve(self, origin, want, modifiers): @@ -239,8 +125,8 @@ 'modem': [ {}, {} ], } ''' - schema.validate(want, RESOURCES_SCHEMA) - schema.validate(modifiers, RESOURCES_SCHEMA) + schema.validate(want, schema.get_resources_schema()) + schema.validate(modifiers, schema.get_resources_schema()) origin_id = origin.origin_id() @@ -480,7 +366,7 @@ def add(self, more): if more is self: raise RuntimeError('adding a list of resources to itself?') - config.add(self, copy.deepcopy(more)) + schema.add(self, copy.deepcopy(more)) def mark_reserved_by(self, origin_id): for key, item_list in self.items(): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index fecb7a6..6d2916c 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,7 +21,7 @@ import sys import time import pprint -from .core import config, log, util, process +from .core import config, log, util, process, schema from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -50,7 +50,7 @@ raise RuntimeError('No such directory: %r' % self.suite_dir) self.conf = config.read(os.path.join(self.suite_dir, SuiteDefinition.CONF_FILENAME), - resource.CONF_SCHEMA) + schema.get_all_schema()) self.load_test_basenames() def load_test_basenames(self): @@ -143,7 +143,7 @@ log.dbg(scenario=scenario.name(), conf=c) if c is None: continue - config.combine(combination, c) + schema.combine(combination, c) return combination def get_run_dir(self): @@ -486,7 +486,7 @@ def load_suite_scenario_str(suite_scenario_str): suite_name, scenario_names = parse_suite_scenario_str(suite_scenario_str) suite = load(suite_name) - scenarios = [config.get_scenario(scenario_name, resource.CONF_SCHEMA) for scenario_name in scenario_names] + scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) def bts_obj(suite_run, conf): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18023 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: I8fd6773c51d19405a585977af4ed72cad2b21db1 Gerrit-Change-Number: 18023 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:38 +0000 Subject: Change in osmo-gsm-tester[master]: Move object subclass instance allocation logic out of suite.py/resour... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 ) Change subject: Move object subclass instance allocation logic out of suite.py/resource.py ...................................................................... Move object subclass instance allocation logic out of suite.py/resource.py This way we get rid of object related content in resource.py and we can finally move it to core/ in next commit. Change-Id: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4 --- M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/resource.py M src/osmo_gsm_tester/suite.py 6 files changed, 120 insertions(+), 90 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index 8b05ea0..e23b555 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -162,6 +162,34 @@ 'Nothing to do by default. Subclass can override if required.' pass + def get_instance_by_type(suite_run, conf): + """Allocate a BTS child class based on type. Opts are passed to the newly created object.""" + bts_type = conf.get('type') + if bts_type is None: + raise RuntimeError('BTS type is not defined!') + + if bts_type == 'osmo-bts-sysmo': + from .bts_sysmo import SysmoBts + bts_class = SysmoBts + elif bts_type == 'osmo-bts-trx': + from .bts_osmotrx import OsmoBtsTrx + bts_class = OsmoBtsTrx + elif bts_type == 'osmo-bts-oc2g': + from .bts_oc2g import OsmoBtsOC2G + bts_class = OsmoBtsOC2G + elif bts_type == 'osmo-bts-octphy': + from .bts_octphy import OsmoBtsOctphy + bts_class = OsmoBtsOctphy + elif bts_type == 'osmo-bts-virtual': + from .bts_osmovirtual import OsmoBtsVirtual + bts_class = OsmoBtsVirtual + elif bts_type == 'nanobts': + from .bts_nanobts import NanoBts + bts_class = NanoBts + else: + raise log.Error('BTS type not supported:', bts_type) + return bts_class(suite_run, conf) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index c652761..7514604 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -192,6 +192,22 @@ return rf_dev_args + def get_instance_by_type(suite_run, conf): + """Allocate a ENB child class based on type. Opts are passed to the newly created object.""" + enb_type = conf.get('type') + if enb_type is None: + raise RuntimeError('ENB type is not defined!') + + if enb_type == 'amarisoftenb': + from .enb_amarisoft import AmarisoftENB + enb_class = AmarisoftENB + elif enb_type == 'srsenb': + from .enb_srs import srsENB + enb_class = srsENB + else: + raise log.Error('ENB type not supported:', enb_type) + return enb_class(suite_run, conf) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index c725f76..cbca0fb 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -57,6 +57,25 @@ 'Nothing to do by default. Subclass can override if required.' pass + def get_instance_by_type(suite_run, run_node): + """Allocate a EPC child class based on type. Opts are passed to the newly created object.""" + values = dict(epc=config.get_defaults('epc')) + config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) + epc_type = values['epc'].get('type', None) + if epc_type is None: + raise RuntimeError('EPC type is not defined!') + + if epc_type == 'amarisoftepc': + from .epc_amarisoft import AmarisoftEPC + epc_class = AmarisoftEPC + elif epc_type == 'srsepc': + from .epc_srs import srsEPC + epc_class = srsEPC + else: + raise log.Error('EPC type not supported:', epc_type) + + return epc_class(suite_run, run_node) + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index b72333a..a30a9c7 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -38,11 +38,48 @@ class MS(log.Origin, metaclass=ABCMeta): """Base for everything about mobile/modem and SIMs.""" +############## +# PROTECTED +############## def __init__(self, name, conf): super().__init__(log.C_TST, name) self._conf = conf self.msisdn = None +######################## +# PUBLIC - INTERNAL API +######################## + @abstractmethod + def cleanup(self): + """Cleans up resources allocated.""" + pass + + def get_instance_by_type(suite_run, conf): + """Allocate a MS child class based on type. Opts are passed to the newly created object.""" + ms_type = conf.get('type') + if ms_type is None: + # Map None to ofono for forward compability + ms_type = 'ofono' + + if ms_type == 'ofono': + from .ms_ofono import Modem + ms_class = Modem + elif ms_type == 'osmo-mobile': + from .ms_osmo_mobile import MSOsmoMobile + ms_class = MSOsmoMobile + elif ms_type == 'srsue': + from .ms_srs import srsUE + ms_class = srsUE + elif ms_type == 'amarisoftue': + from .ms_amarisoft import AmarisoftUE + ms_class = AmarisoftUE + else: + raise log.Error('MS type not supported:', ms_type) + return ms_class(suite_run, conf) + +################### +# PUBLIC (test API included) +################### def imsi(self): return self._conf.get('imsi') @@ -60,8 +97,3 @@ def msisdn(self): return self.msisdn - - @abstractmethod - def cleanup(self): - """Cleans up resources allocated.""" - pass diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py index b216c50..7674bff 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/resource.py @@ -26,10 +26,6 @@ from .core import config from .core import util from .core import schema -from .obj import bts_sysmo, bts_osmotrx, bts_osmovirtual, bts_octphy, bts_nanobts, bts_oc2g -from .obj import ms_ofono -from .obj import ms_osmo_mobile -from .obj import ms_srs, ms_amarisoft, enb_srs, enb_amarisoft, epc_srs, epc_amarisoft from .core.util import is_dict, is_list @@ -47,38 +43,6 @@ R_OSMOCON = 'osmocon_phone' R_ENB = 'enb' -KNOWN_BTS_TYPES = { - 'osmo-bts-sysmo': bts_sysmo.SysmoBts, - 'osmo-bts-trx': bts_osmotrx.OsmoBtsTrx, - 'osmo-bts-oc2g': bts_oc2g.OsmoBtsOC2G, - 'osmo-bts-octphy': bts_octphy.OsmoBtsOctphy, - 'osmo-bts-virtual': bts_osmovirtual.OsmoBtsVirtual, - 'nanobts': bts_nanobts.NanoBts, - } - -KNOWN_ENB_TYPES = { - 'srsenb': enb_srs.srsENB, - 'amarisoftenb': enb_amarisoft.AmarisoftENB, -} - -KNOWN_EPC_TYPES = { - 'srsepc': epc_srs.srsEPC, - 'amarisoftepc': epc_amarisoft.AmarisoftEPC, -} - -KNOWN_MS_TYPES = { - # Map None to ofono for forward compability - None: ms_ofono.Modem, - 'ofono': ms_ofono.Modem, - 'osmo-mobile': ms_osmo_mobile.MSOsmoMobile, - 'srsue': ms_srs.srsUE, - 'amarisoftue': ms_amarisoft.AmarisoftUE, -} - - -def register_bts_type(name, clazz): - KNOWN_BTS_TYPES[name] = clazz - class ResourcesPool(log.Origin): _remember_to_free = None _registered_exit_handler = False diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 6d2916c..db307ff 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -25,6 +25,10 @@ from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node +from .obj import epc +from .obj import enb +from .obj import bts +from .obj import ms from . import resource, test class Timeout(Exception): @@ -324,24 +328,19 @@ return ms def bts(self, specifics=None): - bts = bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) - bts.set_lac(self.lac()) - bts.set_rac(self.rac()) - bts.set_cellid(self.cellid()) - bts.set_bvci(self.bvci()) - self.register_for_cleanup(bts) - return bts + bts_obj = bts.Bts.get_instance_by_type(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) + bts_obj.set_lac(self.lac()) + bts_obj.set_rac(self.rac()) + bts_obj.set_cellid(self.cellid()) + bts_obj.set_bvci(self.bvci()) + self.register_for_cleanup(bts_obj) + return bts_obj def modem(self, specifics=None): conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) - ms_type = conf.get('type') - ms_class = resource.KNOWN_MS_TYPES.get(ms_type) - if ms_class is None: - raise RuntimeError('No such Modem type is defined: %r' % ms_type) - self.dbg('create Modem object', conf=conf) - ms = ms_class(self, conf) - self.register_for_cleanup(ms) - return ms + ms_obj = ms.MS.get_instance_by_type(self, conf) + self.register_for_cleanup(ms_obj) + return ms_obj def modems(self, count): l = [] @@ -367,16 +366,16 @@ return run_node.RunNode.from_conf(self.reserved_resources.get(resource.R_RUN_NODE, specifics=specifics)) def enb(self, specifics=None): - enb = enb_obj(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) - self.register_for_cleanup(enb) - return enb + enb_obj = enb.eNodeB.get_instance_by_type(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) + self.register_for_cleanup(enb_obj) + return enb_obj def epc(self, run_node=None): if run_node is None: run_node = self.run_node() - epc = epc_obj(self, run_node) - self.register_for_cleanup(epc) - return epc + epc_obj = epc.EPC.get_instance_by_type(self, run_node) + self.register_for_cleanup(epc_obj) + return epc_obj def osmocon(self, specifics=None): conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) @@ -489,32 +488,4 @@ scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) -def bts_obj(suite_run, conf): - bts_type = conf.get('type') - log.dbg('create BTS object', type=bts_type) - bts_class = resource.KNOWN_BTS_TYPES.get(bts_type) - if bts_class is None: - raise RuntimeError('No such BTS type is defined: %r' % bts_type) - return bts_class(suite_run, conf) - -def enb_obj(suite_run, conf): - enb_type = conf.get('type') - log.dbg('create ENB object', type=enb_type) - enb_class = resource.KNOWN_ENB_TYPES.get(enb_type) - if enb_class is None: - raise RuntimeError('No such ENB type is defined: %r' % enb_type) - return enb_class(suite_run, conf) - -def epc_obj(suite_run, run_node): - values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) - epc_type = values['epc'].get('type', None) - if epc_type is None: - raise RuntimeError('EPC type is not defined!') - log.dbg('create EPC object', type=epc_type) - epc_class = resource.KNOWN_EPC_TYPES.get(epc_type) - if epc_class is None: - raise RuntimeError('No such EPC type is defined: %r' % epc_type) - return epc_class(suite_run, run_node) - # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18031 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: Ia5b861115ae3ae1b90149863c4265dcc730b8cd4 Gerrit-Change-Number: 18031 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:38 +0000 Subject: Change in osmo-gsm-tester[master]: Move resource.py to core/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 ) Change subject: Move resource.py to core/ ...................................................................... Move resource.py to core/ Change-Id: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901 --- M selftest/resource_test.py R src/osmo_gsm_tester/core/resource.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/test.py 4 files changed, 9 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/resource_test.py b/selftest/resource_test.py index ecbeb24..0b9550e 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -6,9 +6,8 @@ import shutil import atexit import _prep -from osmo_gsm_tester.core import config, log, util +from osmo_gsm_tester.core import config, log, util, resource from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import resource workdir = util.get_tempdir() diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/core/resource.py similarity index 99% rename from src/osmo_gsm_tester/resource.py rename to src/osmo_gsm_tester/core/resource.py index 7674bff..a1a8ea5 100644 --- a/src/osmo_gsm_tester/resource.py +++ b/src/osmo_gsm_tester/core/resource.py @@ -22,12 +22,12 @@ import atexit import pprint -from .core import log -from .core import config -from .core import util -from .core import schema +from . import log +from . import config +from . import util +from . import schema -from .core.util import is_dict, is_list +from .util import is_dict, is_list HASH_KEY = '_hash' RESERVED_KEY = '_reserved_by' diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index db307ff..c5421c4 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,7 +21,7 @@ import sys import time import pprint -from .core import config, log, util, process, schema +from .core import config, log, util, process, schema, resource from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -29,7 +29,7 @@ from .obj import enb from .obj import bts from .obj import ms -from . import resource, test +from . import test class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/test.py index 64b45c5..ec81d7d 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/test.py @@ -23,8 +23,7 @@ import traceback from . import testenv -from .core import log, util -from . import resource +from .core import log, util, resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18032 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: I0f36a5e61ff0ef14d08165c9c184acdf2d6e6901 Gerrit-Change-Number: 18032 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:13:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:13:39 +0000 Subject: Change in osmo-gsm-tester[master]: Move test.py and report.py to core/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 ) Change subject: Move test.py and report.py to core/ ...................................................................... Move test.py and report.py to core/ Change-Id: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544 --- M selftest/suite_test.py R src/osmo_gsm_tester/core/report.py R src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 6 files changed, 20 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/suite_test.py b/selftest/suite_test.py index 1fb95ec..560ca50 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -2,9 +2,9 @@ import os import _prep import shutil -from osmo_gsm_tester.core import log, config, util +from osmo_gsm_tester.core import log, config, util, report from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import suite, report +from osmo_gsm_tester import suite config.ENV_CONF = './suite_test' diff --git a/src/osmo_gsm_tester/report.py b/src/osmo_gsm_tester/core/report.py similarity index 100% rename from src/osmo_gsm_tester/report.py rename to src/osmo_gsm_tester/core/report.py diff --git a/src/osmo_gsm_tester/test.py b/src/osmo_gsm_tester/core/test.py similarity index 94% rename from src/osmo_gsm_tester/test.py rename to src/osmo_gsm_tester/core/test.py index ec81d7d..93dbf6a 100644 --- a/src/osmo_gsm_tester/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -21,9 +21,9 @@ import sys import time import traceback -from . import testenv +from .. import testenv -from .core import log, util, resource +from . import log, util, resource class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -56,11 +56,7 @@ log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - from .core import process - from .core.event_loop import MainLoop - from .obj import sms - from . import suite - testenv.setup(self.suite_run, self, suite, MainLoop, sms, process) + testenv.setup(self.suite_run, self) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), self.path) diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index c5421c4..6952fd2 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -22,6 +22,7 @@ import time import pprint from .core import config, log, util, process, schema, resource +from .core import test from .core.event_loop import MainLoop from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 from .obj import run_node @@ -29,7 +30,6 @@ from .obj import enb from .obj import bts from .obj import ms -from . import test class Timeout(Exception): pass diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index ceea028..8c4743a 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -36,8 +36,14 @@ Sms = None process = None -def setup(suite_run, _test, suite_module, event_module, sms_module, process_module): +def setup(suite_run, _test): + from .core import process as process_module + from .core.event_loop import MainLoop + from .obj.sms import Sms as Sms_class + from . import suite as suite_module + global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Timeout, Sms, process + trial = suite_run.trial suite = suite_run test = _test @@ -45,13 +51,13 @@ log = test.log dbg = test.dbg err = test.err - wait = lambda *args, **kwargs: event_module.wait(suite_run, *args, **kwargs) - wait_no_raise = lambda *args, **kwargs: event_module.wait_no_raise(suite_run, *args, **kwargs) - sleep = lambda *args, **kwargs: event_module.sleep(suite_run, *args, **kwargs) - poll = event_module.poll + wait = lambda *args, **kwargs: MainLoop.wait(suite_run, *args, **kwargs) + wait_no_raise = lambda *args, **kwargs: MainLoop.wait_no_raise(suite_run, *args, **kwargs) + sleep = lambda *args, **kwargs: MainLoop.sleep(suite_run, *args, **kwargs) + poll = MainLoop.poll prompt = suite_run.prompt Timeout = suite_module.Timeout - Sms = sms_module.Sms + Sms = Sms_class process = process_module # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index 9dcc188..fb94a59 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,8 +22,8 @@ import shutil import tarfile -from .core import log, util -from . import suite, report +from .core import log, util, report +from . import suite FILE_MARK_TAKEN = 'taken' FILE_CHECKSUMS = 'checksums.md5' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18033 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: Ibb7fa5ab40bcf1e59705bdd2c2c5a76025b2b544 Gerrit-Change-Number: 18033 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:47:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:47:41 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:47:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:49:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:49:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: add PADDING attributes to SI3/SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 ) Change subject: library: add PADDING attributes to SI3/SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Gerrit-Change-Number: 18024 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:49:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:49:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:49:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: relax length constraints applied to SI Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 ) Change subject: library: relax length constraints applied to SI Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Gerrit-Change-Number: 18025 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:49:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:51:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:51:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 ) Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:51:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:54:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027/1/bts/BTS_Tests.ttcn at 242 PS1, Line 242: modifies ts_SI4RestOctets := { what's this modifies? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:54:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:55:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:55:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix missing GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 ) Change subject: BTS: fix missing GPRS Indicator in SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Gerrit-Change-Number: 18028 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:55:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 20:57:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 20:57:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 ) Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029/1/bts/BTS_Tests.ttcn at 4924 PS1, Line 4924: Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI"); you could log si_type here -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 20:57:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 21:01:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 21:01:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: verify presence of GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 ) Change subject: BTS: verify presence of GPRS Indicator in SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Gerrit-Change-Number: 18030 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 21:01:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 21:01:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 21:01:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 21:01:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 4 21:04:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 4 May 2020 21:04:46 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 04 May 2020 21:04:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 00:03:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 5 May 2020 00:03:26 +0000 Subject: Change in osmo-hlr[master]: make osmo_cni_peer_id_cmp() NULL safe References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18037 ) Change subject: make osmo_cni_peer_id_cmp() NULL safe ...................................................................... make osmo_cni_peer_id_cmp() NULL safe Related: coverity CID#210172 Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b --- M src/gsupclient/cni_peer_id.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/37/18037/1 diff --git a/src/gsupclient/cni_peer_id.c b/src/gsupclient/cni_peer_id.c index de7b4bc..ab36959 100644 --- a/src/gsupclient/cni_peer_id.c +++ b/src/gsupclient/cni_peer_id.c @@ -154,6 +154,12 @@ int osmo_cni_peer_id_cmp(const struct osmo_cni_peer_id *a, const struct osmo_cni_peer_id *b) { + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; if (a->type != b->type) return OSMO_CMP(a->type, b->type); switch (a->type) { -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b Gerrit-Change-Number: 18037 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 00:03:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 5 May 2020 00:03:26 +0000 Subject: Change in osmo-hlr[master]: osmo_gsup_req_new(): require from_peer != NULL References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18038 ) Change subject: osmo_gsup_req_new(): require from_peer != NULL ...................................................................... osmo_gsup_req_new(): require from_peer != NULL In practice, from_peer is always non-NULL, yet some conditions checked against NULL, looking like a possible NULL deref. Require non-NULL. Related: coverity CID#210172 Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c --- M src/gsupclient/gsup_req.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/38/18038/1 diff --git a/src/gsupclient/gsup_req.c b/src/gsupclient/gsup_req.c index a8a66d5..2e7caf1 100644 --- a/src/gsupclient/gsup_req.c +++ b/src/gsupclient/gsup_req.c @@ -107,6 +107,12 @@ struct osmo_gsup_req *req; int rc; + if (!from_peer) { + LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from NULL peer is not allowed\n"); + msgb_free(msg); + return NULL; + } + if (!msgb_l2(msg) || !msgb_l2len(msg)) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: missing or empty L2 data\n", osmo_cni_peer_id_to_str(from_peer)); @@ -121,8 +127,7 @@ req->msg = msg; req->send_response_cb = send_response_cb; req->cb_data = cb_data; - if (from_peer) - req->source_name = *from_peer; + req->source_name = *from_peer; rc = osmo_gsup_decode(msgb_l2(req->msg), msgb_l2len(req->msg), (struct osmo_gsup_message*)&req->gsup); if (rc < 0) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: cannot decode (rc=%d)\n", osmo_cni_peer_id_to_str(from_peer), rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c Gerrit-Change-Number: 18038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 00:03:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 5 May 2020 00:03:27 +0000 Subject: Change in osmo-hlr[master]: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18039 ) Change subject: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() ...................................................................... gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() Related: coverity CID#210171 Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b --- M src/gsup_server.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/39/18039/1 diff --git a/src/gsup_server.c b/src/gsup_server.c index a5d496e..888507c 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -274,7 +274,7 @@ { struct osmo_gsup_conn *clnt = (struct osmo_gsup_conn *)conn->data; uint8_t *addr = NULL; - size_t addr_len; + int addr_len; LOGP(DLGSUP, LOGL_INFO, "CCM Callback\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b Gerrit-Change-Number: 18039 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 00:03:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 5 May 2020 00:03:27 +0000 Subject: Change in osmo-hlr[master]: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18040 ) Change subject: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 ...................................................................... osmo_mslookup_server_mdns_rx(): handle read() rc == 0 Coverity says "tainted buffer", I hope it means the case of read() returning zero. Related: coverity CID#210170 Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d --- M src/mslookup_server_mdns.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/40/18040/1 diff --git a/src/mslookup_server_mdns.c b/src/mslookup_server_mdns.c index 0e94074..a669526 100644 --- a/src/mslookup_server_mdns.c +++ b/src/mslookup_server_mdns.c @@ -71,7 +71,7 @@ /* Parse the message and print it */ n = read(osmo_fd->fd, buffer, sizeof(buffer)); - if (n < 0) + if (n <= 0) return n; ctx = talloc_named_const(server, 0, __func__); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d Gerrit-Change-Number: 18040 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 00:03:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 5 May 2020 00:03:28 +0000 Subject: Change in osmo-hlr[master]: hlr_subscr_nam(): fix condition to fix nam=false notifications References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18041 ) Change subject: hlr_subscr_nam(): fix condition to fix nam=false notifications ...................................................................... hlr_subscr_nam(): fix condition to fix nam=false notifications Firstly, vlr_number[] is an array and we need to check the first char for nul instead of the pointer. Also, osmo_ipa_name_set_str() returns zero on success, so the condition is reversed. hlr_subscr_nam() was rewritten in I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 ad868e29ba1b838f151cdf2ad9cb4f068a817493 and this likely fixes a bug introduced there. Related: coverity CID#210169 Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 --- M src/hlr.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/41/18041/1 diff --git a/src/hlr.c b/src/hlr.c index 7b803e7..e4d6c23 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -268,9 +268,9 @@ if (nam_val) return 0; - if (subscr->vlr_number && osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) + if (subscr->vlr_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); - if (subscr->sgsn_number && osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) + if (subscr->sgsn_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 Gerrit-Change-Number: 18041 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 5 01:46:19 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 05 May 2020 01:46:19 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb0c58623837_20242ae0456bc600273846@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 821s] | CONFIG_LINKS = [ 821s] | CONFIG_COMMANDS = [ 821s] | $ ./config.status Doxyfile.core [ 821s] | [ 821s] | on obs-arm-5 [ 821s] | [ 821s] | config.status:1341: creating Doxyfile.core [ 821s] [ 821s] # -*- compilation -*- [ 821s] 59. testsuite.at:372: testing exec ... [ 821s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 821s] --- experr 2020-05-05 01:46:09.610000000 +0000 [ 821s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-05-05 01:46:09.615000000 +0000 [ 821s] @@ -1 +0,0 @@ [ 821s] -MAHLZEIT=spaet [ 821s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 821s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 821s] make[1]: *** [override_dh_auto_test] Error 1 [ 821s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 821s] debian/rules:15: recipe for target 'build' failed [ 821s] make: *** [build] Error 2 [ 821s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 821s] ### VM INTERACTION START ### [ 823s] [ 801.494047] sysrq: SysRq : Power Off [ 823s] [ 801.497528] reboot: Power down [ 824s] ### VM INTERACTION END ### [ 824s] [ 824s] obs-arm-5 failed "build libosmocore_1.3.0.74.98929.dsc" at Tue May 5 01:46:16 UTC 2020. [ 824s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 5 03:21:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 03:21:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027/1/bts/BTS_Tests.ttcn at 242 PS1, Line 242: modifies ts_SI4RestOctets := { > what's this modifies? Just like for components, there is a simple inheritance mechanism for templates. We basically take ts_SI4RestOctets and change only these fields that we're interested in. In this case, it's GPRS Indicator. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 03:21:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 03:21:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 03:21:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 to look at the new patch set (#2). Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... BTS: refactor f_get_si3(), so it can be used to get SI4 This is needed for the follow up change(s) verifying the GPRS indicator in the Rest Octets of RR System Information Type 4. Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 14 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18029/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 03:36:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 03:36:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 to look at the new patch set (#3). Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... BTS: refactor f_get_si3(), so it can be used to get SI4 This is needed for the follow up change(s) verifying the GPRS indicator in the Rest Octets of RR System Information Type 4. Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 15 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18029/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 05:24:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 05:24:20 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#5) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... mobile: add audio config, with unused audio loopback setting The aim is to add configurable audio loopback to mobile. An existing patch on a branch from fixeria [1] adds the audio config section. Add a reduced version of this audio config to be compatible with the future merge. Add the audio loopback setting, so far without functionality. Subsequent patch adds the actual loopback. [1] osmocom-bb branch fixeria/audio, patch "mobile/vty_interface.c: add new 'audio' section" Change-id I62cd5ef22ca2290fcafe65c78537ddbcb39fb8c6 Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a --- M doc/examples/mobile/default.cfg M doc/examples/mobile/multi_ms.cfg M src/host/layer23/include/osmocom/bb/mobile/settings.h M src/host/layer23/include/osmocom/bb/mobile/vty.h M src/host/layer23/src/mobile/settings.c M src/host/layer23/src/mobile/vty_interface.c 6 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/93/17593/5 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 05:24:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 05:24:20 +0000 Subject: Change in osmocom-bb[master]: mobile: implement 'loopback' TCH frame I/O handler In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#8) to the change originally created by neels. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: implement 'loopback' TCH frame I/O handler ...................................................................... mobile: implement 'loopback' TCH frame I/O handler Use newly added audio / loopback config vty node to provide audio loopback from mobile app. Only FR is supported for now. Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 22 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/81/17381/8 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 05:24:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 05:24:20 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2) to the change originally created by osmith. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... mobile: loopback: support EFR Related: SYS#4924 Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 23 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/22/18022/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 06:28:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 06:28:50 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 5 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: Tue, 05 May 2020 06:28:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 06:31:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 06:31:34 +0000 Subject: Change in osmocom-bb[master]: mobile: implement 'loopback' TCH frame I/O handler In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: implement 'loopback' TCH frame I/O handler ...................................................................... Patch Set 8: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/17381/8/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/17381/8/src/host/layer23/src/mobile/voice.c at 52 PS8, Line 52: TODO: print error message here unresolved todo? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 05 May 2020 06:31:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 06:34:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 06:34:46 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 5 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: Tue, 05 May 2020 06:34:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 06:38:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 06:38:20 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18021/2/src/host/layer23/src/common/l1ctl.c File src/host/layer23/src/common/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18021/2/src/host/layer23/src/common/l1ctl.c at 898 PS2, Line 898: * FIXME: this is FR only, check for TCH/F (FR) and TCH/H (HR) */ : /* RFC 3551, section 4.5.8 GSM */ : if (frame_len != 13) { actually, the code claims to be FR only, but then it actually checks for 13 and not 33. Also,we do have #defines for the frame lengths in libosmocore. I mentioned this to you before. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 06:38:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 06:39:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 06:39:36 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 05 May 2020 06:39:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 5 08:12:40 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 05 May 2020 08:12:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb11fff95ace_20242ae0456bc600368522@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 528s] ^~~~~~~~~~~~~~~~~~~ [ 528s] main.c: In function 'main': [ 528s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 528s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 528s] ^~~~~~~~~~~~~~~~~~~ [ 528s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 528s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 528s] ^ [ 528s] cc1: some warnings being treated as errors [ 528s] Makefile:469: recipe for target 'main.o' failed [ 528s] make[3]: *** [main.o] Error 1 [ 528s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 528s] Makefile:402: recipe for target 'all-recursive' failed [ 528s] make[2]: *** [all-recursive] Error 1 [ 528s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 528s] Makefile:349: recipe for target 'all' failed [ 528s] make[1]: *** [all] Error 2 [ 528s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 528s] dh_auto_build: make -j1 returned exit code 2 [ 528s] debian/rules:45: recipe for target 'build' failed [ 528s] make: *** [build] Error 2 [ 528s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 529s] ### VM INTERACTION START ### [ 532s] [ 505.210225] sysrq: SysRq : Power Off [ 532s] [ 505.245103] reboot: Power down [ 534s] ### VM INTERACTION END ### [ 535s] [ 535s] obs-arm-5 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Tue May 5 08:12:29 UTC 2020. [ 535s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 5 08:38:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:38:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: add PADDING attributes to SI3/SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 ) Change subject: library: add PADDING attributes to SI3/SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Gerrit-Change-Number: 18024 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:38:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:39:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:39:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: relax length constraints applied to SI Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 ) Change subject: library: relax length constraints applied to SI Rest Octets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Gerrit-Change-Number: 18025 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:39:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:40:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:40:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 ) Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026/1//COMMIT_MSG at 9 PS1, Line 9: Due to a buggy nature of TITAN's padding attributes, we cannot please include a link to the related eclipse titan bugs -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:40:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:40:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:40:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:40:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:40:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:40:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix missing GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 ) Change subject: BTS: fix missing GPRS Indicator in SI4 Rest Octets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Gerrit-Change-Number: 18028 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:40:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:41:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:41:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 ) Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:41:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:41:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:41:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: verify presence of GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 ) Change subject: BTS: verify presence of GPRS Indicator in SI4 Rest Octets ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Gerrit-Change-Number: 18030 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 08:41:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:42:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:42:41 +0000 Subject: Change in osmo-hlr[master]: make osmo_cni_peer_id_cmp() NULL safe In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18037 ) Change subject: make osmo_cni_peer_id_cmp() NULL safe ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b Gerrit-Change-Number: 18037 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 08:42:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:43:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:43:20 +0000 Subject: Change in osmo-hlr[master]: osmo_gsup_req_new(): require from_peer != NULL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18038 ) Change subject: osmo_gsup_req_new(): require from_peer != NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c Gerrit-Change-Number: 18038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 08:43:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:43:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:43:34 +0000 Subject: Change in osmo-hlr[master]: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18039 ) Change subject: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b Gerrit-Change-Number: 18039 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 08:43:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:44:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:44:12 +0000 Subject: Change in osmo-hlr[master]: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18040 ) Change subject: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d Gerrit-Change-Number: 18040 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 08:44:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 08:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 08:44:51 +0000 Subject: Change in osmo-hlr[master]: hlr_subscr_nam(): fix condition to fix nam=false notifications In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18041 ) Change subject: hlr_subscr_nam(): fix condition to fix nam=false notifications ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 Gerrit-Change-Number: 18041 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 08:44:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 09:01:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 09:01:21 +0000 Subject: Change in osmo-hlr[master]: hlr_subscr_nam(): fix condition to fix nam=false notifications In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18041 ) Change subject: hlr_subscr_nam(): fix condition to fix nam=false notifications ...................................................................... Patch Set 1: Code-Review+1 As usual I'd encourage using comparison against '\0'. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 Gerrit-Change-Number: 18041 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 09:01:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:15:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 10:15:59 +0000 Subject: Change in osmo-gsm-tester[master]: WIP: Move all obj/ references in suite.py to testenv.py References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 ) Change subject: WIP: Move all obj/ references in suite.py to testenv.py ...................................................................... WIP: Move all obj/ references in suite.py to testenv.py Change-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e --- M selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 7 files changed, 315 insertions(+), 270 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/18042/1 diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/test_suite/hello_world.py index 073d07f..a69f95a 100644 --- a/selftest/suite_test/test_suite/hello_world.py +++ b/selftest/suite_test/test_suite/hello_world.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * print('hello world') -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) print('one\ntwo\nthree') diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/test_suite/test_error.py index c0583ff..70d14a1 100755 --- a/selftest/suite_test/test_suite/test_error.py +++ b/selftest/suite_test/test_suite/test_error.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) assert False diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/test_suite/test_fail.py index cbaeded..ffb7218 100755 --- a/selftest/suite_test/test_suite/test_fail.py +++ b/selftest/suite_test/test_suite/test_fail.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) test.set_fail('EpicFail', 'This failure is expected') diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 93dbf6a..76c9ce9 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -21,9 +21,13 @@ import sys import time import traceback -from .. import testenv -from . import log, util, resource +from . import log +from . import util +from . import resource +from .event_loop import MainLoop + +from .. import testenv class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -51,12 +55,13 @@ return self._run_dir def run(self): + testenv_obj = None try: self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - testenv.setup(self.suite_run, self) + testenv_obj = testenv.setup(self.suite_run, self) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), self.path) @@ -83,6 +88,8 @@ self.err('TEST RUN ABORTED: %s' % type(e).__name__) raise finally: + if testenv_obj: + testenv_obj.stop() if self.log_target: self.log_target.remove() diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 6952fd2..3416ff5 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,18 +21,12 @@ import sys import time import pprint -from .core import config, log, util, process, schema, resource +from .core import config +from .core import log +from .core import util +from .core import schema +from .core import resource from .core import test -from .core.event_loop import MainLoop -from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from .obj import run_node -from .obj import epc -from .obj import enb -from .obj import bts -from .obj import ms - -class Timeout(Exception): - pass class SuiteDefinition(log.Origin): '''A test suite reserves resources for a number of tests. @@ -74,12 +68,9 @@ self.start_timestamp = None self.duration = None self.reserved_resources = None - self.objects_to_clean_up = None - self.test_import_modules_to_clean_up = [] self._resource_requirements = None self._resource_modifiers = None self._config = None - self._processes = [] self._run_dir = None self.trial = trial self.definition = suite_definition @@ -93,40 +84,6 @@ for test_basename in self.definition.test_basenames: self.tests.append(test.Test(self, test_basename)) - def register_for_cleanup(self, *obj): - assert all([hasattr(o, 'cleanup') for o in obj]) - self.objects_to_clean_up = self.objects_to_clean_up or [] - self.objects_to_clean_up.extend(obj) - - def objects_cleanup(self): - while self.objects_to_clean_up: - obj = self.objects_to_clean_up.pop() - try: - obj.cleanup() - except Exception: - log.log_exn() - - def test_import_modules_register_for_cleanup(self, mod): - ''' - Tests are required to call this API for any module loaded from its own - lib subdir, because they are loaded in the global namespace. Otherwise - later tests importing modules with the same name will re-use an already - loaded module. - ''' - if mod not in self.test_import_modules_to_clean_up: - self.dbg('registering module %r for cleanup' % mod) - self.test_import_modules_to_clean_up.append(mod) - - def test_import_modules_cleanup(self): - while self.test_import_modules_to_clean_up: - mod = self.test_import_modules_to_clean_up.pop() - try: - self.dbg('Cleaning up module %r' % mod) - del sys.modules[mod.__name__] - del mod - except Exception: - log.log_exn() - def mark_start(self): self.start_timestamp = time.time() self.duration = 0 @@ -155,11 +112,6 @@ self._run_dir = util.Dir(self.trial.get_run_dir().new_dir(self.name())) return self._run_dir - def get_test_run_dir(self): - if self.current_test: - return self.current_test.get_run_dir() - return self.get_run_dir() - def resource_requirements(self): if self._resource_requirements is None: self._resource_requirements = self.combined('resources') @@ -175,19 +127,24 @@ self._config = self.combined('config', False) return self._config + def resource_pool(self): + return self.resources_pool + def reserve_resources(self): if self.reserved_resources: raise RuntimeError('Attempt to reserve resources twice for a SuiteRun') self.log('reserving resources in', self.resources_pool.state_dir, '...') self.reserved_resources = self.resources_pool.reserve(self, self.resource_requirements(), self.resource_modifiers()) + def get_reserved_resource(self, resource_class_str, specifics): + return self.reserved_resources.get(resource_class_str, specifics=specifics) + def run_tests(self, names=None): suite_libdir = os.path.join(self.definition.suite_dir, 'lib') try: log.large_separator(self.trial.name(), self.name(), sublevel=2) self.mark_start() util.import_path_prepend(suite_libdir) - MainLoop.register_poll_func(self.poll) if not self.reserved_resources: self.reserve_resources() for t in self.tests: @@ -196,9 +153,6 @@ continue self.current_test = t t.run() - self.stop_processes() - self.objects_cleanup() - self.reserved_resources.put_all() except Exception: log.log_exn() except BaseException as e: @@ -206,14 +160,7 @@ self.err('SUITE RUN ABORTED: %s' % type(e).__name__) raise finally: - # if sys.exit() called from signal handler (e.g. SIGINT), SystemExit - # base exception is raised. Make sure to stop processes in this - # finally section. Resources are automatically freed with 'atexit'. - self.stop_processes() - self.objects_cleanup() self.free_resources() - MainLoop.unregister_poll_func(self.poll) - self.test_import_modules_cleanup() util.import_path_remove(suite_libdir) self.duration = time.time() - self.start_timestamp @@ -245,203 +192,11 @@ errors += 1 return (passed, skipped, failed, errors) - def remember_to_stop(self, process, respawn=False): - '''Ask suite to monitor and manage lifecycle of the Process object. If a - process managed by suite finishes before cleanup time, the current test - will be marked as FAIL and end immediatelly. If respwan=True, then suite - will respawn() the process instead.''' - self._processes.insert(0, (process, respawn)) - - def stop_processes(self): - if len(self._processes) == 0: - return - strategy = process.ParallelTerminationStrategy() - while self._processes: - proc, _ = self._processes.pop() - strategy.add_process(proc) - strategy.terminate_all() - - def stop_process(self, process): - 'Remove process from monitored list and stop it' - for proc_respawn in self._processes: - proc, respawn = proc_respawn - if proc == process: - self._processes.remove(proc_respawn) - proc.terminate() - def free_resources(self): if self.reserved_resources is None: return self.reserved_resources.free() - def ip_address(self, specifics=None): - return self.reserved_resources.get(resource.R_IP_ADDRESS, specifics=specifics) - - def nitb(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return nitb_osmo.OsmoNitb(self, ip_address) - - def hlr(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return hlr_osmo.OsmoHlr(self, ip_address) - - def ggsn(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return ggsn_osmo.OsmoGgsn(self, ip_address) - - def sgsn(self, hlr, ggsn, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) - - def mgcpgw(self, ip_address=None, bts_ip=None): - if ip_address is None: - ip_address = self.ip_address() - return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) - - def mgw(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return mgw_osmo.OsmoMgw(self, ip_address) - - def msc(self, hlr, mgcpgw, stp, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) - - def bsc(self, msc, mgw, stp, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) - - def stp(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return stp_osmo.OsmoStp(self, ip_address) - - def ms_driver(self): - ms = ms_driver.MsDriver(self) - self.register_for_cleanup(ms) - return ms - - def bts(self, specifics=None): - bts_obj = bts.Bts.get_instance_by_type(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) - bts_obj.set_lac(self.lac()) - bts_obj.set_rac(self.rac()) - bts_obj.set_cellid(self.cellid()) - bts_obj.set_bvci(self.bvci()) - self.register_for_cleanup(bts_obj) - return bts_obj - - def modem(self, specifics=None): - conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) - ms_obj = ms.MS.get_instance_by_type(self, conf) - self.register_for_cleanup(ms_obj) - return ms_obj - - def modems(self, count): - l = [] - for i in range(count): - l.append(self.modem()) - return l - - def all_resources(self, resource_func): - """Returns all yielded resource.""" - l = [] - while True: - try: - l.append(resource_func()) - except resource.NoResourceExn: - return l - - def esme(self): - esme_obj = esme.Esme(self.msisdn()) - self.register_for_cleanup(esme_obj) - return esme_obj - - def run_node(self, specifics=None): - return run_node.RunNode.from_conf(self.reserved_resources.get(resource.R_RUN_NODE, specifics=specifics)) - - def enb(self, specifics=None): - enb_obj = enb.eNodeB.get_instance_by_type(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) - self.register_for_cleanup(enb_obj) - return enb_obj - - def epc(self, run_node=None): - if run_node is None: - run_node = self.run_node() - epc_obj = epc.EPC.get_instance_by_type(self, run_node) - self.register_for_cleanup(epc_obj) - return epc_obj - - def osmocon(self, specifics=None): - conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) - osmocon_obj = osmocon.Osmocon(self, conf=conf) - self.register_for_cleanup(osmocon_obj) - return osmocon_obj - - def iperf3srv(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) - return iperf3srv_obj - - def msisdn(self): - msisdn = self.resources_pool.next_msisdn(self) - self.log('using MSISDN', msisdn) - return msisdn - - def lac(self): - lac = self.resources_pool.next_lac(self) - self.log('using LAC', lac) - return lac - - def rac(self): - rac = self.resources_pool.next_rac(self) - self.log('using RAC', rac) - return rac - - def cellid(self): - cellid = self.resources_pool.next_cellid(self) - self.log('using CellId', cellid) - return cellid - - def bvci(self): - bvci = self.resources_pool.next_bvci(self) - self.log('using BVCI', bvci) - return bvci - - def poll(self): - for proc, respawn in self._processes: - if proc.terminated(): - if respawn == True: - proc.respawn() - else: - proc.log_stdout_tail() - proc.log_stderr_tail() - log.ctx(proc) - raise log.Error('Process ended prematurely: %s' % proc.name()) - - def prompt(self, *msgs, **msg_details): - 'ask for user interaction. Do not use in tests that should run automatically!' - if msg_details: - msgs = list(msgs) - msgs.append('{%s}' % - (', '.join(['%s=%r' % (k,v) - for k,v in sorted(msg_details.items())]))) - msg = ' '.join(msgs) or 'Hit Enter to continue' - self.log('prompt:', msg) - sys.__stdout__.write('\n\n--- PROMPT ---\n') - sys.__stdout__.write(msg) - sys.__stdout__.write('\n') - sys.__stdout__.flush() - entered = util.input_polling('> ', MainLoop.poll) - self.log('prompt entered:', repr(entered)) - return entered - def resource_status_str(self): return '\n'.join(('', 'SUITE RUN: %s' % self.origin_id(), diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 8c4743a..3948f73 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -20,6 +20,22 @@ # These will be initialized before each test run. # A test script can thus establish its context by doing: # from osmo_gsm_tester.testenv import * + +import sys + +from .core import process +from .core import log as log_module +from .core import process as process_module +from .core import resource +from .core.event_loop import MainLoop + +from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 +from .obj import run_node +from .obj import epc +from .obj import enb +from .obj import bts +from .obj import ms + trial = None suite = None test = None @@ -32,22 +48,285 @@ sleep = None poll = None prompt = None -Timeout = None Sms = None process = None +class Timeout(Exception): + pass + +class TestEnv(log_module.Origin): + def __init__(self, suite_run, test): + super().__init__(log_module.C_TST, test.name()) + self.suite_run = suite_run + self._test = test + self.trial = suite_run.trial # backward compat with objects + self.resources_pool = suite_run.resource_pool() # backward compat with objects + self._processes = [] + self.test_import_modules_to_clean_up = [] + self.objects_to_clean_up = None + MainLoop.register_poll_func(self.poll) + + def suite(self): + return self.suite_run + + # backward compat with objects + def get_test_run_dir(self): + return self._test.get_run_dir() + + # backward compat with objects + def config(self): + return self.suite_run.config() + + def remember_to_stop(self, process, respawn=False): + '''Ask suite to monitor and manage lifecycle of the Process object. If a + process managed by suite finishes before cleanup time, the current test + will be marked as FAIL and end immediatelly. If respwan=True, then suite + will respawn() the process instead.''' + self._processes.insert(0, (process, respawn)) + + def stop_processes(self): + if len(self._processes) == 0: + return + strategy = process_module.ParallelTerminationStrategy() + while self._processes: + proc, _ = self._processes.pop() + strategy.add_process(proc) + strategy.terminate_all() + + def stop_process(self, process): + 'Remove process from monitored list and stop it' + for proc_respawn in self._processes: + proc, respawn = proc_respawn + if proc == process: + self._processes.remove(proc_respawn) + proc.terminate() + + def register_for_cleanup(self, *obj): + assert all([hasattr(o, 'cleanup') for o in obj]) + self.objects_to_clean_up = self.objects_to_clean_up or [] + self.objects_to_clean_up.extend(obj) + + def objects_cleanup(self): + while self.objects_to_clean_up: + obj = self.objects_to_clean_up.pop() + try: + obj.cleanup() + except Exception: + log_module.log_exn() + + def test_import_modules_register_for_cleanup(self, mod): + ''' + Tests are required to call this API for any module loaded from its own + lib subdir, because they are loaded in the global namespace. Otherwise + later tests importing modules with the same name will re-use an already + loaded module. + ''' + if mod not in self.test_import_modules_to_clean_up: + self.dbg('registering module %r for cleanup' % mod) + self.test_import_modules_to_clean_up.append(mod) + + def test_import_modules_cleanup(self): + while self.test_import_modules_to_clean_up: + mod = self.test_import_modules_to_clean_up.pop() + try: + self.dbg('Cleaning up module %r' % mod) + del sys.modules[mod.__name__] + del mod + except Exception: + log_module.log_exn() + + def poll(self): + for proc, respawn in self._processes: + if proc.terminated(): + if respawn == True: + proc.respawn() + else: + proc.log_stdout_tail() + proc.log_stderr_tail() + log_module.ctx(proc) + raise log_module.Error('Process ended prematurely: %s' % proc.name()) + + def stop(self): + # if sys.exit() called from signal handler (e.g. SIGINT), SystemExit + # base exception is raised. Make sure to stop processes in this + # finally section. Resources are automatically freed with 'atexit'. + self.stop_processes() + self.objects_cleanup() + self.suite_run.reserved_resources.put_all() + MainLoop.unregister_poll_func(self.poll) + self.test_import_modules_cleanup() + + def prompt(self, *msgs, **msg_details): + 'ask for user interaction. Do not use in tests that should run automatically!' + if msg_details: + msgs = list(msgs) + msgs.append('{%s}' % + (', '.join(['%s=%r' % (k,v) + for k,v in sorted(msg_details.items())]))) + msg = ' '.join(msgs) or 'Hit Enter to continue' + self.log('prompt:', msg) + sys.__stdout__.write('\n\n--- PROMPT ---\n') + sys.__stdout__.write(msg) + sys.__stdout__.write('\n') + sys.__stdout__.flush() + entered = util.input_polling('> ', MainLoop.poll) + self.log('prompt entered:', repr(entered)) + return entered + + def get_reserved_resource(self, resource_class_str, specifics=None): + return self.suite_run.get_reserved_resource(resource_class_str, specifics) + + def ip_address(self, specifics=None): + return self.get_reserved_resource(resource.R_IP_ADDRESS, specifics) + + def nitb(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return nitb_osmo.OsmoNitb(self, ip_address) + + def hlr(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return hlr_osmo.OsmoHlr(self, ip_address) + + def ggsn(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return ggsn_osmo.OsmoGgsn(self, ip_address) + + def sgsn(self, hlr, ggsn, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) + + def mgcpgw(self, ip_address=None, bts_ip=None): + if ip_address is None: + ip_address = self.ip_address() + return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) + + def mgw(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return mgw_osmo.OsmoMgw(self, ip_address) + + def msc(self, hlr, mgcpgw, stp, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) + + def bsc(self, msc, mgw, stp, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) + + def stp(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return stp_osmo.OsmoStp(self, ip_address) + + def ms_driver(self): + ms = ms_driver.MsDriver(self) + self.register_for_cleanup(ms) + return ms + + def bts(self, specifics=None): + bts_obj = bts.Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) + bts_obj.set_lac(self.lac()) + bts_obj.set_rac(self.rac()) + bts_obj.set_cellid(self.cellid()) + bts_obj.set_bvci(self.bvci()) + self.register_for_cleanup(bts_obj) + return bts_obj + + def modem(self, specifics=None): + conf = self.get_reserved_resource(resource.R_MODEM, specifics=specifics) + ms_obj = ms.MS.get_instance_by_type(self, conf) + self.register_for_cleanup(ms_obj) + return ms_obj + + def modems(self, count): + l = [] + for i in range(count): + l.append(self.modem()) + return l + + def all_resources(self, resource_func): + """Returns all yielded resource.""" + l = [] + while True: + try: + l.append(resource_func()) + except resource.NoResourceExn: + return l + + def esme(self): + esme_obj = esme.Esme(self.msisdn()) + self.register_for_cleanup(esme_obj) + return esme_obj + + def run_node(self, specifics=None): + return run_node.RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) + + def enb(self, specifics=None): + enb_obj = enb.eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) + self.register_for_cleanup(enb_obj) + return enb_obj + + def epc(self, run_node=None): + if run_node is None: + run_node = self.run_node() + epc_obj = epc.EPC.get_instance_by_type(self, run_node) + self.register_for_cleanup(epc_obj) + return epc_obj + + def osmocon(self, specifics=None): + conf = self.get_reserved_resource(resource.R_OSMOCON, specifics=specifics) + osmocon_obj = osmocon.Osmocon(self, conf=conf) + self.register_for_cleanup(osmocon_obj) + return osmocon_obj + + def iperf3srv(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) + return iperf3srv_obj + + def msisdn(self): + msisdn = self.suite_run.resource_pool().next_msisdn(self) + self.log('using MSISDN', msisdn) + return msisdn + + def lac(self): + lac = self.suite_run.resource_pool().next_lac(self) + self.log('using LAC', lac) + return lac + + def rac(self): + rac = self.suite_run.resource_pool().next_rac(self) + self.log('using RAC', rac) + return rac + + def cellid(self): + cellid = self.suite_run.resource_pool().next_cellid(self) + self.log('using CellId', cellid) + return cellid + + def bvci(self): + bvci = self.suite_run.resource_pool().next_bvci(self) + self.log('using BVCI', bvci) + return bvci + + def setup(suite_run, _test): - from .core import process as process_module from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class from . import suite as suite_module - global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Timeout, Sms, process + global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process trial = suite_run.trial - suite = suite_run test = _test - resources = suite_run.reserved_resources + resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest log = test.log dbg = test.dbg err = test.err @@ -55,9 +334,10 @@ wait_no_raise = lambda *args, **kwargs: MainLoop.wait_no_raise(suite_run, *args, **kwargs) sleep = lambda *args, **kwargs: MainLoop.sleep(suite_run, *args, **kwargs) poll = MainLoop.poll - prompt = suite_run.prompt - Timeout = suite_module.Timeout Sms = Sms_class process = process_module + suite = TestEnv(suite_run, _test) # stored in "suite" for backward compatibility + prompt = suite.prompt + return suite # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index fb94a59..08b7d8f 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,7 +22,10 @@ import shutil import tarfile -from .core import log, util, report +from .core import log +from .core import util +from .core import report + from . import suite FILE_MARK_TAKEN = 'taken' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 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: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e Gerrit-Change-Number: 18042 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:16:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 10:16:09 +0000 Subject: Change in osmo-gsm-tester[master]: Move all obj/ references in suite.py to testenv.py In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 ) Change subject: Move all obj/ references in suite.py to testenv.py ...................................................................... Move all obj/ references in suite.py to testenv.py Change-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e --- M selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 7 files changed, 315 insertions(+), 270 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/18042/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 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: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e Gerrit-Change-Number: 18042 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:19:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 10:19:13 +0000 Subject: Change in osmo-gsm-tester[master]: Move all obj/ references in suite.py to testenv.py In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 ) Change subject: Move all obj/ references in suite.py to testenv.py ...................................................................... Move all obj/ references in suite.py to testenv.py Change-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e --- M selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 7 files changed, 315 insertions(+), 271 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/18042/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 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: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e Gerrit-Change-Number: 18042 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:33:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:33:20 +0000 Subject: Change in osmo-hlr[master]: hlr_subscr_nam(): fix condition to fix nam=false notifications In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18041 ) Change subject: hlr_subscr_nam(): fix condition to fix nam=false notifications ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 Gerrit-Change-Number: 18041 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 10:33:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 10:35:41 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 to look at the new patch set (#3). Change subject: mobile: traffic req check: support EFR ...................................................................... mobile: traffic req check: support EFR L1CTL handling code should not be involved in such high level checks, so while at it, move the check into a separate function in gsm48_rr.c and add a length check. gsm48_rr_tx_voice() is the only caller of l1ctl_tx_traffic_req(). Related: SYS#4924 Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 --- M src/host/layer23/src/common/l1ctl.c M src/host/layer23/src/mobile/gsm48_rr.c 2 files changed, 47 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/21/18021/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:35:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 10:35:41 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 to look at the new patch set (#3). Change subject: mobile: loopback: support EFR ...................................................................... mobile: loopback: support EFR Related: SYS#4924 Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 23 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/22/18022/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:36:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:36:01 +0000 Subject: Change in osmo-hlr[master]: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18040 ) Change subject: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d Gerrit-Change-Number: 18040 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 10:36:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:38:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 10:38:05 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... Patch Set 3: (1 comment) > Patch Set 1: Code-Review-1 > > I believe that L1CTL handling code should not be involved in such high level checks, so ideally we should drop this 'if' [1] and move your code to the place, from where l1ctl_tx_traffic_req() is called. > > [1] https://git.osmocom.org/osmocom-bb/commit/?h=fixeria/audio&id=8d093f5e291b847c326e02cbbe660a7ad5fc11e1 Done https://gerrit.osmocom.org/c/osmocom-bb/+/18021/2/src/host/layer23/src/common/l1ctl.c File src/host/layer23/src/common/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18021/2/src/host/layer23/src/common/l1ctl.c at 898 PS2, Line 898: * FIXME: this is FR only, check for TCH/F (FR) and TCH/H (HR) */ : /* RFC 3551, section 4.5.8 GSM */ : if (frame_len != 13) { > actually, the code claims to be FR only, but then it actually checks for 13 and not 33. [?] Thanks, fixed and verified that both the FR and EFR code paths are working. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 May 2020 10:38:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:38:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:38:37 +0000 Subject: Change in osmo-hlr[master]: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18039 ) Change subject: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b Gerrit-Change-Number: 18039 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 10:38:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:38:39 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 10:38:39 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18022/1/src/host/layer23/src/mobile/voice.c File src/host/layer23/src/mobile/voice.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18022/1/src/host/layer23/src/mobile/voice.c at 93 PS1, Line 93: %i > Rather use 0x%02x. Done -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 05 May 2020 10:38:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:40:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:40:32 +0000 Subject: Change in osmo-hlr[master]: osmo_gsup_req_new(): require from_peer != NULL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18038 ) Change subject: osmo_gsup_req_new(): require from_peer != NULL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c Gerrit-Change-Number: 18038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 10:40:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:40:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:40:43 +0000 Subject: Change in osmo-hlr[master]: make osmo_cni_peer_id_cmp() NULL safe In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18037 ) Change subject: make osmo_cni_peer_id_cmp() NULL safe ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b Gerrit-Change-Number: 18037 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 10:40:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:41:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:41:35 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... Patch Set 5: LGTM! -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 5 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: Tue, 05 May 2020 10:41:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 10:41:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 10:41:48 +0000 Subject: Change in osmocom-bb[master]: mobile: add audio config, with unused audio loopback setting In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17593 ) Change subject: mobile: add audio config, with unused audio loopback setting ...................................................................... mobile: add audio config, with unused audio loopback setting The aim is to add configurable audio loopback to mobile. An existing patch on a branch from fixeria [1] adds the audio config section. Add a reduced version of this audio config to be compatible with the future merge. Add the audio loopback setting, so far without functionality. Subsequent patch adds the actual loopback. [1] osmocom-bb branch fixeria/audio, patch "mobile/vty_interface.c: add new 'audio' section" Change-id I62cd5ef22ca2290fcafe65c78537ddbcb39fb8c6 Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a --- M doc/examples/mobile/default.cfg M doc/examples/mobile/multi_ms.cfg M src/host/layer23/include/osmocom/bb/mobile/settings.h M src/host/layer23/include/osmocom/bb/mobile/vty.h M src/host/layer23/src/mobile/settings.c M src/host/layer23/src/mobile/vty_interface.c 6 files changed, 90 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/examples/mobile/default.cfg b/doc/examples/mobile/default.cfg index cc81630..f14e900 100644 --- a/doc/examples/mobile/default.cfg +++ b/doc/examples/mobile/default.cfg @@ -59,4 +59,6 @@ ki comp128 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 no barred-access rplmn 001 01 + audio + io-handler none no shutdown diff --git a/doc/examples/mobile/multi_ms.cfg b/doc/examples/mobile/multi_ms.cfg index bef2406..c72817f 100644 --- a/doc/examples/mobile/multi_ms.cfg +++ b/doc/examples/mobile/multi_ms.cfg @@ -59,6 +59,8 @@ ki comp128 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 no barred-access rplmn 001 01 + audio + io-handler none no shutdown ! ms two @@ -109,4 +111,6 @@ ki comp128 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff no barred-access rplmn 001 01 + audio + io-handler none no shutdown diff --git a/src/host/layer23/include/osmocom/bb/mobile/settings.h b/src/host/layer23/include/osmocom/bb/mobile/settings.h index 4e5d5a1..57f23ee 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/settings.h +++ b/src/host/layer23/include/osmocom/bb/mobile/settings.h @@ -3,10 +3,29 @@ #define MOB_C7_DEFLT_ANY_TIMEOUT 30 +/* TCH frame I/O handler */ +enum audio_io_handler { + /* No handler, drop frames */ + AUDIO_IOH_NONE = 0, + /* Return to sender */ + AUDIO_IOH_LOOPBACK, +}; + +extern const struct value_string audio_io_handler_names[]; +static inline const char *audio_io_handler_name(enum audio_io_handler val) +{ return get_value_string(audio_io_handler_names, val); } + +struct audio_settings { + enum audio_io_handler io_handler; +}; + struct gsm_settings { char layer2_socket_path[128]; char sap_socket_path[128]; + /* Audio settings */ + struct audio_settings audio; + /* IMEI */ char imei[16]; char imeisv[17]; diff --git a/src/host/layer23/include/osmocom/bb/mobile/vty.h b/src/host/layer23/include/osmocom/bb/mobile/vty.h index 3bec113..d066804 100644 --- a/src/host/layer23/include/osmocom/bb/mobile/vty.h +++ b/src/host/layer23/include/osmocom/bb/mobile/vty.h @@ -10,6 +10,7 @@ MS_NODE = _LAST_OSMOVTY_NODE + 1, TESTSIM_NODE, SUPPORT_NODE, + AUDIO_NODE, }; int ms_vty_go_parent(struct vty *vty); diff --git a/src/host/layer23/src/mobile/settings.c b/src/host/layer23/src/mobile/settings.c index 388c754..9742b1d 100644 --- a/src/host/layer23/src/mobile/settings.c +++ b/src/host/layer23/src/mobile/settings.c @@ -41,6 +41,9 @@ strcpy(set->layer2_socket_path, layer2_socket_path); strcpy(set->sap_socket_path, sap_socket_path); + /* Audio settings: drop TCH frames by default */ + set->audio.io_handler = AUDIO_IOH_NONE; + /* network search */ set->plmn_mode = PLMN_MODE_AUTO; @@ -194,3 +197,8 @@ return 0; } +const struct value_string audio_io_handler_names[] = { + { AUDIO_IOH_NONE, "none" }, + { AUDIO_IOH_LOOPBACK, "loopback" }, + { 0x00, NULL} +}; diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 70ee703..073303c 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -65,6 +65,12 @@ 1 }; +struct cmd_node audio_node = { + AUDIO_NODE, + "%s(audio)# ", + 1 +}; + static void print_vty(void *priv, const char *fmt, ...) { char buffer[1000]; @@ -1526,6 +1532,10 @@ vty_out(vty, " c7-any-timeout %d%s", set->any_timeout, VTY_NEWLINE); + vty_out(vty, " audio%s", VTY_NEWLINE); + if (!hide_default || set->audio.io_handler != AUDIO_IOH_NONE) + vty_out(vty, " io-handler %s%s", audio_io_handler_name(set->audio.io_handler), VTY_NEWLINE); + /* no shutdown must be written to config, because shutdown is default */ vty_out(vty, " %sshutdown%s", (ms->shutdown != MS_SHUTDOWN_NONE) ? "" : "no ", VTY_NEWLINE); @@ -2727,6 +2737,46 @@ return CMD_SUCCESS; } +/* per audio config */ +DEFUN(cfg_ms_audio, cfg_ms_audio_cmd, "audio", + "Configure audio settings") +{ + vty->node = AUDIO_NODE; + return CMD_SUCCESS; +} + +static int set_audio_io_handler(struct vty *vty, enum audio_io_handler val) +{ + struct osmocom_ms *ms = (struct osmocom_ms *) vty->index; + struct gsm_settings *set = &ms->settings; + + /* Don't restart on unchanged value */ + if (val == set->audio.io_handler) + return CMD_SUCCESS; + set->audio.io_handler = val; + + /* Restart required */ + vty_restart_if_started(vty, ms); + + return CMD_SUCCESS; +} + +DEFUN(cfg_ms_audio_io_handler, cfg_ms_audio_io_handler_cmd, + "io-handler (loopback|none)", + "Set TCH frame I/O handler\n" + "Return TCH frame payload back to sender\n" + "No handler, drop TCH frames (default)") +{ + int val = get_string_value(audio_io_handler_names, argv[0]); + return set_audio_io_handler(vty, val); +} + +DEFUN(cfg_ms_audio_no_io_handler, cfg_ms_audio_no_io_handler_cmd, + "no io-handler", NO_STR "Disable TCH frame processing") +{ + return set_audio_io_handler(vty, AUDIO_IOH_NONE); +} + DEFUN(cfg_no_shutdown, cfg_ms_no_shutdown_cmd, "no shutdown", NO_STR "Activate and run MS") { @@ -2807,6 +2857,7 @@ break; case TESTSIM_NODE: case SUPPORT_NODE: + case AUDIO_NODE: vty->node = MS_NODE; break; default: @@ -2918,6 +2969,7 @@ install_element(MS_NODE, &cfg_ms_abbrev_cmd); install_element(MS_NODE, &cfg_ms_no_abbrev_cmd); install_element(MS_NODE, &cfg_ms_testsim_cmd); + install_element(MS_NODE, &cfg_ms_audio_cmd); install_element(MS_NODE, &cfg_ms_neighbour_cmd); install_element(MS_NODE, &cfg_ms_no_neighbour_cmd); install_element(MS_NODE, &cfg_ms_any_timeout_cmd); @@ -2995,6 +3047,10 @@ install_element(MS_NODE, &cfg_ms_script_load_run_cmd); install_element(MS_NODE, &cfg_ms_no_script_load_run_cmd); + install_node(&audio_node, config_write_dummy); + install_element(AUDIO_NODE, &cfg_ms_audio_io_handler_cmd); + install_element(AUDIO_NODE, &cfg_ms_audio_no_io_handler_cmd); + /* Register the talloc context introspection command */ osmo_talloc_vty_add_cmds(); -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie03e4a6c6f81ea3925266dd22e87506d722a6e1a Gerrit-Change-Number: 17593 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 11:59:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 11:59:33 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... osmo-hlr-master: run ldconfig Fix error after DGSM-related patches were merged: osmo-hlr: error while loading shared libraries: libosmo-gsup-client.so.0: cannot open shared object file: No such file or directory Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c --- M osmo-hlr-master/Dockerfile 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/43/18043/1 diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 6a09b0d..3aa8468 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -35,7 +35,8 @@ git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ - make -j8 install + make -j8 install && \ + ldconfig VOLUME /data -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 12:02:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 12:02:18 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 12:02:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 12:04:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 12:04:39 +0000 Subject: Change in osmo-gsm-tester[master]: Move trial.py and suite.py to core/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 ) Change subject: Move trial.py and suite.py to core/ ...................................................................... Move trial.py and suite.py to core/ Change-Id: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b --- M selftest/suite_test.py M selftest/trial_test.py M src/osmo-gsm-tester.py R src/osmo_gsm_tester/core/suite.py R src/osmo_gsm_tester/core/trial.py 5 files changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/18044/1 diff --git a/selftest/suite_test.py b/selftest/suite_test.py index 560ca50..de5c6df 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -3,8 +3,8 @@ import _prep import shutil from osmo_gsm_tester.core import log, config, util, report +from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import suite config.ENV_CONF = './suite_test' diff --git a/selftest/trial_test.py b/selftest/trial_test.py index e73ca37..41d71e6 100755 --- a/selftest/trial_test.py +++ b/selftest/trial_test.py @@ -4,7 +4,7 @@ import _prep import os from osmo_gsm_tester.core import util -from osmo_gsm_tester.trial import Trial +from osmo_gsm_tester.core.trial import Trial workdir = util.get_tempdir() diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index af66b32..dc1e058 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -71,9 +71,10 @@ from signal import * from osmo_gsm_tester import __version__ from osmo_gsm_tester.core import log +from osmo_gsm_tester.core import trial +from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): print("killed by signal %d" % signum) diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/core/suite.py similarity index 98% rename from src/osmo_gsm_tester/suite.py rename to src/osmo_gsm_tester/core/suite.py index 3416ff5..0995f8f 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -21,12 +21,12 @@ import sys import time import pprint -from .core import config -from .core import log -from .core import util -from .core import schema -from .core import resource -from .core import test +from . import config +from . import log +from . import util +from . import schema +from . import resource +from . import test class SuiteDefinition(log.Origin): '''A test suite reserves resources for a number of tests. diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/core/trial.py similarity index 98% rename from src/osmo_gsm_tester/trial.py rename to src/osmo_gsm_tester/core/trial.py index 08b7d8f..83b0f11 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/core/trial.py @@ -22,10 +22,9 @@ import shutil import tarfile -from .core import log -from .core import util -from .core import report - +from . import log +from . import util +from . import report from . import suite FILE_MARK_TAKEN = 'taken' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 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: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b Gerrit-Change-Number: 18044 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 12:04:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 12:04:39 +0000 Subject: Change in osmo-gsm-tester[master]: Update obj classes in obj/ to use testenv instead of suite_run References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 ) Change subject: Update obj classes in obj/ to use testenv instead of suite_run ...................................................................... Update obj classes in obj/ to use testenv instead of suite_run Change-Id: Idf41243a497de7bc507b9f1cd1b38640f456f815 --- M src/osmo_gsm_tester/core/suite.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_octphy.py M src/osmo_gsm_tester/obj/bts_osmo.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/bts_osmovirtual.py M src/osmo_gsm_tester/obj/bts_sysmo.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ggsn_osmo.py M src/osmo_gsm_tester/obj/hlr_osmo.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/mgcpgw_osmo.py M src/osmo_gsm_tester/obj/mgw_osmo.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_driver.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/msc_osmo.py M src/osmo_gsm_tester/obj/nitb_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/pcap_recorder.py M src/osmo_gsm_tester/obj/pcu.py M src/osmo_gsm_tester/obj/pcu_oc2g.py M src/osmo_gsm_tester/obj/pcu_osmo.py M src/osmo_gsm_tester/obj/pcu_sysmo.py M src/osmo_gsm_tester/obj/sgsn_osmo.py M src/osmo_gsm_tester/obj/stp_osmo.py M src/osmo_gsm_tester/testenv.py M src/osmo_ms_driver/starter.py 39 files changed, 282 insertions(+), 288 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/45/18045/1 diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 0995f8f..1bd6a63 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -72,13 +72,16 @@ self._resource_modifiers = None self._config = None self._run_dir = None - self.trial = trial + self._trial = trial self.definition = suite_definition self.scenarios = scenarios self.resources_pool = resource.ResourcesPool() self.status = SuiteRun.UNKNOWN self.load_tests() + def trial(self): + return self._trial + def load_tests(self): self.tests = [] for test_basename in self.definition.test_basenames: @@ -109,7 +112,7 @@ def get_run_dir(self): if self._run_dir is None: - self._run_dir = util.Dir(self.trial.get_run_dir().new_dir(self.name())) + self._run_dir = util.Dir(self._trial.get_run_dir().new_dir(self.name())) return self._run_dir def resource_requirements(self): @@ -142,7 +145,7 @@ def run_tests(self, names=None): suite_libdir = os.path.join(self.definition.suite_dir, 'lib') try: - log.large_separator(self.trial.name(), self.name(), sublevel=2) + log.large_separator(self._trial.name(), self.name(), sublevel=2) self.mark_start() util.import_path_prepend(suite_libdir) if not self.reserved_resources: @@ -171,7 +174,7 @@ else: self.status = SuiteRun.FAIL - log.large_separator(self.trial.name(), self.name(), self.status, sublevel=2, space_above=False) + log.large_separator(self._trial.name(), self.name(), self.status, sublevel=2, space_above=False) def passed(self): return self.status == SuiteRun.PASS diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 76c9ce9..8ab124b 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -58,7 +58,7 @@ testenv_obj = None try: self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) - log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) + log.large_separator(self.suite_run.trial().name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() testenv_obj = testenv.setup(self.suite_run, self) diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 046ef94..22b2dad 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -34,7 +34,7 @@ class OsmoBsc(log.Origin): - def __init__(self, suite_run, msc, mgw, stp, ip_address): + def __init__(self, testenv, msc, mgw, stp, ip_address): super().__init__(log.C_RUN, 'osmo-bsc_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None @@ -42,7 +42,7 @@ self.encryption = None self.rsl_ip = None self.use_osmux = "off" - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.bts = [] self.msc = msc @@ -51,10 +51,10 @@ def start(self): self.log('Starting osmo-bsc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) binary = inst.child('bin', 'osmo-bsc') if not os.path.isfile(binary): @@ -67,7 +67,7 @@ filter = 'host %s or host %s and port not 22' % (self.addr(), self.rsl_ip) else: filter = 'host %s and port not 22' % self.addr() - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, filter) + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, filter) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -76,7 +76,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -84,7 +84,7 @@ self.dbg(config_file=self.config_file) values = dict(bsc=config.get_defaults('bsc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(bsc=dict(ip_address=self.ip_address))) config.overlay(values, self.mgw.conf_for_client()) config.overlay(values, self.stp.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index e23b555..56e5aaa 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -50,7 +50,7 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): + def __init__(self, testenv, conf, name, defaults_cfg_name): super().__init__(log.C_RUN, name) self.bsc = None self.sgsn = None @@ -61,7 +61,7 @@ self._num_trx = 1 self._max_trx = None self.overlay_trx_list = [] - self.suite_run = suite_run + self.testenv = testenv self.conf = conf self.defaults_cfg_name = defaults_cfg_name self._init_num_trx() @@ -162,7 +162,7 @@ 'Nothing to do by default. Subclass can override if required.' pass - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a BTS child class based on type. Opts are passed to the newly created object.""" bts_type = conf.get('type') if bts_type is None: @@ -188,7 +188,7 @@ bts_class = NanoBts else: raise log.Error('BTS type not supported:', bts_type) - return bts_class(suite_run, conf) + return bts_class(testenv, conf) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index 3e9b035..5c07bda 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -30,8 +30,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, 'nanobts_%s' % conf.get('label', 'nolabel'), 'nanobts') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, 'nanobts_%s' % conf.get('label', 'nolabel'), 'nanobts') self.pwsup_list = [] self._pcu = None @@ -94,7 +94,7 @@ def start(self, keepalive=False): if self.conf.get('ipa_unit_id') is None: raise log.Error('No attribute ipa_unit_id provided in conf!') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self._configure() unitid = int(self.conf.get('ipa_unit_id')) @@ -104,7 +104,7 @@ self.dbg('Powering cycling NanoBTS TRX') pwsup.power_cycle(1.0) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, '%s and port not 22' % self.get_pcap_filter_all_trx_ip()) @@ -116,14 +116,14 @@ local_bind_ip = util.dst_ip_get_local_bind(bts_trx_ip) self.log('Finding nanobts %s, binding on %s...' % (bts_trx_ip, local_bind_ip)) - ipfind = AbisIpFind(self.suite_run, self.run_dir, local_bind_ip, 'preconf') + ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'preconf') ipfind.start() ipfind.wait_bts_ready(bts_trx_ip) running_unitid, running_trx = ipfind.get_unitid_by_ip(bts_trx_ip) self.log('Found nanobts %s with unit_id %d trx %d' % (bts_trx_ip, running_unitid, running_trx)) ipfind.stop() - ipconfig = IpAccessConfig(self.suite_run, self.run_dir, bts_trx_ip) + ipconfig = IpAccessConfig(self.testenv, self.run_dir, bts_trx_ip) running_oml_ip = ipconfig.get_oml_ip() if running_unitid != unitid or running_trx != trx_i: @@ -142,7 +142,7 @@ MainLoop.sleep(self, 20) self.dbg('Starting to connect id %d trx %d to' % (unitid, trx_i), self.bsc) - ipfind = AbisIpFind(self.suite_run, self.run_dir, local_bind_ip, 'postconf') + ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'postconf') ipfind.start() ipfind.wait_bts_ready(bts_trx_ip) self.log('nanoBTS id %d trx %d configured and running' % (unitid, trx_i)) @@ -171,12 +171,12 @@ def pcu(self): if not self._pcu: - self._pcu = pcu.PcuDummy(self.suite_run, self, self.conf) + self._pcu = pcu.PcuDummy(self.testenv, self, self.conf) return self._pcu class AbisIpFind(log.Origin): - suite_run = None + testenv = None parent_run_dir = None run_dir = None inst = None @@ -187,16 +187,16 @@ BIN_ABISIP_FIND = 'abisip-find' BTS_UNIT_ID_RE = re.compile("Unit_ID='(?P\d+)/\d+/(?P\d+)'") - def __init__(self, suite_run, parent_run_dir, bind_ip, name_suffix): + def __init__(self, testenv, parent_run_dir, bind_ip, name_suffix): super().__init__(log.C_RUN, AbisIpFind.BIN_ABISIP_FIND + '-' + name_suffix) - self.suite_run = suite_run + self.testenv = testenv self.parent_run_dir = parent_run_dir self.bind_ip = bind_ip self.env = {} def start(self): self.run_dir = util.Dir(self.parent_run_dir.new_dir(self.name())) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) lib = self.inst.child('lib') if not os.path.isdir(lib): @@ -209,11 +209,11 @@ self.proc = process.Process(self.name(), self.run_dir, (ipfind_path, '-i', '1', '-b', self.bind_ip), env=env) - self.suite_run.remember_to_stop(self.proc) + self.testenv.remember_to_stop(self.proc) self.proc.launch() def stop(self): - self.suite_run.stop_process(self.proc) + self.testenv.stop_process(self.proc) def get_line_by_ip(self, ipaddr): """Get latest line (more up to date) from abisip-find based on ip address.""" @@ -246,7 +246,7 @@ MainLoop.sleep(self, 2) class IpAccessConfig(log.Origin): - suite_run = None + testenv = None parent_run_dir = None run_dir = None inst = None @@ -255,9 +255,9 @@ BIN_IPACCESS_CONFIG = 'ipaccess-config' - def __init__(self, suite_run, parent_run_dir, bts_ip): + def __init__(self, testenv, parent_run_dir, bts_ip): super().__init__(log.C_RUN, IpAccessConfig.BIN_IPACCESS_CONFIG) - self.suite_run = suite_run + self.testenv = testenv self.parent_run_dir = parent_run_dir self.bts_ip = bts_ip self.env = {} @@ -274,7 +274,7 @@ def run(self, name_suffix, *args): self.run_dir = util.Dir(self.parent_run_dir.new_dir(self.name()+'-'+name_suffix)) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) lib = self.inst.child('lib') self.env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } self.proc = self.create_process(IpAccessConfig.BIN_IPACCESS_CONFIG, *args) diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index 4a59eee..ee86cc3 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -31,8 +31,8 @@ BTS_OC2G_BIN = 'osmo-bts-oc2g' BTS_OC2G_CFG = 'osmo-bts-oc2g.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') self.run_dir = None self.inst = None self.remote_inst = None @@ -44,7 +44,7 @@ return util.str2bool(self.conf.get('direct_pcu')) def create_pcu(self): - return pcu_oc2g.OsmoPcuOC2G(self.suite_run, self, self.conf) + return pcu_oc2g.OsmoPcuOC2G(self.testenv, self, self.conf) def configure(self): if self.bsc is None: @@ -54,7 +54,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_bts_oc2g': config.get_defaults('osmo_bts_oc2g') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_oc2g': { 'oml_remote_ip': self.bsc.addr(), @@ -100,10 +100,10 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting OsmoBtsOC2G to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -131,6 +131,6 @@ args += ('-M',) self.proc_bts = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) - self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.testenv.remember_to_stop(self.proc_bts, keepalive) self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py index 11570e8..c4d3910 100644 --- a/src/osmo_gsm_tester/obj/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -31,8 +31,8 @@ BIN_BTS_OCTPHY = 'osmo-bts-octphy' CONF_BTS_OCTPHY = 'osmo-bts-octphy.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsOctphy.BIN_BTS_OCTPHY, 'osmo_bts_octphy') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsOctphy.BIN_BTS_OCTPHY, 'osmo_bts_octphy') self.run_dir = None self.inst = None self.env = {} @@ -46,7 +46,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc) + self.testenv.remember_to_stop(proc) proc.launch() return proc @@ -85,7 +85,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_bts_octphy=config.get_defaults('osmo_bts_octphy')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_octphy': { 'oml_remote_ip': self.bsc.addr(), @@ -117,13 +117,13 @@ def start(self): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) btsoct_path = self.inst.child('bin', OsmoBtsOctphy.BIN_BTS_OCTPHY) lib = self.inst.child('lib') if not os.path.isdir(lib): @@ -139,6 +139,6 @@ self.proc_bts = self.launch_process(OsmoBtsOctphy.BIN_BTS_OCTPHY, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr(), '-t', str(self.num_trx())) - self.suite_run.poll() + self.testenv.poll() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py index a182c47..c1a1f5c 100644 --- a/src/osmo_gsm_tester/obj/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -38,8 +38,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): - super().__init__(suite_run, conf, name, defaults_cfg_name) + def __init__(self, testenv, conf, name, defaults_cfg_name): + super().__init__(testenv, conf, name, defaults_cfg_name) self._pcu = None self.proc_bts = None if len(self.pcu_socket_path().encode()) > 107: @@ -86,9 +86,9 @@ # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): + def __init__(self, testenv, conf, name, defaults_cfg_name): self.pcu_sk_tmp_dir = None - super().__init__(suite_run, conf, name, defaults_cfg_name) + super().__init__(testenv, conf, name, defaults_cfg_name) ######################## # PUBLIC - INTERNAL API @@ -107,7 +107,7 @@ os.rmdir(self.pcu_sk_tmp_dir) def create_pcu(self): - return pcu_osmo.OsmoPcu(self.suite_run, self, self.conf) + return pcu_osmo.OsmoPcu(self.testenv, self, self.conf) def pcu_socket_path(self): if self.pcu_sk_tmp_dir is None: diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 9234fc8..42ed3f8 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -50,8 +50,8 @@ CONF_BTS_TRX = 'osmo-bts-trx.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsTrx.BIN_BTS_TRX, 'osmo_bts_trx') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsTrx.BIN_BTS_TRX, 'osmo_bts_trx') self.run_dir = None self.inst = None self.trx = None @@ -74,7 +74,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -86,7 +86,7 @@ values = dict(osmo_bts_trx=config.get_defaults('osmo_bts_trx')) config.overlay(values, dict(osmo_bts_trx=dict(osmo_trx=config.get_defaults('osmo_trx')))) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_trx': { 'oml_remote_ip': self.bsc.addr(), @@ -155,10 +155,10 @@ def start(self, keepalive=False): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() # Power cycle all TRX if needed (right now only TRX0 for SC5): @@ -170,12 +170,12 @@ i = i + 1 if self.launch_trx_enabled(): - self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.suite_run, self.conf_for_osmotrx()) + self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.testenv, self.conf_for_osmotrx()) self.trx.start(keepalive) self.log('Waiting for %s to start up...' % self.trx.name()) MainLoop.wait(self, self.trx.trx_ready) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -184,7 +184,7 @@ self.proc_bts = self.launch_process(keepalive, OsmoBtsTrx.BIN_BTS_TRX, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() ################################################################################ @@ -195,23 +195,23 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name): + def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, name) - self.suite_run = suite_run + self.testenv = testenv self.conf = conf - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) @classmethod - def get_instance_by_type(cls, type, suite_run, conf): + def get_instance_by_type(cls, type, testenv, conf): KNOWN_OSMOTRX_TYPES = { 'uhd': OsmoTrxUHD, 'lms': OsmoTrxLMS, 'sc5': TrxSC5 } osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) - return osmo_trx_class(suite_run, conf) + return osmo_trx_class(testenv, conf) ############## # PUBLIC (test API included) @@ -233,8 +233,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, self.binary_name()) + def __init__(self, testenv, conf): + super().__init__(testenv, conf, self.binary_name()) self.env = {} self.log("OSMOTRX CONF: %r" % conf) self.bts_ip = conf.get('osmo_trx', {}).get('bts_ip') @@ -274,7 +274,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -292,7 +292,7 @@ have_inst = rem_host.inst_compatible_for_remote() if have_inst: - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-trx'))) rem_host.recreate_remote_dir(remote_prefix_dir) if have_inst: @@ -311,7 +311,7 @@ remote_binary = self.binary_name() args = (remote_binary, '-C', remote_config_file) self.proc_trx = rem_host.RemoteProcessFixIgnoreSIGHUP(self.binary_name(), remote_run_dir, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.proc_trx, keepalive) + self.testenv.remember_to_stop(self.proc_trx, keepalive) self.proc_trx.launch() ############## @@ -323,7 +323,7 @@ self.start_remotely(keepalive) return # Run locally if ssh user is not set - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-trx'))) lib = self.inst.child('lib') self.env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } self.proc_trx = self.launch_process_local(keepalive, self.binary_name(), @@ -337,8 +337,8 @@ class OsmoTrxUHD(OsmoTrx): BIN_TRX = 'osmo-trx-uhd' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf) + def __init__(self, testenv, conf): + super().__init__(testenv, conf) def binary_name(self): return OsmoTrxUHD.BIN_TRX @@ -346,16 +346,16 @@ class OsmoTrxLMS(OsmoTrx): BIN_TRX = 'osmo-trx-lms' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf) + def __init__(self, testenv, conf): + super().__init__(testenv, conf) def binary_name(self): return OsmoTrxLMS.BIN_TRX class TrxSC5(Trx): - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, "sc5-trx") + def __init__(self, testenv, conf): + super().__init__(testenv, conf, "sc5-trx") self.ready = False def start(self, keepalive=False): diff --git a/src/osmo_gsm_tester/obj/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py index 495b2a8..b6470c1 100644 --- a/src/osmo_gsm_tester/obj/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -33,9 +33,9 @@ CONF_BTS = 'osmo-bts-virtual.cfg' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): """Initializes the OsmoBtsVirtual.""" - super().__init__(suite_run, conf, OsmoBtsVirtual.BIN_BTS, 'osmo_bts_virtual') + super().__init__(testenv, conf, OsmoBtsVirtual.BIN_BTS, 'osmo_bts_virtual') self.run_dir = None self.inst = None self.env = {} @@ -50,7 +50,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -63,7 +63,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_bts_virtual=config.get_defaults('osmo_bts_virtual')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_virtual': { 'oml_remote_ip': self.bsc.addr(), @@ -95,13 +95,13 @@ """Handles starting/turning-up the osmo-bts-virtual process.""" if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -110,6 +110,6 @@ self.proc_bts = self.launch_process(keepalive, OsmoBtsVirtual.BIN_BTS, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index aecf977..8f76ecb 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -31,8 +31,8 @@ BTS_SYSMO_BIN = 'osmo-bts-sysmo' BTS_SYSMO_CFG = 'osmo-bts-sysmo.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, SysmoBts.BTS_SYSMO_BIN, 'osmo_bts_sysmo') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, SysmoBts.BTS_SYSMO_BIN, 'osmo_bts_sysmo') self.run_dir = None self.inst = None self.remote_inst = None @@ -44,7 +44,7 @@ return util.str2bool(self.conf.get('direct_pcu')) def create_pcu(self): - return pcu_sysmo.OsmoPcuSysmo(self.suite_run, self, self.conf) + return pcu_sysmo.OsmoPcuSysmo(self.testenv, self, self.conf) def configure(self): if self.bsc is None: @@ -54,7 +54,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_bts_sysmo': config.get_defaults('osmo_bts_sysmo') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_sysmo': { 'oml_remote_ip': self.bsc.addr(), @@ -94,10 +94,10 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting sysmoBTS to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(SysmoBts.BTS_SYSMO_BIN))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(SysmoBts.BTS_SYSMO_BIN))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -127,7 +127,7 @@ args += ('-M',) self.proc_bts = rem_host.RemoteProcess(SysmoBts.BTS_SYSMO_BIN, args) - self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.testenv.remember_to_stop(self.proc_bts, keepalive) self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 7514604..4848ea4 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -66,7 +66,7 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name): + def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, '%s' % name) self._conf = conf self._addr = conf.get('addr', None) @@ -86,9 +86,9 @@ values = dict(enb=config.get_defaults('enb')) for config_specifics in config_specifics_li: config.overlay(values, dict(enb=config.get_defaults(config_specifics))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self.testenv.suite().config().get('enb', {}))) for config_specifics in config_specifics_li: - config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) + config.overlay(values, dict(enb=self.testenv.suite().config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) self._id = int(values['enb'].get('id', None)) assert self._id is not None @@ -192,7 +192,7 @@ return rf_dev_args - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a ENB child class based on type. Opts are passed to the newly created object.""" enb_type = conf.get('type') if enb_type is None: @@ -206,7 +206,7 @@ enb_class = srsENB else: raise log.Error('ENB type not supported:', enb_type) - return enb_class(suite_run, conf) + return enb_class(testenv, conf) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 6f7080a..a534708 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -45,8 +45,8 @@ CFGFILE_DRB = 'amarisoft_drb.cfg' LOGFILE = 'lteenb.log' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, 'amarisoftenb') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, 'amarisoftenb') self.ue = None self.run_dir = None self.inst = None @@ -68,7 +68,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self.enable_measurements = False - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -77,7 +77,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftenb') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb') return self._bin_prefix def cleanup(self): @@ -98,7 +98,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() self._start() @@ -119,7 +119,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftENB.BINFILE, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 0816ca6..70f2f35 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -46,8 +46,8 @@ LOGFILE = 'srsenb.log' PCAPFILE = 'srsenb.pcap' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, srsENB.BINFILE) + def __init__(self, testenv, conf): + super().__init__(testenv, conf, srsENB.BINFILE) self.ue = None self.run_dir = None self.gen_conf = None @@ -66,7 +66,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.enable_pcap = False - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -94,7 +94,7 @@ def start(self, epc): self.log('Starting srsENB') self._epc = epc - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.remote_user: self.start_remotely() @@ -112,7 +112,7 @@ args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -123,7 +123,7 @@ args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): @@ -135,7 +135,7 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsENB.BINFILE): diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index cbca0fb..177e662 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -33,20 +33,20 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, run_node, name): + def __init__(self, testenv, run_node, name): super().__init__(log.C_RUN, '%s' % name) self._addr = run_node.run_addr() self.set_name('%s_%s' % (name, self._addr)) - self.suite_run = suite_run + self.testenv = testenv self._run_node = run_node def configure(self, config_specifics_li): values = dict(epc=config.get_defaults('epc')) for config_specifics in config_specifics_li: config.overlay(values, dict(epc=config.get_defaults(config_specifics))) - config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc=self.testenv.suite().config().get('epc', {}))) for config_specifics in config_specifics_li: - config.overlay(values, dict(epc=self.suite_run.config().get(config_specifics, {}))) + config.overlay(values, dict(epc=self.testenv.suite().config().get(config_specifics, {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) return values @@ -57,10 +57,10 @@ 'Nothing to do by default. Subclass can override if required.' pass - def get_instance_by_type(suite_run, run_node): + def get_instance_by_type(testenv, run_node): """Allocate a EPC child class based on type. Opts are passed to the newly created object.""" values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc=testenv.suite().config().get('epc', {}))) epc_type = values['epc'].get('type', None) if epc_type is None: raise RuntimeError('EPC type is not defined!') @@ -74,7 +74,7 @@ else: raise log.Error('EPC type not supported:', epc_type) - return epc_class(suite_run, run_node) + return epc_class(testenv, run_node) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 8606e57..b5304bf 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -38,8 +38,8 @@ LOGFILE = 'ltemme.log' IFUPFILE = 'mme-ifup' - def __init__(self, suite_run, run_node): - super().__init__(suite_run, run_node, 'amarisoftepc') + def __init__(self, testenv, run_node): + super().__init__(testenv, run_node, 'amarisoftepc') self.run_dir = None self.config_file = None self.log_file = None @@ -58,7 +58,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftepc') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc') return self._bin_prefix def cleanup(self): @@ -74,7 +74,7 @@ def start(self): self.log('Starting amarisoftepc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() @@ -94,7 +94,7 @@ self.process = self.rem_host.RemoteProcess(AmarisoftEPC.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(AmarisoftEPC.BINFILE, remote_run_dir, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -112,7 +112,7 @@ args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -168,7 +168,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if algo_str is None: diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index f859df0..c5e762f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -39,8 +39,8 @@ PCAPFILE = 'srsepc.pcap' LOGFILE = 'srsepc.log' - def __init__(self, suite_run, run_node): - super().__init__(suite_run, run_node, 'srsepc') + def __init__(self, testenv, run_node): + super().__init__(testenv, run_node, 'srsepc') self.run_dir = None self.config_file = None self.db_file = None @@ -74,7 +74,7 @@ def start(self): self.log('Starting srsepc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() @@ -95,7 +95,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -114,11 +114,11 @@ args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsEPC.BINFILE): @@ -180,7 +180,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if algo_str is None: diff --git a/src/osmo_gsm_tester/obj/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py index 11745f6..1435fdb 100644 --- a/src/osmo_gsm_tester/obj/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -25,20 +25,20 @@ class OsmoGgsn(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-ggsn_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-ggsn') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-ggsn'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-ggsn'))) binary = inst.child('bin', 'osmo-ggsn') if not os.path.isfile(binary): @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise log.Error('No lib/ in', inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = {} @@ -64,7 +64,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -72,7 +72,7 @@ self.dbg(config_file=self.config_file) values = dict(ggsn=config.get_defaults('ggsn')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(ggsn=dict(ip_address=self.ip_address))) config.overlay(values, dict(ggsn=dict(statedir=self.run_dir.new_dir('statedir')))) diff --git a/src/osmo_gsm_tester/obj/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py index 93e5fff..79175f6 100644 --- a/src/osmo_gsm_tester/obj/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -30,21 +30,21 @@ process = None next_subscriber_id = 1 - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-hlr_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None self.next_subscriber_id = 1 - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-hlr') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-hlr'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-hlr'))) binary = inst.child('bin', 'osmo-hlr') if not os.path.isfile(binary): @@ -60,7 +60,7 @@ raise log.Error('hlr.sql missing:', sql_input) self.run_local('create_hlr_db', ('/bin/sh', '-c', 'sqlite3 %r < %r' % (self.db_file, sql_input))) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -71,7 +71,7 @@ '-c', os.path.abspath(self.config_file), '--database', self.db_file), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -79,7 +79,7 @@ self.dbg(config_file=self.config_file) values = dict(hlr=config.get_defaults('hlr')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(hlr=dict(ip_address=self.ip_address))) self.dbg('HLR CONFIG:\n' + pprint.pformat(values)) @@ -106,7 +106,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) subscriber_id = self.next_subscriber_id self.next_subscriber_id += 1 diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index b9fdfe8..ff09f17 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -52,12 +52,12 @@ LOGFILE = 'iperf3_srv.json' REMOTE_DIR = '/tmp' - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'iperf3-srv_%s' % ip_address.get('addr')) self.run_dir = None self.process = None self._run_node = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self._port = IPerf3Server.DEFAULT_SRV_PORT self.log_file = None @@ -84,7 +84,7 @@ def start(self): self.log('Starting iperf3-srv') self.log_copied = False - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Server.LOGFILE) if self.runs_locally(): self.start_locally() @@ -105,11 +105,11 @@ args += ('--logfile', self.remote_log_file,) self.process = self.rem_host.RemoteProcess(self.name(), args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) args = ('iperf3', '-s', '-B', self.addr(), @@ -118,7 +118,7 @@ args += ('--logfile', os.path.abspath(self.log_file),) self.process = process.Process(self.name(), self.run_dir, args, env={}) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def set_run_node(self, run_node): @@ -128,7 +128,7 @@ self._port = port def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def get_results(self): if self.logfile_supported: @@ -153,20 +153,20 @@ return not self.process.terminated() def create_client(self): - return IPerf3Client(self.suite_run, self) + return IPerf3Client(self.testenv, self) class IPerf3Client(log.Origin): REMOTE_DIR = '/tmp' LOGFILE = 'iperf3_cli.json' - def __init__(self, suite_run, iperf3srv): + def __init__(self, testenv, iperf3srv): super().__init__(log.C_RUN, 'iperf3-cli_%s' % iperf3srv.addr()) self.run_dir = None self.process = None self._run_node = None self.server = iperf3srv - self.suite_run = suite_run + self.testenv = testenv self.log_file = None self.rem_host = None self.remote_log_file = None @@ -180,7 +180,7 @@ def prepare_test_proc(self, downlink=False, netns=None, time_sec=None): if time_sec is None: values = config.get_defaults('iperf3cli') - config.overlay(values, self.suite_run.config().get('iperf3cli', {})) + config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) time_sec_str = values.get('time', time_sec) # Convert duration to seconds @@ -195,7 +195,7 @@ self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) self.log_copied = False - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): return self.prepare_test_proc_locally(downlink, netns, time_sec) @@ -226,7 +226,7 @@ return self.process def prepare_test_proc_locally(self, downlink, netns, time_sec): - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), diff --git a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py index d31f439..3afa3f1 100644 --- a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -25,21 +25,21 @@ class OsmoMgcpgw(log.Origin): - def __init__(self, suite_run, ip_address, bts_ip): + def __init__(self, testenv, ip_address, bts_ip): super().__init__(log.C_RUN, 'osmo-mgcpgw_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address # hack: so far mgcpgw needs one specific BTS IP. self.bts_ip = bts_ip def start(self): self.log('Starting osmo-mgcpgw') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-nitb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-bsc_mgcp') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -57,7 +57,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -65,7 +65,7 @@ self.dbg(config_file=self.config_file) values = dict(mgcpgw=config.get_defaults('mgcpgw')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(mgcpgw=dict(ip_address=self.ip_address, bts_ip=self.bts_ip))) self.dbg('MGCPGW CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/obj/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py index 3798b2d..70572a1 100644 --- a/src/osmo_gsm_tester/obj/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -25,20 +25,20 @@ class OsmoMgw(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-mgw_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.use_osmux = "off" def start(self): self.log('Starting osmo-mgw') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-mgw'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-mgw'))) binary = inst.child('bin', 'osmo-mgw') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -46,7 +46,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -56,7 +56,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -64,7 +64,7 @@ self.dbg(config_file=self.config_file) values = dict(mgw=config.get_defaults('mgw')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'mgw': { 'ip_address': self.ip_address, 'use_osmux': self.use_osmux diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index a30a9c7..2774deb 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -54,7 +54,7 @@ """Cleans up resources allocated.""" pass - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a MS child class based on type. Opts are passed to the newly created object.""" ms_type = conf.get('type') if ms_type is None: @@ -75,7 +75,7 @@ ms_class = AmarisoftUE else: raise log.Error('MS type not supported:', ms_type) - return ms_class(suite_run, conf) + return ms_class(testenv, conf) ################### # 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 46a92dc..451bbd0 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -78,7 +78,7 @@ LOGFILE = 'lteue.log' IFUPFILE = 'ue-ifup' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') @@ -98,7 +98,7 @@ self.remote_config_rf_file = None self.remote_log_file = None self.remote_ifup_file = None - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -107,7 +107,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftue') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue') return self._bin_prefix def cleanup(self): @@ -128,12 +128,12 @@ return "amarisoftue1" def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def connect(self, enb): self.log('Starting amarisoftue') self.enb = enb - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() @@ -161,7 +161,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -182,7 +182,7 @@ args = (binary, os.path.abspath(self.config_file)) self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): @@ -232,8 +232,8 @@ values = dict(ue=config.get_defaults('amarisoft')) config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) - config.overlay(values, dict(ue=self.suite_run.config().get('amarisoft', {}))) - config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('amarisoft', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) diff --git a/src/osmo_gsm_tester/obj/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py index 2c7bb8b..c7c1c24 100644 --- a/src/osmo_gsm_tester/obj/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -30,9 +30,9 @@ class MsDriver(log.Origin): - def __init__(self, suite_run): + def __init__(self, testenv): super().__init__(log.C_RUN, 'ms-driver') - self._suite_run = suite_run + self._testenv = testenv # TODO: take config out of the test scenario self._time_start = timedelta(seconds=60) @@ -67,7 +67,7 @@ """ # Get the base directory for the virtphy/mobile application - inst = util.Dir(os.path.abspath(self._suite_run.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self._testenv.trial.get_inst('osmocom-bb'))) # Assume these are dynamically linked and verify there is a lib dir. lib = inst.child('lib') @@ -117,7 +117,7 @@ self._starter = MobileTestStarter("mass", options, self._cdf, self._ev_server, util.Dir(self.event_server_sk_tmp_dir), - self._results, suite_run=self._suite_run) + self._results, testenv=self._testenv) for sub in self._subscribers: self._starter.subscriber_add(sub) diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index a79f8fb..e03bab8 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -361,7 +361,7 @@ CTX_PROT_IPv6 = 'ipv6' CTX_PROT_IPv46 = 'dual' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self.syspath = conf.get('path') self.dbuspath = get_dbuspath_from_syspath(self.syspath) super().__init__(self.dbuspath, conf) @@ -369,7 +369,7 @@ self._ki = None self._imsi = None self._apn_ipaddr = None - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name().strip('/'))) + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) self.register_attempts = 0 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 7d08b66..e5427f0 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -77,7 +77,7 @@ LOGFILE = 'srsue.log' METRICSFILE = 'srsue_metrics.csv' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') @@ -97,7 +97,7 @@ self.remote_metrics_file = None self.enable_pcap = False self.num_carriers = 1 - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -132,12 +132,12 @@ return "srsue1" def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def connect(self, enb): self.log('Starting srsue') self.enb = enb - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() @@ -170,7 +170,7 @@ self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -194,11 +194,11 @@ args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsUE.BINFILE): @@ -220,7 +220,7 @@ self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) - config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index 048934e..162614c 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -32,7 +32,7 @@ class OsmoMsc(log.Origin): - def __init__(self, suite_run, hlr, mgw, stp, ip_address): + def __init__(self, testenv, hlr, mgw, stp, ip_address): super().__init__(log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None @@ -41,7 +41,7 @@ self.encryption = None self.authentication = None self.use_osmux = "off" - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.hlr = hlr self.mgw = mgw @@ -50,9 +50,9 @@ def start(self): self.log('Starting osmo-msc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-msc') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -60,7 +60,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -70,7 +70,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -78,7 +78,7 @@ self.dbg(config_file=self.config_file) values = dict(msc=config.get_defaults('msc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(msc=dict(ip_address=self.ip_address))) config.overlay(values, self.mgw.conf_for_client()) config.overlay(values, self.hlr.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py index 64db425..88ff721 100644 --- a/src/osmo_gsm_tester/obj/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -26,22 +26,22 @@ class OsmoNitb(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-nitb_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None self.encryption = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.bts = [] self.smsc = smsc.Smsc((ip_address.get('addr'), 2775)) def start(self): self.log('Starting osmo-nitb') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-nitb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-nitb') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -49,7 +49,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -59,7 +59,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -67,7 +67,7 @@ self.dbg(config_file=self.config_file) values = dict(nitb=config.get_defaults('nitb')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(nitb=dict(ip_address=self.ip_address))) bts_list = [] @@ -120,7 +120,7 @@ def subscriber_add(self, modem, msisdn=None, algo=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if not algo: diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 6f6ac2a..5d1e5ae 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -35,7 +35,7 @@ FIRMWARE_FILE="opt/osmocom-bb/target/firmware/board/compal_e88/layer1.compalram.bin" - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): serial_device = conf.get('serial_device') if serial_device is None: raise log.Error('osmocon_phone contains no attr "serial_device"') @@ -43,7 +43,7 @@ super().__init__(log.C_RUN, 'osmocon_%s' % os.path.basename(self.serial_device)) self.run_dir = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.conf = conf self.sk_tmp_dir = tempfile.mkdtemp('', 'ogtosmoconsk') if len(self.l2_socket_path().encode()) > 107: @@ -62,9 +62,9 @@ # TODO: make sure the pone is powered off before starting osmocon self.log('Starting osmocon') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmocom-bb'))) binary = inst.child('sbin', 'osmocon') if not os.path.isfile(binary): @@ -86,7 +86,7 @@ '-l', self.loader_socket_path(), firmware_path), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() self.log('Waiting for osmocon to be up and running') MainLoop.wait(self, os.path.exists, self.l2_socket_path()) diff --git a/src/osmo_gsm_tester/obj/pcap_recorder.py b/src/osmo_gsm_tester/obj/pcap_recorder.py index eb91420..30a3510 100644 --- a/src/osmo_gsm_tester/obj/pcap_recorder.py +++ b/src/osmo_gsm_tester/obj/pcap_recorder.py @@ -23,13 +23,13 @@ class PcapRecorder(log.Origin): - def __init__(self, suite_run, run_dir, iface=None, filters='', netns=None): + def __init__(self, testenv, run_dir, iface=None, filters='', netns=None): self.iface = iface if not self.iface: self.iface = "any" self.filters = filters super().__init__(log.C_RUN, 'pcap-recorder_%s' % self.iface, filters=self.filters) - self.suite_run = suite_run + self.testenv = testenv self.run_dir = run_dir self.netns = netns self.start() @@ -45,7 +45,7 @@ self.process = process.NetNSProcess(self.name(), self.run_dir, self.netns, popen_args) else: self.process = process.Process(self.name(), self.run_dir, popen_args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def running(self): diff --git a/src/osmo_gsm_tester/obj/pcu.py b/src/osmo_gsm_tester/obj/pcu.py index 6028f06..ed94d49 100644 --- a/src/osmo_gsm_tester/obj/pcu.py +++ b/src/osmo_gsm_tester/obj/pcu.py @@ -27,10 +27,10 @@ # PROTECTED ############## - def __init__(self, suite_run, bts, conf, name): + def __init__(self, testenv, bts, conf, name): """Base constructor. Must be called by subclass.""" super().__init__(log.C_RUN, name) - self.suite_run = suite_run + self.testenv = testenv self.bts = bts self.conf = conf @@ -55,8 +55,8 @@ class PcuDummy(Pcu): """PCU for BTS without proper PCU control""" - def __init__(self, suite_run, bts, conf): - super().__init__(suite_run, bts, conf, 'PcuDummy') + def __init__(self, testenv, bts, conf): + super().__init__(testenv, bts, conf, 'PcuDummy') def start(self, keepalive=False): pass diff --git a/src/osmo_gsm_tester/obj/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py index 4b67441..cb5e6cb 100644 --- a/src/osmo_gsm_tester/obj/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -28,8 +28,8 @@ PCU_OC2G_BIN = 'osmo-pcu' PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' - def __init__(self, suite_run, btsoc2g, conf): - super().__init__(suite_run, btsoc2g, conf, self.PCU_OC2G_BIN) + def __init__(self, testenv, btsoc2g, conf): + super().__init__(testenv, btsoc2g, conf, self.PCU_OC2G_BIN) self.run_dir = None self.bsc = None self.inst = None @@ -39,10 +39,10 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-oc2g'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-oc2g'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -87,7 +87,7 @@ def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): proc = self._process_remote(name, popen_args, remote_cwd) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() def run_local(self, name, popen_args): @@ -104,7 +104,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_pcu_oc2g': config.get_defaults('osmo_pcu_oc2g') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu_oc2g': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py index 4c79f5a..86e6bbe 100644 --- a/src/osmo_gsm_tester/obj/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -27,18 +27,18 @@ BIN_PCU = 'osmo-pcu' PCU_OSMO_CFG = 'osmo-pcu.cfg' - def __init__(self, suite_run, bts, conf): - super().__init__(suite_run, bts, conf, OsmoPcu.BIN_PCU) + def __init__(self, testenv, bts, conf): + super().__init__(testenv, bts, conf, OsmoPcu.BIN_PCU) self.run_dir = None self.inst = None self.conf = conf self.env = {} def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -47,7 +47,7 @@ self.launch_process(keepalive, OsmoPcu.BIN_PCU, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bts.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() def launch_process(self, keepalive, binary_name, *args): binary = os.path.abspath(self.inst.child('bin', binary_name)) @@ -57,7 +57,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -66,7 +66,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_pcu=config.get_defaults('osmo_pcu')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py index f7c480d..103ad00 100644 --- a/src/osmo_gsm_tester/obj/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -28,8 +28,8 @@ PCU_SYSMO_BIN = 'osmo-pcu' PCU_SYSMO_CFG = 'osmo-pcu-sysmo.cfg' - def __init__(self, suite_run, sysmobts, conf): - super().__init__(suite_run, sysmobts, conf, self.PCU_SYSMO_BIN) + def __init__(self, testenv, sysmobts, conf): + super().__init__(testenv, sysmobts, conf, self.PCU_SYSMO_BIN) self.run_dir = None self.bsc = None self.inst = None @@ -39,10 +39,10 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-sysmo'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-sysmo'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -87,7 +87,7 @@ def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): proc = self._process_remote(name, popen_args, remote_cwd) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() def run_local(self, name, popen_args): @@ -104,7 +104,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_pcu_sysmo': config.get_defaults('osmo_pcu_sysmo') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu_sysmo': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py index 6824d80..a7c7adb 100644 --- a/src/osmo_gsm_tester/obj/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -25,22 +25,22 @@ class OsmoSgsn(log.Origin): - def __init__(self, suite_run, hlr, ggsn, ip_address): + def __init__(self, testenv, hlr, ggsn, ip_address): super().__init__(log.C_RUN, 'osmo-sgsn_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.hlr = hlr self.ggsn = ggsn self.ip_address = ip_address def start(self): self.log('Starting osmo-sgsn') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-sgsn'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-sgsn'))) binary = inst.child('bin', 'osmo-sgsn') if not os.path.isfile(binary): @@ -49,7 +49,7 @@ if not os.path.isdir(lib): raise log.Error('No lib/ in', inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -59,7 +59,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -67,7 +67,7 @@ self.dbg(config_file=self.config_file) values = dict(sgsn=config.get_defaults('sgsn')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(sgsn=dict(ip_address=self.ip_address))) config.overlay(values, self.hlr.conf_for_client()) config.overlay(values, self.ggsn.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py index afb8a04..e8bb4e0 100644 --- a/src/osmo_gsm_tester/obj/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -25,20 +25,20 @@ class OsmoStp(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-stp_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-stp') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-stp'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-stp'))) binary = inst.child('bin', 'osmo-stp') if not os.path.isfile(binary): @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -57,7 +57,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -65,7 +65,7 @@ self.dbg(config_file=self.config_file) values = dict(stp=config.get_defaults('stp')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(stp=dict(ip_address=self.ip_address))) self.dbg('STP CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index aa94f3c..0e0860d 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -36,7 +36,6 @@ from .obj import bts from .obj import ms -trial = None suite = None test = None resources = None @@ -59,24 +58,17 @@ super().__init__(log_module.C_TST, test.name()) self.suite_run = suite_run self._test = test - self.trial = suite_run.trial # backward compat with objects - self.resources_pool = suite_run.resource_pool() # backward compat with objects self._processes = [] self.test_import_modules_to_clean_up = [] self.objects_to_clean_up = None MainLoop.register_poll_func(self.poll) + def test(self): + return self._test + def suite(self): return self.suite_run - # backward compat with objects - def get_test_run_dir(self): - return self._test.get_run_dir() - - # backward compat with objects - def config(self): - return self.suite_run.config() - def remember_to_stop(self, process, respawn=False): '''Ask suite to monitor and manage lifecycle of the Process object. If a process managed by suite finishes before cleanup time, the current test @@ -321,9 +313,8 @@ from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class - global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process + global suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process - trial = suite_run.trial test = _test resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest log = test.log diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 702baf0..559e392 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -52,9 +52,9 @@ def phy_filename(self): return self._phy_filename - def start(self, loop, suite_run=None): - if suite_run is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name())) + def start(self, loop, testenv=None): + if testenv is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name())) if len(self._phy_filename.encode()) > 107: raise log.Error('Path for unix socket is longer than max allowed len for unix socket path (107):', self._phy_filename) @@ -62,8 +62,8 @@ args = [self._binary, "--l1ctl-sock=" + self._phy_filename] self._vphy_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run is not None: - suite_run.remember_to_stop(self._vphy_proc) + if testenv is not None: + testenv.remember_to_stop(self._vphy_proc) self._vphy_proc.launch() def verify_ready(self): @@ -134,9 +134,9 @@ w.write(mob_vty) return mob_cfg_file - def start(self, loop, suite_run=None): - if suite_run is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name())) + def start(self, loop, testenv=None): + if testenv is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name())) lua_filename = self.write_lua_cfg() mob_filename = self.write_mob_cfg(lua_filename, self._phy_filename) @@ -145,8 +145,8 @@ args = [self._binary, "-c", mob_filename] self._omob_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run is not None: - suite_run.remember_to_stop(self._omob_proc) + if testenv is not None: + testenv.remember_to_stop(self._omob_proc) self._omob_proc.launch() def terminate(self): @@ -168,11 +168,11 @@ TEMPLATE_CFG = "osmo-mobile.cfg" def __init__(self, name, options, cdf_function, - event_server, tmp_dir, results, suite_run=None): + event_server, tmp_dir, results, testenv=None): super().__init__(log.C_RUN, name) self._binary_options = options self._cdf = cdf_function - self._suite_run = suite_run + self._testenv = testenv self._tmp_dir = tmp_dir self._event_server = event_server self._results = results @@ -225,7 +225,7 @@ """ self.log("Pre-launching all virtphy's") for phy in self._phys: - phy.start(loop, self._suite_run) + phy.start(loop, self._testenv) self.log("Checking if sockets are in the filesystem") for phy in self._phys: @@ -257,7 +257,7 @@ # start pending MS while len(self._started) < self._cdf.current_scaled_value() and len(self._unstarted) > 0: ms = self._unstarted.pop(0) - ms.start(loop, self._suite_run) + ms.start(loop, self._testenv) launch_time = time.clock_gettime(time.CLOCK_MONOTONIC) self._results[ms.name_number()].set_launch_time(launch_time) self._started.append(ms) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 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: Idf41243a497de7bc507b9f1cd1b38640f456f815 Gerrit-Change-Number: 18045 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 12:04:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 12:04:39 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Replace 'suite' with 'tenv' References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 ) Change subject: tests: Replace 'suite' with 'tenv' ...................................................................... tests: Replace 'suite' with 'tenv' Change-Id: I777ec59ffd83b861ddc09e85e52d7a8896264b8c --- 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 selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/testenv.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.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/encryption/register_a5_0_authopt.py M sysmocom/suites/encryption/register_a5_0_authreq.py M sysmocom/suites/encryption/register_a5_1_authreq.py M sysmocom/suites/encryption/register_a5_3_authreq.py M sysmocom/suites/gprs/cs_paging_gprs_active.py M sysmocom/suites/gprs/iperf3.py M sysmocom/suites/gprs/iperf3m4.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_netreg_mass/register_default_mass.py M sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py M sysmocom/suites/nitb_smpp/esme_connect_policy_closed.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_connect_policy_acceptall.py M sysmocom/suites/smpp/esme_connect_policy_closed.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 M sysmocom/suites/voice/mo_mt_call.py M sysmocom/suites/voice/mo_mt_call_osmux.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 45 files changed, 212 insertions(+), 212 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/18046/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 7654ea6..51e78c0 100755 --- a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -1,15 +1,15 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index 88ae82d..d4fa649 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 597b50d..64d476b 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py index 17eee78..c81a35d 100755 --- a/doc/examples/4g_srsLTE/suites/4g/ping.py +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() epc.subscriber_add(ue) epc.start() diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/test_suite/hello_world.py index a69f95a..81a9624 100644 --- a/selftest/suite_test/test_suite/hello_world.py +++ b/selftest/suite_test/test_suite/hello_world.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * print('hello world') -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) print('one\ntwo\nthree') diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/test_suite/test_error.py index 70d14a1..6a258e3 100755 --- a/selftest/suite_test/test_suite/test_error.py +++ b/selftest/suite_test/test_suite/test_error.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) assert False diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/test_suite/test_fail.py index ffb7218..83c9b44 100755 --- a/selftest/suite_test/test_suite/test_fail.py +++ b/selftest/suite_test/test_suite/test_fail.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) test.set_fail('EpicFail', 'This failure is expected') diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 0e0860d..416fc58 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -37,7 +37,6 @@ from .obj import ms suite = None -test = None resources = None log = None dbg = None @@ -49,6 +48,7 @@ prompt = None Sms = None process = None +tenv = None class Timeout(Exception): pass @@ -313,7 +313,7 @@ from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class - global suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process + global test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process, tenv test = _test resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest @@ -326,8 +326,8 @@ poll = MainLoop.poll Sms = Sms_class process = process_module - suite = TestEnv(suite_run, _test) # stored in "suite" for backward compatibility - prompt = suite.prompt - return suite + tenv = TestEnv(suite_run, _test) + prompt = tenv.prompt + return tenv # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 88ae82d..d4fa649 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 597b50d..64d476b 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 17eee78..c81a35d 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() epc.subscriber_add(ue) epc.start() diff --git a/sysmocom/suites/debug/interactive.py b/sysmocom/suites/debug/interactive.py index 89f967f..fa53cc8 100755 --- a/sysmocom/suites/debug/interactive.py +++ b/sysmocom/suites/debug/interactive.py @@ -1,17 +1,17 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) -modems = suite.modems(int(prompt('How many modems?'))) +modems = tenv.modems(int(prompt('How many modems?'))) bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/dynts/switch_tch_pdch.py b/sysmocom/suites/dynts/switch_tch_pdch.py index f0bbd38..7be4be7 100755 --- a/sysmocom/suites/dynts/switch_tch_pdch.py +++ b/sysmocom/suites/dynts/switch_tch_pdch.py @@ -32,18 +32,18 @@ wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) print('hangup success') -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/encryption/lib/testlib.py b/sysmocom/suites/encryption/lib/testlib.py index 3948941..ed76e6f 100644 --- a/sysmocom/suites/encryption/lib/testlib.py +++ b/sysmocom/suites/encryption/lib/testlib.py @@ -2,14 +2,14 @@ from osmo_gsm_tester.testenv import * def encryption_test_setup_run(enable_auth, algo): - hlr = suite.hlr() - bts = suite.bts() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) - ms = suite.modem() + hlr = tenv.hlr() + bts = tenv.bts() + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) + ms = tenv.modem() print('start network...') msc.set_authentication(enable_auth) diff --git a/sysmocom/suites/encryption/register_a5_0_authopt.py b/sysmocom/suites/encryption/register_a5_0_authopt.py index 1b7f471..e99946e 100755 --- a/sysmocom/suites/encryption/register_a5_0_authopt.py +++ b/sysmocom/suites/encryption/register_a5_0_authopt.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(False, 'a5_0') diff --git a/sysmocom/suites/encryption/register_a5_0_authreq.py b/sysmocom/suites/encryption/register_a5_0_authreq.py index feca525..648b49e 100755 --- a/sysmocom/suites/encryption/register_a5_0_authreq.py +++ b/sysmocom/suites/encryption/register_a5_0_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_0') diff --git a/sysmocom/suites/encryption/register_a5_1_authreq.py b/sysmocom/suites/encryption/register_a5_1_authreq.py index 077819b..5391f14 100755 --- a/sysmocom/suites/encryption/register_a5_1_authreq.py +++ b/sysmocom/suites/encryption/register_a5_1_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_1') diff --git a/sysmocom/suites/encryption/register_a5_3_authreq.py b/sysmocom/suites/encryption/register_a5_3_authreq.py index 219c109..0fb487b 100755 --- a/sysmocom/suites/encryption/register_a5_3_authreq.py +++ b/sysmocom/suites/encryption/register_a5_3_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_3') diff --git a/sysmocom/suites/gprs/cs_paging_gprs_active.py b/sysmocom/suites/gprs/cs_paging_gprs_active.py index b7dead2..f765f80 100755 --- a/sysmocom/suites/gprs/cs_paging_gprs_active.py +++ b/sysmocom/suites/gprs/cs_paging_gprs_active.py @@ -6,7 +6,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel def ready_cb_place_voicecall(ms_li): diff --git a/sysmocom/suites/gprs/iperf3.py b/sysmocom/suites/gprs/iperf3.py index e25519a..bcf14a9 100755 --- a/sysmocom/suites/gprs/iperf3.py +++ b/sysmocom/suites/gprs/iperf3.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel setup_run_iperf3_test_parallel(1) diff --git a/sysmocom/suites/gprs/iperf3m4.py b/sysmocom/suites/gprs/iperf3m4.py index 1cc27ed..713757c 100755 --- a/sysmocom/suites/gprs/iperf3m4.py +++ b/sysmocom/suites/gprs/iperf3m4.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel setup_run_iperf3_test_parallel(4) diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index c1a1bc1..8e42248 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -35,30 +35,30 @@ def setup_run_iperf3_test_parallel(num_ms, ready_cb=None): - hlr = suite.hlr() - bts = suite.bts() + hlr = tenv.hlr() + bts = tenv.bts() pcu = bts.pcu() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - ggsn = suite.ggsn() - sgsn = suite.sgsn(hlr, ggsn) - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + ggsn = tenv.ggsn() + sgsn = tenv.sgsn(hlr, ggsn) + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) - iperf3srv_addr = suite.ip_address() + iperf3srv_addr = tenv.ip_address() servers = [] clients = [] ms_li = [] for i in range(num_ms): - iperf3srv = suite.iperf3srv(iperf3srv_addr) + iperf3srv = tenv.iperf3srv(iperf3srv_addr) iperf3srv.set_port(iperf3srv.DEFAULT_SRV_PORT + i) servers.append(iperf3srv) iperf3cli = iperf3srv.create_client() clients.append(iperf3cli) - ms = suite.modem() + ms = tenv.modem() ms_li.append(ms) bsc.bts_add(bts) diff --git a/sysmocom/suites/gprs/ping.py b/sysmocom/suites/gprs/ping.py index 22fe80a..9a7acde 100755 --- a/sysmocom/suites/gprs/ping.py +++ b/sysmocom/suites/gprs/ping.py @@ -1,17 +1,17 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/gprs/ping_idle_ping.py b/sysmocom/suites/gprs/ping_idle_ping.py index 02e2cdf..88ecbdb 100755 --- a/sysmocom/suites/gprs/ping_idle_ping.py +++ b/sysmocom/suites/gprs/ping_idle_ping.py @@ -6,17 +6,17 @@ from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/nitb_debug/interactive.py b/sysmocom/suites/nitb_debug/interactive.py index 595cfd9..bd68a57 100755 --- a/sysmocom/suites/nitb_debug/interactive.py +++ b/sysmocom/suites/nitb_debug/interactive.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -modems = suite.modems(int(prompt('How many modems?'))) +nitb = tenv.nitb() +bts = tenv.bts() +modems = tenv.modems(int(prompt('How many modems?'))) print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg/register.py b/sysmocom/suites/nitb_netreg/register.py index d5fbeb7..fd171b3 100755 --- a/sysmocom/suites/nitb_netreg/register.py +++ b/sysmocom/suites/nitb_netreg/register.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg/register_default.py b/sysmocom/suites/nitb_netreg/register_default.py index 545525d..6531049 100755 --- a/sysmocom/suites/nitb_netreg/register_default.py +++ b/sysmocom/suites/nitb_netreg/register_default.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py index 262b271..f6b94ad 100644 --- a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py +++ b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py @@ -7,11 +7,11 @@ from datetime import timedelta print('Claiming resources for the test') -nitb = suite.nitb() -bts = suite.bts() -ms_driver = suite.ms_driver() +nitb = tenv.nitb() +bts = tenv.bts() +ms_driver = tenv.ms_driver() ul = ms_driver.add_test('ul_test') -modems = suite.all_resources(suite.modem) +modems = tenv.all_resources(tenv.modem) print('Launching a simple network') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py index 904226b..85abb9b 100755 --- a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py +++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py @@ -6,9 +6,9 @@ from osmo_gsm_tester.testenv import * -nitb = suite.nitb() +nitb = tenv.nitb() smsc = nitb.smsc -esme = suite.esme() +esme = tenv.esme() # Here we deliberately omit calling smsc.esme_add() to avoid having it included # in the smsc config. diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py index eaabb3d..41a74f2 100755 --- a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py +++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py @@ -11,10 +11,10 @@ SMPP_ESME_RINVPASWD = 0x0000000E SMPP_ESME_RINVSYSID = 0x0000000F -nitb = suite.nitb() +nitb = tenv.nitb() smsc = nitb.smsc -esme = suite.esme() -esme_no_pwd = suite.esme() +esme = tenv.esme() +esme_no_pwd = tenv.esme() esme_no_pwd.set_password('') smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED) diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py index 391a040..29a5ced 100755 --- a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py +++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py @@ -12,10 +12,10 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() -esme = suite.esme() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() +esme = tenv.esme() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py index adc9dae..2963b6e 100755 --- a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py +++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py @@ -10,10 +10,10 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() -esme = suite.esme() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() +esme = tenv.esme() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_sms/mo_mt_sms.py b/sysmocom/suites/nitb_sms/mo_mt_sms.py index 10897ff..d1cece6 100755 --- a/sysmocom/suites/nitb_sms/mo_mt_sms.py +++ b/sysmocom/suites/nitb_sms/mo_mt_sms.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -nitb = suite.nitb() -bts = suite.bts() -ms_mo = suite.modem() -ms_mt = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms_mo = tenv.modem() +ms_mt = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_ussd/assert_extension.py b/sysmocom/suites/nitb_ussd/assert_extension.py index 8ccab2d..6246e61 100755 --- a/sysmocom/suites/nitb_ussd/assert_extension.py +++ b/sysmocom/suites/nitb_ussd/assert_extension.py @@ -3,9 +3,9 @@ USSD_COMMAND_GET_EXTENSION = '*#100#' -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py index 168b4f3..9a53446 100755 --- a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py +++ b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py @@ -6,12 +6,12 @@ from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -mgw_msc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) +hlr = tenv.hlr() +mgw_msc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) smsc = msc.smsc -esme = suite.esme() +esme = tenv.esme() # Here we deliberately omit calling smsc.esme_add() to avoid having it included # in the smsc config. diff --git a/sysmocom/suites/smpp/esme_connect_policy_closed.py b/sysmocom/suites/smpp/esme_connect_policy_closed.py index 487e5a4..fc4145c 100755 --- a/sysmocom/suites/smpp/esme_connect_policy_closed.py +++ b/sysmocom/suites/smpp/esme_connect_policy_closed.py @@ -11,15 +11,15 @@ SMPP_ESME_RINVPASWD = 0x0000000E SMPP_ESME_RINVSYSID = 0x0000000F -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) smsc = msc.smsc -esme = suite.esme() -esme_no_pwd = suite.esme() +esme = tenv.esme() +esme_no_pwd = tenv.esme() esme_no_pwd.set_password('') smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED) diff --git a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py index 681bc29..232d1d3 100755 --- a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py +++ b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py @@ -12,17 +12,17 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) bsc.bts_add(bts) -ms = suite.modem() -esme = suite.esme() +ms = tenv.modem() +esme = tenv.esme() msc.smsc.esme_add(esme) hlr.start() diff --git a/sysmocom/suites/smpp/esme_ms_sms_transaction.py b/sysmocom/suites/smpp/esme_ms_sms_transaction.py index 16b01cc..d42012b 100755 --- a/sysmocom/suites/smpp/esme_ms_sms_transaction.py +++ b/sysmocom/suites/smpp/esme_ms_sms_transaction.py @@ -10,17 +10,17 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) bsc.bts_add(bts) -ms = suite.modem() -esme = suite.esme() +ms = tenv.modem() +esme = tenv.esme() msc.smsc.esme_add(esme) hlr.start() diff --git a/sysmocom/suites/sms/mo_mt_sms.py b/sysmocom/suites/sms/mo_mt_sms.py index 7654ea6..51e78c0 100755 --- a/sysmocom/suites/sms/mo_mt_sms.py +++ b/sysmocom/suites/sms/mo_mt_sms.py @@ -1,15 +1,15 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/ussd/assert_extension.py b/sysmocom/suites/ussd/assert_extension.py index 475de09..bac311f 100755 --- a/sysmocom/suites/ussd/assert_extension.py +++ b/sysmocom/suites/ussd/assert_extension.py @@ -3,14 +3,14 @@ USSD_COMMAND_GET_EXTENSION = '*#100#' -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/voice/lib/testlib.py b/sysmocom/suites/voice/lib/testlib.py index 7d934f1..3ec6d67 100644 --- a/sysmocom/suites/voice/lib/testlib.py +++ b/sysmocom/suites/voice/lib/testlib.py @@ -2,15 +2,15 @@ from osmo_gsm_tester.testenv import * def test_mo_mt_call(use_osmux=False, force_osmux=False): - hlr = suite.hlr() - bts = suite.bts() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) - ms_mo = suite.modem() - ms_mt = suite.modem() + hlr = tenv.hlr() + bts = tenv.bts() + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) + ms_mo = tenv.modem() + ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/voice/mo_mt_call.py b/sysmocom/suites/voice/mo_mt_call.py index 740b1fe..2a2afa4 100755 --- a/sysmocom/suites/voice/mo_mt_call.py +++ b/sysmocom/suites/voice/mo_mt_call.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import test_mo_mt_call test_mo_mt_call(False, False) diff --git a/sysmocom/suites/voice/mo_mt_call_osmux.py b/sysmocom/suites/voice/mo_mt_call_osmux.py index acf7d71..c65caab 100755 --- a/sysmocom/suites/voice/mo_mt_call_osmux.py +++ b/sysmocom/suites/voice/mo_mt_call_osmux.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import test_mo_mt_call test_mo_mt_call(True, True) diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 288450f..0eceef7 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -4,13 +4,13 @@ from osmo_gsm_tester.testenv import * -def run_ttcn3(suite, test_obj, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): +def run_ttcn3(tenv, test_obj, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): own_dir = testdir script_file = os.path.join(testdir, 'scripts', 'run_ttcn3_docker.sh') bts_tmpl_file = os.path.join(testdir, 'scripts', 'BTS_Tests.cfg.tmpl') script_run_dir = test_obj.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(suite.trial.get_run_dir()), 'trial-') + test_obj.basename + '.xml' + junit_ttcn3_dst_file = os.path.join(str(tenv.suite().trial().get_run_dir()), 'trial-') + test_obj.basename + '.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/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index a34c847..b7c5781 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -3,20 +3,20 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import run_ttcn3 ttcn3_test_execute="BTS_Tests.control" -hlr_dummy = suite.hlr() -mgw_dummy = suite.mgw() -stp_dummy = suite.stp() -msc_dummy = suite.msc(hlr_dummy, mgw_dummy, stp_dummy) -ggsn_dummy = suite.ggsn() -sgsn_dummy = suite.sgsn(hlr_dummy, ggsn_dummy) -bsc = suite.bsc(msc_dummy, mgw_dummy, stp_dummy) -bts = suite.bts() -osmocon = suite.osmocon() +hlr_dummy = tenv.hlr() +mgw_dummy = tenv.mgw() +stp_dummy = tenv.stp() +msc_dummy = tenv.msc(hlr_dummy, mgw_dummy, stp_dummy) +ggsn_dummy = tenv.ggsn() +sgsn_dummy = tenv.sgsn(hlr_dummy, ggsn_dummy) +bsc = tenv.bsc(msc_dummy, mgw_dummy, stp_dummy) +bts = tenv.bts() +osmocon = tenv.osmocon() bts.set_num_trx(1) bts.set_trx_phy_channel(0, 0, 'CCCH+SDCCH4') @@ -34,7 +34,7 @@ msc_dummy.start() mgw_dummy.start() -nat_rsl_ip = suite.ip_address().get('addr') +nat_rsl_ip = tenv.ip_address().get('addr') bsc.set_rsl_ip(nat_rsl_ip) bsc.bts_add(bts) sgsn_dummy.bts_add(bts) @@ -46,4 +46,4 @@ osmocon.start() testdir = os.path.dirname(os.path.realpath(__file__)) -run_ttcn3(suite, test, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) +run_ttcn3(tenv. test, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 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: I777ec59ffd83b861ddc09e85e52d7a8896264b8c Gerrit-Change-Number: 18046 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 12:38:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 5 May 2020 12:38:22 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18047 ) Change subject: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS ...................................................................... ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS Allow to pass options to each "docker run" line in the various jenkins.sh scripts. I'm using this to run the testsuites and Osmocom components in docker with the same configurations as jenkins, but with Osmocom and testsuite binaries built outside and mounted into the containers: DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" This allows very short test cycles without a second set of configs. The full script that makes use of this feature is in osmo-dev.git, ttcn3/ttcn3.sh. Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 --- M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 15 files changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/47/18047/1 diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index b3791a5..36c79d5 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -25,6 +25,7 @@ --network $NET_NAME --ip 172.18.12.20 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX for i in `seq 0 2`; do @@ -32,6 +33,7 @@ docker run --rm \ --network $NET_NAME --ip 172.18.12.10$i \ --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy 172.18.12.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" done @@ -42,6 +44,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bsc-test echo Stopping containers diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 3455dc1..44badb5 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -26,6 +26,7 @@ --network $NET_NAME --ip 172.18.2.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with BSC @@ -33,6 +34,7 @@ --network $NET_NAME --ip 172.18.2.20 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX for i in `seq 0 2`; do @@ -40,6 +42,7 @@ docker run --rm \ --network $NET_NAME --ip 172.18.2.10$i \ --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy 172.18.2.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" done @@ -50,6 +53,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bsc-test echo Stopping containers diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index d52e79a..1df1a70 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -23,6 +23,7 @@ --network $NET_NAME --ip 172.18.15.20 \ -v $VOL_BASE_DIR/bscnat:/data \ --name ${BUILD_TAG}-bscnat -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-nitb-$IMAGE_SUFFIX \ /bin/sh -c "osmo-bsc_nat -c /data/osmo-bsc-nat.cfg >/data/osmo-bsc-nat.log 2>&1" @@ -32,6 +33,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bscnat-tester:/data \ --name ${BUILD_TAG}-ttcn3-bscnat-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bscnat-test echo Stopping containers diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index cc401e7..00e8133 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -17,6 +17,7 @@ --network $NET_NAME --ip 172.18.9.11 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX \ /bin/sh -c "osmo-bsc -c /data/osmo-bsc.cfg >>/data/osmo-bsc.log 2>&1" } @@ -34,6 +35,7 @@ -v $VOL_BASE_DIR/bts:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-bts -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg -i 172.18.9.10 >>/data/osmo-bts.log 2>&1" } @@ -44,6 +46,7 @@ --network $NET_NAME --ip 172.18.9.21 \ -v $VOL_BASE_DIR/fake_trx:/data \ --name ${BUILD_TAG}-fake_trx -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ /tmp/osmocom-bb/src/target/trx_toolkit/fake_trx.py \ --log-file-name /data/fake_trx.log \ @@ -60,6 +63,7 @@ -v $VOL_BASE_DIR/trxcon:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-trxcon -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ /bin/sh -c "trxcon -i 172.18.9.21 -s /data/unix/osmocom_l2 >>/data/trxcon.log 2>&1" } @@ -70,6 +74,7 @@ --network $NET_NAME --ip 172.18.9.22 \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-virtphy -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ virtphy -s /data/unix/osmocom_l2 /bin/sh -c "virtphy -s /data/unix/osmocom_l2 >>/data/virtphy.log 2>&1" @@ -83,6 +88,7 @@ -v $VOL_BASE_DIR/bts-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-bts-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bts-test } diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index ac26c0f..a69e640 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -24,6 +24,7 @@ --network $NET_NAME --ip 172.18.3.201 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \ /bin/sh -c "osmo-ggsn -c /data/osmo-ggsn.cfg >/data/osmo-ggsn.log 2>&1" @@ -34,6 +35,7 @@ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ggsn-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-ggsn-test # stop GGSN after test has completed diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 74aa37f..47ce5a9 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -27,6 +27,7 @@ --network $NET_NAME --ip 172.18.10.20 \ -v $VOL_BASE_DIR/hlr:/data \ --name ${BUILD_TAG}-hlr -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-hlr-$IMAGE_SUFFIX \ /bin/sh -c "osmo-hlr -c /data/osmo-hlr.cfg >/data/osmo-hlr.log 2>&1" @@ -36,6 +37,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/hlr-tester:/data \ --name ${BUILD_TAG}-ttcn3-hlr-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-hlr-test echo Stopping containers diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 473782f..4ebd235 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -21,6 +21,7 @@ --network $NET_NAME --ip 172.18.4.180 \ -v $VOL_BASE_DIR/mgw:/data \ --name ${BUILD_TAG}-mgw -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-mgw-$IMAGE_SUFFIX # start docker container with testsuite in foreground @@ -29,6 +30,7 @@ -v $VOL_BASE_DIR/mgw-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ttcn3-mgw-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-mgw-test # stop mgw after test has completed diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 28bc4b7..805151a 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -37,6 +37,7 @@ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-msc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-msc-$IMAGE_SUFFIX \ /bin/sh -c "osmo-msc -c /data/osmo-msc.cfg >>/data/osmo-msc.log 2>&1" @@ -47,6 +48,7 @@ -v $VOL_BASE_DIR/msc-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-msc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-msc-test echo Stopping containers diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 51b5f64..06403d3 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu-sns -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.14.10 >>/data/osmo-pcu.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/pcu-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-pcu-test echo Stopping containers diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index e0f1212..271f89f 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.13.10 >>/data/osmo-pcu.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/pcu-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-pcu-test echo Stopping containers diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1b7c7cf..1c2682c 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -13,6 +13,7 @@ --network $NET_NAME --ip 172.18.17.20 \ -v $VOL_BASE_DIR/server:/data \ --name ${BUILD_TAG}-server -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "osmo-remsim-server >/data/osmo-remsim-server.log 2>&1" } @@ -23,6 +24,7 @@ --network $NET_NAME --ip 172.18.17.30 \ -v $VOL_BASE_DIR/bankd:/data \ --name ${BUILD_TAG}-bankd -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "pcscd; osmo-remsim-bankd -i 172.18.17.10 >/data/osmo-remsim-bankd.log 2>&1" } @@ -33,6 +35,7 @@ --network $NET_NAME --ip 172.18.17.40 \ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "osmo-remsim-client-shell >/data/osmo-remsim-client.log 2>&1" } @@ -46,6 +49,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/remsim-tester:/data \ --name ${BUILD_TAG}-ttcn3-remsim-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-remsim-test } diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index f5c1549..242e44a 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -22,6 +22,7 @@ --network $NET_NAME --ip 172.18.22.200 \ -v $VOL_BASE_DIR/sccp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-master \ /bin/sh -c "sccp_demo_user -l 172.18.22.200 -r 172.18.22.203 -C /data/sccp_demo_user.cfg >>/data/sccp_demo_user.log 2>&1" @@ -32,6 +33,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sccp-tester:/data \ --name ${BUILD_TAG}-ttcn3-sccp-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sccp-test docker container kill ${BUILD_TAG}-stp diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 5464ca6..9db295a 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -27,6 +27,7 @@ --network $NET_NAME --ip 172.18.8.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with SGSN @@ -34,6 +35,7 @@ --network $NET_NAME --ip 172.18.8.10 \ -v $VOL_BASE_DIR/sgsn:/data \ --name ${BUILD_TAG}-sgsn -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-sgsn-$IMAGE_SUFFIX \ /bin/sh -c "osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1" @@ -43,6 +45,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ --name ${BUILD_TAG}-ttcn3-sgsn-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sgsn-test $@ echo Starting container to merge logs @@ -52,6 +55,7 @@ -v $VOL_BASE_DIR/sgsn-tester:/data \ --name ${BUILD_TAG}-ttcn3-sgsn-test-logmerge \ --entrypoint /osmo-ttcn3-hacks/log_merge.sh SGSN_Tests --rm \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sgsn-test echo Stopping containers diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 0bc0357..8a1977e 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/sip:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-sip-connector -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-sip-$IMAGE_SUFFIX \ /bin/sh -c "osmo-sip-connector -c /data/osmo-sip-connector.cfg >>/data/osmo-sip-connector.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/sip-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-sip-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sip-test echo Stopping containers diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 7bb0337..bc2d5af 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -21,6 +21,7 @@ --network $NET_NAME --ip 172.18.19.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with STP testsuite @@ -29,6 +30,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ --name ${BUILD_TAG}-ttcn3-stp-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-stp-test docker container kill ${BUILD_TAG}-stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 Gerrit-Change-Number: 18047 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 13:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 13:03:04 +0000 Subject: Change in osmo-gsm-tester[master]: testenv: deferr importing obj module class until use is required References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 ) Change subject: testenv: deferr importing obj module class until use is required ...................................................................... testenv: deferr importing obj module class until use is required Change-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241 --- M src/osmo_gsm_tester/testenv.py 1 file changed, 34 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/18048/1 diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 416fc58..42288aa 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -29,13 +29,6 @@ from .core import resource from .core.event_loop import MainLoop -from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from .obj import run_node -from .obj import epc -from .obj import enb -from .obj import bts -from .obj import ms - suite = None resources = None log = None @@ -172,57 +165,68 @@ return self.get_reserved_resource(resource.R_IP_ADDRESS, specifics) def nitb(self, ip_address=None): + from .obj.nitb_osmo import OsmoNitb if ip_address is None: ip_address = self.ip_address() - return nitb_osmo.OsmoNitb(self, ip_address) + return OsmoNitb(self, ip_address) def hlr(self, ip_address=None): + from .obj.hlr_osmo import OsmoHlr if ip_address is None: ip_address = self.ip_address() - return hlr_osmo.OsmoHlr(self, ip_address) + return OsmoHlr(self, ip_address) def ggsn(self, ip_address=None): + from .obj.ggsn_osmo import OsmoGgsn if ip_address is None: ip_address = self.ip_address() - return ggsn_osmo.OsmoGgsn(self, ip_address) + return OsmoGgsn(self, ip_address) def sgsn(self, hlr, ggsn, ip_address=None): + from .obj import sgsn_osmo if ip_address is None: ip_address = self.ip_address() return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) def mgcpgw(self, ip_address=None, bts_ip=None): + from .obj.mgcpgw_osmo import OsmoMgcpgw if ip_address is None: ip_address = self.ip_address() - return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) + return OsmoMgcpgw(self, ip_address, bts_ip) def mgw(self, ip_address=None): + from .obj.mgw_osmo import OsmoMgw if ip_address is None: ip_address = self.ip_address() - return mgw_osmo.OsmoMgw(self, ip_address) + return OsmoMgw(self, ip_address) def msc(self, hlr, mgcpgw, stp, ip_address=None): + from .obj import msc_osmo if ip_address is None: ip_address = self.ip_address() return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) def bsc(self, msc, mgw, stp, ip_address=None): + from .obj.bsc_osmo import OsmoBsc if ip_address is None: ip_address = self.ip_address() - return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) + return OsmoBsc(self, msc, mgw, stp, ip_address) def stp(self, ip_address=None): + from .obj.stp_osmo import OsmoStp if ip_address is None: ip_address = self.ip_address() - return stp_osmo.OsmoStp(self, ip_address) + return OsmoStp(self, ip_address) def ms_driver(self): - ms = ms_driver.MsDriver(self) + from .obj.ms_driver import MsDriver + ms = MsDriver(self) self.register_for_cleanup(ms) return ms def bts(self, specifics=None): - bts_obj = bts.Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) + from .obj.bts import Bts + bts_obj = Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) bts_obj.set_lac(self.lac()) bts_obj.set_rac(self.rac()) bts_obj.set_cellid(self.cellid()) @@ -231,8 +235,9 @@ return bts_obj def modem(self, specifics=None): + from .obj.ms import MS conf = self.get_reserved_resource(resource.R_MODEM, specifics=specifics) - ms_obj = ms.MS.get_instance_by_type(self, conf) + ms_obj = MS.get_instance_by_type(self, conf) self.register_for_cleanup(ms_obj) return ms_obj @@ -252,35 +257,41 @@ return l def esme(self): - esme_obj = esme.Esme(self.msisdn()) + from .obj.esme import Esme + esme_obj = Esme(self.msisdn()) self.register_for_cleanup(esme_obj) return esme_obj def run_node(self, specifics=None): - return run_node.RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) + from .obj.run_node import RunNode + return RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) def enb(self, specifics=None): - enb_obj = enb.eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) + from .obj.enb import eNodeB + enb_obj = eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) self.register_for_cleanup(enb_obj) return enb_obj def epc(self, run_node=None): + from .obj.epc import EPC if run_node is None: run_node = self.run_node() - epc_obj = epc.EPC.get_instance_by_type(self, run_node) + epc_obj = EPC.get_instance_by_type(self, run_node) self.register_for_cleanup(epc_obj) return epc_obj def osmocon(self, specifics=None): + from .obj.osmocon import Osmocon conf = self.get_reserved_resource(resource.R_OSMOCON, specifics=specifics) - osmocon_obj = osmocon.Osmocon(self, conf=conf) + osmocon_obj = Osmocon(self, conf=conf) self.register_for_cleanup(osmocon_obj) return osmocon_obj def iperf3srv(self, ip_address=None): + from .obj.iperf3 import IPerf3Server if ip_address is None: ip_address = self.ip_address() - iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) + iperf3srv_obj = IPerf3Server(self, ip_address) return iperf3srv_obj def msisdn(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 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: Ie073256a03bb2d038ef7f715d534afb1c53bb241 Gerrit-Change-Number: 18048 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 13:15:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 13:15:54 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18047 ) Change subject: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 Gerrit-Change-Number: 18047 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 13:15:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 13:17:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 13:17:22 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... Patch Set 1: Code-Review+1 What about the other *-master containers? Should we update them too? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 13:17:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 5 13:51:02 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 05 May 2020 13:51:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5eb16f5c75787_20242ae0456bc6004978ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: rpc timeout (worker was lamb02:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 5 14:24:05 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 14:24:05 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18049 ) Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... vty: Prepend VTY output of counters for better visual separation. Before this patch rate counters started right after trunk information with no visual separation which was quite confusing. We're adding a new line and a header to warn a user of the section change. Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/49/18049/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 3b61c30..60a2acd 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -262,6 +262,8 @@ vty_out(vty, "%s", VTY_NEWLINE); } + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "Rate counters:%s", VTY_NEWLINE); if (show_stats && cfg->mgcp_crcx_ctr_group) { vty_out(vty, " %s:%s", cfg->mgcp_crcx_ctr_group->desc->group_description, VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_crcx_ctr_group); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:24:06 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 14:24:06 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/18050/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index a479fbb..73172f5 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -119,6 +119,15 @@ #define MGCP_KEEPALIVE_ONCE (-1) #define MGCP_KEEPALIVE_NEVER 0 +/* Global MCGP general rate counters */ +enum { + MGCP_GENERAL_RX_MSGS_TOTAL, + MGCP_GENERAL_RX_MSGS_HANDLED, + MGCP_GENERAL_RX_MSGS_UNHANDLED, + MGCP_GENERAL_RX_FAIL_MSG_PARSE, + MGCP_GENERAL_RX_FAIL_NO_ENDPOINT, +}; + /* Global MCGP CRCX related rate counters */ enum { MGCP_CRCX_SUCCESS, @@ -207,6 +216,8 @@ int vty_number_endpoints; struct mgcp_endpoint *endpoints; + /* Rate counter group which contains stats for generic MGCP events. */ + struct rate_ctr_group *mgcp_general_ctr_group; /* Rate counter group which contains stats for processed CRCX commands. */ struct rate_ctr_group *mgcp_crcx_ctr_group; /* Rate counter group which contains stats for processed MDCX commands. */ diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 12fea1d..3fdf503 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -53,6 +53,22 @@ #define MGCP_REQUEST(NAME, REQ, DEBUG_NAME) \ { .name = NAME, .handle_request = REQ, .debug_name = DEBUG_NAME }, +static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { + [MGCP_GENERAL_RX_MSGS_TOTAL] = {"mgcp:rx_msgs", "Total number of MGCP messages received."}, + [MGCP_GENERAL_RX_MSGS_HANDLED] = {"mgcp:rx_msgs_handled", "Number of handled MGCP messages."}, + [MGCP_GENERAL_RX_MSGS_UNHANDLED] = {"mgcp:rx_msgs_unhandled", "Number of unhandled MGCP messages."}, + [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = {"mgcp:err_rx_msg_parse", "error parsing MGCP message."}, + [MGCP_GENERAL_RX_FAIL_NO_ENDPOINT] = {"mgcp:err_rx_no_endpoint", "can't find MGCP endpoint."}, +}; + +const static struct rate_ctr_group_desc mgcp_general_ctr_group_desc = { + .group_name_prefix = "mgcp", + .group_description = "mgcp general statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_general_ctr_desc), + .ctr_desc = mgcp_general_ctr_desc +}; + static const struct rate_ctr_desc mgcp_crcx_ctr_desc[] = { [MGCP_CRCX_SUCCESS] = {"crcx:success", "CRCX command processed successfully."}, [MGCP_CRCX_FAIL_BAD_ACTION] = {"crcx:bad_action", "bad action in CRCX command."}, @@ -361,24 +377,33 @@ * - or a response (three numbers, space, transaction id) */ struct msgb *mgcp_handle_message(struct mgcp_config *cfg, struct msgb *msg) { + struct mgcp_trunk_config *tcfg = &cfg->trunk; + struct rate_ctr_group *rate_ctrs = tcfg->mgcp_general_ctr_group; struct mgcp_parse_data pdata; int rc, i, code, handled = 0; struct msgb *resp = NULL; char *data; + /* Count all messages, even incorect ones */ + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_TOTAL]); + if (msgb_l2len(msg) < 4) { LOGP(DLMGCP, LOGL_ERROR, "msg too short: %d\n", msg->len); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; } - if (mgcp_msg_terminate_nul(msg)) + if (mgcp_msg_terminate_nul(msg)) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; + } mgcp_disp_msg(msg->l2h, msgb_l2len(msg), "Received message"); /* attempt to treat it as a response */ if (sscanf((const char *)&msg->l2h[0], "%3d %*s", &code) == 1) { LOGP(DLMGCP, LOGL_DEBUG, "Response: Code: %d\n", code); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; } @@ -400,6 +425,7 @@ /* check for general parser failure */ if (rc < 0) { LOGP(DLMGCP, LOGL_NOTICE, "%s: failed to find the endpoint\n", msg->l2h); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_NO_ENDPOINT]); return create_err_response(NULL, -rc, (const char *) msg->l2h, pdata.trans); } @@ -413,9 +439,13 @@ } } - if (!handled) + if (handled) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_HANDLED]); + } else { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_UNHANDLED]); LOGP(DLMGCP, LOGL_NOTICE, "MSG with type: '%.4s' not handled\n", &msg->l2h[0]); + } return resp; } @@ -1556,11 +1586,19 @@ /* FIXME: Each new rate counter group requires a unique index. At the * moment we generate an index using a counter, but perhaps there is * a better way of assigning indices? */ + static unsigned int general_rate_ctr_index = 0; static unsigned int crcx_rate_ctr_index = 0; static unsigned int mdcx_rate_ctr_index = 0; static unsigned int dlcx_rate_ctr_index = 0; static unsigned int all_rtp_conn_rate_ctr_index = 0; + if (trunk->mgcp_general_ctr_group == NULL) { + trunk->mgcp_general_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); + if (!trunk->mgcp_general_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_general_ctr_group, free_rate_counter_group); + general_rate_ctr_index++; + } if (trunk->mgcp_crcx_ctr_group == NULL) { trunk->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!trunk->mgcp_crcx_ctr_group) diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 60a2acd..3c7fc96 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -264,6 +264,10 @@ vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, "Rate counters:%s", VTY_NEWLINE); + if (show_stats && cfg->mgcp_general_ctr_group) { + vty_out(vty, " %s:%s", cfg->mgcp_general_ctr_group->desc->group_description, VTY_NEWLINE); + vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_crcx_ctr_group); + } if (show_stats && cfg->mgcp_crcx_ctr_group) { vty_out(vty, " %s:%s", cfg->mgcp_crcx_ctr_group->desc->group_description, VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_crcx_ctr_group); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:25 +0000 Subject: Change in osmo-gsm-tester[master]: Move all obj/ references in suite.py to testenv.py In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 ) Change subject: Move all obj/ references in suite.py to testenv.py ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 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: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e Gerrit-Change-Number: 18042 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 14:45:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:27 +0000 Subject: Change in osmo-gsm-tester[master]: Move trial.py and suite.py to core/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 ) Change subject: Move trial.py and suite.py to core/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 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: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b Gerrit-Change-Number: 18044 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 14:45:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:30 +0000 Subject: Change in osmo-gsm-tester[master]: Update obj classes in obj/ to use testenv instead of suite_run In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 ) Change subject: Update obj classes in obj/ to use testenv instead of suite_run ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 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: Idf41243a497de7bc507b9f1cd1b38640f456f815 Gerrit-Change-Number: 18045 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 14:45:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:35 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Replace 'suite' with 'tenv' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 ) Change subject: tests: Replace 'suite' with 'tenv' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 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: I777ec59ffd83b861ddc09e85e52d7a8896264b8c Gerrit-Change-Number: 18046 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 14:45:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:38 +0000 Subject: Change in osmo-gsm-tester[master]: testenv: deferr importing obj module class until use is required In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 ) Change subject: testenv: deferr importing obj module class until use is required ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 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: Ie073256a03bb2d038ef7f715d534afb1c53bb241 Gerrit-Change-Number: 18048 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 14:45:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:40 +0000 Subject: Change in osmo-gsm-tester[master]: Move all obj/ references in suite.py to testenv.py In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 ) Change subject: Move all obj/ references in suite.py to testenv.py ...................................................................... Move all obj/ references in suite.py to testenv.py Change-Id: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e --- M selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/suite.py M src/osmo_gsm_tester/testenv.py M src/osmo_gsm_tester/trial.py 7 files changed, 315 insertions(+), 271 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/test_suite/hello_world.py index 073d07f..a69f95a 100644 --- a/selftest/suite_test/test_suite/hello_world.py +++ b/selftest/suite_test/test_suite/hello_world.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * print('hello world') -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) print('one\ntwo\nthree') diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/test_suite/test_error.py index c0583ff..70d14a1 100755 --- a/selftest/suite_test/test_suite/test_error.py +++ b/selftest/suite_test/test_suite/test_error.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) assert False diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/test_suite/test_fail.py index cbaeded..ffb7218 100755 --- a/selftest/suite_test/test_suite/test_fail.py +++ b/selftest/suite_test/test_suite/test_fail.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.name(), test.name())) +print('I am %r / %r' % (suite.suite().name(), test.name())) test.set_fail('EpicFail', 'This failure is expected') diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 93dbf6a..76c9ce9 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -21,9 +21,13 @@ import sys import time import traceback -from .. import testenv -from . import log, util, resource +from . import log +from . import util +from . import resource +from .event_loop import MainLoop + +from .. import testenv class Test(log.Origin): UNKNOWN = 'UNKNOWN' # matches junit 'error' @@ -51,12 +55,13 @@ return self._run_dir def run(self): + testenv_obj = None try: self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() - testenv.setup(self.suite_run, self) + testenv_obj = testenv.setup(self.suite_run, self) with self.redirect_stdout(): util.run_python_file('%s.%s' % (self.suite_run.definition.name(), self.basename), self.path) @@ -83,6 +88,8 @@ self.err('TEST RUN ABORTED: %s' % type(e).__name__) raise finally: + if testenv_obj: + testenv_obj.stop() if self.log_target: self.log_target.remove() diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 6952fd2..3416ff5 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -21,18 +21,12 @@ import sys import time import pprint -from .core import config, log, util, process, schema, resource +from .core import config +from .core import log +from .core import util +from .core import schema +from .core import resource from .core import test -from .core.event_loop import MainLoop -from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from .obj import run_node -from .obj import epc -from .obj import enb -from .obj import bts -from .obj import ms - -class Timeout(Exception): - pass class SuiteDefinition(log.Origin): '''A test suite reserves resources for a number of tests. @@ -74,12 +68,9 @@ self.start_timestamp = None self.duration = None self.reserved_resources = None - self.objects_to_clean_up = None - self.test_import_modules_to_clean_up = [] self._resource_requirements = None self._resource_modifiers = None self._config = None - self._processes = [] self._run_dir = None self.trial = trial self.definition = suite_definition @@ -93,40 +84,6 @@ for test_basename in self.definition.test_basenames: self.tests.append(test.Test(self, test_basename)) - def register_for_cleanup(self, *obj): - assert all([hasattr(o, 'cleanup') for o in obj]) - self.objects_to_clean_up = self.objects_to_clean_up or [] - self.objects_to_clean_up.extend(obj) - - def objects_cleanup(self): - while self.objects_to_clean_up: - obj = self.objects_to_clean_up.pop() - try: - obj.cleanup() - except Exception: - log.log_exn() - - def test_import_modules_register_for_cleanup(self, mod): - ''' - Tests are required to call this API for any module loaded from its own - lib subdir, because they are loaded in the global namespace. Otherwise - later tests importing modules with the same name will re-use an already - loaded module. - ''' - if mod not in self.test_import_modules_to_clean_up: - self.dbg('registering module %r for cleanup' % mod) - self.test_import_modules_to_clean_up.append(mod) - - def test_import_modules_cleanup(self): - while self.test_import_modules_to_clean_up: - mod = self.test_import_modules_to_clean_up.pop() - try: - self.dbg('Cleaning up module %r' % mod) - del sys.modules[mod.__name__] - del mod - except Exception: - log.log_exn() - def mark_start(self): self.start_timestamp = time.time() self.duration = 0 @@ -155,11 +112,6 @@ self._run_dir = util.Dir(self.trial.get_run_dir().new_dir(self.name())) return self._run_dir - def get_test_run_dir(self): - if self.current_test: - return self.current_test.get_run_dir() - return self.get_run_dir() - def resource_requirements(self): if self._resource_requirements is None: self._resource_requirements = self.combined('resources') @@ -175,19 +127,24 @@ self._config = self.combined('config', False) return self._config + def resource_pool(self): + return self.resources_pool + def reserve_resources(self): if self.reserved_resources: raise RuntimeError('Attempt to reserve resources twice for a SuiteRun') self.log('reserving resources in', self.resources_pool.state_dir, '...') self.reserved_resources = self.resources_pool.reserve(self, self.resource_requirements(), self.resource_modifiers()) + def get_reserved_resource(self, resource_class_str, specifics): + return self.reserved_resources.get(resource_class_str, specifics=specifics) + def run_tests(self, names=None): suite_libdir = os.path.join(self.definition.suite_dir, 'lib') try: log.large_separator(self.trial.name(), self.name(), sublevel=2) self.mark_start() util.import_path_prepend(suite_libdir) - MainLoop.register_poll_func(self.poll) if not self.reserved_resources: self.reserve_resources() for t in self.tests: @@ -196,9 +153,6 @@ continue self.current_test = t t.run() - self.stop_processes() - self.objects_cleanup() - self.reserved_resources.put_all() except Exception: log.log_exn() except BaseException as e: @@ -206,14 +160,7 @@ self.err('SUITE RUN ABORTED: %s' % type(e).__name__) raise finally: - # if sys.exit() called from signal handler (e.g. SIGINT), SystemExit - # base exception is raised. Make sure to stop processes in this - # finally section. Resources are automatically freed with 'atexit'. - self.stop_processes() - self.objects_cleanup() self.free_resources() - MainLoop.unregister_poll_func(self.poll) - self.test_import_modules_cleanup() util.import_path_remove(suite_libdir) self.duration = time.time() - self.start_timestamp @@ -245,203 +192,11 @@ errors += 1 return (passed, skipped, failed, errors) - def remember_to_stop(self, process, respawn=False): - '''Ask suite to monitor and manage lifecycle of the Process object. If a - process managed by suite finishes before cleanup time, the current test - will be marked as FAIL and end immediatelly. If respwan=True, then suite - will respawn() the process instead.''' - self._processes.insert(0, (process, respawn)) - - def stop_processes(self): - if len(self._processes) == 0: - return - strategy = process.ParallelTerminationStrategy() - while self._processes: - proc, _ = self._processes.pop() - strategy.add_process(proc) - strategy.terminate_all() - - def stop_process(self, process): - 'Remove process from monitored list and stop it' - for proc_respawn in self._processes: - proc, respawn = proc_respawn - if proc == process: - self._processes.remove(proc_respawn) - proc.terminate() - def free_resources(self): if self.reserved_resources is None: return self.reserved_resources.free() - def ip_address(self, specifics=None): - return self.reserved_resources.get(resource.R_IP_ADDRESS, specifics=specifics) - - def nitb(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return nitb_osmo.OsmoNitb(self, ip_address) - - def hlr(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return hlr_osmo.OsmoHlr(self, ip_address) - - def ggsn(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return ggsn_osmo.OsmoGgsn(self, ip_address) - - def sgsn(self, hlr, ggsn, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) - - def mgcpgw(self, ip_address=None, bts_ip=None): - if ip_address is None: - ip_address = self.ip_address() - return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) - - def mgw(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return mgw_osmo.OsmoMgw(self, ip_address) - - def msc(self, hlr, mgcpgw, stp, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) - - def bsc(self, msc, mgw, stp, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) - - def stp(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - return stp_osmo.OsmoStp(self, ip_address) - - def ms_driver(self): - ms = ms_driver.MsDriver(self) - self.register_for_cleanup(ms) - return ms - - def bts(self, specifics=None): - bts_obj = bts.Bts.get_instance_by_type(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) - bts_obj.set_lac(self.lac()) - bts_obj.set_rac(self.rac()) - bts_obj.set_cellid(self.cellid()) - bts_obj.set_bvci(self.bvci()) - self.register_for_cleanup(bts_obj) - return bts_obj - - def modem(self, specifics=None): - conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) - ms_obj = ms.MS.get_instance_by_type(self, conf) - self.register_for_cleanup(ms_obj) - return ms_obj - - def modems(self, count): - l = [] - for i in range(count): - l.append(self.modem()) - return l - - def all_resources(self, resource_func): - """Returns all yielded resource.""" - l = [] - while True: - try: - l.append(resource_func()) - except resource.NoResourceExn: - return l - - def esme(self): - esme_obj = esme.Esme(self.msisdn()) - self.register_for_cleanup(esme_obj) - return esme_obj - - def run_node(self, specifics=None): - return run_node.RunNode.from_conf(self.reserved_resources.get(resource.R_RUN_NODE, specifics=specifics)) - - def enb(self, specifics=None): - enb_obj = enb.eNodeB.get_instance_by_type(self, self.reserved_resources.get(resource.R_ENB, specifics=specifics)) - self.register_for_cleanup(enb_obj) - return enb_obj - - def epc(self, run_node=None): - if run_node is None: - run_node = self.run_node() - epc_obj = epc.EPC.get_instance_by_type(self, run_node) - self.register_for_cleanup(epc_obj) - return epc_obj - - def osmocon(self, specifics=None): - conf = self.reserved_resources.get(resource.R_OSMOCON, specifics=specifics) - osmocon_obj = osmocon.Osmocon(self, conf=conf) - self.register_for_cleanup(osmocon_obj) - return osmocon_obj - - def iperf3srv(self, ip_address=None): - if ip_address is None: - ip_address = self.ip_address() - iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) - return iperf3srv_obj - - def msisdn(self): - msisdn = self.resources_pool.next_msisdn(self) - self.log('using MSISDN', msisdn) - return msisdn - - def lac(self): - lac = self.resources_pool.next_lac(self) - self.log('using LAC', lac) - return lac - - def rac(self): - rac = self.resources_pool.next_rac(self) - self.log('using RAC', rac) - return rac - - def cellid(self): - cellid = self.resources_pool.next_cellid(self) - self.log('using CellId', cellid) - return cellid - - def bvci(self): - bvci = self.resources_pool.next_bvci(self) - self.log('using BVCI', bvci) - return bvci - - def poll(self): - for proc, respawn in self._processes: - if proc.terminated(): - if respawn == True: - proc.respawn() - else: - proc.log_stdout_tail() - proc.log_stderr_tail() - log.ctx(proc) - raise log.Error('Process ended prematurely: %s' % proc.name()) - - def prompt(self, *msgs, **msg_details): - 'ask for user interaction. Do not use in tests that should run automatically!' - if msg_details: - msgs = list(msgs) - msgs.append('{%s}' % - (', '.join(['%s=%r' % (k,v) - for k,v in sorted(msg_details.items())]))) - msg = ' '.join(msgs) or 'Hit Enter to continue' - self.log('prompt:', msg) - sys.__stdout__.write('\n\n--- PROMPT ---\n') - sys.__stdout__.write(msg) - sys.__stdout__.write('\n') - sys.__stdout__.flush() - entered = util.input_polling('> ', MainLoop.poll) - self.log('prompt entered:', repr(entered)) - return entered - def resource_status_str(self): return '\n'.join(('', 'SUITE RUN: %s' % self.origin_id(), diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 8c4743a..aa94f3c 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -20,6 +20,22 @@ # These will be initialized before each test run. # A test script can thus establish its context by doing: # from osmo_gsm_tester.testenv import * + +import sys + +from .core import process +from .core import log as log_module +from .core import process as process_module +from .core import resource +from .core.event_loop import MainLoop + +from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 +from .obj import run_node +from .obj import epc +from .obj import enb +from .obj import bts +from .obj import ms + trial = None suite = None test = None @@ -32,22 +48,284 @@ sleep = None poll = None prompt = None -Timeout = None Sms = None process = None +class Timeout(Exception): + pass + +class TestEnv(log_module.Origin): + def __init__(self, suite_run, test): + super().__init__(log_module.C_TST, test.name()) + self.suite_run = suite_run + self._test = test + self.trial = suite_run.trial # backward compat with objects + self.resources_pool = suite_run.resource_pool() # backward compat with objects + self._processes = [] + self.test_import_modules_to_clean_up = [] + self.objects_to_clean_up = None + MainLoop.register_poll_func(self.poll) + + def suite(self): + return self.suite_run + + # backward compat with objects + def get_test_run_dir(self): + return self._test.get_run_dir() + + # backward compat with objects + def config(self): + return self.suite_run.config() + + def remember_to_stop(self, process, respawn=False): + '''Ask suite to monitor and manage lifecycle of the Process object. If a + process managed by suite finishes before cleanup time, the current test + will be marked as FAIL and end immediatelly. If respwan=True, then suite + will respawn() the process instead.''' + self._processes.insert(0, (process, respawn)) + + def stop_processes(self): + if len(self._processes) == 0: + return + strategy = process_module.ParallelTerminationStrategy() + while self._processes: + proc, _ = self._processes.pop() + strategy.add_process(proc) + strategy.terminate_all() + + def stop_process(self, process): + 'Remove process from monitored list and stop it' + for proc_respawn in self._processes: + proc, respawn = proc_respawn + if proc == process: + self._processes.remove(proc_respawn) + proc.terminate() + + def register_for_cleanup(self, *obj): + assert all([hasattr(o, 'cleanup') for o in obj]) + self.objects_to_clean_up = self.objects_to_clean_up or [] + self.objects_to_clean_up.extend(obj) + + def objects_cleanup(self): + while self.objects_to_clean_up: + obj = self.objects_to_clean_up.pop() + try: + obj.cleanup() + except Exception: + log_module.log_exn() + + def test_import_modules_register_for_cleanup(self, mod): + ''' + Tests are required to call this API for any module loaded from its own + lib subdir, because they are loaded in the global namespace. Otherwise + later tests importing modules with the same name will re-use an already + loaded module. + ''' + if mod not in self.test_import_modules_to_clean_up: + self.dbg('registering module %r for cleanup' % mod) + self.test_import_modules_to_clean_up.append(mod) + + def test_import_modules_cleanup(self): + while self.test_import_modules_to_clean_up: + mod = self.test_import_modules_to_clean_up.pop() + try: + self.dbg('Cleaning up module %r' % mod) + del sys.modules[mod.__name__] + del mod + except Exception: + log_module.log_exn() + + def poll(self): + for proc, respawn in self._processes: + if proc.terminated(): + if respawn == True: + proc.respawn() + else: + proc.log_stdout_tail() + proc.log_stderr_tail() + log_module.ctx(proc) + raise log_module.Error('Process ended prematurely: %s' % proc.name()) + + def stop(self): + # if sys.exit() called from signal handler (e.g. SIGINT), SystemExit + # base exception is raised. Make sure to stop processes in this + # finally section. Resources are automatically freed with 'atexit'. + self.stop_processes() + self.objects_cleanup() + self.suite_run.reserved_resources.put_all() + MainLoop.unregister_poll_func(self.poll) + self.test_import_modules_cleanup() + + def prompt(self, *msgs, **msg_details): + 'ask for user interaction. Do not use in tests that should run automatically!' + if msg_details: + msgs = list(msgs) + msgs.append('{%s}' % + (', '.join(['%s=%r' % (k,v) + for k,v in sorted(msg_details.items())]))) + msg = ' '.join(msgs) or 'Hit Enter to continue' + self.log('prompt:', msg) + sys.__stdout__.write('\n\n--- PROMPT ---\n') + sys.__stdout__.write(msg) + sys.__stdout__.write('\n') + sys.__stdout__.flush() + entered = util.input_polling('> ', MainLoop.poll) + self.log('prompt entered:', repr(entered)) + return entered + + def get_reserved_resource(self, resource_class_str, specifics=None): + return self.suite_run.get_reserved_resource(resource_class_str, specifics) + + def ip_address(self, specifics=None): + return self.get_reserved_resource(resource.R_IP_ADDRESS, specifics) + + def nitb(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return nitb_osmo.OsmoNitb(self, ip_address) + + def hlr(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return hlr_osmo.OsmoHlr(self, ip_address) + + def ggsn(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return ggsn_osmo.OsmoGgsn(self, ip_address) + + def sgsn(self, hlr, ggsn, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) + + def mgcpgw(self, ip_address=None, bts_ip=None): + if ip_address is None: + ip_address = self.ip_address() + return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) + + def mgw(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return mgw_osmo.OsmoMgw(self, ip_address) + + def msc(self, hlr, mgcpgw, stp, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) + + def bsc(self, msc, mgw, stp, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) + + def stp(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + return stp_osmo.OsmoStp(self, ip_address) + + def ms_driver(self): + ms = ms_driver.MsDriver(self) + self.register_for_cleanup(ms) + return ms + + def bts(self, specifics=None): + bts_obj = bts.Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) + bts_obj.set_lac(self.lac()) + bts_obj.set_rac(self.rac()) + bts_obj.set_cellid(self.cellid()) + bts_obj.set_bvci(self.bvci()) + self.register_for_cleanup(bts_obj) + return bts_obj + + def modem(self, specifics=None): + conf = self.get_reserved_resource(resource.R_MODEM, specifics=specifics) + ms_obj = ms.MS.get_instance_by_type(self, conf) + self.register_for_cleanup(ms_obj) + return ms_obj + + def modems(self, count): + l = [] + for i in range(count): + l.append(self.modem()) + return l + + def all_resources(self, resource_func): + """Returns all yielded resource.""" + l = [] + while True: + try: + l.append(resource_func()) + except resource.NoResourceExn: + return l + + def esme(self): + esme_obj = esme.Esme(self.msisdn()) + self.register_for_cleanup(esme_obj) + return esme_obj + + def run_node(self, specifics=None): + return run_node.RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) + + def enb(self, specifics=None): + enb_obj = enb.eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) + self.register_for_cleanup(enb_obj) + return enb_obj + + def epc(self, run_node=None): + if run_node is None: + run_node = self.run_node() + epc_obj = epc.EPC.get_instance_by_type(self, run_node) + self.register_for_cleanup(epc_obj) + return epc_obj + + def osmocon(self, specifics=None): + conf = self.get_reserved_resource(resource.R_OSMOCON, specifics=specifics) + osmocon_obj = osmocon.Osmocon(self, conf=conf) + self.register_for_cleanup(osmocon_obj) + return osmocon_obj + + def iperf3srv(self, ip_address=None): + if ip_address is None: + ip_address = self.ip_address() + iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) + return iperf3srv_obj + + def msisdn(self): + msisdn = self.suite_run.resource_pool().next_msisdn(self) + self.log('using MSISDN', msisdn) + return msisdn + + def lac(self): + lac = self.suite_run.resource_pool().next_lac(self) + self.log('using LAC', lac) + return lac + + def rac(self): + rac = self.suite_run.resource_pool().next_rac(self) + self.log('using RAC', rac) + return rac + + def cellid(self): + cellid = self.suite_run.resource_pool().next_cellid(self) + self.log('using CellId', cellid) + return cellid + + def bvci(self): + bvci = self.suite_run.resource_pool().next_bvci(self) + self.log('using BVCI', bvci) + return bvci + + def setup(suite_run, _test): - from .core import process as process_module from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class - from . import suite as suite_module - global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Timeout, Sms, process + global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process trial = suite_run.trial - suite = suite_run test = _test - resources = suite_run.reserved_resources + resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest log = test.log dbg = test.dbg err = test.err @@ -55,9 +333,10 @@ wait_no_raise = lambda *args, **kwargs: MainLoop.wait_no_raise(suite_run, *args, **kwargs) sleep = lambda *args, **kwargs: MainLoop.sleep(suite_run, *args, **kwargs) poll = MainLoop.poll - prompt = suite_run.prompt - Timeout = suite_module.Timeout Sms = Sms_class process = process_module + suite = TestEnv(suite_run, _test) # stored in "suite" for backward compatibility + prompt = suite.prompt + return suite # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/trial.py index fb94a59..08b7d8f 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/trial.py @@ -22,7 +22,10 @@ import shutil import tarfile -from .core import log, util, report +from .core import log +from .core import util +from .core import report + from . import suite FILE_MARK_TAKEN = 'taken' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18042 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: If4ab39be7a97d33e82c5a34e2a10dfec38613a4e Gerrit-Change-Number: 18042 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:41 +0000 Subject: Change in osmo-gsm-tester[master]: Move trial.py and suite.py to core/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 ) Change subject: Move trial.py and suite.py to core/ ...................................................................... Move trial.py and suite.py to core/ Change-Id: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b --- M selftest/suite_test.py M selftest/trial_test.py M src/osmo-gsm-tester.py R src/osmo_gsm_tester/core/suite.py R src/osmo_gsm_tester/core/trial.py 5 files changed, 13 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/suite_test.py b/selftest/suite_test.py index 560ca50..de5c6df 100755 --- a/selftest/suite_test.py +++ b/selftest/suite_test.py @@ -3,8 +3,8 @@ import _prep import shutil from osmo_gsm_tester.core import log, config, util, report +from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import suite config.ENV_CONF = './suite_test' diff --git a/selftest/trial_test.py b/selftest/trial_test.py index e73ca37..41d71e6 100755 --- a/selftest/trial_test.py +++ b/selftest/trial_test.py @@ -4,7 +4,7 @@ import _prep import os from osmo_gsm_tester.core import util -from osmo_gsm_tester.trial import Trial +from osmo_gsm_tester.core.trial import Trial workdir = util.get_tempdir() diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index af66b32..dc1e058 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -71,9 +71,10 @@ from signal import * from osmo_gsm_tester import __version__ from osmo_gsm_tester.core import log +from osmo_gsm_tester.core import trial +from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF from osmo_gsm_tester.core.schema import generate_schemas -from osmo_gsm_tester import trial, suite def sig_handler_cleanup(signum, frame): print("killed by signal %d" % signum) diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/core/suite.py similarity index 98% rename from src/osmo_gsm_tester/suite.py rename to src/osmo_gsm_tester/core/suite.py index 3416ff5..0995f8f 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -21,12 +21,12 @@ import sys import time import pprint -from .core import config -from .core import log -from .core import util -from .core import schema -from .core import resource -from .core import test +from . import config +from . import log +from . import util +from . import schema +from . import resource +from . import test class SuiteDefinition(log.Origin): '''A test suite reserves resources for a number of tests. diff --git a/src/osmo_gsm_tester/trial.py b/src/osmo_gsm_tester/core/trial.py similarity index 98% rename from src/osmo_gsm_tester/trial.py rename to src/osmo_gsm_tester/core/trial.py index 08b7d8f..83b0f11 100644 --- a/src/osmo_gsm_tester/trial.py +++ b/src/osmo_gsm_tester/core/trial.py @@ -22,10 +22,9 @@ import shutil import tarfile -from .core import log -from .core import util -from .core import report - +from . import log +from . import util +from . import report from . import suite FILE_MARK_TAKEN = 'taken' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18044 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: Ic9a4c90c190e9d8e1829fbef83a9243f3c6f655b Gerrit-Change-Number: 18044 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:41 +0000 Subject: Change in osmo-gsm-tester[master]: Update obj classes in obj/ to use testenv instead of suite_run In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 ) Change subject: Update obj classes in obj/ to use testenv instead of suite_run ...................................................................... Update obj classes in obj/ to use testenv instead of suite_run Change-Id: Idf41243a497de7bc507b9f1cd1b38640f456f815 --- M src/osmo_gsm_tester/core/suite.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_octphy.py M src/osmo_gsm_tester/obj/bts_osmo.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/bts_osmovirtual.py M src/osmo_gsm_tester/obj/bts_sysmo.py M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ggsn_osmo.py M src/osmo_gsm_tester/obj/hlr_osmo.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/mgcpgw_osmo.py M src/osmo_gsm_tester/obj/mgw_osmo.py M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_driver.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/msc_osmo.py M src/osmo_gsm_tester/obj/nitb_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/pcap_recorder.py M src/osmo_gsm_tester/obj/pcu.py M src/osmo_gsm_tester/obj/pcu_oc2g.py M src/osmo_gsm_tester/obj/pcu_osmo.py M src/osmo_gsm_tester/obj/pcu_sysmo.py M src/osmo_gsm_tester/obj/sgsn_osmo.py M src/osmo_gsm_tester/obj/stp_osmo.py M src/osmo_gsm_tester/testenv.py M src/osmo_ms_driver/starter.py 39 files changed, 282 insertions(+), 288 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 0995f8f..1bd6a63 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -72,13 +72,16 @@ self._resource_modifiers = None self._config = None self._run_dir = None - self.trial = trial + self._trial = trial self.definition = suite_definition self.scenarios = scenarios self.resources_pool = resource.ResourcesPool() self.status = SuiteRun.UNKNOWN self.load_tests() + def trial(self): + return self._trial + def load_tests(self): self.tests = [] for test_basename in self.definition.test_basenames: @@ -109,7 +112,7 @@ def get_run_dir(self): if self._run_dir is None: - self._run_dir = util.Dir(self.trial.get_run_dir().new_dir(self.name())) + self._run_dir = util.Dir(self._trial.get_run_dir().new_dir(self.name())) return self._run_dir def resource_requirements(self): @@ -142,7 +145,7 @@ def run_tests(self, names=None): suite_libdir = os.path.join(self.definition.suite_dir, 'lib') try: - log.large_separator(self.trial.name(), self.name(), sublevel=2) + log.large_separator(self._trial.name(), self.name(), sublevel=2) self.mark_start() util.import_path_prepend(suite_libdir) if not self.reserved_resources: @@ -171,7 +174,7 @@ else: self.status = SuiteRun.FAIL - log.large_separator(self.trial.name(), self.name(), self.status, sublevel=2, space_above=False) + log.large_separator(self._trial.name(), self.name(), self.status, sublevel=2, space_above=False) def passed(self): return self.status == SuiteRun.PASS diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 76c9ce9..8ab124b 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -58,7 +58,7 @@ testenv_obj = None try: self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True) - log.large_separator(self.suite_run.trial.name(), self.suite_run.name(), self.name(), sublevel=3) + log.large_separator(self.suite_run.trial().name(), self.suite_run.name(), self.name(), sublevel=3) self.status = Test.UNKNOWN self.start_timestamp = time.time() testenv_obj = testenv.setup(self.suite_run, self) diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 046ef94..22b2dad 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -34,7 +34,7 @@ class OsmoBsc(log.Origin): - def __init__(self, suite_run, msc, mgw, stp, ip_address): + def __init__(self, testenv, msc, mgw, stp, ip_address): super().__init__(log.C_RUN, 'osmo-bsc_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None @@ -42,7 +42,7 @@ self.encryption = None self.rsl_ip = None self.use_osmux = "off" - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.bts = [] self.msc = msc @@ -51,10 +51,10 @@ def start(self): self.log('Starting osmo-bsc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) binary = inst.child('bin', 'osmo-bsc') if not os.path.isfile(binary): @@ -67,7 +67,7 @@ filter = 'host %s or host %s and port not 22' % (self.addr(), self.rsl_ip) else: filter = 'host %s and port not 22' % self.addr() - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, filter) + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, filter) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -76,7 +76,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -84,7 +84,7 @@ self.dbg(config_file=self.config_file) values = dict(bsc=config.get_defaults('bsc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(bsc=dict(ip_address=self.ip_address))) config.overlay(values, self.mgw.conf_for_client()) config.overlay(values, self.stp.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/bts.py b/src/osmo_gsm_tester/obj/bts.py index e23b555..56e5aaa 100644 --- a/src/osmo_gsm_tester/obj/bts.py +++ b/src/osmo_gsm_tester/obj/bts.py @@ -50,7 +50,7 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): + def __init__(self, testenv, conf, name, defaults_cfg_name): super().__init__(log.C_RUN, name) self.bsc = None self.sgsn = None @@ -61,7 +61,7 @@ self._num_trx = 1 self._max_trx = None self.overlay_trx_list = [] - self.suite_run = suite_run + self.testenv = testenv self.conf = conf self.defaults_cfg_name = defaults_cfg_name self._init_num_trx() @@ -162,7 +162,7 @@ 'Nothing to do by default. Subclass can override if required.' pass - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a BTS child class based on type. Opts are passed to the newly created object.""" bts_type = conf.get('type') if bts_type is None: @@ -188,7 +188,7 @@ bts_class = NanoBts else: raise log.Error('BTS type not supported:', bts_type) - return bts_class(suite_run, conf) + return bts_class(testenv, conf) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index 3e9b035..5c07bda 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -30,8 +30,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, 'nanobts_%s' % conf.get('label', 'nolabel'), 'nanobts') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, 'nanobts_%s' % conf.get('label', 'nolabel'), 'nanobts') self.pwsup_list = [] self._pcu = None @@ -94,7 +94,7 @@ def start(self, keepalive=False): if self.conf.get('ipa_unit_id') is None: raise log.Error('No attribute ipa_unit_id provided in conf!') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self._configure() unitid = int(self.conf.get('ipa_unit_id')) @@ -104,7 +104,7 @@ self.dbg('Powering cycling NanoBTS TRX') pwsup.power_cycle(1.0) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, '%s and port not 22' % self.get_pcap_filter_all_trx_ip()) @@ -116,14 +116,14 @@ local_bind_ip = util.dst_ip_get_local_bind(bts_trx_ip) self.log('Finding nanobts %s, binding on %s...' % (bts_trx_ip, local_bind_ip)) - ipfind = AbisIpFind(self.suite_run, self.run_dir, local_bind_ip, 'preconf') + ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'preconf') ipfind.start() ipfind.wait_bts_ready(bts_trx_ip) running_unitid, running_trx = ipfind.get_unitid_by_ip(bts_trx_ip) self.log('Found nanobts %s with unit_id %d trx %d' % (bts_trx_ip, running_unitid, running_trx)) ipfind.stop() - ipconfig = IpAccessConfig(self.suite_run, self.run_dir, bts_trx_ip) + ipconfig = IpAccessConfig(self.testenv, self.run_dir, bts_trx_ip) running_oml_ip = ipconfig.get_oml_ip() if running_unitid != unitid or running_trx != trx_i: @@ -142,7 +142,7 @@ MainLoop.sleep(self, 20) self.dbg('Starting to connect id %d trx %d to' % (unitid, trx_i), self.bsc) - ipfind = AbisIpFind(self.suite_run, self.run_dir, local_bind_ip, 'postconf') + ipfind = AbisIpFind(self.testenv, self.run_dir, local_bind_ip, 'postconf') ipfind.start() ipfind.wait_bts_ready(bts_trx_ip) self.log('nanoBTS id %d trx %d configured and running' % (unitid, trx_i)) @@ -171,12 +171,12 @@ def pcu(self): if not self._pcu: - self._pcu = pcu.PcuDummy(self.suite_run, self, self.conf) + self._pcu = pcu.PcuDummy(self.testenv, self, self.conf) return self._pcu class AbisIpFind(log.Origin): - suite_run = None + testenv = None parent_run_dir = None run_dir = None inst = None @@ -187,16 +187,16 @@ BIN_ABISIP_FIND = 'abisip-find' BTS_UNIT_ID_RE = re.compile("Unit_ID='(?P\d+)/\d+/(?P\d+)'") - def __init__(self, suite_run, parent_run_dir, bind_ip, name_suffix): + def __init__(self, testenv, parent_run_dir, bind_ip, name_suffix): super().__init__(log.C_RUN, AbisIpFind.BIN_ABISIP_FIND + '-' + name_suffix) - self.suite_run = suite_run + self.testenv = testenv self.parent_run_dir = parent_run_dir self.bind_ip = bind_ip self.env = {} def start(self): self.run_dir = util.Dir(self.parent_run_dir.new_dir(self.name())) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) lib = self.inst.child('lib') if not os.path.isdir(lib): @@ -209,11 +209,11 @@ self.proc = process.Process(self.name(), self.run_dir, (ipfind_path, '-i', '1', '-b', self.bind_ip), env=env) - self.suite_run.remember_to_stop(self.proc) + self.testenv.remember_to_stop(self.proc) self.proc.launch() def stop(self): - self.suite_run.stop_process(self.proc) + self.testenv.stop_process(self.proc) def get_line_by_ip(self, ipaddr): """Get latest line (more up to date) from abisip-find based on ip address.""" @@ -246,7 +246,7 @@ MainLoop.sleep(self, 2) class IpAccessConfig(log.Origin): - suite_run = None + testenv = None parent_run_dir = None run_dir = None inst = None @@ -255,9 +255,9 @@ BIN_IPACCESS_CONFIG = 'ipaccess-config' - def __init__(self, suite_run, parent_run_dir, bts_ip): + def __init__(self, testenv, parent_run_dir, bts_ip): super().__init__(log.C_RUN, IpAccessConfig.BIN_IPACCESS_CONFIG) - self.suite_run = suite_run + self.testenv = testenv self.parent_run_dir = parent_run_dir self.bts_ip = bts_ip self.env = {} @@ -274,7 +274,7 @@ def run(self, name_suffix, *args): self.run_dir = util.Dir(self.parent_run_dir.new_dir(self.name()+'-'+name_suffix)) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bsc'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) lib = self.inst.child('lib') self.env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } self.proc = self.create_process(IpAccessConfig.BIN_IPACCESS_CONFIG, *args) diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index 4a59eee..ee86cc3 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -31,8 +31,8 @@ BTS_OC2G_BIN = 'osmo-bts-oc2g' BTS_OC2G_CFG = 'osmo-bts-oc2g.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsOC2G.BTS_OC2G_BIN, 'osmo_bts_oc2g') self.run_dir = None self.inst = None self.remote_inst = None @@ -44,7 +44,7 @@ return util.str2bool(self.conf.get('direct_pcu')) def create_pcu(self): - return pcu_oc2g.OsmoPcuOC2G(self.suite_run, self, self.conf) + return pcu_oc2g.OsmoPcuOC2G(self.testenv, self, self.conf) def configure(self): if self.bsc is None: @@ -54,7 +54,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_bts_oc2g': config.get_defaults('osmo_bts_oc2g') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_oc2g': { 'oml_remote_ip': self.bsc.addr(), @@ -100,10 +100,10 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting OsmoBtsOC2G to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -131,6 +131,6 @@ args += ('-M',) self.proc_bts = rem_host.RemoteProcess(OsmoBtsOC2G.BTS_OC2G_BIN, args) - self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.testenv.remember_to_stop(self.proc_bts, keepalive) self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py index 11570e8..c4d3910 100644 --- a/src/osmo_gsm_tester/obj/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -31,8 +31,8 @@ BIN_BTS_OCTPHY = 'osmo-bts-octphy' CONF_BTS_OCTPHY = 'osmo-bts-octphy.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsOctphy.BIN_BTS_OCTPHY, 'osmo_bts_octphy') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsOctphy.BIN_BTS_OCTPHY, 'osmo_bts_octphy') self.run_dir = None self.inst = None self.env = {} @@ -46,7 +46,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc) + self.testenv.remember_to_stop(proc) proc.launch() return proc @@ -85,7 +85,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_bts_octphy=config.get_defaults('osmo_bts_octphy')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_octphy': { 'oml_remote_ip': self.bsc.addr(), @@ -117,13 +117,13 @@ def start(self): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) btsoct_path = self.inst.child('bin', OsmoBtsOctphy.BIN_BTS_OCTPHY) lib = self.inst.child('lib') if not os.path.isdir(lib): @@ -139,6 +139,6 @@ self.proc_bts = self.launch_process(OsmoBtsOctphy.BIN_BTS_OCTPHY, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr(), '-t', str(self.num_trx())) - self.suite_run.poll() + self.testenv.poll() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_osmo.py b/src/osmo_gsm_tester/obj/bts_osmo.py index a182c47..c1a1f5c 100644 --- a/src/osmo_gsm_tester/obj/bts_osmo.py +++ b/src/osmo_gsm_tester/obj/bts_osmo.py @@ -38,8 +38,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): - super().__init__(suite_run, conf, name, defaults_cfg_name) + def __init__(self, testenv, conf, name, defaults_cfg_name): + super().__init__(testenv, conf, name, defaults_cfg_name) self._pcu = None self.proc_bts = None if len(self.pcu_socket_path().encode()) > 107: @@ -86,9 +86,9 @@ # PROTECTED ############## - def __init__(self, suite_run, conf, name, defaults_cfg_name): + def __init__(self, testenv, conf, name, defaults_cfg_name): self.pcu_sk_tmp_dir = None - super().__init__(suite_run, conf, name, defaults_cfg_name) + super().__init__(testenv, conf, name, defaults_cfg_name) ######################## # PUBLIC - INTERNAL API @@ -107,7 +107,7 @@ os.rmdir(self.pcu_sk_tmp_dir) def create_pcu(self): - return pcu_osmo.OsmoPcu(self.suite_run, self, self.conf) + return pcu_osmo.OsmoPcu(self.testenv, self, self.conf) def pcu_socket_path(self): if self.pcu_sk_tmp_dir is None: diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 9234fc8..42ed3f8 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -50,8 +50,8 @@ CONF_BTS_TRX = 'osmo-bts-trx.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, OsmoBtsTrx.BIN_BTS_TRX, 'osmo_bts_trx') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, OsmoBtsTrx.BIN_BTS_TRX, 'osmo_bts_trx') self.run_dir = None self.inst = None self.trx = None @@ -74,7 +74,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -86,7 +86,7 @@ values = dict(osmo_bts_trx=config.get_defaults('osmo_bts_trx')) config.overlay(values, dict(osmo_bts_trx=dict(osmo_trx=config.get_defaults('osmo_trx')))) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_trx': { 'oml_remote_ip': self.bsc.addr(), @@ -155,10 +155,10 @@ def start(self, keepalive=False): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() # Power cycle all TRX if needed (right now only TRX0 for SC5): @@ -170,12 +170,12 @@ i = i + 1 if self.launch_trx_enabled(): - self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.suite_run, self.conf_for_osmotrx()) + self.trx = OsmoTrx.get_instance_by_type(self.get_osmo_trx_type(), self.testenv, self.conf_for_osmotrx()) self.trx.start(keepalive) self.log('Waiting for %s to start up...' % self.trx.name()) MainLoop.wait(self, self.trx.trx_ready) - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -184,7 +184,7 @@ self.proc_bts = self.launch_process(keepalive, OsmoBtsTrx.BIN_BTS_TRX, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() ################################################################################ @@ -195,23 +195,23 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name): + def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, name) - self.suite_run = suite_run + self.testenv = testenv self.conf = conf - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) @classmethod - def get_instance_by_type(cls, type, suite_run, conf): + def get_instance_by_type(cls, type, testenv, conf): KNOWN_OSMOTRX_TYPES = { 'uhd': OsmoTrxUHD, 'lms': OsmoTrxLMS, 'sc5': TrxSC5 } osmo_trx_class = KNOWN_OSMOTRX_TYPES.get(type) - return osmo_trx_class(suite_run, conf) + return osmo_trx_class(testenv, conf) ############## # PUBLIC (test API included) @@ -233,8 +233,8 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, self.binary_name()) + def __init__(self, testenv, conf): + super().__init__(testenv, conf, self.binary_name()) self.env = {} self.log("OSMOTRX CONF: %r" % conf) self.bts_ip = conf.get('osmo_trx', {}).get('bts_ip') @@ -274,7 +274,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -292,7 +292,7 @@ have_inst = rem_host.inst_compatible_for_remote() if have_inst: - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-trx'))) rem_host.recreate_remote_dir(remote_prefix_dir) if have_inst: @@ -311,7 +311,7 @@ remote_binary = self.binary_name() args = (remote_binary, '-C', remote_config_file) self.proc_trx = rem_host.RemoteProcessFixIgnoreSIGHUP(self.binary_name(), remote_run_dir, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.proc_trx, keepalive) + self.testenv.remember_to_stop(self.proc_trx, keepalive) self.proc_trx.launch() ############## @@ -323,7 +323,7 @@ self.start_remotely(keepalive) return # Run locally if ssh user is not set - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-trx'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-trx'))) lib = self.inst.child('lib') self.env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } self.proc_trx = self.launch_process_local(keepalive, self.binary_name(), @@ -337,8 +337,8 @@ class OsmoTrxUHD(OsmoTrx): BIN_TRX = 'osmo-trx-uhd' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf) + def __init__(self, testenv, conf): + super().__init__(testenv, conf) def binary_name(self): return OsmoTrxUHD.BIN_TRX @@ -346,16 +346,16 @@ class OsmoTrxLMS(OsmoTrx): BIN_TRX = 'osmo-trx-lms' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf) + def __init__(self, testenv, conf): + super().__init__(testenv, conf) def binary_name(self): return OsmoTrxLMS.BIN_TRX class TrxSC5(Trx): - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, "sc5-trx") + def __init__(self, testenv, conf): + super().__init__(testenv, conf, "sc5-trx") self.ready = False def start(self, keepalive=False): diff --git a/src/osmo_gsm_tester/obj/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py index 495b2a8..b6470c1 100644 --- a/src/osmo_gsm_tester/obj/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -33,9 +33,9 @@ CONF_BTS = 'osmo-bts-virtual.cfg' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): """Initializes the OsmoBtsVirtual.""" - super().__init__(suite_run, conf, OsmoBtsVirtual.BIN_BTS, 'osmo_bts_virtual') + super().__init__(testenv, conf, OsmoBtsVirtual.BIN_BTS, 'osmo_bts_virtual') self.run_dir = None self.inst = None self.env = {} @@ -50,7 +50,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -63,7 +63,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_bts_virtual=config.get_defaults('osmo_bts_virtual')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_virtual': { 'oml_remote_ip': self.bsc.addr(), @@ -95,13 +95,13 @@ """Handles starting/turning-up the osmo-bts-virtual process.""" if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-bts'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -110,6 +110,6 @@ self.proc_bts = self.launch_process(keepalive, OsmoBtsVirtual.BIN_BTS, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index aecf977..8f76ecb 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -31,8 +31,8 @@ BTS_SYSMO_BIN = 'osmo-bts-sysmo' BTS_SYSMO_CFG = 'osmo-bts-sysmo.cfg' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, SysmoBts.BTS_SYSMO_BIN, 'osmo_bts_sysmo') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, SysmoBts.BTS_SYSMO_BIN, 'osmo_bts_sysmo') self.run_dir = None self.inst = None self.remote_inst = None @@ -44,7 +44,7 @@ return util.str2bool(self.conf.get('direct_pcu')) def create_pcu(self): - return pcu_sysmo.OsmoPcuSysmo(self.suite_run, self, self.conf) + return pcu_sysmo.OsmoPcuSysmo(self.testenv, self, self.conf) def configure(self): if self.bsc is None: @@ -54,7 +54,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_bts_sysmo': config.get_defaults('osmo_bts_sysmo') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_bts_sysmo': { 'oml_remote_ip': self.bsc.addr(), @@ -94,10 +94,10 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting sysmoBTS to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(SysmoBts.BTS_SYSMO_BIN))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(SysmoBts.BTS_SYSMO_BIN))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -127,7 +127,7 @@ args += ('-M',) self.proc_bts = rem_host.RemoteProcess(SysmoBts.BTS_SYSMO_BIN, args) - self.suite_run.remember_to_stop(self.proc_bts, keepalive) + self.testenv.remember_to_stop(self.proc_bts, keepalive) self.proc_bts.launch() # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 7514604..4848ea4 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -66,7 +66,7 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, conf, name): + def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, '%s' % name) self._conf = conf self._addr = conf.get('addr', None) @@ -86,9 +86,9 @@ values = dict(enb=config.get_defaults('enb')) for config_specifics in config_specifics_li: config.overlay(values, dict(enb=config.get_defaults(config_specifics))) - config.overlay(values, dict(enb=self.suite_run.config().get('enb', {}))) + config.overlay(values, dict(enb=self.testenv.suite().config().get('enb', {}))) for config_specifics in config_specifics_li: - config.overlay(values, dict(enb=self.suite_run.config().get(config_specifics, {}))) + config.overlay(values, dict(enb=self.testenv.suite().config().get(config_specifics, {}))) config.overlay(values, dict(enb=self._conf)) self._id = int(values['enb'].get('id', None)) assert self._id is not None @@ -192,7 +192,7 @@ return rf_dev_args - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a ENB child class based on type. Opts are passed to the newly created object.""" enb_type = conf.get('type') if enb_type is None: @@ -206,7 +206,7 @@ enb_class = srsENB else: raise log.Error('ENB type not supported:', enb_type) - return enb_class(suite_run, conf) + return enb_class(testenv, conf) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index 6f7080a..a534708 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -45,8 +45,8 @@ CFGFILE_DRB = 'amarisoft_drb.cfg' LOGFILE = 'lteenb.log' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, 'amarisoftenb') + def __init__(self, testenv, conf): + super().__init__(testenv, conf, 'amarisoftenb') self.ue = None self.run_dir = None self.inst = None @@ -68,7 +68,7 @@ self.remote_config_drb_file = None self.remote_log_file = None self.enable_measurements = False - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -77,7 +77,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftenb') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb') return self._bin_prefix def cleanup(self): @@ -98,7 +98,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() self._start() @@ -119,7 +119,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftENB.BINFILE, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 0816ca6..70f2f35 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -46,8 +46,8 @@ LOGFILE = 'srsenb.log' PCAPFILE = 'srsenb.pcap' - def __init__(self, suite_run, conf): - super().__init__(suite_run, conf, srsENB.BINFILE) + def __init__(self, testenv, conf): + super().__init__(testenv, conf, srsENB.BINFILE) self.ue = None self.run_dir = None self.gen_conf = None @@ -66,7 +66,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.enable_pcap = False - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -94,7 +94,7 @@ def start(self, epc): self.log('Starting srsENB') self._epc = epc - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.remote_user: self.start_remotely() @@ -112,7 +112,7 @@ args += tuple(self._additional_args) self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -123,7 +123,7 @@ args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): @@ -135,7 +135,7 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsENB.BINFILE): diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index cbca0fb..177e662 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -33,20 +33,20 @@ ############## # PROTECTED ############## - def __init__(self, suite_run, run_node, name): + def __init__(self, testenv, run_node, name): super().__init__(log.C_RUN, '%s' % name) self._addr = run_node.run_addr() self.set_name('%s_%s' % (name, self._addr)) - self.suite_run = suite_run + self.testenv = testenv self._run_node = run_node def configure(self, config_specifics_li): values = dict(epc=config.get_defaults('epc')) for config_specifics in config_specifics_li: config.overlay(values, dict(epc=config.get_defaults(config_specifics))) - config.overlay(values, dict(epc=self.suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc=self.testenv.suite().config().get('epc', {}))) for config_specifics in config_specifics_li: - config.overlay(values, dict(epc=self.suite_run.config().get(config_specifics, {}))) + config.overlay(values, dict(epc=self.testenv.suite().config().get(config_specifics, {}))) config.overlay(values, dict(epc={'run_addr': self.addr()})) return values @@ -57,10 +57,10 @@ 'Nothing to do by default. Subclass can override if required.' pass - def get_instance_by_type(suite_run, run_node): + def get_instance_by_type(testenv, run_node): """Allocate a EPC child class based on type. Opts are passed to the newly created object.""" values = dict(epc=config.get_defaults('epc')) - config.overlay(values, dict(epc=suite_run.config().get('epc', {}))) + config.overlay(values, dict(epc=testenv.suite().config().get('epc', {}))) epc_type = values['epc'].get('type', None) if epc_type is None: raise RuntimeError('EPC type is not defined!') @@ -74,7 +74,7 @@ else: raise log.Error('EPC type not supported:', epc_type) - return epc_class(suite_run, run_node) + return epc_class(testenv, run_node) ################### # PUBLIC (test API included) diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 8606e57..b5304bf 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -38,8 +38,8 @@ LOGFILE = 'ltemme.log' IFUPFILE = 'mme-ifup' - def __init__(self, suite_run, run_node): - super().__init__(suite_run, run_node, 'amarisoftepc') + def __init__(self, testenv, run_node): + super().__init__(testenv, run_node, 'amarisoftepc') self.run_dir = None self.config_file = None self.log_file = None @@ -58,7 +58,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftepc') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc') return self._bin_prefix def cleanup(self): @@ -74,7 +74,7 @@ def start(self): self.log('Starting amarisoftepc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() @@ -94,7 +94,7 @@ self.process = self.rem_host.RemoteProcess(AmarisoftEPC.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(AmarisoftEPC.BINFILE, remote_run_dir, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -112,7 +112,7 @@ args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -168,7 +168,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if algo_str is None: diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index f859df0..c5e762f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -39,8 +39,8 @@ PCAPFILE = 'srsepc.pcap' LOGFILE = 'srsepc.log' - def __init__(self, suite_run, run_node): - super().__init__(suite_run, run_node, 'srsepc') + def __init__(self, testenv, run_node): + super().__init__(testenv, run_node, 'srsepc') self.run_dir = None self.config_file = None self.db_file = None @@ -74,7 +74,7 @@ def start(self): self.log('Starting srsepc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() @@ -95,7 +95,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(srsEPC.BINFILE, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -114,11 +114,11 @@ args = (binary, os.path.abspath(self.config_file)) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsEPC.BINFILE): @@ -180,7 +180,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if algo_str is None: diff --git a/src/osmo_gsm_tester/obj/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py index 11745f6..1435fdb 100644 --- a/src/osmo_gsm_tester/obj/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -25,20 +25,20 @@ class OsmoGgsn(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-ggsn_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-ggsn') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-ggsn'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-ggsn'))) binary = inst.child('bin', 'osmo-ggsn') if not os.path.isfile(binary): @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise log.Error('No lib/ in', inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = {} @@ -64,7 +64,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -72,7 +72,7 @@ self.dbg(config_file=self.config_file) values = dict(ggsn=config.get_defaults('ggsn')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(ggsn=dict(ip_address=self.ip_address))) config.overlay(values, dict(ggsn=dict(statedir=self.run_dir.new_dir('statedir')))) diff --git a/src/osmo_gsm_tester/obj/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py index 93e5fff..79175f6 100644 --- a/src/osmo_gsm_tester/obj/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -30,21 +30,21 @@ process = None next_subscriber_id = 1 - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-hlr_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None self.next_subscriber_id = 1 - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-hlr') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-hlr'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-hlr'))) binary = inst.child('bin', 'osmo-hlr') if not os.path.isfile(binary): @@ -60,7 +60,7 @@ raise log.Error('hlr.sql missing:', sql_input) self.run_local('create_hlr_db', ('/bin/sh', '-c', 'sqlite3 %r < %r' % (self.db_file, sql_input))) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -71,7 +71,7 @@ '-c', os.path.abspath(self.config_file), '--database', self.db_file), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -79,7 +79,7 @@ self.dbg(config_file=self.config_file) values = dict(hlr=config.get_defaults('hlr')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(hlr=dict(ip_address=self.ip_address))) self.dbg('HLR CONFIG:\n' + pprint.pformat(values)) @@ -106,7 +106,7 @@ def subscriber_add(self, modem, msisdn=None, algo_str=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) subscriber_id = self.next_subscriber_id self.next_subscriber_id += 1 diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index b9fdfe8..ff09f17 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -52,12 +52,12 @@ LOGFILE = 'iperf3_srv.json' REMOTE_DIR = '/tmp' - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'iperf3-srv_%s' % ip_address.get('addr')) self.run_dir = None self.process = None self._run_node = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self._port = IPerf3Server.DEFAULT_SRV_PORT self.log_file = None @@ -84,7 +84,7 @@ def start(self): self.log('Starting iperf3-srv') self.log_copied = False - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Server.LOGFILE) if self.runs_locally(): self.start_locally() @@ -105,11 +105,11 @@ args += ('--logfile', self.remote_log_file,) self.process = self.rem_host.RemoteProcess(self.name(), args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) args = ('iperf3', '-s', '-B', self.addr(), @@ -118,7 +118,7 @@ args += ('--logfile', os.path.abspath(self.log_file),) self.process = process.Process(self.name(), self.run_dir, args, env={}) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def set_run_node(self, run_node): @@ -128,7 +128,7 @@ self._port = port def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def get_results(self): if self.logfile_supported: @@ -153,20 +153,20 @@ return not self.process.terminated() def create_client(self): - return IPerf3Client(self.suite_run, self) + return IPerf3Client(self.testenv, self) class IPerf3Client(log.Origin): REMOTE_DIR = '/tmp' LOGFILE = 'iperf3_cli.json' - def __init__(self, suite_run, iperf3srv): + def __init__(self, testenv, iperf3srv): super().__init__(log.C_RUN, 'iperf3-cli_%s' % iperf3srv.addr()) self.run_dir = None self.process = None self._run_node = None self.server = iperf3srv - self.suite_run = suite_run + self.testenv = testenv self.log_file = None self.rem_host = None self.remote_log_file = None @@ -180,7 +180,7 @@ def prepare_test_proc(self, downlink=False, netns=None, time_sec=None): if time_sec is None: values = config.get_defaults('iperf3cli') - config.overlay(values, self.suite_run.config().get('iperf3cli', {})) + config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) time_sec_str = values.get('time', time_sec) # Convert duration to seconds @@ -195,7 +195,7 @@ self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) self.log_copied = False - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): return self.prepare_test_proc_locally(downlink, netns, time_sec) @@ -226,7 +226,7 @@ return self.process def prepare_test_proc_locally(self, downlink, netns, time_sec): - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) popen_args = ('iperf3', '-c', self.server.addr(), diff --git a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py index d31f439..3afa3f1 100644 --- a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -25,21 +25,21 @@ class OsmoMgcpgw(log.Origin): - def __init__(self, suite_run, ip_address, bts_ip): + def __init__(self, testenv, ip_address, bts_ip): super().__init__(log.C_RUN, 'osmo-mgcpgw_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address # hack: so far mgcpgw needs one specific BTS IP. self.bts_ip = bts_ip def start(self): self.log('Starting osmo-mgcpgw') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-nitb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-bsc_mgcp') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -57,7 +57,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -65,7 +65,7 @@ self.dbg(config_file=self.config_file) values = dict(mgcpgw=config.get_defaults('mgcpgw')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(mgcpgw=dict(ip_address=self.ip_address, bts_ip=self.bts_ip))) self.dbg('MGCPGW CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/obj/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py index 3798b2d..70572a1 100644 --- a/src/osmo_gsm_tester/obj/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -25,20 +25,20 @@ class OsmoMgw(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-mgw_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.use_osmux = "off" def start(self): self.log('Starting osmo-mgw') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-mgw'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-mgw'))) binary = inst.child('bin', 'osmo-mgw') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -46,7 +46,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -56,7 +56,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -64,7 +64,7 @@ self.dbg(config_file=self.config_file) values = dict(mgw=config.get_defaults('mgw')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'mgw': { 'ip_address': self.ip_address, 'use_osmux': self.use_osmux diff --git a/src/osmo_gsm_tester/obj/ms.py b/src/osmo_gsm_tester/obj/ms.py index a30a9c7..2774deb 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -54,7 +54,7 @@ """Cleans up resources allocated.""" pass - def get_instance_by_type(suite_run, conf): + def get_instance_by_type(testenv, conf): """Allocate a MS child class based on type. Opts are passed to the newly created object.""" ms_type = conf.get('type') if ms_type is None: @@ -75,7 +75,7 @@ ms_class = AmarisoftUE else: raise log.Error('MS type not supported:', ms_type) - return ms_class(suite_run, conf) + return ms_class(testenv, conf) ################### # 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 46a92dc..451bbd0 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -78,7 +78,7 @@ LOGFILE = 'lteue.log' IFUPFILE = 'ue-ifup' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') @@ -98,7 +98,7 @@ self.remote_config_rf_file = None self.remote_log_file = None self.remote_ifup_file = None - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -107,7 +107,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) if self._bin_prefix == None: - self._bin_prefix = self.suite_run.trial.get_inst('amarisoftue') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue') return self._bin_prefix def cleanup(self): @@ -128,12 +128,12 @@ return "amarisoftue1" def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def connect(self, enb): self.log('Starting amarisoftue') self.enb = enb - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() @@ -161,7 +161,7 @@ args = (remote_binary, self.remote_config_file) self.process = self.rem_host.RemoteProcess(AmarisoftUE.BINFILE, args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -182,7 +182,7 @@ args = (binary, os.path.abspath(self.config_file)) self.dbg(run_dir=self.run_dir, binary=binary, env=env) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def gen_conf_file(self, path, filename, values): @@ -232,8 +232,8 @@ values = dict(ue=config.get_defaults('amarisoft')) config.overlay(values, dict(ue=config.get_defaults('amarisoftue'))) - config.overlay(values, dict(ue=self.suite_run.config().get('amarisoft', {}))) - config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('amarisoft', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) diff --git a/src/osmo_gsm_tester/obj/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py index 2c7bb8b..c7c1c24 100644 --- a/src/osmo_gsm_tester/obj/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -30,9 +30,9 @@ class MsDriver(log.Origin): - def __init__(self, suite_run): + def __init__(self, testenv): super().__init__(log.C_RUN, 'ms-driver') - self._suite_run = suite_run + self._testenv = testenv # TODO: take config out of the test scenario self._time_start = timedelta(seconds=60) @@ -67,7 +67,7 @@ """ # Get the base directory for the virtphy/mobile application - inst = util.Dir(os.path.abspath(self._suite_run.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self._testenv.trial.get_inst('osmocom-bb'))) # Assume these are dynamically linked and verify there is a lib dir. lib = inst.child('lib') @@ -117,7 +117,7 @@ self._starter = MobileTestStarter("mass", options, self._cdf, self._ev_server, util.Dir(self.event_server_sk_tmp_dir), - self._results, suite_run=self._suite_run) + self._results, testenv=self._testenv) for sub in self._subscribers: self._starter.subscriber_add(sub) diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index a79f8fb..e03bab8 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -361,7 +361,7 @@ CTX_PROT_IPv6 = 'ipv6' CTX_PROT_IPv46 = 'dual' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self.syspath = conf.get('path') self.dbuspath = get_dbuspath_from_syspath(self.syspath) super().__init__(self.dbuspath, conf) @@ -369,7 +369,7 @@ self._ki = None self._imsi = None self._apn_ipaddr = None - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name().strip('/'))) + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) self.register_attempts = 0 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 7d08b66..e5427f0 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -77,7 +77,7 @@ LOGFILE = 'srsue.log' METRICSFILE = 'srsue_metrics.csv' - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): self._addr = conf.get('addr', None) if self._addr is None: raise log.Error('addr not set') @@ -97,7 +97,7 @@ self.remote_metrics_file = None self.enable_pcap = False self.num_carriers = 1 - self.suite_run = suite_run + self.testenv = testenv self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): @@ -132,12 +132,12 @@ return "srsue1" def stop(self): - self.suite_run.stop_process(self.process) + self.testenv.stop_process(self.process) def connect(self, enb): self.log('Starting srsue') self.enb = enb - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() @@ -170,7 +170,7 @@ self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def start_locally(self): @@ -194,11 +194,11 @@ args += tuple(self._additional_args) self.process = process.Process(self.name(), self.run_dir, args, env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsUE.BINFILE): @@ -220,7 +220,7 @@ self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) - config.overlay(values, dict(ue=self.suite_run.config().get('modem', {}))) + config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index 048934e..162614c 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -32,7 +32,7 @@ class OsmoMsc(log.Origin): - def __init__(self, suite_run, hlr, mgw, stp, ip_address): + def __init__(self, testenv, hlr, mgw, stp, ip_address): super().__init__(log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None @@ -41,7 +41,7 @@ self.encryption = None self.authentication = None self.use_osmux = "off" - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.hlr = hlr self.mgw = mgw @@ -50,9 +50,9 @@ def start(self): self.log('Starting osmo-msc') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-msc') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -60,7 +60,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -70,7 +70,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -78,7 +78,7 @@ self.dbg(config_file=self.config_file) values = dict(msc=config.get_defaults('msc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(msc=dict(ip_address=self.ip_address))) config.overlay(values, self.mgw.conf_for_client()) config.overlay(values, self.hlr.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py index 64db425..88ff721 100644 --- a/src/osmo_gsm_tester/obj/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -26,22 +26,22 @@ class OsmoNitb(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-nitb_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None self.encryption = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address self.bts = [] self.smsc = smsc.Smsc((ip_address.get('addr'), 2775)) def start(self): self.log('Starting osmo-nitb') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-nitb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-nitb') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -49,7 +49,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -59,7 +59,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -67,7 +67,7 @@ self.dbg(config_file=self.config_file) values = dict(nitb=config.get_defaults('nitb')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(nitb=dict(ip_address=self.ip_address))) bts_list = [] @@ -120,7 +120,7 @@ def subscriber_add(self, modem, msisdn=None, algo=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.testenv.msisdn() modem.set_msisdn(msisdn) if not algo: diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 6f6ac2a..5d1e5ae 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -35,7 +35,7 @@ FIRMWARE_FILE="opt/osmocom-bb/target/firmware/board/compal_e88/layer1.compalram.bin" - def __init__(self, suite_run, conf): + def __init__(self, testenv, conf): serial_device = conf.get('serial_device') if serial_device is None: raise log.Error('osmocon_phone contains no attr "serial_device"') @@ -43,7 +43,7 @@ super().__init__(log.C_RUN, 'osmocon_%s' % os.path.basename(self.serial_device)) self.run_dir = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.conf = conf self.sk_tmp_dir = tempfile.mkdtemp('', 'ogtosmoconsk') if len(self.l2_socket_path().encode()) > 107: @@ -62,9 +62,9 @@ # TODO: make sure the pone is powered off before starting osmocon self.log('Starting osmocon') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmocom-bb'))) binary = inst.child('sbin', 'osmocon') if not os.path.isfile(binary): @@ -86,7 +86,7 @@ '-l', self.loader_socket_path(), firmware_path), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() self.log('Waiting for osmocon to be up and running') MainLoop.wait(self, os.path.exists, self.l2_socket_path()) diff --git a/src/osmo_gsm_tester/obj/pcap_recorder.py b/src/osmo_gsm_tester/obj/pcap_recorder.py index eb91420..30a3510 100644 --- a/src/osmo_gsm_tester/obj/pcap_recorder.py +++ b/src/osmo_gsm_tester/obj/pcap_recorder.py @@ -23,13 +23,13 @@ class PcapRecorder(log.Origin): - def __init__(self, suite_run, run_dir, iface=None, filters='', netns=None): + def __init__(self, testenv, run_dir, iface=None, filters='', netns=None): self.iface = iface if not self.iface: self.iface = "any" self.filters = filters super().__init__(log.C_RUN, 'pcap-recorder_%s' % self.iface, filters=self.filters) - self.suite_run = suite_run + self.testenv = testenv self.run_dir = run_dir self.netns = netns self.start() @@ -45,7 +45,7 @@ self.process = process.NetNSProcess(self.name(), self.run_dir, self.netns, popen_args) else: self.process = process.Process(self.name(), self.run_dir, popen_args) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def running(self): diff --git a/src/osmo_gsm_tester/obj/pcu.py b/src/osmo_gsm_tester/obj/pcu.py index 6028f06..ed94d49 100644 --- a/src/osmo_gsm_tester/obj/pcu.py +++ b/src/osmo_gsm_tester/obj/pcu.py @@ -27,10 +27,10 @@ # PROTECTED ############## - def __init__(self, suite_run, bts, conf, name): + def __init__(self, testenv, bts, conf, name): """Base constructor. Must be called by subclass.""" super().__init__(log.C_RUN, name) - self.suite_run = suite_run + self.testenv = testenv self.bts = bts self.conf = conf @@ -55,8 +55,8 @@ class PcuDummy(Pcu): """PCU for BTS without proper PCU control""" - def __init__(self, suite_run, bts, conf): - super().__init__(suite_run, bts, conf, 'PcuDummy') + def __init__(self, testenv, bts, conf): + super().__init__(testenv, bts, conf, 'PcuDummy') def start(self, keepalive=False): pass diff --git a/src/osmo_gsm_tester/obj/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py index 4b67441..cb5e6cb 100644 --- a/src/osmo_gsm_tester/obj/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -28,8 +28,8 @@ PCU_OC2G_BIN = 'osmo-pcu' PCU_OC2G_CFG = 'osmo-pcu-oc2g.cfg' - def __init__(self, suite_run, btsoc2g, conf): - super().__init__(suite_run, btsoc2g, conf, self.PCU_OC2G_BIN) + def __init__(self, testenv, btsoc2g, conf): + super().__init__(testenv, btsoc2g, conf, self.PCU_OC2G_BIN) self.run_dir = None self.bsc = None self.inst = None @@ -39,10 +39,10 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-oc2g'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-oc2g'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -87,7 +87,7 @@ def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): proc = self._process_remote(name, popen_args, remote_cwd) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() def run_local(self, name, popen_args): @@ -104,7 +104,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_pcu_oc2g': config.get_defaults('osmo_pcu_oc2g') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu_oc2g': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py index 4c79f5a..86e6bbe 100644 --- a/src/osmo_gsm_tester/obj/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -27,18 +27,18 @@ BIN_PCU = 'osmo-pcu' PCU_OSMO_CFG = 'osmo-pcu.cfg' - def __init__(self, suite_run, bts, conf): - super().__init__(suite_run, bts, conf, OsmoPcu.BIN_PCU) + def __init__(self, testenv, bts, conf): + super().__init__(testenv, bts, conf, OsmoPcu.BIN_PCU) self.run_dir = None self.inst = None self.conf = conf self.env = {} def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -47,7 +47,7 @@ self.launch_process(keepalive, OsmoPcu.BIN_PCU, '-r', '1', '-c', os.path.abspath(self.config_file), '-i', self.bts.bsc.addr()) - self.suite_run.poll() + self.testenv.poll() def launch_process(self, keepalive, binary_name, *args): binary = os.path.abspath(self.inst.child('bin', binary_name)) @@ -57,7 +57,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() return proc @@ -66,7 +66,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_pcu=config.get_defaults('osmo_pcu')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py index f7c480d..103ad00 100644 --- a/src/osmo_gsm_tester/obj/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -28,8 +28,8 @@ PCU_SYSMO_BIN = 'osmo-pcu' PCU_SYSMO_CFG = 'osmo-pcu-sysmo.cfg' - def __init__(self, suite_run, sysmobts, conf): - super().__init__(suite_run, sysmobts, conf, self.PCU_SYSMO_BIN) + def __init__(self, testenv, sysmobts, conf): + super().__init__(testenv, sysmobts, conf, self.PCU_SYSMO_BIN) self.run_dir = None self.bsc = None self.inst = None @@ -39,10 +39,10 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-pcu-sysmo'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-sysmo'))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -87,7 +87,7 @@ def launch_remote(self, name, popen_args, remote_cwd=None, keepalive=False): proc = self._process_remote(name, popen_args, remote_cwd) - self.suite_run.remember_to_stop(proc, keepalive) + self.testenv.remember_to_stop(proc, keepalive) proc.launch() def run_local(self, name, popen_args): @@ -104,7 +104,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_pcu_sysmo': config.get_defaults('osmo_pcu_sysmo') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, { 'osmo_pcu_sysmo': { 'bts_addr': self.bts.remote_addr(), diff --git a/src/osmo_gsm_tester/obj/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py index 6824d80..a7c7adb 100644 --- a/src/osmo_gsm_tester/obj/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -25,22 +25,22 @@ class OsmoSgsn(log.Origin): - def __init__(self, suite_run, hlr, ggsn, ip_address): + def __init__(self, testenv, hlr, ggsn, ip_address): super().__init__(log.C_RUN, 'osmo-sgsn_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.hlr = hlr self.ggsn = ggsn self.ip_address = ip_address def start(self): self.log('Starting osmo-sgsn') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-sgsn'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-sgsn'))) binary = inst.child('bin', 'osmo-sgsn') if not os.path.isfile(binary): @@ -49,7 +49,7 @@ if not os.path.isdir(lib): raise log.Error('No lib/ in', inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -59,7 +59,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -67,7 +67,7 @@ self.dbg(config_file=self.config_file) values = dict(sgsn=config.get_defaults('sgsn')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(sgsn=dict(ip_address=self.ip_address))) config.overlay(values, self.hlr.conf_for_client()) config.overlay(values, self.ggsn.conf_for_client()) diff --git a/src/osmo_gsm_tester/obj/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py index afb8a04..e8bb4e0 100644 --- a/src/osmo_gsm_tester/obj/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -25,20 +25,20 @@ class OsmoStp(log.Origin): - def __init__(self, suite_run, ip_address): + def __init__(self, testenv, ip_address): super().__init__(log.C_RUN, 'osmo-stp_%s' % ip_address.get('addr')) self.run_dir = None self.config_file = None self.process = None - self.suite_run = suite_run + self.testenv = testenv self.ip_address = ip_address def start(self): self.log('Starting osmo-stp') - self.run_dir = util.Dir(self.suite_run.get_test_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-stp'))) + inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-stp'))) binary = inst.child('bin', 'osmo-stp') if not os.path.isfile(binary): @@ -47,7 +47,7 @@ if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % inst) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), None, + pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -57,7 +57,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.testenv.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -65,7 +65,7 @@ self.dbg(config_file=self.config_file) values = dict(stp=config.get_defaults('stp')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.testenv.suite().config()) config.overlay(values, dict(stp=dict(ip_address=self.ip_address))) self.dbg('STP CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index aa94f3c..0e0860d 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -36,7 +36,6 @@ from .obj import bts from .obj import ms -trial = None suite = None test = None resources = None @@ -59,24 +58,17 @@ super().__init__(log_module.C_TST, test.name()) self.suite_run = suite_run self._test = test - self.trial = suite_run.trial # backward compat with objects - self.resources_pool = suite_run.resource_pool() # backward compat with objects self._processes = [] self.test_import_modules_to_clean_up = [] self.objects_to_clean_up = None MainLoop.register_poll_func(self.poll) + def test(self): + return self._test + def suite(self): return self.suite_run - # backward compat with objects - def get_test_run_dir(self): - return self._test.get_run_dir() - - # backward compat with objects - def config(self): - return self.suite_run.config() - def remember_to_stop(self, process, respawn=False): '''Ask suite to monitor and manage lifecycle of the Process object. If a process managed by suite finishes before cleanup time, the current test @@ -321,9 +313,8 @@ from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class - global trial, suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process + global suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process - trial = suite_run.trial test = _test resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest log = test.log diff --git a/src/osmo_ms_driver/starter.py b/src/osmo_ms_driver/starter.py index 702baf0..559e392 100644 --- a/src/osmo_ms_driver/starter.py +++ b/src/osmo_ms_driver/starter.py @@ -52,9 +52,9 @@ def phy_filename(self): return self._phy_filename - def start(self, loop, suite_run=None): - if suite_run is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name())) + def start(self, loop, testenv=None): + if testenv is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name())) if len(self._phy_filename.encode()) > 107: raise log.Error('Path for unix socket is longer than max allowed len for unix socket path (107):', self._phy_filename) @@ -62,8 +62,8 @@ args = [self._binary, "--l1ctl-sock=" + self._phy_filename] self._vphy_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run is not None: - suite_run.remember_to_stop(self._vphy_proc) + if testenv is not None: + testenv.remember_to_stop(self._vphy_proc) self._vphy_proc.launch() def verify_ready(self): @@ -134,9 +134,9 @@ w.write(mob_vty) return mob_cfg_file - def start(self, loop, suite_run=None): - if suite_run is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: - self.run_dir = util.Dir(suite_run.get_test_run_dir().new_dir(self.name())) + def start(self, loop, testenv=None): + if testenv is not None: # overwrite run_dir to store files if run from inside osmo-gsm-tester: + self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name())) lua_filename = self.write_lua_cfg() mob_filename = self.write_mob_cfg(lua_filename, self._phy_filename) @@ -145,8 +145,8 @@ args = [self._binary, "-c", mob_filename] self._omob_proc = process.Process(self.name(), self.run_dir, args, env=self._env) - if suite_run is not None: - suite_run.remember_to_stop(self._omob_proc) + if testenv is not None: + testenv.remember_to_stop(self._omob_proc) self._omob_proc.launch() def terminate(self): @@ -168,11 +168,11 @@ TEMPLATE_CFG = "osmo-mobile.cfg" def __init__(self, name, options, cdf_function, - event_server, tmp_dir, results, suite_run=None): + event_server, tmp_dir, results, testenv=None): super().__init__(log.C_RUN, name) self._binary_options = options self._cdf = cdf_function - self._suite_run = suite_run + self._testenv = testenv self._tmp_dir = tmp_dir self._event_server = event_server self._results = results @@ -225,7 +225,7 @@ """ self.log("Pre-launching all virtphy's") for phy in self._phys: - phy.start(loop, self._suite_run) + phy.start(loop, self._testenv) self.log("Checking if sockets are in the filesystem") for phy in self._phys: @@ -257,7 +257,7 @@ # start pending MS while len(self._started) < self._cdf.current_scaled_value() and len(self._unstarted) > 0: ms = self._unstarted.pop(0) - ms.start(loop, self._suite_run) + ms.start(loop, self._testenv) launch_time = time.clock_gettime(time.CLOCK_MONOTONIC) self._results[ms.name_number()].set_launch_time(launch_time) self._started.append(ms) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18045 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: Idf41243a497de7bc507b9f1cd1b38640f456f815 Gerrit-Change-Number: 18045 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:42 +0000 Subject: Change in osmo-gsm-tester[master]: tests: Replace 'suite' with 'tenv' In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 ) Change subject: tests: Replace 'suite' with 'tenv' ...................................................................... tests: Replace 'suite' with 'tenv' Change-Id: I777ec59ffd83b861ddc09e85e52d7a8896264b8c --- 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 selftest/suite_test/test_suite/hello_world.py M selftest/suite_test/test_suite/test_error.py M selftest/suite_test/test_suite/test_fail.py M src/osmo_gsm_tester/testenv.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/4g/ping.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/encryption/register_a5_0_authopt.py M sysmocom/suites/encryption/register_a5_0_authreq.py M sysmocom/suites/encryption/register_a5_1_authreq.py M sysmocom/suites/encryption/register_a5_3_authreq.py M sysmocom/suites/gprs/cs_paging_gprs_active.py M sysmocom/suites/gprs/iperf3.py M sysmocom/suites/gprs/iperf3m4.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_netreg_mass/register_default_mass.py M sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py M sysmocom/suites/nitb_smpp/esme_connect_policy_closed.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_connect_policy_acceptall.py M sysmocom/suites/smpp/esme_connect_policy_closed.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 M sysmocom/suites/voice/mo_mt_call.py M sysmocom/suites/voice/mo_mt_call_osmux.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py M sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py 45 files changed, 212 insertions(+), 212 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 7654ea6..51e78c0 100755 --- a/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py +++ b/doc/examples/2g_osmocom/suites/sms/mo_mt_sms.py @@ -1,15 +1,15 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index 88ae82d..d4fa649 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 597b50d..64d476b 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/doc/examples/4g_srsLTE/suites/4g/ping.py b/doc/examples/4g_srsLTE/suites/4g/ping.py index 17eee78..c81a35d 100755 --- a/doc/examples/4g_srsLTE/suites/4g/ping.py +++ b/doc/examples/4g_srsLTE/suites/4g/ping.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() epc.subscriber_add(ue) epc.start() diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/test_suite/hello_world.py index a69f95a..81a9624 100644 --- a/selftest/suite_test/test_suite/hello_world.py +++ b/selftest/suite_test/test_suite/hello_world.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * print('hello world') -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) print('one\ntwo\nthree') diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/test_suite/test_error.py index 70d14a1..6a258e3 100755 --- a/selftest/suite_test/test_suite/test_error.py +++ b/selftest/suite_test/test_suite/test_error.py @@ -1,5 +1,5 @@ from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) assert False diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/test_suite/test_fail.py index ffb7218..83c9b44 100755 --- a/selftest/suite_test/test_suite/test_fail.py +++ b/selftest/suite_test/test_suite/test_fail.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -print('I am %r / %r' % (suite.suite().name(), test.name())) +print('I am %r / %r' % (tenv.suite().name(), test.name())) test.set_fail('EpicFail', 'This failure is expected') diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 0e0860d..416fc58 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -37,7 +37,6 @@ from .obj import ms suite = None -test = None resources = None log = None dbg = None @@ -49,6 +48,7 @@ prompt = None Sms = None process = None +tenv = None class Timeout(Exception): pass @@ -313,7 +313,7 @@ from .core.event_loop import MainLoop from .obj.sms import Sms as Sms_class - global suite, test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process + global test, resources, log, dbg, err, wait, wait_no_raise, sleep, poll, prompt, Sms, process, tenv test = _test resources = suite_run.reserved_resources # TODO: remove this global, only used in selftest @@ -326,8 +326,8 @@ poll = MainLoop.poll Sms = Sms_class process = process_module - suite = TestEnv(suite_run, _test) # stored in "suite" for backward compatibility - prompt = suite.prompt - return suite + tenv = TestEnv(suite_run, _test) + prompt = tenv.prompt + return tenv # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 88ae82d..d4fa649 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 597b50d..64d476b 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -12,10 +12,10 @@ print_result_node(cli_res, 'client') print_result_node(srv_res, 'server') -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index 17eee78..c81a35d 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/suites/4g/ping.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() epc.subscriber_add(ue) epc.start() diff --git a/sysmocom/suites/debug/interactive.py b/sysmocom/suites/debug/interactive.py index 89f967f..fa53cc8 100755 --- a/sysmocom/suites/debug/interactive.py +++ b/sysmocom/suites/debug/interactive.py @@ -1,17 +1,17 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) -modems = suite.modems(int(prompt('How many modems?'))) +modems = tenv.modems(int(prompt('How many modems?'))) bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/dynts/switch_tch_pdch.py b/sysmocom/suites/dynts/switch_tch_pdch.py index f0bbd38..7be4be7 100755 --- a/sysmocom/suites/dynts/switch_tch_pdch.py +++ b/sysmocom/suites/dynts/switch_tch_pdch.py @@ -32,18 +32,18 @@ wait(lambda: len(ms_mo.call_id_list()) == 0 and len(ms_mt.call_id_list()) == 0) print('hangup success') -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/encryption/lib/testlib.py b/sysmocom/suites/encryption/lib/testlib.py index 3948941..ed76e6f 100644 --- a/sysmocom/suites/encryption/lib/testlib.py +++ b/sysmocom/suites/encryption/lib/testlib.py @@ -2,14 +2,14 @@ from osmo_gsm_tester.testenv import * def encryption_test_setup_run(enable_auth, algo): - hlr = suite.hlr() - bts = suite.bts() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) - ms = suite.modem() + hlr = tenv.hlr() + bts = tenv.bts() + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) + ms = tenv.modem() print('start network...') msc.set_authentication(enable_auth) diff --git a/sysmocom/suites/encryption/register_a5_0_authopt.py b/sysmocom/suites/encryption/register_a5_0_authopt.py index 1b7f471..e99946e 100755 --- a/sysmocom/suites/encryption/register_a5_0_authopt.py +++ b/sysmocom/suites/encryption/register_a5_0_authopt.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(False, 'a5_0') diff --git a/sysmocom/suites/encryption/register_a5_0_authreq.py b/sysmocom/suites/encryption/register_a5_0_authreq.py index feca525..648b49e 100755 --- a/sysmocom/suites/encryption/register_a5_0_authreq.py +++ b/sysmocom/suites/encryption/register_a5_0_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_0') diff --git a/sysmocom/suites/encryption/register_a5_1_authreq.py b/sysmocom/suites/encryption/register_a5_1_authreq.py index 077819b..5391f14 100755 --- a/sysmocom/suites/encryption/register_a5_1_authreq.py +++ b/sysmocom/suites/encryption/register_a5_1_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_1') diff --git a/sysmocom/suites/encryption/register_a5_3_authreq.py b/sysmocom/suites/encryption/register_a5_3_authreq.py index 219c109..0fb487b 100755 --- a/sysmocom/suites/encryption/register_a5_3_authreq.py +++ b/sysmocom/suites/encryption/register_a5_3_authreq.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import encryption_test_setup_run encryption_test_setup_run(True, 'a5_3') diff --git a/sysmocom/suites/gprs/cs_paging_gprs_active.py b/sysmocom/suites/gprs/cs_paging_gprs_active.py index b7dead2..f765f80 100755 --- a/sysmocom/suites/gprs/cs_paging_gprs_active.py +++ b/sysmocom/suites/gprs/cs_paging_gprs_active.py @@ -6,7 +6,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel def ready_cb_place_voicecall(ms_li): diff --git a/sysmocom/suites/gprs/iperf3.py b/sysmocom/suites/gprs/iperf3.py index e25519a..bcf14a9 100755 --- a/sysmocom/suites/gprs/iperf3.py +++ b/sysmocom/suites/gprs/iperf3.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel setup_run_iperf3_test_parallel(1) diff --git a/sysmocom/suites/gprs/iperf3m4.py b/sysmocom/suites/gprs/iperf3m4.py index 1cc27ed..713757c 100755 --- a/sysmocom/suites/gprs/iperf3m4.py +++ b/sysmocom/suites/gprs/iperf3m4.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import setup_run_iperf3_test_parallel setup_run_iperf3_test_parallel(4) diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index c1a1bc1..8e42248 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -35,30 +35,30 @@ def setup_run_iperf3_test_parallel(num_ms, ready_cb=None): - hlr = suite.hlr() - bts = suite.bts() + hlr = tenv.hlr() + bts = tenv.bts() pcu = bts.pcu() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - ggsn = suite.ggsn() - sgsn = suite.sgsn(hlr, ggsn) - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + ggsn = tenv.ggsn() + sgsn = tenv.sgsn(hlr, ggsn) + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) - iperf3srv_addr = suite.ip_address() + iperf3srv_addr = tenv.ip_address() servers = [] clients = [] ms_li = [] for i in range(num_ms): - iperf3srv = suite.iperf3srv(iperf3srv_addr) + iperf3srv = tenv.iperf3srv(iperf3srv_addr) iperf3srv.set_port(iperf3srv.DEFAULT_SRV_PORT + i) servers.append(iperf3srv) iperf3cli = iperf3srv.create_client() clients.append(iperf3cli) - ms = suite.modem() + ms = tenv.modem() ms_li.append(ms) bsc.bts_add(bts) diff --git a/sysmocom/suites/gprs/ping.py b/sysmocom/suites/gprs/ping.py index 22fe80a..9a7acde 100755 --- a/sysmocom/suites/gprs/ping.py +++ b/sysmocom/suites/gprs/ping.py @@ -1,17 +1,17 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/gprs/ping_idle_ping.py b/sysmocom/suites/gprs/ping_idle_ping.py index 02e2cdf..88ecbdb 100755 --- a/sysmocom/suites/gprs/ping_idle_ping.py +++ b/sysmocom/suites/gprs/ping_idle_ping.py @@ -6,17 +6,17 @@ from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() +hlr = tenv.hlr() +bts = tenv.bts() pcu = bts.pcu() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -ggsn = suite.ggsn() -sgsn = suite.sgsn(hlr, ggsn) -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +ggsn = tenv.ggsn() +sgsn = tenv.sgsn(hlr, ggsn) +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() bsc.bts_add(bts) sgsn.bts_add(bts) diff --git a/sysmocom/suites/nitb_debug/interactive.py b/sysmocom/suites/nitb_debug/interactive.py index 595cfd9..bd68a57 100755 --- a/sysmocom/suites/nitb_debug/interactive.py +++ b/sysmocom/suites/nitb_debug/interactive.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -modems = suite.modems(int(prompt('How many modems?'))) +nitb = tenv.nitb() +bts = tenv.bts() +modems = tenv.modems(int(prompt('How many modems?'))) print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg/register.py b/sysmocom/suites/nitb_netreg/register.py index d5fbeb7..fd171b3 100755 --- a/sysmocom/suites/nitb_netreg/register.py +++ b/sysmocom/suites/nitb_netreg/register.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg/register_default.py b/sysmocom/suites/nitb_netreg/register_default.py index 545525d..6531049 100755 --- a/sysmocom/suites/nitb_netreg/register_default.py +++ b/sysmocom/suites/nitb_netreg/register_default.py @@ -2,9 +2,9 @@ from osmo_gsm_tester.testenv import * print('use resources...') -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py index 262b271..f6b94ad 100644 --- a/sysmocom/suites/nitb_netreg_mass/register_default_mass.py +++ b/sysmocom/suites/nitb_netreg_mass/register_default_mass.py @@ -7,11 +7,11 @@ from datetime import timedelta print('Claiming resources for the test') -nitb = suite.nitb() -bts = suite.bts() -ms_driver = suite.ms_driver() +nitb = tenv.nitb() +bts = tenv.bts() +ms_driver = tenv.ms_driver() ul = ms_driver.add_test('ul_test') -modems = suite.all_resources(suite.modem) +modems = tenv.all_resources(tenv.modem) print('Launching a simple network') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py index 904226b..85abb9b 100755 --- a/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py +++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_acceptall.py @@ -6,9 +6,9 @@ from osmo_gsm_tester.testenv import * -nitb = suite.nitb() +nitb = tenv.nitb() smsc = nitb.smsc -esme = suite.esme() +esme = tenv.esme() # Here we deliberately omit calling smsc.esme_add() to avoid having it included # in the smsc config. diff --git a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py index eaabb3d..41a74f2 100755 --- a/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py +++ b/sysmocom/suites/nitb_smpp/esme_connect_policy_closed.py @@ -11,10 +11,10 @@ SMPP_ESME_RINVPASWD = 0x0000000E SMPP_ESME_RINVSYSID = 0x0000000F -nitb = suite.nitb() +nitb = tenv.nitb() smsc = nitb.smsc -esme = suite.esme() -esme_no_pwd = suite.esme() +esme = tenv.esme() +esme_no_pwd = tenv.esme() esme_no_pwd.set_password('') smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED) diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py index 391a040..29a5ced 100755 --- a/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py +++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_storeforward.py @@ -12,10 +12,10 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() -esme = suite.esme() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() +esme = tenv.esme() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py index adc9dae..2963b6e 100755 --- a/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py +++ b/sysmocom/suites/nitb_smpp/esme_ms_sms_transaction.py @@ -10,10 +10,10 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() -esme = suite.esme() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() +esme = tenv.esme() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_sms/mo_mt_sms.py b/sysmocom/suites/nitb_sms/mo_mt_sms.py index 10897ff..d1cece6 100755 --- a/sysmocom/suites/nitb_sms/mo_mt_sms.py +++ b/sysmocom/suites/nitb_sms/mo_mt_sms.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -nitb = suite.nitb() -bts = suite.bts() -ms_mo = suite.modem() -ms_mt = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms_mo = tenv.modem() +ms_mt = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/nitb_ussd/assert_extension.py b/sysmocom/suites/nitb_ussd/assert_extension.py index 8ccab2d..6246e61 100755 --- a/sysmocom/suites/nitb_ussd/assert_extension.py +++ b/sysmocom/suites/nitb_ussd/assert_extension.py @@ -3,9 +3,9 @@ USSD_COMMAND_GET_EXTENSION = '*#100#' -nitb = suite.nitb() -bts = suite.bts() -ms = suite.modem() +nitb = tenv.nitb() +bts = tenv.bts() +ms = tenv.modem() print('start nitb and bts...') nitb.bts_add(bts) diff --git a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py index 168b4f3..9a53446 100755 --- a/sysmocom/suites/smpp/esme_connect_policy_acceptall.py +++ b/sysmocom/suites/smpp/esme_connect_policy_acceptall.py @@ -6,12 +6,12 @@ from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -mgw_msc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) +hlr = tenv.hlr() +mgw_msc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) smsc = msc.smsc -esme = suite.esme() +esme = tenv.esme() # Here we deliberately omit calling smsc.esme_add() to avoid having it included # in the smsc config. diff --git a/sysmocom/suites/smpp/esme_connect_policy_closed.py b/sysmocom/suites/smpp/esme_connect_policy_closed.py index 487e5a4..fc4145c 100755 --- a/sysmocom/suites/smpp/esme_connect_policy_closed.py +++ b/sysmocom/suites/smpp/esme_connect_policy_closed.py @@ -11,15 +11,15 @@ SMPP_ESME_RINVPASWD = 0x0000000E SMPP_ESME_RINVSYSID = 0x0000000F -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) smsc = msc.smsc -esme = suite.esme() -esme_no_pwd = suite.esme() +esme = tenv.esme() +esme_no_pwd = tenv.esme() esme_no_pwd.set_password('') smsc.set_smsc_policy(smsc.SMSC_POLICY_CLOSED) diff --git a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py index 681bc29..232d1d3 100755 --- a/sysmocom/suites/smpp/esme_ms_sms_storeforward.py +++ b/sysmocom/suites/smpp/esme_ms_sms_storeforward.py @@ -12,17 +12,17 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) bsc.bts_add(bts) -ms = suite.modem() -esme = suite.esme() +ms = tenv.modem() +esme = tenv.esme() msc.smsc.esme_add(esme) hlr.start() diff --git a/sysmocom/suites/smpp/esme_ms_sms_transaction.py b/sysmocom/suites/smpp/esme_ms_sms_transaction.py index 16b01cc..d42012b 100755 --- a/sysmocom/suites/smpp/esme_ms_sms_transaction.py +++ b/sysmocom/suites/smpp/esme_ms_sms_transaction.py @@ -10,17 +10,17 @@ SMPP_ESME_RINVDSTADR = 0x0000000B -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) bsc.bts_add(bts) -ms = suite.modem() -esme = suite.esme() +ms = tenv.modem() +esme = tenv.esme() msc.smsc.esme_add(esme) hlr.start() diff --git a/sysmocom/suites/sms/mo_mt_sms.py b/sysmocom/suites/sms/mo_mt_sms.py index 7654ea6..51e78c0 100755 --- a/sysmocom/suites/sms/mo_mt_sms.py +++ b/sysmocom/suites/sms/mo_mt_sms.py @@ -1,15 +1,15 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms_mo = suite.modem() -ms_mt = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms_mo = tenv.modem() +ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/ussd/assert_extension.py b/sysmocom/suites/ussd/assert_extension.py index 475de09..bac311f 100755 --- a/sysmocom/suites/ussd/assert_extension.py +++ b/sysmocom/suites/ussd/assert_extension.py @@ -3,14 +3,14 @@ USSD_COMMAND_GET_EXTENSION = '*#100#' -hlr = suite.hlr() -bts = suite.bts() -mgw_msc = suite.mgw() -mgw_bsc = suite.mgw() -stp = suite.stp() -msc = suite.msc(hlr, mgw_msc, stp) -bsc = suite.bsc(msc, mgw_bsc, stp) -ms = suite.modem() +hlr = tenv.hlr() +bts = tenv.bts() +mgw_msc = tenv.mgw() +mgw_bsc = tenv.mgw() +stp = tenv.stp() +msc = tenv.msc(hlr, mgw_msc, stp) +bsc = tenv.bsc(msc, mgw_bsc, stp) +ms = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/voice/lib/testlib.py b/sysmocom/suites/voice/lib/testlib.py index 7d934f1..3ec6d67 100644 --- a/sysmocom/suites/voice/lib/testlib.py +++ b/sysmocom/suites/voice/lib/testlib.py @@ -2,15 +2,15 @@ from osmo_gsm_tester.testenv import * def test_mo_mt_call(use_osmux=False, force_osmux=False): - hlr = suite.hlr() - bts = suite.bts() - mgw_msc = suite.mgw() - mgw_bsc = suite.mgw() - stp = suite.stp() - msc = suite.msc(hlr, mgw_msc, stp) - bsc = suite.bsc(msc, mgw_bsc, stp) - ms_mo = suite.modem() - ms_mt = suite.modem() + hlr = tenv.hlr() + bts = tenv.bts() + mgw_msc = tenv.mgw() + mgw_bsc = tenv.mgw() + stp = tenv.stp() + msc = tenv.msc(hlr, mgw_msc, stp) + bsc = tenv.bsc(msc, mgw_bsc, stp) + ms_mo = tenv.modem() + ms_mt = tenv.modem() hlr.start() stp.start() diff --git a/sysmocom/suites/voice/mo_mt_call.py b/sysmocom/suites/voice/mo_mt_call.py index 740b1fe..2a2afa4 100755 --- a/sysmocom/suites/voice/mo_mt_call.py +++ b/sysmocom/suites/voice/mo_mt_call.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import test_mo_mt_call test_mo_mt_call(False, False) diff --git a/sysmocom/suites/voice/mo_mt_call_osmux.py b/sysmocom/suites/voice/mo_mt_call_osmux.py index acf7d71..c65caab 100755 --- a/sysmocom/suites/voice/mo_mt_call_osmux.py +++ b/sysmocom/suites/voice/mo_mt_call_osmux.py @@ -2,7 +2,7 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import test_mo_mt_call test_mo_mt_call(True, True) diff --git a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py index 288450f..0eceef7 100644 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/lib/testlib.py @@ -4,13 +4,13 @@ from osmo_gsm_tester.testenv import * -def run_ttcn3(suite, test_obj, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): +def run_ttcn3(tenv, test_obj, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute, ttcn3_test_extra_module_params=""): own_dir = testdir script_file = os.path.join(testdir, 'scripts', 'run_ttcn3_docker.sh') bts_tmpl_file = os.path.join(testdir, 'scripts', 'BTS_Tests.cfg.tmpl') script_run_dir = test_obj.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(suite.trial.get_run_dir()), 'trial-') + test_obj.basename + '.xml' + junit_ttcn3_dst_file = os.path.join(str(tenv.suite().trial().get_run_dir()), 'trial-') + test_obj.basename + '.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/ttcn3_bts_tests.py b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py index a34c847..b7c5781 100755 --- a/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py +++ b/sysmocom/ttcn3/suites/ttcn3_bts_tests/ttcn3_bts_tests.py @@ -3,20 +3,20 @@ from osmo_gsm_tester.testenv import * import testlib -suite.test_import_modules_register_for_cleanup(testlib) +tenv.test_import_modules_register_for_cleanup(testlib) from testlib import run_ttcn3 ttcn3_test_execute="BTS_Tests.control" -hlr_dummy = suite.hlr() -mgw_dummy = suite.mgw() -stp_dummy = suite.stp() -msc_dummy = suite.msc(hlr_dummy, mgw_dummy, stp_dummy) -ggsn_dummy = suite.ggsn() -sgsn_dummy = suite.sgsn(hlr_dummy, ggsn_dummy) -bsc = suite.bsc(msc_dummy, mgw_dummy, stp_dummy) -bts = suite.bts() -osmocon = suite.osmocon() +hlr_dummy = tenv.hlr() +mgw_dummy = tenv.mgw() +stp_dummy = tenv.stp() +msc_dummy = tenv.msc(hlr_dummy, mgw_dummy, stp_dummy) +ggsn_dummy = tenv.ggsn() +sgsn_dummy = tenv.sgsn(hlr_dummy, ggsn_dummy) +bsc = tenv.bsc(msc_dummy, mgw_dummy, stp_dummy) +bts = tenv.bts() +osmocon = tenv.osmocon() bts.set_num_trx(1) bts.set_trx_phy_channel(0, 0, 'CCCH+SDCCH4') @@ -34,7 +34,7 @@ msc_dummy.start() mgw_dummy.start() -nat_rsl_ip = suite.ip_address().get('addr') +nat_rsl_ip = tenv.ip_address().get('addr') bsc.set_rsl_ip(nat_rsl_ip) bsc.bts_add(bts) sgsn_dummy.bts_add(bts) @@ -46,4 +46,4 @@ osmocon.start() testdir = os.path.dirname(os.path.realpath(__file__)) -run_ttcn3(suite, test, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) +run_ttcn3(tenv. test, testdir, bts, osmocon, nat_rsl_ip, ttcn3_test_execute) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18046 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: I777ec59ffd83b861ddc09e85e52d7a8896264b8c Gerrit-Change-Number: 18046 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 14:45:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 14:45:42 +0000 Subject: Change in osmo-gsm-tester[master]: testenv: deferr importing obj module class until use is required In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 ) Change subject: testenv: deferr importing obj module class until use is required ...................................................................... testenv: deferr importing obj module class until use is required Change-Id: Ie073256a03bb2d038ef7f715d534afb1c53bb241 --- M src/osmo_gsm_tester/testenv.py 1 file changed, 34 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 416fc58..42288aa 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -29,13 +29,6 @@ from .core import resource from .core.event_loop import MainLoop -from .obj import nitb_osmo, hlr_osmo, mgcpgw_osmo, mgw_osmo, msc_osmo, bsc_osmo, stp_osmo, ggsn_osmo, sgsn_osmo, esme, osmocon, ms_driver, iperf3 -from .obj import run_node -from .obj import epc -from .obj import enb -from .obj import bts -from .obj import ms - suite = None resources = None log = None @@ -172,57 +165,68 @@ return self.get_reserved_resource(resource.R_IP_ADDRESS, specifics) def nitb(self, ip_address=None): + from .obj.nitb_osmo import OsmoNitb if ip_address is None: ip_address = self.ip_address() - return nitb_osmo.OsmoNitb(self, ip_address) + return OsmoNitb(self, ip_address) def hlr(self, ip_address=None): + from .obj.hlr_osmo import OsmoHlr if ip_address is None: ip_address = self.ip_address() - return hlr_osmo.OsmoHlr(self, ip_address) + return OsmoHlr(self, ip_address) def ggsn(self, ip_address=None): + from .obj.ggsn_osmo import OsmoGgsn if ip_address is None: ip_address = self.ip_address() - return ggsn_osmo.OsmoGgsn(self, ip_address) + return OsmoGgsn(self, ip_address) def sgsn(self, hlr, ggsn, ip_address=None): + from .obj import sgsn_osmo if ip_address is None: ip_address = self.ip_address() return sgsn_osmo.OsmoSgsn(self, hlr, ggsn, ip_address) def mgcpgw(self, ip_address=None, bts_ip=None): + from .obj.mgcpgw_osmo import OsmoMgcpgw if ip_address is None: ip_address = self.ip_address() - return mgcpgw_osmo.OsmoMgcpgw(self, ip_address, bts_ip) + return OsmoMgcpgw(self, ip_address, bts_ip) def mgw(self, ip_address=None): + from .obj.mgw_osmo import OsmoMgw if ip_address is None: ip_address = self.ip_address() - return mgw_osmo.OsmoMgw(self, ip_address) + return OsmoMgw(self, ip_address) def msc(self, hlr, mgcpgw, stp, ip_address=None): + from .obj import msc_osmo if ip_address is None: ip_address = self.ip_address() return msc_osmo.OsmoMsc(self, hlr, mgcpgw, stp, ip_address) def bsc(self, msc, mgw, stp, ip_address=None): + from .obj.bsc_osmo import OsmoBsc if ip_address is None: ip_address = self.ip_address() - return bsc_osmo.OsmoBsc(self, msc, mgw, stp, ip_address) + return OsmoBsc(self, msc, mgw, stp, ip_address) def stp(self, ip_address=None): + from .obj.stp_osmo import OsmoStp if ip_address is None: ip_address = self.ip_address() - return stp_osmo.OsmoStp(self, ip_address) + return OsmoStp(self, ip_address) def ms_driver(self): - ms = ms_driver.MsDriver(self) + from .obj.ms_driver import MsDriver + ms = MsDriver(self) self.register_for_cleanup(ms) return ms def bts(self, specifics=None): - bts_obj = bts.Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) + from .obj.bts import Bts + bts_obj = Bts.get_instance_by_type(self, self.get_reserved_resource(resource.R_BTS, specifics=specifics)) bts_obj.set_lac(self.lac()) bts_obj.set_rac(self.rac()) bts_obj.set_cellid(self.cellid()) @@ -231,8 +235,9 @@ return bts_obj def modem(self, specifics=None): + from .obj.ms import MS conf = self.get_reserved_resource(resource.R_MODEM, specifics=specifics) - ms_obj = ms.MS.get_instance_by_type(self, conf) + ms_obj = MS.get_instance_by_type(self, conf) self.register_for_cleanup(ms_obj) return ms_obj @@ -252,35 +257,41 @@ return l def esme(self): - esme_obj = esme.Esme(self.msisdn()) + from .obj.esme import Esme + esme_obj = Esme(self.msisdn()) self.register_for_cleanup(esme_obj) return esme_obj def run_node(self, specifics=None): - return run_node.RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) + from .obj.run_node import RunNode + return RunNode.from_conf(self.get_reserved_resource(resource.R_RUN_NODE, specifics=specifics)) def enb(self, specifics=None): - enb_obj = enb.eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) + from .obj.enb import eNodeB + enb_obj = eNodeB.get_instance_by_type(self, self.get_reserved_resource(resource.R_ENB, specifics=specifics)) self.register_for_cleanup(enb_obj) return enb_obj def epc(self, run_node=None): + from .obj.epc import EPC if run_node is None: run_node = self.run_node() - epc_obj = epc.EPC.get_instance_by_type(self, run_node) + epc_obj = EPC.get_instance_by_type(self, run_node) self.register_for_cleanup(epc_obj) return epc_obj def osmocon(self, specifics=None): + from .obj.osmocon import Osmocon conf = self.get_reserved_resource(resource.R_OSMOCON, specifics=specifics) - osmocon_obj = osmocon.Osmocon(self, conf=conf) + osmocon_obj = Osmocon(self, conf=conf) self.register_for_cleanup(osmocon_obj) return osmocon_obj def iperf3srv(self, ip_address=None): + from .obj.iperf3 import IPerf3Server if ip_address is None: ip_address = self.ip_address() - iperf3srv_obj = iperf3.IPerf3Server(self, ip_address) + iperf3srv_obj = IPerf3Server(self, ip_address) return iperf3srv_obj def msisdn(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18048 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: Ie073256a03bb2d038ef7f715d534afb1c53bb241 Gerrit-Change-Number: 18048 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 15:37:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 15:37:01 +0000 Subject: Change in pysim[master]: WIP: fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18051 ) Change subject: WIP: fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ...................................................................... WIP: fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Closes: OS#4532 --- M pySim/cards.py 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/51/18051/1 diff --git a/pySim/cards.py b/pySim/cards.py index d2f1057..8937ee8 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1107,6 +1107,12 @@ if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) + # EF.HPLMNwAcT + if p.get('mcc') and p.get('mnc'): + sw = self.update_hplmn_act(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming HPLMNwAcT failed with code %s"%sw) + # EF.AD if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Gerrit-Change-Number: 18051 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:42 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: allow passing any module name to skip References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 ) Change subject: check_dependencies: allow passing any module name to skip ...................................................................... check_dependencies: allow passing any module name to skip Change-Id: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8 --- M check_dependencies.py 1 file changed, 11 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/52/18052/1 diff --git a/check_dependencies.py b/check_dependencies.py index 3efbaf9..daf46dc 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -12,20 +12,22 @@ import subprocess feature_module_map = { - 'powersupply_intellinet' : ['powersupply_intellinet'], - 'powersupply_sispm' : ['powersupply_sispm'], - 'rfemu_amarisoftctrl': ['rfemu_amarisoftctrl'], - 'rfemu_minicircuits': ['rfemu_minicircuits'], + '2g': ['bsc_osmo', 'bts_nanobts', 'bts_oc2g', 'bts_octphy', 'bts_osmo', 'bts_osmotrx', 'bts_osmovirtual', 'bts_sysmo', 'bts', 'bts', 'esme', 'ggsn_osmo', 'hlr_osmo', 'mgcpgw_osmo', 'mgw_osmo', 'ms_ofono', 'ms_driver', 'msc_osmo', 'nitb_osmo', 'osmo_ctrl', 'osmocon', 'pcap_recorder', 'pcu_oc2g', 'pcu_osmo', 'pcu_sysmo', 'pcu', 'sgsn_osmo', 'sms', 'smsc', 'stp_osmo'], + '4g': [], + 'srs': ['enb_srs', 'epc_srs', 'ms_srs'], + 'powersupply': ['powersupply', 'powersupply_intellinet', 'powersupply_sispm'], + 'rfemu': ['rfemu', 'rfemu_amarisoftctrl', 'rfemu_minicircuits'], } def skip_features_to_skip_modules(skip_features): skip_obj_modules = [] for skip_feature in skip_features: - if skip_feature not in feature_module_map: - raise Exception('feature %s doesn\'t exist!' % skip_feature) - for skip_module in feature_module_map[skip_feature]: - skip_obj_modules.append(skip_module) + if skip_feature in feature_module_map: + for skip_module in feature_module_map[skip_feature]: + skip_obj_modules.append(skip_module) + else: + skip_obj_modules.append(skip_feature) return skip_obj_modules def import_runtime_dependencies(): @@ -98,7 +100,7 @@ print("\t" + mname.ljust(20) + " [" + err.rstrip() +"]") parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter) -parser.add_argument('-s', '--skip-feature', dest='skip_features', choices=feature_module_map.keys(), action='append', +parser.add_argument('-s', '--skip-feature', dest='skip_features', action='append', help='''All osmo-gsm-tester features not used by the user running the script''') parser.add_argument('-p', '--distro-packages', dest='distro_packages', action='store_true', help='Print distro packages installing modules') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 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: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8 Gerrit-Change-Number: 18052 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:43 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: import numpy module on first use References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 ) Change subject: ms_srs: import numpy module on first use ...................................................................... ms_srs: import numpy module on first use Change-Id: I2ce974954028bdbc7bc1561c4538b909edee2cb1 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/53/18053/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index e5427f0..106502d 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -343,8 +343,6 @@ metrics = srsUEMetrics(self.metrics_file) return metrics.verify(value, operation, metric, criterion) -import numpy - class srsUEMetrics(log.Origin): VALID_OPERATIONS = ['avg', 'sum'] @@ -357,6 +355,7 @@ super().__init__(log.C_RUN, 'srsue_metrics') self.raw_data = None self.metrics_file = metrics_file + import numpy # read CSV, guessing data type with first row being the legend try: self.raw_data = numpy.genfromtxt(self.metrics_file, names=True, delimiter=';', dtype=None) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 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: I2ce974954028bdbc7bc1561c4538b909edee2cb1 Gerrit-Change-Number: 18053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:43 +0000 Subject: Change in osmo-gsm-tester[master]: esme: import smpplib module on first use References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 ) Change subject: esme: import smpplib module on first use ...................................................................... esme: import smpplib module on first use Change-Id: Icc92937fdada9210f788805dbc42b80014e345e8 --- M src/osmo_gsm_tester/obj/esme.py 1 file changed, 7 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/54/18054/1 diff --git a/src/osmo_gsm_tester/obj/esme.py b/src/osmo_gsm_tester/obj/esme.py index 41ec87f..e23e88c 100644 --- a/src/osmo_gsm_tester/obj/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -17,12 +17,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import smpplib.gsm -import smpplib.client -import smpplib.command -import smpplib.consts -import smpplib.exceptions - from ..core import log from ..core.event_loop import MainLoop @@ -35,9 +29,6 @@ class Esme(log.Origin): - MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD - MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD - def __init__(self, msisdn): self.msisdn = msisdn # Get last characters of msisdn to stay inside MAX_SYS_ID_LEN. Similar to modulus operator. @@ -51,6 +42,13 @@ self.listening = False self.references_pending_receipt = [] self.next_user_message_reference = 1 + import smpplib.gsm + import smpplib.client + import smpplib.command + import smpplib.consts + import smpplib.exceptions + self.MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD + self.MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD def __del__(self): self.cleanup() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 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: Icc92937fdada9210f788805dbc42b80014e345e8 Gerrit-Change-Number: 18054 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:43 +0000 Subject: Change in osmo-gsm-tester[master]: ms_ofono: import pydbus and GLib modules on first use References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 ) Change subject: ms_ofono: import pydbus and GLib modules on first use ...................................................................... ms_ofono: import pydbus and GLib modules on first use Change-Id: I754e1290eb5593c0ef168f74747f42db1b50f16c --- M src/osmo_gsm_tester/obj/ms_ofono.py 1 file changed, 26 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/55/18055/1 diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index e03bab8..2598eee 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -17,21 +17,35 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +import os + from ..core import log, util, process from ..core.event_loop import MainLoop from .ms import MS from . import sms -from pydbus import SystemBus, Variant -import os - -# Required for Gio.Cancellable. -# See https://lazka.github.io/pgi-docs/Gio-2.0/classes/Cancellable.html#Gio.Cancellable -from gi.module import get_introspection_module -Gio = get_introspection_module('Gio') - -from gi.repository import GLib +_import_external_modules_done = False bus = None +Gio = None +GLib = None +Variant = None +def _import_external_modules(): + global _import_external_modules_done, bus, Gio, GLib, Variant + if _import_external_modules_done: + return + _import_external_modules_done = True + + # Required for Gio.Cancellable. + # See https://lazka.github.io/pgi-docs/Gio-2.0/classes/Cancellable.html#Gio.Cancellable + from gi.module import get_introspection_module + Gio = get_introspection_module('Gio') + from gi.repository import GLib as glib_module + GLib = glib_module + + from pydbus import SystemBus, Variant + bus = SystemBus() + from pydbus import Variant as variant_class + Variant = variant_class I_MODEM = 'org.ofono.Modem' I_NETREG = 'org.ofono.NetworkRegistration' @@ -68,9 +82,6 @@ return DeferredDBus(dbus_iface, handler).subscription_id def systembus_get(path): - global bus - if not bus: - bus = SystemBus() return bus.get('org.ofono', path) def list_modems(): @@ -362,9 +373,11 @@ CTX_PROT_IPv46 = 'dual' def __init__(self, testenv, conf): + super().__init__('modem', conf) + _import_external_modules() self.syspath = conf.get('path') self.dbuspath = get_dbuspath_from_syspath(self.syspath) - super().__init__(self.dbuspath, conf) + self.set_name(self.dbuspath) self.dbg('creating from syspath %s' % self.syspath) self._ki = None self._imsi = None -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 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: I754e1290eb5593c0ef168f74747f42db1b50f16c Gerrit-Change-Number: 18055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:43 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply_sispm: import sispm and usb modules on first use References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 ) Change subject: powersupply_sispm: import sispm and usb modules on first use ...................................................................... powersupply_sispm: import sispm and usb modules on first use Change-Id: I6045bb739e5c69972014a9d27be3a24b7ad61c9a --- M src/osmo_gsm_tester/obj/powersupply_sispm.py 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/56/18056/1 diff --git a/src/osmo_gsm_tester/obj/powersupply_sispm.py b/src/osmo_gsm_tester/obj/powersupply_sispm.py index d1b244f..0b1ad07 100644 --- a/src/osmo_gsm_tester/obj/powersupply_sispm.py +++ b/src/osmo_gsm_tester/obj/powersupply_sispm.py @@ -17,9 +17,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import sispm -from usb.core import USBError - from ..core import log from ..core.event_loop import MainLoop from .powersupply import PowerSupply @@ -77,6 +74,10 @@ ######################## def __init__(self, conf): super().__init__(conf, 'sispm') + + import sispm + from usb.core import USBError + mydevid = conf.get('device') if mydevid is None: raise log.Error('No "device" attribute provided in supply conf!') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 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: I6045bb739e5c69972014a9d27be3a24b7ad61c9a Gerrit-Change-Number: 18056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:26:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:26:44 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_amarisoftctrl: import websocket module on first use References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 ) Change subject: rfemu_amarisoftctrl: import websocket module on first use ...................................................................... rfemu_amarisoftctrl: import websocket module on first use Change-Id: I568af52ffb7ac57222697f5d861a532c0e2a70de --- M src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/57/18057/1 diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py index 87e4cbd..6ef25bb 100644 --- a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -18,7 +18,6 @@ # along with this program. If not, see . import json -from websocket import create_connection from ..core import log from .rfemu import RFemulation @@ -40,6 +39,8 @@ self.cell_id = conf.get('cell_id') if self.cell_id is None: raise log.Error('No "cell_id" attribute provided in supply conf!') + + from websocket import create_connection self.ws = create_connection("ws://%s:%s" % (self.addr, self.port)) def __del__(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 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: I568af52ffb7ac57222697f5d861a532c0e2a70de Gerrit-Change-Number: 18057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 16:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 16:39:50 +0000 Subject: Change in osmo-gsm-tester[master]: doc: Drop redundant app-name in install section References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 ) Change subject: doc: Drop redundant app-name in install section ...................................................................... doc: Drop redundant app-name in install section Change-Id: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a --- M doc/manuals/chapters/install.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/58/18058/1 diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 9ef654b..ed38296 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -1,4 +1,4 @@ -== {app-name} Installation +== Installation === Trial Builder -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 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: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a Gerrit-Change-Number: 18058 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:29:01 +0000 Subject: Change in osmo-gsm-tester[master]: doc: install.adoc: Correctly split optional dependencies References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 ) Change subject: doc: install.adoc: Correctly split optional dependencies ...................................................................... doc: install.adoc: Correctly split optional dependencies Change-Id: Id8b5dcd15fd86c670915b928112699d831e6e7b0 --- M doc/manuals/chapters/install.adoc 1 file changed, 59 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/59/18059/1 diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index ed38296..445b53c 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -324,47 +324,88 @@ and 'trial-N-bin.tgz' archives are produced by the 'jenkins-run.sh' script, both for successful and failing runs. -==== Install osmo-gsm-tester +==== Install osmo-gsm-tester dependencies This assumes you have already created the jenkins user (see <>). Dependencies needed will depend on lots of factors, like your distribution, your specific setup, which hardware you plan to support, etc. -On a Debian/Ubuntu based system, these commands install the packages needed to -run the osmo-gsm-tester.py code, i.e. install these on your main unit: +On a Debian/Ubuntu based system, these commands install the mandatory packages +needed to run the osmo-gsm-tester.py code, i.e. install these on your main unit: ---- apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ python3 \ - python3-setuptools \ python3-yaml \ python3-mako \ python3-gi \ - python3-numpy \ - python3-wheel \ - ofono \ - patchelf \ - sudo \ - libcap2-bin \ - python3-pip \ - udhcpc \ - iperf3 \ locales +---- + +If one plans to use the 2G ESME (_esme.py_), following extra dependencies shall +be installed: +---- +apt-get install python3-setuptools python3-pip +pip3 install "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" +---- + +If one plans to use the 2G OsmoHLR (_hlr_osmo.py_), following extra dependencies shall +be installed: +---- +apt-get install sqlite3 +---- + +If one plans to use SISPM power supply hardware (_powersupply_sispm.py_), +following extra dependencies shall be installed: +---- +apt-get install python3-setuptools python3-pip pip3 install \ - "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ - pydbus \ pyusb \ pysispm ---- +If one plans to use software-based RF emulation on Amarisoft ENB implemented +through its CTRL interface (_rfemu_amarisoftctrl.py_), following extra +dependencies shall be installed: +---- +apt-get install python3-websocket +---- + +If one plans to use srsLTE UE metrics subsystems (_ms_srs.py_), following extra +dependencies shall be installed: +---- +apt-get install python3-numpy +---- + +If one plans to use ofono modems (_ms_ofono.py_), following extra dependencies +shall be installed: +---- +apt-get install \ + dbus \ + python3 \ + ofono \ + python3-pip \ + udhcpc +pip3 install \ + pydbus +---- + IMPORTANT: ofono may need to be installed from source to contain the most recent fixes needed to operate your modems. This depends on the modem hardware used and the tests run. Please see <>. +Finally, these programs are usually required by osmo-gsm-tester on the Slave Unit to run and manage processes: + +---- +apt-get install \ + tcpdump \ + patchelf \ + sudo \ + libcap2-bin \ + iperf3 +---- + ==== User Permissions On the main unit, create a group for all users that should be allowed to use -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 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: Id8b5dcd15fd86c670915b928112699d831e6e7b0 Gerrit-Change-Number: 18059 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:29:01 +0000 Subject: Change in osmo-gsm-tester[master]: Rework README file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 ) Change subject: Rework README file ...................................................................... Rework README file Drop old one in doc/ which contains lots of outadated stuff already placed in the User Manual. Write a new markdown README in the root directory with pointers to places in the repo and the issue tracket, ansible setup, etc. Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1 --- A README.md D doc/README.txt 2 files changed, 28 insertions(+), 116 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/60/18060/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..3394969 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +About Osmo-GSM-Tester +===================== + +Osmo-GSM-Tester is a software to run automated tests on real hardware, initially +foremost to verify that ongoing Osmocom software development continues to work +with various BTS models, while being flexibly configurable and extendable to +work for other technologies, setups and projects. It can nowadays also be used +to run 4G networks with components from different providers. + +Find Osmo-GSM-Tester issue tracker and wiki online at +https://osmocom.org/projects/osmo-gsm-tester + +Simple configuration setups can be found under _doc/examples/_ directory. A +Osmocom's public Osmo-Gsm-Tester configuration setup is also maintained here +under _sysmocom/_ as a reference for others. + +Ansible scripts to set up hosts to be used as Osmo-GSM-Tester Main Units or/and +Slave Units on the above mentioned setup can be found at +https://git.osmocom.org/osmo-ci/tree/ansible, which actually install sample +system configuration files from _utils/_ directory in this same repository. + +A sample Docker setup is also maintained publicly at +https://git.osmocom.org/docker-playground/tree/osmo-gsm-tester. + +For the complete documentation, please refer to Osmo-GSM-Tester User manual, +available in sources under _doc/manuals/_ under this same repository, and +prebuilt in pdf form at +http://ftp.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf diff --git a/doc/README.txt b/doc/README.txt deleted file mode 100644 index 3b4d202..0000000 --- a/doc/README.txt +++ /dev/null @@ -1,116 +0,0 @@ -DOCUMENTATION - -For the complete documentation, please refer to the osmo-gsm-manuals: -http://git.osmocom.org/osmo-gsm-manuals/ -http://jenkins.osmocom.org/jenkins/job/Osmocom_Manuals/ws/ - - -INSTALLATION - -So far the osmo-gsm-tester directory is manually placed in /usr/local/src - - -DEPENDENCIES - -Packages required to run the osmo-gsm-tester: - - apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ - python3 \ - python3-yaml \ - python3-mako \ - python3-gi \ - ofono \ - python3-pip \ - python3-usb - pip3 install git+git://github.com/podshumok/python-smpplib.git - pip3 install pydbus - pip3 install pysispm - -To build ofono: - apt-get install libglib2.0-dev \ - libdbus-1-dev \ - libudev-dev \ - mobile-broadband-provider-info - - -INSTALLATION - -Place a copy of the osmo-gsm-tester repository in /usr/local/src/ - - cp install/osmo-gsm-tester-limits.conf /etc/security/limits.d/ - cp install/*.service /lib/systemd/system/ - cp install/org.ofono.conf /etc/dbus-1/system.d/ - systemctl daemon-reload - -To run: - - systemctl enable ofono - systemctl start ofono - systemctl status ofono - - systemctl enable osmo-gsm-tester - systemctl start osmo-gsm-tester - systemctl status osmo-gsm-tester - - -To stop: - - systemctl stop osmo-gsm-tester - -After ofonod has been started and modems have been connected to the system, -you can run the 'list-modems' script located in /usr/local/src/ofono/test to get -a list of the modems that have been detected by ofono. - - -CONFIGURATION - -Host System configuration - -Create the /var/tmp/osmo-gsm-tester directory. It will be used to accept new test jobs. - -Test resources (NITB, BTS and modems) are currently configured in the test_manager.py. - -For every nitb resource that can be allocated, one alias IP address needs -to be set up in /etc/network/interfaces on the interface that is connected to the BTSes. -By add the following lines for each nitb instance that can be allocated (while making -sure each interface alias and IP is unique) - - auto eth1:0 - allow-hotplug eth1:0 - iface eth1:0 inet static - address 10.42.42.2 - netmask 255.255.255.0 - -Also make sure, the user executing the tester is allowed to run tcpdump. If -the user is not root, we have used the folloing line to get proper permissions: - - groupadd pcap - addgroup pcap - setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump - chgroup pcap /usr/sbin/tcpdump - chmod 0750 /usr/sbin/tcpdump - -The tester main unit must be able to ssh without password to the sysmobts (and -possibly other) hardware: place the main unit's public SSH key on the sysmoBTS. -Log in via SSH at least once to accept the BTS' host key. - - -Jenkins Configuration - -(TODO: jenkins build slave details) - -When adding an entry to jenkins' known_hosts file, be aware that you need to -add an actual RSA host key. Using 'ssh' to access the main unit may work, but -jenkins will still fail to access it in the absence of a full RSA host key: - - ssh-keyscan -H $my_main_unit_ip_addr >> ~jenkins/.ssh/known_hosts - - -LAUNCHING A TEST RUN - -osmo-gsm-tester watches /var/tmp/osmo-gsm-tester for instructions to launch -test runs. A test run is triggered by a subdirectory containing binaries and a -checksums file, typically created by jenkins using the scripts in contrib/. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 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: I9febe56223eaeadc9d31291dd0110a11470e3ab1 Gerrit-Change-Number: 18060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:38:26 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 17:38:26 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 to look at the new patch set (#2). Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... vty: Prepend VTY output of counters for better visual separation. Before this patch rate counters started right after trunk information with no visual separation which was quite confusing. We're adding a new line and a header to warn a user of the section change. Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/49/18049/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:38:26 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 17:38:26 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 to look at the new patch set (#2). Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/18050/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:35 +0000 Subject: Change in osmo-gsm-tester[master]: doc: Drop redundant app-name in install section In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 ) Change subject: doc: Drop redundant app-name in install section ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 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: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a Gerrit-Change-Number: 18058 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:37 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_amarisoftctrl: import websocket module on first use In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 ) Change subject: rfemu_amarisoftctrl: import websocket module on first use ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 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: I568af52ffb7ac57222697f5d861a532c0e2a70de Gerrit-Change-Number: 18057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:39 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply_sispm: import sispm and usb modules on first use In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 ) Change subject: powersupply_sispm: import sispm and usb modules on first use ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 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: I6045bb739e5c69972014a9d27be3a24b7ad61c9a Gerrit-Change-Number: 18056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:41 +0000 Subject: Change in osmo-gsm-tester[master]: ms_ofono: import pydbus and GLib modules on first use In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 ) Change subject: ms_ofono: import pydbus and GLib modules on first use ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 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: I754e1290eb5593c0ef168f74747f42db1b50f16c Gerrit-Change-Number: 18055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:43 +0000 Subject: Change in osmo-gsm-tester[master]: esme: import smpplib module on first use In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 ) Change subject: esme: import smpplib module on first use ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 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: Icc92937fdada9210f788805dbc42b80014e345e8 Gerrit-Change-Number: 18054 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:44 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: import numpy module on first use In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 ) Change subject: ms_srs: import numpy module on first use ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 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: I2ce974954028bdbc7bc1561c4538b909edee2cb1 Gerrit-Change-Number: 18053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:46 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: allow passing any module name to skip In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 ) Change subject: check_dependencies: allow passing any module name to skip ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 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: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8 Gerrit-Change-Number: 18052 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:44:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:50 +0000 Subject: Change in osmo-gsm-tester[master]: check_dependencies: allow passing any module name to skip In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 ) Change subject: check_dependencies: allow passing any module name to skip ...................................................................... check_dependencies: allow passing any module name to skip Change-Id: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8 --- M check_dependencies.py 1 file changed, 11 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/check_dependencies.py b/check_dependencies.py index 3efbaf9..daf46dc 100755 --- a/check_dependencies.py +++ b/check_dependencies.py @@ -12,20 +12,22 @@ import subprocess feature_module_map = { - 'powersupply_intellinet' : ['powersupply_intellinet'], - 'powersupply_sispm' : ['powersupply_sispm'], - 'rfemu_amarisoftctrl': ['rfemu_amarisoftctrl'], - 'rfemu_minicircuits': ['rfemu_minicircuits'], + '2g': ['bsc_osmo', 'bts_nanobts', 'bts_oc2g', 'bts_octphy', 'bts_osmo', 'bts_osmotrx', 'bts_osmovirtual', 'bts_sysmo', 'bts', 'bts', 'esme', 'ggsn_osmo', 'hlr_osmo', 'mgcpgw_osmo', 'mgw_osmo', 'ms_ofono', 'ms_driver', 'msc_osmo', 'nitb_osmo', 'osmo_ctrl', 'osmocon', 'pcap_recorder', 'pcu_oc2g', 'pcu_osmo', 'pcu_sysmo', 'pcu', 'sgsn_osmo', 'sms', 'smsc', 'stp_osmo'], + '4g': [], + 'srs': ['enb_srs', 'epc_srs', 'ms_srs'], + 'powersupply': ['powersupply', 'powersupply_intellinet', 'powersupply_sispm'], + 'rfemu': ['rfemu', 'rfemu_amarisoftctrl', 'rfemu_minicircuits'], } def skip_features_to_skip_modules(skip_features): skip_obj_modules = [] for skip_feature in skip_features: - if skip_feature not in feature_module_map: - raise Exception('feature %s doesn\'t exist!' % skip_feature) - for skip_module in feature_module_map[skip_feature]: - skip_obj_modules.append(skip_module) + if skip_feature in feature_module_map: + for skip_module in feature_module_map[skip_feature]: + skip_obj_modules.append(skip_module) + else: + skip_obj_modules.append(skip_feature) return skip_obj_modules def import_runtime_dependencies(): @@ -98,7 +100,7 @@ print("\t" + mname.ljust(20) + " [" + err.rstrip() +"]") parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter) -parser.add_argument('-s', '--skip-feature', dest='skip_features', choices=feature_module_map.keys(), action='append', +parser.add_argument('-s', '--skip-feature', dest='skip_features', action='append', help='''All osmo-gsm-tester features not used by the user running the script''') parser.add_argument('-p', '--distro-packages', dest='distro_packages', action='store_true', help='Print distro packages installing modules') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18052 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: I53a384d54f32d766f70bd7e0bfbd9702939c8aa8 Gerrit-Change-Number: 18052 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: import numpy module on first use In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 ) Change subject: ms_srs: import numpy module on first use ...................................................................... ms_srs: import numpy module on first use Change-Id: I2ce974954028bdbc7bc1561c4538b909edee2cb1 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index e5427f0..106502d 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -343,8 +343,6 @@ metrics = srsUEMetrics(self.metrics_file) return metrics.verify(value, operation, metric, criterion) -import numpy - class srsUEMetrics(log.Origin): VALID_OPERATIONS = ['avg', 'sum'] @@ -357,6 +355,7 @@ super().__init__(log.C_RUN, 'srsue_metrics') self.raw_data = None self.metrics_file = metrics_file + import numpy # read CSV, guessing data type with first row being the legend try: self.raw_data = numpy.genfromtxt(self.metrics_file, names=True, delimiter=';', dtype=None) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18053 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: I2ce974954028bdbc7bc1561c4538b909edee2cb1 Gerrit-Change-Number: 18053 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:51 +0000 Subject: Change in osmo-gsm-tester[master]: esme: import smpplib module on first use In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 ) Change subject: esme: import smpplib module on first use ...................................................................... esme: import smpplib module on first use Change-Id: Icc92937fdada9210f788805dbc42b80014e345e8 --- M src/osmo_gsm_tester/obj/esme.py 1 file changed, 7 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/esme.py b/src/osmo_gsm_tester/obj/esme.py index 41ec87f..e23e88c 100644 --- a/src/osmo_gsm_tester/obj/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -17,12 +17,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import smpplib.gsm -import smpplib.client -import smpplib.command -import smpplib.consts -import smpplib.exceptions - from ..core import log from ..core.event_loop import MainLoop @@ -35,9 +29,6 @@ class Esme(log.Origin): - MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD - MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD - def __init__(self, msisdn): self.msisdn = msisdn # Get last characters of msisdn to stay inside MAX_SYS_ID_LEN. Similar to modulus operator. @@ -51,6 +42,13 @@ self.listening = False self.references_pending_receipt = [] self.next_user_message_reference = 1 + import smpplib.gsm + import smpplib.client + import smpplib.command + import smpplib.consts + import smpplib.exceptions + self.MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD + self.MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD def __del__(self): self.cleanup() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18054 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: Icc92937fdada9210f788805dbc42b80014e345e8 Gerrit-Change-Number: 18054 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: ms_ofono: import pydbus and GLib modules on first use In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 ) Change subject: ms_ofono: import pydbus and GLib modules on first use ...................................................................... ms_ofono: import pydbus and GLib modules on first use Change-Id: I754e1290eb5593c0ef168f74747f42db1b50f16c --- M src/osmo_gsm_tester/obj/ms_ofono.py 1 file changed, 26 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index e03bab8..2598eee 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -17,21 +17,35 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +import os + from ..core import log, util, process from ..core.event_loop import MainLoop from .ms import MS from . import sms -from pydbus import SystemBus, Variant -import os - -# Required for Gio.Cancellable. -# See https://lazka.github.io/pgi-docs/Gio-2.0/classes/Cancellable.html#Gio.Cancellable -from gi.module import get_introspection_module -Gio = get_introspection_module('Gio') - -from gi.repository import GLib +_import_external_modules_done = False bus = None +Gio = None +GLib = None +Variant = None +def _import_external_modules(): + global _import_external_modules_done, bus, Gio, GLib, Variant + if _import_external_modules_done: + return + _import_external_modules_done = True + + # Required for Gio.Cancellable. + # See https://lazka.github.io/pgi-docs/Gio-2.0/classes/Cancellable.html#Gio.Cancellable + from gi.module import get_introspection_module + Gio = get_introspection_module('Gio') + from gi.repository import GLib as glib_module + GLib = glib_module + + from pydbus import SystemBus, Variant + bus = SystemBus() + from pydbus import Variant as variant_class + Variant = variant_class I_MODEM = 'org.ofono.Modem' I_NETREG = 'org.ofono.NetworkRegistration' @@ -68,9 +82,6 @@ return DeferredDBus(dbus_iface, handler).subscription_id def systembus_get(path): - global bus - if not bus: - bus = SystemBus() return bus.get('org.ofono', path) def list_modems(): @@ -362,9 +373,11 @@ CTX_PROT_IPv46 = 'dual' def __init__(self, testenv, conf): + super().__init__('modem', conf) + _import_external_modules() self.syspath = conf.get('path') self.dbuspath = get_dbuspath_from_syspath(self.syspath) - super().__init__(self.dbuspath, conf) + self.set_name(self.dbuspath) self.dbg('creating from syspath %s' % self.syspath) self._ki = None self._imsi = None -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18055 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: I754e1290eb5593c0ef168f74747f42db1b50f16c Gerrit-Change-Number: 18055 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: powersupply_sispm: import sispm and usb modules on first use In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 ) Change subject: powersupply_sispm: import sispm and usb modules on first use ...................................................................... powersupply_sispm: import sispm and usb modules on first use Change-Id: I6045bb739e5c69972014a9d27be3a24b7ad61c9a --- M src/osmo_gsm_tester/obj/powersupply_sispm.py 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/powersupply_sispm.py b/src/osmo_gsm_tester/obj/powersupply_sispm.py index d1b244f..0b1ad07 100644 --- a/src/osmo_gsm_tester/obj/powersupply_sispm.py +++ b/src/osmo_gsm_tester/obj/powersupply_sispm.py @@ -17,9 +17,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import sispm -from usb.core import USBError - from ..core import log from ..core.event_loop import MainLoop from .powersupply import PowerSupply @@ -77,6 +74,10 @@ ######################## def __init__(self, conf): super().__init__(conf, 'sispm') + + import sispm + from usb.core import USBError + mydevid = conf.get('device') if mydevid is None: raise log.Error('No "device" attribute provided in supply conf!') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18056 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: I6045bb739e5c69972014a9d27be3a24b7ad61c9a Gerrit-Change-Number: 18056 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: rfemu_amarisoftctrl: import websocket module on first use In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 ) Change subject: rfemu_amarisoftctrl: import websocket module on first use ...................................................................... rfemu_amarisoftctrl: import websocket module on first use Change-Id: I568af52ffb7ac57222697f5d861a532c0e2a70de --- M src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py index 87e4cbd..6ef25bb 100644 --- a/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py +++ b/src/osmo_gsm_tester/obj/rfemu_amarisoftctrl.py @@ -18,7 +18,6 @@ # along with this program. If not, see . import json -from websocket import create_connection from ..core import log from .rfemu import RFemulation @@ -40,6 +39,8 @@ self.cell_id = conf.get('cell_id') if self.cell_id is None: raise log.Error('No "cell_id" attribute provided in supply conf!') + + from websocket import create_connection self.ws = create_connection("ws://%s:%s" % (self.addr, self.port)) def __del__(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18057 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: I568af52ffb7ac57222697f5d861a532c0e2a70de Gerrit-Change-Number: 18057 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:44:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 17:44:52 +0000 Subject: Change in osmo-gsm-tester[master]: doc: Drop redundant app-name in install section In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 ) Change subject: doc: Drop redundant app-name in install section ...................................................................... doc: Drop redundant app-name in install section Change-Id: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a --- M doc/manuals/chapters/install.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index 9ef654b..ed38296 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -1,4 +1,4 @@ -== {app-name} Installation +== Installation === Trial Builder -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18058 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: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a Gerrit-Change-Number: 18058 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:49:10 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 17:49:10 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 to look at the new patch set (#3). Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 55 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/18050/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 17:52:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 17:52:12 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18049 ) Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... Patch Set 2: For the record, this is how it looked like before: Virtual trunk 0 endpoint rtpbridge/00: No active connections Virtual trunk 0 endpoint rtpbridge/01: No active connections crxc statistics: crcx:success: 3449 (0/s 19/m 2084/h 3117/d) CRCX command processed successfully. crcx:bad_action: 0 (0/s 0/m 0/h 0/d) bad action in CRCX command. crcx:unhandled_param: 0 (0/s 0/m 0/h 0/d) unhandled parameter in CRCX command. crcx:missing_callid: 0 (0/s 0/m 0/h 0/d) missing CallId in CRCX command. crcx:invalid_mode: 0 (0/s 0/m 0/h 0/d) invalid connection mode in CRCX command. crcx:limit_exceeded: 0 (0/s 0/m 0/h 0/d) limit of concurrent connections was reached. crcx:unkown_callid: 0 (0/s 0/m 0/h 0/d) unknown CallId in CRCX command. crcx:alloc_conn_fail: 0 (0/s 0/m 0/h 0/d) connection allocation failure. crcx:no_remote_conn_desc: 0 (0/s 0/m 0/h 0/d) no opposite end specified for connection. crcx:start_rtp_failure: 0 (0/s 0/m 0/h 0/d) failure to start RTP processing. crcx:conn_rejected: 0 (0/s 0/m 0/h 0/d) connection rejected by policy. crcx:no_osmux: 0 (0/s 0/m 0/h 0/d) no osmux offered by peer. crcx:conn_opt: 0 (0/s 0/m 0/h 0/d) connection options invalid. crcx:codec_nego: 0 (0/s 0/m 0/h 0/d) codec negotiation failure. crcx:bind_port: 0 (0/s 0/m 0/h 0/d) port bind failure. and this is how it looks like now: Virtual trunk 0 endpoint rtpbridge/00: No active connections Virtual trunk 0 endpoint rtpbridge/01: No active connections Rate counters: crxc statistics: crcx:success: 3449 (0/s 19/m 2084/h 3117/d) CRCX command processed successfully. crcx:bad_action: 0 (0/s 0/m 0/h 0/d) bad action in CRCX command. crcx:unhandled_param: 0 (0/s 0/m 0/h 0/d) unhandled parameter in CRCX command. crcx:missing_callid: 0 (0/s 0/m 0/h 0/d) missing CallId in CRCX command. crcx:invalid_mode: 0 (0/s 0/m 0/h 0/d) invalid connection mode in CRCX command. crcx:limit_exceeded: 0 (0/s 0/m 0/h 0/d) limit of concurrent connections was reached. crcx:unkown_callid: 0 (0/s 0/m 0/h 0/d) unknown CallId in CRCX command. crcx:alloc_conn_fail: 0 (0/s 0/m 0/h 0/d) connection allocation failure. crcx:no_remote_conn_desc: 0 (0/s 0/m 0/h 0/d) no opposite end specified for connection. crcx:start_rtp_failure: 0 (0/s 0/m 0/h 0/d) failure to start RTP processing. crcx:conn_rejected: 0 (0/s 0/m 0/h 0/d) connection rejected by policy. crcx:no_osmux: 0 (0/s 0/m 0/h 0/d) no osmux offered by peer. crcx:conn_opt: 0 (0/s 0/m 0/h 0/d) connection options invalid. crcx:codec_nego: 0 (0/s 0/m 0/h 0/d) codec negotiation failure. crcx:bind_port: 0 (0/s 0/m 0/h 0/d) port bind failure. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 05 May 2020 17:52:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 18:56:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 18:56:06 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18049 ) Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 18:56:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:03:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 19:03:07 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c at 60 PS3, Line 60: [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = {"mgcp:err_rx_msg_parse", "error parsing MGCP message."}, Some of them start with caps while some don't? use same format in all of them. https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c at 422 PS3, Line 422: return do_retransmission(pdata.endp); May be worth adding one for duplicates here. That may mean some timers are too small or something malfunctioning. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:03:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:13:52 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 19:13:52 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c at 60 PS3, Line 60: [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = {"mgcp:err_rx_msg_parse", "error parsing MGCP message."}, > Some of them start with caps while some don't? use same format in all of them. Ack https://gerrit.osmocom.org/c/osmo-mgw/+/18050/3/src/libosmo-mgcp/mgcp_protocol.c at 422 PS3, Line 422: return do_retransmission(pdata.endp); > May be worth adding one for duplicates here. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:13:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:15:31 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 19:15:31 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 to look at the new patch set (#4). Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 59 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/18050/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:17:48 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 19:17:48 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 to look at the new patch set (#5). Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 59 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/50/18050/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 to look at the new patch set (#2). Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... library: fix enc_SystemInformation(): properly pad messages Due to a buggy nature of TITAN's padding attributes [1], we cannot apply them to individual fields of the records that are embedded into other structured types, like records and unions. Ensure that encoded System Information messages are padded to either 23 or 19 octets, depending on their type. In order to achieve this, rename and wrap the external encoding function. [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849 Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 25 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/18026/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 to look at the new patch set (#2). Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... BTS: manually compose Rest Octets for SI Type 3 and 4 Finally, we can get rid of hard-coded octetstrings and control every field of the Rest Octets we're sending to the IUT. Note that template 'ts_SI4_default' did not contain any Rest Octets at all, thus the GPRS indicator was (and still is) absent. This will be fixed in a follow up change. Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn M library/GSM_RestOctets.ttcn M library/Osmocom_Types.ttcn 3 files changed, 78 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/18027/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix missing GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 to look at the new patch set (#2). Change subject: BTS: fix missing GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: fix missing GPRS Indicator in SI4 Rest Octets We do have GPRS Indicator in SI3 Rest Octets, but for some reason it was absent in SI4 Rest Octets. Let's finally enable it, so we can extend the existing test cases to check GPRS Indicator in the Rest Octets of both System Information Type 3 and 4. Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/18028/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Gerrit-Change-Number: 18028 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 to look at the new patch set (#4). Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... BTS: refactor f_get_si3(), so it can be used to get SI4 This is needed for the follow up change(s) verifying the GPRS indicator in the Rest Octets of RR System Information Type 4. Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 15 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18029/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:26:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:26:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: verify presence of GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 to look at the new patch set (#4). Change subject: BTS: verify presence of GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: verify presence of GPRS Indicator in SI4 Rest Octets So far we only checked presence of GPRS Indicator in the Rest Octets of System Information Type 3, but this indicator is also included in the Rest Octets of System Information Type 4. Let's add additional test cases to check this indicator in the Rest Octets of both message types. In order to achieve this: a) refactor f_si3_has_gprs_indicator(), so it can handle System Information Type 4 and its Rest Octets too; b) separate common part from the existing test cases into functions and (re)use them from the new ones; c) in f_TC_pcu_socket_noconnect(), make sure to send BCCH INFO with System Information Type 4. Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 65 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/18030/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Gerrit-Change-Number: 18030 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:28:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:28:23 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:28:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:28:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:28:36 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18049 ) Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:28:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:28:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:28:39 +0000 Subject: Change in osmo-mgw[master]: vty: Prepend VTY output of counters for better visual separation. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18049 ) Change subject: vty: Prepend VTY output of counters for better visual separation. ...................................................................... vty: Prepend VTY output of counters for better visual separation. Before this patch rate counters started right after trunk information with no visual separation which was quite confusing. We're adding a new line and a header to warn a user of the section change. Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 3b61c30..fa175e1 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -262,6 +262,10 @@ vty_out(vty, "%s", VTY_NEWLINE); } + if (show_stats) { + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "Rate counters:%s", VTY_NEWLINE); + } if (show_stats && cfg->mgcp_crcx_ctr_group) { vty_out(vty, " %s:%s", cfg->mgcp_crcx_ctr_group->desc->group_description, VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_crcx_ctr_group); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I3943def03ab821b05ac597f40bdfa4a3a71ddca3 Gerrit-Change-Number: 18049 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:29:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:29:52 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18047 ) Change subject: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS ...................................................................... Patch Set 1: Code-Review+2 I would have called it DOCKER_EXTRA_ARGS to make sure it is some additional/extra arguments, but nevermind, merge it as-is :) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 Gerrit-Change-Number: 18047 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:29:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 ) Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:30:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: add PADDING attributes to SI3/SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 ) Change subject: library: add PADDING attributes to SI3/SI4 Rest Octets ...................................................................... library: add PADDING attributes to SI3/SI4 Rest Octets Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Signed-off-by: Vadim Yanitskiy --- M library/GSM_RestOctets.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index da3478a..045d177 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -39,6 +39,10 @@ variant (iu_mode_ind) "PRESENCE(gprs_ind.presence = '0'B)" /* SI21 field is only present if 'WHERE' information is not present. */ variant (si21_ind) "PRESENCE(sched_where.presence = '0'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; /* 10.5.2.35 SI 4 Rest Octets (O & S) */ @@ -52,6 +56,10 @@ } with { variant (s_presence) "CSN.1 L/H" variant (s) "PRESENCE(s_presence = '1'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; /* Selection Parameters */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18024 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce6d1e565edc6dce51310364079fc3840a18d45 Gerrit-Change-Number: 18024 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: relax length constraints applied to SI Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 ) Change subject: library: relax length constraints applied to SI Rest Octets ...................................................................... library: relax length constraints applied to SI Rest Octets As it turned out, the length constraints introduced in [1] were too strict. In particular, the use of FIELDLENGTH attribute made it impossible to assign an octetstring of a smaller size and then pad the remaining octets with '2B'O. TITAN would just use '00'O instead, ignoring all my attempts to talk some sense into it. [1] I183d3ba9000e3ced8ecce74a4390b80075ddf25d Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 11 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index 07ca8e6..de1fcf7 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -119,10 +119,8 @@ type record SystemInformationType1 { CellChannelDescription cell_chan_desc, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.32 */ type record SystemInformationType2 { @@ -135,18 +133,14 @@ type record SystemInformationType2bis { NeighbourCellDescription extd_bcch_freq_list, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(1)" - }; + RestOctets rest_octets length(0..1) + } with { variant "" }; /* 44.018 9.1.34 */ type record SystemInformationType2ter { NeighbourCellDescription2 extd_bcch_freq_list, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; /* 44.018 9.1.35 */ type record SystemInformationType3 { @@ -156,10 +150,8 @@ CellOptions cell_options, CellSelectionParameters cell_sel_par, RachControlParameters rach_control, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(4)" - }; + RestOctets rest_octets length(0..4) + } with { variant "" }; template SystemInformationType3 t_SI3 := { cell_id := ?, @@ -179,7 +171,7 @@ RachControlParameters rach_control, ChannelDescriptionTV cbch_chan_desc optional, MobileAllocationT cbch_mobile_alloc optional, - RestOctets rest_octets /* 0 .. 10 octets (see 10.5.2.35) */ + RestOctets rest_octets length(0..10) /* see 10.5.2.35 */ } with { variant "TAG(cbch_chan_desc, iei = '64'O; cbch_mobile_alloc, iei = '72'O)" }; /* 44.018 9.1.37 */ @@ -203,10 +195,8 @@ LocationAreaIdentification lai, CellOptionsSacch cell_options, BIT8 ncc_permitted, - RestOctets rest_octets - } with { - variant (rest_octets) "FIELDLENGTH(7)" - }; + RestOctets rest_octets length(0..7) + } with { variant "" }; type union SystemInformationUnion { SystemInformationType1 si1, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b6d4100c064b6ae08ed55cd797b9416c6faf14 Gerrit-Change-Number: 18025 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix enc_SystemInformation(): properly pad messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 ) Change subject: library: fix enc_SystemInformation(): properly pad messages ...................................................................... library: fix enc_SystemInformation(): properly pad messages Due to a buggy nature of TITAN's padding attributes [1], we cannot apply them to individual fields of the records that are embedded into other structured types, like records and unions. Ensure that encoded System Information messages are padded to either 23 or 19 octets, depending on their type. In order to achieve this, rename and wrap the external encoding function. [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849 Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Signed-off-by: Vadim Yanitskiy --- M library/GSM_SystemInformation.ttcn 1 file changed, 25 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_SystemInformation.ttcn b/library/GSM_SystemInformation.ttcn index de1fcf7..758ad1c 100644 --- a/library/GSM_SystemInformation.ttcn +++ b/library/GSM_SystemInformation.ttcn @@ -228,9 +228,33 @@ other, OTHERWISE; )" }; - external function enc_SystemInformation(in SystemInformation si) return octetstring + external function enc_SystemInformationNoPad(in SystemInformation si) return octetstring with { extension "prototype(convert) encode(RAW)" }; external function dec_SystemInformation(in octetstring stream) return SystemInformation with { extension "prototype(convert) decode(RAW)" }; + /* Due to a buggy nature of TITAN's padding attributes, we have to apply padding manually. */ + function enc_SystemInformation(in SystemInformation si) return octetstring + { + var octetstring si_enc := enc_SystemInformationNoPad(si); + + /* Resulting message length depends on SI Type */ + select (si.header.message_type) { + case (SYSTEM_INFORMATION_TYPE_5, + SYSTEM_INFORMATION_TYPE_5bis, + SYSTEM_INFORMATION_TYPE_5ter) { + /* SACCH: no Rest Octets, return 'as-is' */ + return si_enc; + } + case (SYSTEM_INFORMATION_TYPE_6) { + /* SACCH: pad to 19 octets, leave room for L1/LAPDm headers */ + return f_pad_oct(si_enc, 19, '2B'O); + } + case else { + /* BCCH: pad to 23 octets */ + return f_pad_oct(si_enc, 23, '2B'O); + } + } + } + } with { encode "RAW"; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18026 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3368df52985e576ad180c9a74d4925dd9c952b55 Gerrit-Change-Number: 18026 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: manually compose Rest Octets for SI Type 3 and 4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 ) Change subject: BTS: manually compose Rest Octets for SI Type 3 and 4 ...................................................................... BTS: manually compose Rest Octets for SI Type 3 and 4 Finally, we can get rid of hard-coded octetstrings and control every field of the Rest Octets we're sending to the IUT. Note that template 'ts_SI4_default' did not contain any Rest Octets at all, thus the GPRS indicator was (and still is) absent. This will be fixed in a follow up change. Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Signed-off-by: Vadim Yanitskiy --- M bts/BTS_Tests.ttcn M library/GSM_RestOctets.ttcn M library/Osmocom_Types.ttcn 3 files changed, 78 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6f43a44..3ed3655 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -225,6 +225,28 @@ lac := 42 } +private template (value) GPRSIndicator ts_GPRSIndicator_def := { + ra_colour := 0, + si13_pos := '0'B +} + +private template (value) SI3RestOctets ts_SI3RestOctets_def +modifies ts_SI3RestOctets := { + gprs_ind := { + presence := CSN1_H, + ind := ts_GPRSIndicator_def + } +} + +private template (value) SI4RestOctets ts_SI4RestOctets_def +modifies ts_SI4RestOctets := { + gprs_ind := { + /* FIXME: GPRS Indicator shall be present here too */ + presence := CSN1_L, + ind := omit + } +} + /* Default SYSTEM INFORMATION 3 */ template (value) SystemInformation ts_SI3_default := { header := ts_RrHeader(SYSTEM_INFORMATION_TYPE_3, 18), @@ -251,7 +273,7 @@ }, cell_sel_par := ts_CellSelPar_default, rach_control := ts_RachCtrl_default, - rest_octets := '2C2B2B2B'O /* GPRS present */ + rest_octets := enc_SI3RestOctets(valueof(ts_SI3RestOctets_def)) } } } @@ -276,7 +298,7 @@ rach_control := ts_RachCtrl_default, cbch_chan_desc := omit, cbch_mobile_alloc := omit, - rest_octets := ''O + rest_octets := enc_SI4RestOctets(valueof(ts_SI4RestOctets_def)) } } } diff --git a/library/GSM_RestOctets.ttcn b/library/GSM_RestOctets.ttcn index 045d177..531528c 100644 --- a/library/GSM_RestOctets.ttcn +++ b/library/GSM_RestOctets.ttcn @@ -142,4 +142,54 @@ with { extension "prototype(convert) decode(RAW)" }; +/* Basic templates to be extended in place */ +template (value) SI3RestOctets ts_SI3RestOctets := { + sel_params := { + presence := CSN1_L, + params := omit + }, + pwr_offset := { + presence := CSN1_L, + offset := omit + }, + si_2ter_ind := CSN1_L, + early_cm_ind := CSN1_L, + sched_where := { + presence := CSN1_L, + where := omit + }, + gprs_ind := { + presence := CSN1_L, + ind := omit + }, + umts_early_cm_ind := CSN1_L, + si2_quater_ind := { + presence := CSN1_L, + ind := omit + }, + iu_mode_ind := omit, + si21_ind := { + presence := CSN1_L, + pos := omit + } +} + +template (value) SI4RestOctets ts_SI4RestOctets := { + sel_params := { + presence := CSN1_L, + params := omit + }, + pwr_offset := { + presence := CSN1_L, + offset := omit + }, + gprs_ind := { + presence := CSN1_L, + ind := omit + }, + s_presence := CSN1_L, + s := omit +} + + } with { encode "RAW"; variant "FIELDORDER(msb)" } diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 3b2ca17..16395df 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -40,6 +40,10 @@ const uint16_t c_UINT16_MAX := 65535; const uint32_t c_UINT32_MAX := 4294967295; + /* CSN.1 L/H placeholders */ + const BIT1 CSN1_L := '0'B; + const BIT1 CSN1_H := '1'B; + type record Arfcn { boolean pcs, uint15_t arfcn -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18027 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0a95b34b495267edf1f48692e24fcd5ede8ccdd1 Gerrit-Change-Number: 18027 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: fix missing GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 ) Change subject: BTS: fix missing GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: fix missing GPRS Indicator in SI4 Rest Octets We do have GPRS Indicator in SI3 Rest Octets, but for some reason it was absent in SI4 Rest Octets. Let's finally enable it, so we can extend the existing test cases to check GPRS Indicator in the Rest Octets of both System Information Type 3 and 4. Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 3ed3655..4466ad4 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -241,9 +241,8 @@ private template (value) SI4RestOctets ts_SI4RestOctets_def modifies ts_SI4RestOctets := { gprs_ind := { - /* FIXME: GPRS Indicator shall be present here too */ - presence := CSN1_L, - ind := omit + presence := CSN1_H, + ind := ts_GPRSIndicator_def } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18028 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib55c2673b53b5981e57372f4f8cfb0af32e04132 Gerrit-Change-Number: 18028 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: refactor f_get_si3(), so it can be used to get SI4 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 ) Change subject: BTS: refactor f_get_si3(), so it can be used to get SI4 ...................................................................... BTS: refactor f_get_si3(), so it can be used to get SI4 This is needed for the follow up change(s) verifying the GPRS indicator in the Rest Octets of RR System Information Type 4. Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 15 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 4466ad4..bd6785e 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4899,7 +4899,8 @@ } /* Ensure that GPRS capability is not advertised before PCU socket conncet */ -private function f_get_si3(L1CTL_PT pt) runs on test_CT return SystemInformationType3 { +private function f_get_si(L1CTL_PT pt, RrMessageType si_type) +runs on test_CT return SystemInformation { var L1ctlDlMessage l1_dl; var SystemInformation si; timer T := 5.0; @@ -4912,7 +4913,7 @@ repeat; } si := dec_SystemInformation(l1_dl.payload.data_ind.payload) - if (not ischosen(si.payload.si3)) { + if (si.header.message_type != si_type) { repeat; } } @@ -4920,10 +4921,11 @@ repeat; } [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI3"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, + log2str("Timeout waiting for ", si_type)); } } - return si.payload.si3; + return si; } private function f_si3_has_gprs_indicator(RestOctets ro) return boolean { @@ -4932,7 +4934,7 @@ } testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; timer T := 5.0; /* don't call f_init() as this would connect PCU socket */ @@ -4951,8 +4953,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates GPRS even before PCU socket connected"); } else { setverdict(pass); @@ -4962,7 +4964,7 @@ /* Ensure that GPRS capability is advertised after PCU socket connect */ testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); @@ -4971,8 +4973,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (not f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (not f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates no GPRS despite PCU socket connected"); } else { setverdict(pass); @@ -4982,7 +4984,7 @@ /* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { - var SystemInformationType3 si3; + var SystemInformation si; /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); @@ -5000,8 +5002,8 @@ f_sleep(2.0); L1CTL.clear; - si3 := f_get_si3(L1CTL); - if (f_si3_has_gprs_indicator(si3.rest_octets)) { + si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); + if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { setverdict(fail, "SI3 indicates GPRS after PCU socket disconnected"); } else { setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I540b43bbe886f8ca3e9a7eb49a4d30d391d45f49 Gerrit-Change-Number: 18029 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:30:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:30:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: verify presence of GPRS Indicator in SI4 Rest Octets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 ) Change subject: BTS: verify presence of GPRS Indicator in SI4 Rest Octets ...................................................................... BTS: verify presence of GPRS Indicator in SI4 Rest Octets So far we only checked presence of GPRS Indicator in the Rest Octets of System Information Type 3, but this indicator is also included in the Rest Octets of System Information Type 4. Let's add additional test cases to check this indicator in the Rest Octets of both message types. In order to achieve this: a) refactor f_si3_has_gprs_indicator(), so it can handle System Information Type 4 and its Rest Octets too; b) separate common part from the existing test cases into functions and (re)use them from the new ones; c) in f_TC_pcu_socket_noconnect(), make sure to send BCCH INFO with System Information Type 4. Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Signed-off-by: Vadim Yanitskiy Related: OS#3075 --- M bts/BTS_Tests.ttcn 1 file changed, 65 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index bd6785e..289298b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4928,13 +4928,28 @@ return si; } -private function f_si3_has_gprs_indicator(RestOctets ro) return boolean { - var SI3RestOctets rest := dec_SI3RestOctets(ro); - return rest.gprs_ind.presence == '1'B; +/* Check if GPRS Indicator is present in RR System Information of a given type */ +private function f_si_has_gprs_indicator(RrMessageType si_type) +runs on test_CT return boolean { + var SystemInformation si := f_get_si(L1CTL, si_type); + + if (si_type == SYSTEM_INFORMATION_TYPE_3) { + var RestOctets ro := si.payload.si3.rest_octets; + var SI3RestOctets rest := dec_SI3RestOctets(ro); + return rest.gprs_ind.presence == '1'B; + } else if (si_type == SYSTEM_INFORMATION_TYPE_4) { + var RestOctets ro := si.payload.si4.rest_octets; + var SI4RestOctets rest := dec_SI4RestOctets(ro); + return rest.gprs_ind.presence == '1'B; + } + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unhandled SI type"); + return false; } -testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { - var SystemInformation si; +/* Make sure that GPRS Indicator is absent when the PCU is not connected */ +private function f_TC_pcu_socket_noconnect(RrMessageType si_type) +runs on test_CT { timer T := 5.0; /* don't call f_init() as this would connect PCU socket */ @@ -4946,26 +4961,36 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } } + + /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); + f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); f_init_l1ctl(); f_l1_tune(L1CTL); - f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates GPRS even before PCU socket connected"); + + if (f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates GPRS even before PCU socket connected"); } else { setverdict(pass); } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* Ensure that GPRS capability is advertised after PCU socket connect */ -testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { - var SystemInformation si; +testcase TC_pcu_socket_noconnect_nosi3gprs() runs on test_CT { + f_TC_pcu_socket_noconnect(SYSTEM_INFORMATION_TYPE_3); +} +testcase TC_pcu_socket_noconnect_nosi4gprs() runs on test_CT { + f_TC_pcu_socket_noconnect(SYSTEM_INFORMATION_TYPE_4); +} + +/* Ensure that GPRS capability is advertised after PCU socket connect */ +private function f_TC_pcu_socket_connect(RrMessageType si_type) +runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); f_init_l1ctl(); @@ -4973,19 +4998,27 @@ f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (not f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates no GPRS despite PCU socket connected"); + + if (not f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates no GPRS despite PCU socket connected"); } else { setverdict(pass); } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -/* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ -testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { - var SystemInformation si; +testcase TC_pcu_socket_connect_si3gprs() runs on test_CT { + f_TC_pcu_socket_connect(SYSTEM_INFORMATION_TYPE_3); +} +testcase TC_pcu_socket_connect_si4gprs() runs on test_CT { + f_TC_pcu_socket_connect(SYSTEM_INFORMATION_TYPE_4); +} + +/* Ensure that GPRS capability is no longer advertised after PCU socket disconnect */ +private function f_TC_pcu_socket_disconnect(RrMessageType si_type) +runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ f_init(); f_init_l1ctl(); @@ -5002,9 +5035,9 @@ f_sleep(2.0); L1CTL.clear; - si := f_get_si(L1CTL, SYSTEM_INFORMATION_TYPE_3); - if (f_si3_has_gprs_indicator(si.payload.si3.rest_octets)) { - setverdict(fail, "SI3 indicates GPRS after PCU socket disconnected"); + + if (f_si_has_gprs_indicator(si_type)) { + setverdict(fail, si_type, " indicates GPRS after PCU socket disconnected"); } else { setverdict(pass); } @@ -5012,6 +5045,14 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +testcase TC_pcu_socket_disconnect_nosi3gprs() runs on test_CT { + f_TC_pcu_socket_disconnect(SYSTEM_INFORMATION_TYPE_3); +} + +testcase TC_pcu_socket_disconnect_nosi4gprs() runs on test_CT { + f_TC_pcu_socket_disconnect(SYSTEM_INFORMATION_TYPE_4); +} + /* Verify that the cell_id of SI3 (TS 04.08 9.1.35) and other values are passed properly to the PCU socket (OS#3854) */ testcase TC_pcu_socket_verify_info_ind() runs on test_CT { var SystemInformation si3 := valueof(ts_SI3_default); @@ -6438,8 +6479,11 @@ execute( TC_pcu_socket_connect_multi() ); execute( TC_pcu_socket_reconnect() ); execute( TC_pcu_socket_noconnect_nosi3gprs() ); + execute( TC_pcu_socket_noconnect_nosi4gprs() ); execute( TC_pcu_socket_connect_si3gprs() ); + execute( TC_pcu_socket_connect_si4gprs() ); execute( TC_pcu_socket_disconnect_nosi3gprs() ); + execute( TC_pcu_socket_disconnect_nosi4gprs() ); execute( TC_pcu_socket_verify_info_ind() ); execute( TC_dyn_osmo_pdch_act_deact() ); execute( TC_dyn_osmo_pdch_double_act() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18030 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifc589c35a52a62331b0ad4fbe2eec3fba55b5ff9 Gerrit-Change-Number: 18030 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:31:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:31:18 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:31:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:31:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:31:21 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:31:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:31:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:31:24 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... osmo-hlr-master: run ldconfig Fix error after DGSM-related patches were merged: osmo-hlr: error while loading shared libraries: libosmo-gsup-client.so.0: cannot open shared object file: No such file or directory Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c --- M osmo-hlr-master/Dockerfile 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 6a09b0d..3aa8468 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -35,7 +35,8 @@ git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ autoreconf -fi && \ ./configure && \ - make -j8 install + make -j8 install && \ + ldconfig VOLUME /data -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:32:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:32:30 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 05 May 2020 19:32:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:32:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:32:55 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 05 May 2020 19:32:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:36:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:36:11 +0000 Subject: Change in libosmocore[master]: rest_octets: fix encoding of 3G Early Classmark Sending Restriction In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18036 ) Change subject: rest_octets: fix encoding of 3G Early Classmark Sending Restriction ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df515a00518fabb3eb8f65054addd3aead14bfe Gerrit-Change-Number: 18036 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 19:36:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:36:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:36:14 +0000 Subject: Change in libosmocore[master]: rest_octets: fix encoding of 3G Early Classmark Sending Restriction In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18036 ) Change subject: rest_octets: fix encoding of 3G Early Classmark Sending Restriction ...................................................................... rest_octets: fix encoding of 3G Early Classmark Sending Restriction Change-Id: I6df515a00518fabb3eb8f65054addd3aead14bfe Relates: OS#3075 --- M src/gsm/gsm48_rest_octets.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gsm/gsm48_rest_octets.c b/src/gsm/gsm48_rest_octets.c index 518572e..3c1b22a 100644 --- a/src/gsm/gsm48_rest_octets.c +++ b/src/gsm/gsm48_rest_octets.c @@ -576,9 +576,9 @@ /* 3G Early Classmark Sending Restriction. If H, then controlled by * early_cm_ctrl above */ if (si3->early_cm_restrict_3g) - bitvec_set_bit(&bv, L); - else bitvec_set_bit(&bv, H); + else + bitvec_set_bit(&bv, L); if (si3->si2quater_indicator) { bitvec_set_bit(&bv, H); /* indicator struct present */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18036 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6df515a00518fabb3eb8f65054addd3aead14bfe Gerrit-Change-Number: 18036 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:15 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:37:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:35 +0000 Subject: Change in osmo-hlr[master]: osmo_gsup_req_new(): require from_peer != NULL In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18038 ) Change subject: osmo_gsup_req_new(): require from_peer != NULL ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c Gerrit-Change-Number: 18038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 19:37:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:51 +0000 Subject: Change in osmo-hlr[master]: make osmo_cni_peer_id_cmp() NULL safe In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18037 ) Change subject: make osmo_cni_peer_id_cmp() NULL safe ...................................................................... make osmo_cni_peer_id_cmp() NULL safe Related: coverity CID#210172 Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b --- M src/gsupclient/cni_peer_id.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve diff --git a/src/gsupclient/cni_peer_id.c b/src/gsupclient/cni_peer_id.c index de7b4bc..ab36959 100644 --- a/src/gsupclient/cni_peer_id.c +++ b/src/gsupclient/cni_peer_id.c @@ -154,6 +154,12 @@ int osmo_cni_peer_id_cmp(const struct osmo_cni_peer_id *a, const struct osmo_cni_peer_id *b) { + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; if (a->type != b->type) return OSMO_CMP(a->type, b->type); switch (a->type) { -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18037 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I400b23ac3f0eb68d5e4c757ea02d130fbe12f80b Gerrit-Change-Number: 18037 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:51 +0000 Subject: Change in osmo-hlr[master]: osmo_gsup_req_new(): require from_peer != NULL In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18038 ) Change subject: osmo_gsup_req_new(): require from_peer != NULL ...................................................................... osmo_gsup_req_new(): require from_peer != NULL In practice, from_peer is always non-NULL, yet some conditions checked against NULL, looking like a possible NULL deref. Require non-NULL. Related: coverity CID#210172 Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c --- M src/gsupclient/gsup_req.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gsupclient/gsup_req.c b/src/gsupclient/gsup_req.c index a8a66d5..2e7caf1 100644 --- a/src/gsupclient/gsup_req.c +++ b/src/gsupclient/gsup_req.c @@ -107,6 +107,12 @@ struct osmo_gsup_req *req; int rc; + if (!from_peer) { + LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from NULL peer is not allowed\n"); + msgb_free(msg); + return NULL; + } + if (!msgb_l2(msg) || !msgb_l2len(msg)) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: missing or empty L2 data\n", osmo_cni_peer_id_to_str(from_peer)); @@ -121,8 +127,7 @@ req->msg = msg; req->send_response_cb = send_response_cb; req->cb_data = cb_data; - if (from_peer) - req->source_name = *from_peer; + req->source_name = *from_peer; rc = osmo_gsup_decode(msgb_l2(req->msg), msgb_l2len(req->msg), (struct osmo_gsup_message*)&req->gsup); if (rc < 0) { LOGP(DLGSUP, LOGL_ERROR, "Rx GSUP from %s: cannot decode (rc=%d)\n", osmo_cni_peer_id_to_str(from_peer), rc); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18038 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3cb73ec0d31f84d4b613ecb026169c944d240e4c Gerrit-Change-Number: 18038 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:52 +0000 Subject: Change in osmo-hlr[master]: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18039 ) Change subject: gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() ...................................................................... gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get() Related: coverity CID#210171 Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b --- M src/gsup_server.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/src/gsup_server.c b/src/gsup_server.c index a5d496e..888507c 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -274,7 +274,7 @@ { struct osmo_gsup_conn *clnt = (struct osmo_gsup_conn *)conn->data; uint8_t *addr = NULL; - size_t addr_len; + int addr_len; LOGP(DLGSUP, LOGL_INFO, "CCM Callback\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18039 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I5b56fe33cbc75679a3fffc034a53f06cd0e4043b Gerrit-Change-Number: 18039 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:52 +0000 Subject: Change in osmo-hlr[master]: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18040 ) Change subject: osmo_mslookup_server_mdns_rx(): handle read() rc == 0 ...................................................................... osmo_mslookup_server_mdns_rx(): handle read() rc == 0 Coverity says "tainted buffer", I hope it means the case of read() returning zero. Related: coverity CID#210170 Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d --- M src/mslookup_server_mdns.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/src/mslookup_server_mdns.c b/src/mslookup_server_mdns.c index 0e94074..a669526 100644 --- a/src/mslookup_server_mdns.c +++ b/src/mslookup_server_mdns.c @@ -71,7 +71,7 @@ /* Parse the message and print it */ n = read(osmo_fd->fd, buffer, sizeof(buffer)); - if (n < 0) + if (n <= 0) return n; ctx = talloc_named_const(server, 0, __func__); -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18040 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ia2d57cb8bbacc6f54dc410047da69a983aedd24d Gerrit-Change-Number: 18040 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:37:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:37:52 +0000 Subject: Change in osmo-hlr[master]: hlr_subscr_nam(): fix condition to fix nam=false notifications In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18041 ) Change subject: hlr_subscr_nam(): fix condition to fix nam=false notifications ...................................................................... hlr_subscr_nam(): fix condition to fix nam=false notifications Firstly, vlr_number[] is an array and we need to check the first char for nul instead of the pointer. Also, osmo_ipa_name_set_str() returns zero on success, so the condition is reversed. hlr_subscr_nam() was rewritten in I3a8dff3d4a1cbe10d6ab08257a0138d6b2a082d9 ad868e29ba1b838f151cdf2ad9cb4f068a817493 and this likely fixes a bug introduced there. Related: coverity CID#210169 Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 --- M src/hlr.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/hlr.c b/src/hlr.c index 7b803e7..e4d6c23 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -268,9 +268,9 @@ if (nam_val) return 0; - if (subscr->vlr_number && osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) + if (subscr->vlr_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->vlr_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); - if (subscr->sgsn_number && osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) + if (subscr->sgsn_number[0] && !osmo_ipa_name_set_str(&vlr_name, subscr->sgsn_number)) osmo_gsup_enc_send_to_ipa_name(g_hlr->gs, &vlr_name, &gsup_del_data); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I3a0e9ed4b865c88aa4a6341a3bf1a96c10d20ed9 Gerrit-Change-Number: 18041 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:39:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:39:42 +0000 Subject: Change in osmo-gsm-tester[master]: doc: install.adoc: Correctly split optional dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 ) Change subject: doc: install.adoc: Correctly split optional dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 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: Id8b5dcd15fd86c670915b928112699d831e6e7b0 Gerrit-Change-Number: 18059 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 19:39:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 5 May 2020 19:40:12 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18034/2/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/18034/2/src/common/measurement.c at 344 PS2, Line 344: %u It is signed! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:40:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:40:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:40:24 +0000 Subject: Change in osmo-gsm-tester[master]: Rework README file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 ) Change subject: Rework README file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 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: I9febe56223eaeadc9d31291dd0110a11470e3ab1 Gerrit-Change-Number: 18060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 19:40:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:41:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:41:10 +0000 Subject: Change in libosmocore[master]: sim: When decoding SW, take application specific SW into account In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17998 ) Change subject: sim: When decoding SW, take application specific SW into account ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1 Gerrit-Change-Number: 17998 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 05 May 2020 19:41:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:41:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:41:13 +0000 Subject: Change in libosmocore[master]: sim: When decoding SW, take application specific SW into account In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17998 ) Change subject: sim: When decoding SW, take application specific SW into account ...................................................................... sim: When decoding SW, take application specific SW into account So far we only looked at SW definitions of the card profile. However, if we have a currently selected application, we also must check that application for SW definitions. This breaks ABI and API all over the place, but as there are no known users beyond osmo-sim-test, this is acceptable. Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1 --- M TODO-RELEASE M include/osmocom/sim/sim.h M src/sim/core.c M utils/osmo-sim-test.c 4 files changed, 46 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 4145300..bc95b91 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -9,3 +9,4 @@ #library what description / commit summary line gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param sim API/ABI change new osim_file_desc_find_aid() +sim API/ABI change all over the place diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h index 33ebdd7..bfd1ac9 100644 --- a/include/osmocom/sim/sim.h +++ b/include/osmocom/sim/sim.h @@ -309,6 +309,7 @@ const struct osim_card_app_profile * osim_app_profile_find_by_aid(const uint8_t *aid, uint8_t aid_len); +const struct osim_card_sw *osim_app_profile_find_sw(const struct osim_card_app_profile *ap, uint16_t sw_in); /*! A card profile (e.g. SIM card */ struct osim_card_profile { @@ -319,15 +320,13 @@ const struct osim_card_sw **sws; }; -const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, - uint16_t sw); -enum osim_card_sw_class osim_sw_class(const struct osim_card_profile *cp, - uint16_t sw_in); +const struct osim_card_sw *osim_cprof_find_sw(const struct osim_card_profile *cp, uint16_t sw_in); -struct osim_card_hdl; -char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in); -char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in); -char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in); +struct osim_chan_hdl; +enum osim_card_sw_class osim_sw_class(const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw(const struct osim_chan_hdl *ch, uint16_t sw_in); +char *osim_print_sw_c(const void *ctx, const struct osim_chan_hdl *ch, uint16_t sw_in); extern const struct tlv_definition ts102221_fcp_tlv_def; extern const struct value_string ts102221_fcp_vals[14]; diff --git a/src/sim/core.c b/src/sim/core.c index 8b2d6f9..d11c2d8 100644 --- a/src/sim/core.c +++ b/src/sim/core.c @@ -367,14 +367,19 @@ } -char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw_buf(char *buf, size_t buf_len, const struct osim_chan_hdl *ch, uint16_t sw_in) { - const struct osim_card_sw *csw; + const struct osim_card_sw *csw = NULL; - if (!ch || !ch->prof) + if (!ch) goto ret_def; - csw = osim_find_sw(ch->prof, sw_in); + if (ch->cur_app && ch->cur_app->prof) + csw = osim_app_profile_find_sw(ch->cur_app->prof, sw_in); + + if (!csw && ch->card->prof) + csw = osim_cprof_find_sw(ch->card->prof, sw_in); + if (!csw) goto ret_def; @@ -397,13 +402,13 @@ return buf; } -char *osim_print_sw(const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw(const struct osim_chan_hdl *ch, uint16_t sw_in) { static __thread char sw_print_buf[256]; return osim_print_sw_buf(sw_print_buf, sizeof(sw_print_buf), ch, sw_in); } -char *osim_print_sw_c(const void *ctx, const struct osim_card_hdl *ch, uint16_t sw_in) +char *osim_print_sw_c(const void *ctx, const struct osim_chan_hdl *ch, uint16_t sw_in) { char *buf = talloc_size(ctx, 256); if (!buf) @@ -411,8 +416,8 @@ return osim_print_sw_buf(buf, 256, ch, sw_in); } -const struct osim_card_sw *osim_find_sw(const struct osim_card_profile *cp, - uint16_t sw_in) +/*! Find status word within given card profile */ +const struct osim_card_sw *osim_cprof_find_sw(const struct osim_card_profile *cp, uint16_t sw_in) { const struct osim_card_sw **sw_lists = cp->sws; const struct osim_card_sw *sw_list, *sw; @@ -426,10 +431,30 @@ return NULL; } -enum osim_card_sw_class osim_sw_class(const struct osim_card_profile *cp, - uint16_t sw_in) +/*! Find application-specific status word within given card application profile */ +const struct osim_card_sw *osim_app_profile_find_sw(const struct osim_card_app_profile *ap, uint16_t sw_in) { - const struct osim_card_sw *csw = osim_find_sw(cp, sw_in); + const struct osim_card_sw *sw_list = ap->sw, *sw; + + for (sw = sw_list; sw->code != 0 && sw->mask != 0; sw++) { + if ((sw_in & sw->mask) == sw->code) + return sw; + } + return NULL; +} + +enum osim_card_sw_class osim_sw_class(const struct osim_chan_hdl *ch, uint16_t sw_in) +{ + const struct osim_card_sw *csw = NULL; + + OSMO_ASSERT(ch); + OSMO_ASSERT(ch->card); + + if (ch->cur_app && ch->cur_app->prof) + csw = osim_app_profile_find_sw(ch->cur_app->prof, sw_in); + + if (!csw && ch->card->prof) + csw = osim_cprof_find_sw(ch->card->prof, sw_in); if (!csw) return SW_CLS_NONE; diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c index cf423c4..ae55b83 100644 --- a/utils/osmo-sim-test.c +++ b/utils/osmo-sim-test.c @@ -411,7 +411,7 @@ fclose(f_data); return -EIO; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + printf("SW: %s\n", osim_print_sw(chan, msgb_apdu_sw(msg))); hex = osmo_hexdump_nospc(msgb_apdu_de(rmsg), msgb_apdu_le(rmsg)); printf("Rec %03u: %s\n", i+1, hex); @@ -593,7 +593,7 @@ osmo_hexdump_nospc(cah->aid, cah->aid_len)); continue; } - printf("SW: %s\n", osim_print_sw(chan->card, msgb_apdu_sw(msg))); + printf("SW: %s\n", osim_print_sw(chan, msgb_apdu_sw(msg))); chan->cur_app = cah; chan->cwd = cap->adf; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17998 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3a1d60898529c173f73587e34c155660ba5f5fb1 Gerrit-Change-Number: 17998 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:41:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:41:53 +0000 Subject: Change in osmo-msc[master]: gsup_client_mux_tx_error_reply(): handle optional routing IEs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17984 ) Change subject: gsup_client_mux_tx_error_reply(): handle optional routing IEs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17984 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2694ea15d2cf57316f2eae845afb957a3e8067b6 Gerrit-Change-Number: 17984 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 05 May 2020 19:41:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:49:49 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 19:49:49 +0000 Subject: Change in osmo-bsc[master]: om2k: Don't use slashes in FSM IDs and use dashes instead References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18061 ) Change subject: om2k: Don't use slashes in FSM IDs and use dashes instead ...................................................................... om2k: Don't use slashes in FSM IDs and use dashes instead slashes are invalid so we can't use om2k_mo_name() directly, so we just build it manually with dashes. Signed-off-by: Sylvain Munaut Change-Id: I3cfc19670e6d7bb607d796cabcee5e86a15d1985 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/18061/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index b221441..d5eb24a 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1880,8 +1880,9 @@ struct om2k_mo_fsm_priv *omfp; char idbuf[64]; - snprintf(idbuf, sizeof(idbuf), "%s-%s", parent->id, - om2k_mo_name(&mo->addr)); + snprintf(idbuf, sizeof(idbuf), "%s-%s-%02x-%02x-%02x", parent->id, + get_value_string(om2k_mo_class_short_vals, mo->addr.class), + mo->addr.bts, mo->addr.assoc_so, mo->addr.inst); fi = osmo_fsm_inst_alloc_child_id(&om2k_mo_fsm, parent, term_event, idbuf); @@ -2143,7 +2144,7 @@ struct om2k_trx_fsm_priv *otfp; char idbuf[32]; - snprintf(idbuf, sizeof(idbuf), "%u/%u", trx->bts->nr, trx->nr); + snprintf(idbuf, sizeof(idbuf), "%u-%u", trx->bts->nr, trx->nr); fi = osmo_fsm_inst_alloc_child_id(&om2k_trx_fsm, parent, term_event, idbuf); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3cfc19670e6d7bb607d796cabcee5e86a15d1985 Gerrit-Change-Number: 18061 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:49:50 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 19:49:50 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix TS channel config payload for non-superchannel case References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18062 ) Change subject: om2k: Fix TS channel config payload for non-superchannel case ...................................................................... om2k: Fix TS channel config payload for non-superchannel case * In superchannel mode, those 3 are required. * In normal mode, "Config Type" is optional and the two others are forbidden. Signed-off-by: Sylvain Munaut Change-Id: If02d02c067ae8af8ce693ddfb8747212f3f4e441 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/18062/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index d5eb24a..355389b 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1479,10 +1479,14 @@ msgb_tv_put(msg, OM2K_DEI_LSC_FILT_TIME, 10); /* units of 100ms */ msgb_tv_put(msg, OM2K_DEI_CALL_SUPV_TIME, 8); msgb_tv_put(msg, OM2K_DEI_ENCR_ALG, 0x00); - /* Not sure what those below mean */ - msgb_tv_put(msg, 0x9e, 0x00); - msgb_tv_put(msg, 0x9f, 0x37); - msgb_tv_put(msg, 0xa0, 0x01); + + /* Those are only use for superchannel */ + if (ts->trx->bts->rbs2000.use_superchannel) { + msgb_tv_put(msg, OM2K_DEI_CONFIG_TYPE, 0x00); /* 1-bit, lsb */ + msgb_tv_put(msg, OM2K_DEI_JITTER_SIZE, 0x37); + msgb_tv_put(msg, OM2K_DEI_PACKING_ALGO, 0x01); + } + break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If02d02c067ae8af8ce693ddfb8747212f3f4e441 Gerrit-Change-Number: 18062 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 19:49:51 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix type of msg_type in abis_om2k_tx_simple References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18063 ) Change subject: om2k: Fix type of msg_type in abis_om2k_tx_simple ...................................................................... om2k: Fix type of msg_type in abis_om2k_tx_simple Thoses messages IDs are 16 bits and the upper 8 bits are sort of important :D Signed-off-by: Sylvain Munaut Change-Id: Ifcc1a01fdbf66a0f6f44cf8fed60dc19e72dd56a --- M src/osmo-bsc/abis_om2000.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/18063/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 355389b..b14643b 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1050,7 +1050,7 @@ } static int abis_om2k_tx_simple(struct gsm_bts *bts, const struct abis_om2k_mo *mo, - uint8_t msg_type) + uint16_t msg_type) { struct msgb *msg = om2k_msgb_alloc(); struct abis_om2k_hdr *o2k; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcc1a01fdbf66a0f6f44cf8fed60dc19e72dd56a Gerrit-Change-Number: 18063 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 19:49:51 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the HW Infos Reports References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18064 ) Change subject: om2k: Acknowledge the HW Infos Reports ...................................................................... om2k: Acknowledge the HW Infos Reports Signed-off-by: Sylvain Munaut Change-Id: Ida92c9ca59a608854737ba9e330a5394cceff0fe --- M src/osmo-bsc/abis_om2000.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/18064/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index b14643b..ee5c8d0 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -192,6 +192,10 @@ OM2K_MSGT_TX_CONF_RES_NACK = 0x00b5, OM2K_MSGT_TX_CONF_RES = 0x00b6, + OM2K_MSGT_CAPA_HW_INFOS_REP_ACK = 0x00e4, + OM2K_MSGT_CAPA_HW_INFOS_REP_NACK = 0x00e5, + OM2K_MSGT_CAPA_HW_INFOS_REP = 0x00e6, + OM2K_MSGT_CAPA_REQ = 0x00e8, OM2K_MSGT_CAPA_REQ_ACK = 0x00ea, OM2K_MSGT_CAPA_REQ_REJ = 0x00eb, @@ -2730,6 +2734,9 @@ case OM2K_MSGT_TEST_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_TEST_RES_ACK); break; + case OM2K_MSGT_CAPA_HW_INFOS_REP: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_HW_INFOS_REP_ACK); + break; case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ida92c9ca59a608854737ba9e330a5394cceff0fe Gerrit-Change-Number: 18064 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 19:49:51 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the unknown MCTR messages we get from time to time References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18065 ) Change subject: om2k: Acknowledge the unknown MCTR messages we get from time to time ...................................................................... om2k: Acknowledge the unknown MCTR messages we get from time to time This is probably a fault report of some kind, but didn't get any confirmation or naming from anywhere for it yet. Signed-off-by: Sylvain Munaut Change-Id: I8333093d09f27f61094c7f5854573aa16e4bf28c --- M src/osmo-bsc/abis_om2000.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/18065/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index ee5c8d0..c32a5fa 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2740,6 +2740,9 @@ case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; + case 0x0136: /* Unknown ... something for MCTR */ + rc = abis_om2k_tx_simple(bts, &o2h->mo, 0x0134); + break; /* ERrors */ case OM2K_MSGT_START_REQ_REJ: case OM2K_MSGT_CONNECT_REJ: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8333093d09f27f61094c7f5854573aa16e4bf28c Gerrit-Change-Number: 18065 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:54:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:54:34 +0000 Subject: Change in osmo-bsc[master]: om2k: Don't use slashes in FSM IDs and use dashes instead In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18061 ) Change subject: om2k: Don't use slashes in FSM IDs and use dashes instead ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3cfc19670e6d7bb607d796cabcee5e86a15d1985 Gerrit-Change-Number: 18061 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 05 May 2020 19:54:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:54:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:54:56 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix TS channel config payload for non-superchannel case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18062 ) Change subject: om2k: Fix TS channel config payload for non-superchannel case ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If02d02c067ae8af8ce693ddfb8747212f3f4e441 Gerrit-Change-Number: 18062 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 05 May 2020 19:54:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:55:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:55:10 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix type of msg_type in abis_om2k_tx_simple In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18063 ) Change subject: om2k: Fix type of msg_type in abis_om2k_tx_simple ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcc1a01fdbf66a0f6f44cf8fed60dc19e72dd56a Gerrit-Change-Number: 18063 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 05 May 2020 19:55:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:55:29 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the HW Infos Reports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18064 ) Change subject: om2k: Acknowledge the HW Infos Reports ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ida92c9ca59a608854737ba9e330a5394cceff0fe Gerrit-Change-Number: 18064 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 05 May 2020 19:55:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 19:55:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 5 May 2020 19:55:47 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the unknown MCTR messages we get from time to time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18065 ) Change subject: om2k: Acknowledge the unknown MCTR messages we get from time to time ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8333093d09f27f61094c7f5854573aa16e4bf28c Gerrit-Change-Number: 18065 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 05 May 2020 19:55:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:03:53 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 20:03:53 +0000 Subject: Change in osmo-bsc[master]: om2k: Don't use slashes in FSM IDs and use dashes instead In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18061 ) Change subject: om2k: Don't use slashes in FSM IDs and use dashes instead ...................................................................... om2k: Don't use slashes in FSM IDs and use dashes instead slashes are invalid so we can't use om2k_mo_name() directly, so we just build it manually with dashes. Signed-off-by: Sylvain Munaut Change-Id: I3cfc19670e6d7bb607d796cabcee5e86a15d1985 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 4 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index b221441..d5eb24a 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1880,8 +1880,9 @@ struct om2k_mo_fsm_priv *omfp; char idbuf[64]; - snprintf(idbuf, sizeof(idbuf), "%s-%s", parent->id, - om2k_mo_name(&mo->addr)); + snprintf(idbuf, sizeof(idbuf), "%s-%s-%02x-%02x-%02x", parent->id, + get_value_string(om2k_mo_class_short_vals, mo->addr.class), + mo->addr.bts, mo->addr.assoc_so, mo->addr.inst); fi = osmo_fsm_inst_alloc_child_id(&om2k_mo_fsm, parent, term_event, idbuf); @@ -2143,7 +2144,7 @@ struct om2k_trx_fsm_priv *otfp; char idbuf[32]; - snprintf(idbuf, sizeof(idbuf), "%u/%u", trx->bts->nr, trx->nr); + snprintf(idbuf, sizeof(idbuf), "%u-%u", trx->bts->nr, trx->nr); fi = osmo_fsm_inst_alloc_child_id(&om2k_trx_fsm, parent, term_event, idbuf); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3cfc19670e6d7bb607d796cabcee5e86a15d1985 Gerrit-Change-Number: 18061 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:03:55 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 20:03:55 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix TS channel config payload for non-superchannel case In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18062 ) Change subject: om2k: Fix TS channel config payload for non-superchannel case ...................................................................... om2k: Fix TS channel config payload for non-superchannel case * In superchannel mode, those 3 are required. * In normal mode, "Config Type" is optional and the two others are forbidden. Signed-off-by: Sylvain Munaut Change-Id: If02d02c067ae8af8ce693ddfb8747212f3f4e441 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index d5eb24a..355389b 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1479,10 +1479,14 @@ msgb_tv_put(msg, OM2K_DEI_LSC_FILT_TIME, 10); /* units of 100ms */ msgb_tv_put(msg, OM2K_DEI_CALL_SUPV_TIME, 8); msgb_tv_put(msg, OM2K_DEI_ENCR_ALG, 0x00); - /* Not sure what those below mean */ - msgb_tv_put(msg, 0x9e, 0x00); - msgb_tv_put(msg, 0x9f, 0x37); - msgb_tv_put(msg, 0xa0, 0x01); + + /* Those are only use for superchannel */ + if (ts->trx->bts->rbs2000.use_superchannel) { + msgb_tv_put(msg, OM2K_DEI_CONFIG_TYPE, 0x00); /* 1-bit, lsb */ + msgb_tv_put(msg, OM2K_DEI_JITTER_SIZE, 0x37); + msgb_tv_put(msg, OM2K_DEI_PACKING_ALGO, 0x01); + } + break; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If02d02c067ae8af8ce693ddfb8747212f3f4e441 Gerrit-Change-Number: 18062 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:03:55 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 20:03:55 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix type of msg_type in abis_om2k_tx_simple In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18063 ) Change subject: om2k: Fix type of msg_type in abis_om2k_tx_simple ...................................................................... om2k: Fix type of msg_type in abis_om2k_tx_simple Thoses messages IDs are 16 bits and the upper 8 bits are sort of important :D Signed-off-by: Sylvain Munaut Change-Id: Ifcc1a01fdbf66a0f6f44cf8fed60dc19e72dd56a --- M src/osmo-bsc/abis_om2000.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 355389b..b14643b 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1050,7 +1050,7 @@ } static int abis_om2k_tx_simple(struct gsm_bts *bts, const struct abis_om2k_mo *mo, - uint8_t msg_type) + uint16_t msg_type) { struct msgb *msg = om2k_msgb_alloc(); struct abis_om2k_hdr *o2k; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifcc1a01fdbf66a0f6f44cf8fed60dc19e72dd56a Gerrit-Change-Number: 18063 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:03:56 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 20:03:56 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the HW Infos Reports In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18064 ) Change subject: om2k: Acknowledge the HW Infos Reports ...................................................................... om2k: Acknowledge the HW Infos Reports Signed-off-by: Sylvain Munaut Change-Id: Ida92c9ca59a608854737ba9e330a5394cceff0fe --- M src/osmo-bsc/abis_om2000.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index b14643b..ee5c8d0 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -192,6 +192,10 @@ OM2K_MSGT_TX_CONF_RES_NACK = 0x00b5, OM2K_MSGT_TX_CONF_RES = 0x00b6, + OM2K_MSGT_CAPA_HW_INFOS_REP_ACK = 0x00e4, + OM2K_MSGT_CAPA_HW_INFOS_REP_NACK = 0x00e5, + OM2K_MSGT_CAPA_HW_INFOS_REP = 0x00e6, + OM2K_MSGT_CAPA_REQ = 0x00e8, OM2K_MSGT_CAPA_REQ_ACK = 0x00ea, OM2K_MSGT_CAPA_REQ_REJ = 0x00eb, @@ -2730,6 +2734,9 @@ case OM2K_MSGT_TEST_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_TEST_RES_ACK); break; + case OM2K_MSGT_CAPA_HW_INFOS_REP: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_HW_INFOS_REP_ACK); + break; case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ida92c9ca59a608854737ba9e330a5394cceff0fe Gerrit-Change-Number: 18064 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:03:56 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 5 May 2020 20:03:56 +0000 Subject: Change in osmo-bsc[master]: om2k: Acknowledge the unknown MCTR messages we get from time to time In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18065 ) Change subject: om2k: Acknowledge the unknown MCTR messages we get from time to time ...................................................................... om2k: Acknowledge the unknown MCTR messages we get from time to time This is probably a fault report of some kind, but didn't get any confirmation or naming from anywhere for it yet. Signed-off-by: Sylvain Munaut Change-Id: I8333093d09f27f61094c7f5854573aa16e4bf28c --- M src/osmo-bsc/abis_om2000.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index ee5c8d0..c32a5fa 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2740,6 +2740,9 @@ case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; + case 0x0136: /* Unknown ... something for MCTR */ + rc = abis_om2k_tx_simple(bts, &o2h->mo, 0x0134); + break; /* ERrors */ case OM2K_MSGT_START_REQ_REJ: case OM2K_MSGT_CONNECT_REJ: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8333093d09f27f61094c7f5854573aa16e4bf28c Gerrit-Change-Number: 18065 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:31:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 20:31:11 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 20:31:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:51:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 5 May 2020 20:51:41 +0000 Subject: Change in osmo-mgw[master]: counters: Implement more useful counters. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18050 ) Change subject: counters: Implement more useful counters. ...................................................................... counters: Implement more useful counters. Right now a lot of errors with MGCP processing are invisible in rate counters which makes them difficult to trace or even notice in a production environment. E.g. reaching a limit of MGCP endpoints is completely invisible even though it's a critical opertion alarm. Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 --- M include/osmocom/mgcp/mgcp.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c 3 files changed, 59 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index a479fbb..43f480e 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -119,6 +119,16 @@ #define MGCP_KEEPALIVE_ONCE (-1) #define MGCP_KEEPALIVE_NEVER 0 +/* Global MCGP general rate counters */ +enum { + MGCP_GENERAL_RX_MSGS_TOTAL, + MGCP_GENERAL_RX_MSGS_RETRANSMITTED, + MGCP_GENERAL_RX_MSGS_HANDLED, + MGCP_GENERAL_RX_MSGS_UNHANDLED, + MGCP_GENERAL_RX_FAIL_MSG_PARSE, + MGCP_GENERAL_RX_FAIL_NO_ENDPOINT, +}; + /* Global MCGP CRCX related rate counters */ enum { MGCP_CRCX_SUCCESS, @@ -207,6 +217,8 @@ int vty_number_endpoints; struct mgcp_endpoint *endpoints; + /* Rate counter group which contains stats for generic MGCP events. */ + struct rate_ctr_group *mgcp_general_ctr_group; /* Rate counter group which contains stats for processed CRCX commands. */ struct rate_ctr_group *mgcp_crcx_ctr_group; /* Rate counter group which contains stats for processed MDCX commands. */ diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 12fea1d..82c10aa 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -53,6 +53,24 @@ #define MGCP_REQUEST(NAME, REQ, DEBUG_NAME) \ { .name = NAME, .handle_request = REQ, .debug_name = DEBUG_NAME }, +static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { + /* rx_msgs = rx_msgs_retransmitted + rx_msgs_handled + rx_msgs_unhandled + err_rx_msg_parse + err_rx_no_endpoint */ + [MGCP_GENERAL_RX_MSGS_TOTAL] = {"mgcp:rx_msgs", "total number of MGCP messages received."}, + [MGCP_GENERAL_RX_MSGS_RETRANSMITTED] = {"mgcp:rx_msgs_retransmitted", "number of received retransmissions."}, + [MGCP_GENERAL_RX_MSGS_HANDLED] = {"mgcp:rx_msgs_handled", "number of handled MGCP messages."}, + [MGCP_GENERAL_RX_MSGS_UNHANDLED] = {"mgcp:rx_msgs_unhandled", "number of unhandled MGCP messages."}, + [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = {"mgcp:err_rx_msg_parse", "error parsing MGCP message."}, + [MGCP_GENERAL_RX_FAIL_NO_ENDPOINT] = {"mgcp:err_rx_no_endpoint", "can't find MGCP endpoint, probably we've used all allocated endpoints."}, +}; + +const static struct rate_ctr_group_desc mgcp_general_ctr_group_desc = { + .group_name_prefix = "mgcp", + .group_description = "mgcp general statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_general_ctr_desc), + .ctr_desc = mgcp_general_ctr_desc +}; + static const struct rate_ctr_desc mgcp_crcx_ctr_desc[] = { [MGCP_CRCX_SUCCESS] = {"crcx:success", "CRCX command processed successfully."}, [MGCP_CRCX_FAIL_BAD_ACTION] = {"crcx:bad_action", "bad action in CRCX command."}, @@ -361,24 +379,33 @@ * - or a response (three numbers, space, transaction id) */ struct msgb *mgcp_handle_message(struct mgcp_config *cfg, struct msgb *msg) { + struct mgcp_trunk_config *tcfg = &cfg->trunk; + struct rate_ctr_group *rate_ctrs = tcfg->mgcp_general_ctr_group; struct mgcp_parse_data pdata; int rc, i, code, handled = 0; struct msgb *resp = NULL; char *data; + /* Count all messages, even incorect ones */ + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_TOTAL]); + if (msgb_l2len(msg) < 4) { LOGP(DLMGCP, LOGL_ERROR, "msg too short: %d\n", msg->len); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; } - if (mgcp_msg_terminate_nul(msg)) + if (mgcp_msg_terminate_nul(msg)) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; + } mgcp_disp_msg(msg->l2h, msgb_l2len(msg), "Received message"); /* attempt to treat it as a response */ if (sscanf((const char *)&msg->l2h[0], "%3d %*s", &code) == 1) { LOGP(DLMGCP, LOGL_DEBUG, "Response: Code: %d\n", code); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_MSG_PARSE]); return NULL; } @@ -394,12 +421,14 @@ if (pdata.endp && pdata.trans && pdata.endp->last_trans && strcmp(pdata.endp->last_trans, pdata.trans) == 0) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_RETRANSMITTED]); return do_retransmission(pdata.endp); } /* check for general parser failure */ if (rc < 0) { LOGP(DLMGCP, LOGL_NOTICE, "%s: failed to find the endpoint\n", msg->l2h); + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_FAIL_NO_ENDPOINT]); return create_err_response(NULL, -rc, (const char *) msg->l2h, pdata.trans); } @@ -413,9 +442,13 @@ } } - if (!handled) + if (handled) { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_HANDLED]); + } else { + rate_ctr_inc(&rate_ctrs->ctr[MGCP_GENERAL_RX_MSGS_UNHANDLED]); LOGP(DLMGCP, LOGL_NOTICE, "MSG with type: '%.4s' not handled\n", &msg->l2h[0]); + } return resp; } @@ -1556,11 +1589,19 @@ /* FIXME: Each new rate counter group requires a unique index. At the * moment we generate an index using a counter, but perhaps there is * a better way of assigning indices? */ + static unsigned int general_rate_ctr_index = 0; static unsigned int crcx_rate_ctr_index = 0; static unsigned int mdcx_rate_ctr_index = 0; static unsigned int dlcx_rate_ctr_index = 0; static unsigned int all_rtp_conn_rate_ctr_index = 0; + if (trunk->mgcp_general_ctr_group == NULL) { + trunk->mgcp_general_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); + if (!trunk->mgcp_general_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_general_ctr_group, free_rate_counter_group); + general_rate_ctr_index++; + } if (trunk->mgcp_crcx_ctr_group == NULL) { trunk->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); if (!trunk->mgcp_crcx_ctr_group) diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index fa175e1..76d674f 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -266,6 +266,10 @@ vty_out(vty, "%s", VTY_NEWLINE); vty_out(vty, "Rate counters:%s", VTY_NEWLINE); } + if (show_stats && cfg->mgcp_general_ctr_group) { + vty_out(vty, " %s:%s", cfg->mgcp_general_ctr_group->desc->group_description, VTY_NEWLINE); + vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_general_ctr_group); + } if (show_stats && cfg->mgcp_crcx_ctr_group) { vty_out(vty, " %s:%s", cfg->mgcp_crcx_ctr_group->desc->group_description, VTY_NEWLINE); vty_out_rate_ctr_group_fmt(vty, " %25n: %10c (%S/s %M/m %H/h %D/d) %d", cfg->mgcp_crcx_ctr_group); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6db68f044255c927dfd534fed880e405ec3ed4d6 Gerrit-Change-Number: 18050 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:56:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 20:56:49 +0000 Subject: Change in osmo-gsm-tester[master]: doc: install.adoc: Correctly split optional dependencies In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 ) Change subject: doc: install.adoc: Correctly split optional dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 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: Id8b5dcd15fd86c670915b928112699d831e6e7b0 Gerrit-Change-Number: 18059 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 20:56:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:56:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 20:56:51 +0000 Subject: Change in osmo-gsm-tester[master]: Rework README file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 ) Change subject: Rework README file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 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: I9febe56223eaeadc9d31291dd0110a11470e3ab1 Gerrit-Change-Number: 18060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 05 May 2020 20:56:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:56:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 20:56:53 +0000 Subject: Change in osmo-gsm-tester[master]: doc: install.adoc: Correctly split optional dependencies In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 ) Change subject: doc: install.adoc: Correctly split optional dependencies ...................................................................... doc: install.adoc: Correctly split optional dependencies Change-Id: Id8b5dcd15fd86c670915b928112699d831e6e7b0 --- M doc/manuals/chapters/install.adoc 1 file changed, 59 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index ed38296..445b53c 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -324,47 +324,88 @@ and 'trial-N-bin.tgz' archives are produced by the 'jenkins-run.sh' script, both for successful and failing runs. -==== Install osmo-gsm-tester +==== Install osmo-gsm-tester dependencies This assumes you have already created the jenkins user (see <>). Dependencies needed will depend on lots of factors, like your distribution, your specific setup, which hardware you plan to support, etc. -On a Debian/Ubuntu based system, these commands install the packages needed to -run the osmo-gsm-tester.py code, i.e. install these on your main unit: +On a Debian/Ubuntu based system, these commands install the mandatory packages +needed to run the osmo-gsm-tester.py code, i.e. install these on your main unit: ---- apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ python3 \ - python3-setuptools \ python3-yaml \ python3-mako \ python3-gi \ - python3-numpy \ - python3-wheel \ - ofono \ - patchelf \ - sudo \ - libcap2-bin \ - python3-pip \ - udhcpc \ - iperf3 \ locales +---- + +If one plans to use the 2G ESME (_esme.py_), following extra dependencies shall +be installed: +---- +apt-get install python3-setuptools python3-pip +pip3 install "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" +---- + +If one plans to use the 2G OsmoHLR (_hlr_osmo.py_), following extra dependencies shall +be installed: +---- +apt-get install sqlite3 +---- + +If one plans to use SISPM power supply hardware (_powersupply_sispm.py_), +following extra dependencies shall be installed: +---- +apt-get install python3-setuptools python3-pip pip3 install \ - "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ - pydbus \ pyusb \ pysispm ---- +If one plans to use software-based RF emulation on Amarisoft ENB implemented +through its CTRL interface (_rfemu_amarisoftctrl.py_), following extra +dependencies shall be installed: +---- +apt-get install python3-websocket +---- + +If one plans to use srsLTE UE metrics subsystems (_ms_srs.py_), following extra +dependencies shall be installed: +---- +apt-get install python3-numpy +---- + +If one plans to use ofono modems (_ms_ofono.py_), following extra dependencies +shall be installed: +---- +apt-get install \ + dbus \ + python3 \ + ofono \ + python3-pip \ + udhcpc +pip3 install \ + pydbus +---- + IMPORTANT: ofono may need to be installed from source to contain the most recent fixes needed to operate your modems. This depends on the modem hardware used and the tests run. Please see <>. +Finally, these programs are usually required by osmo-gsm-tester on the Slave Unit to run and manage processes: + +---- +apt-get install \ + tcpdump \ + patchelf \ + sudo \ + libcap2-bin \ + iperf3 +---- + ==== User Permissions On the main unit, create a group for all users that should be allowed to use -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18059 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: Id8b5dcd15fd86c670915b928112699d831e6e7b0 Gerrit-Change-Number: 18059 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 5 20:56:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 5 May 2020 20:56:54 +0000 Subject: Change in osmo-gsm-tester[master]: Rework README file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 ) Change subject: Rework README file ...................................................................... Rework README file Drop old one in doc/ which contains lots of outadated stuff already placed in the User Manual. Write a new markdown README in the root directory with pointers to places in the repo and the issue tracket, ansible setup, etc. Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1 --- A README.md D doc/README.txt 2 files changed, 28 insertions(+), 116 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/README.md b/README.md new file mode 100644 index 0000000..3394969 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +About Osmo-GSM-Tester +===================== + +Osmo-GSM-Tester is a software to run automated tests on real hardware, initially +foremost to verify that ongoing Osmocom software development continues to work +with various BTS models, while being flexibly configurable and extendable to +work for other technologies, setups and projects. It can nowadays also be used +to run 4G networks with components from different providers. + +Find Osmo-GSM-Tester issue tracker and wiki online at +https://osmocom.org/projects/osmo-gsm-tester + +Simple configuration setups can be found under _doc/examples/_ directory. A +Osmocom's public Osmo-Gsm-Tester configuration setup is also maintained here +under _sysmocom/_ as a reference for others. + +Ansible scripts to set up hosts to be used as Osmo-GSM-Tester Main Units or/and +Slave Units on the above mentioned setup can be found at +https://git.osmocom.org/osmo-ci/tree/ansible, which actually install sample +system configuration files from _utils/_ directory in this same repository. + +A sample Docker setup is also maintained publicly at +https://git.osmocom.org/docker-playground/tree/osmo-gsm-tester. + +For the complete documentation, please refer to Osmo-GSM-Tester User manual, +available in sources under _doc/manuals/_ under this same repository, and +prebuilt in pdf form at +http://ftp.osmocom.org/docs/latest/osmo-gsm-tester-manual.pdf diff --git a/doc/README.txt b/doc/README.txt deleted file mode 100644 index 3b4d202..0000000 --- a/doc/README.txt +++ /dev/null @@ -1,116 +0,0 @@ -DOCUMENTATION - -For the complete documentation, please refer to the osmo-gsm-manuals: -http://git.osmocom.org/osmo-gsm-manuals/ -http://jenkins.osmocom.org/jenkins/job/Osmocom_Manuals/ws/ - - -INSTALLATION - -So far the osmo-gsm-tester directory is manually placed in /usr/local/src - - -DEPENDENCIES - -Packages required to run the osmo-gsm-tester: - - apt-get install \ - dbus \ - tcpdump \ - sqlite3 \ - python3 \ - python3-yaml \ - python3-mako \ - python3-gi \ - ofono \ - python3-pip \ - python3-usb - pip3 install git+git://github.com/podshumok/python-smpplib.git - pip3 install pydbus - pip3 install pysispm - -To build ofono: - apt-get install libglib2.0-dev \ - libdbus-1-dev \ - libudev-dev \ - mobile-broadband-provider-info - - -INSTALLATION - -Place a copy of the osmo-gsm-tester repository in /usr/local/src/ - - cp install/osmo-gsm-tester-limits.conf /etc/security/limits.d/ - cp install/*.service /lib/systemd/system/ - cp install/org.ofono.conf /etc/dbus-1/system.d/ - systemctl daemon-reload - -To run: - - systemctl enable ofono - systemctl start ofono - systemctl status ofono - - systemctl enable osmo-gsm-tester - systemctl start osmo-gsm-tester - systemctl status osmo-gsm-tester - - -To stop: - - systemctl stop osmo-gsm-tester - -After ofonod has been started and modems have been connected to the system, -you can run the 'list-modems' script located in /usr/local/src/ofono/test to get -a list of the modems that have been detected by ofono. - - -CONFIGURATION - -Host System configuration - -Create the /var/tmp/osmo-gsm-tester directory. It will be used to accept new test jobs. - -Test resources (NITB, BTS and modems) are currently configured in the test_manager.py. - -For every nitb resource that can be allocated, one alias IP address needs -to be set up in /etc/network/interfaces on the interface that is connected to the BTSes. -By add the following lines for each nitb instance that can be allocated (while making -sure each interface alias and IP is unique) - - auto eth1:0 - allow-hotplug eth1:0 - iface eth1:0 inet static - address 10.42.42.2 - netmask 255.255.255.0 - -Also make sure, the user executing the tester is allowed to run tcpdump. If -the user is not root, we have used the folloing line to get proper permissions: - - groupadd pcap - addgroup pcap - setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump - chgroup pcap /usr/sbin/tcpdump - chmod 0750 /usr/sbin/tcpdump - -The tester main unit must be able to ssh without password to the sysmobts (and -possibly other) hardware: place the main unit's public SSH key on the sysmoBTS. -Log in via SSH at least once to accept the BTS' host key. - - -Jenkins Configuration - -(TODO: jenkins build slave details) - -When adding an entry to jenkins' known_hosts file, be aware that you need to -add an actual RSA host key. Using 'ssh' to access the main unit may work, but -jenkins will still fail to access it in the absence of a full RSA host key: - - ssh-keyscan -H $my_main_unit_ip_addr >> ~jenkins/.ssh/known_hosts - - -LAUNCHING A TEST RUN - -osmo-gsm-tester watches /var/tmp/osmo-gsm-tester for instructions to launch -test runs. A test run is triggered by a subdirectory containing binaries and a -checksums file, typically created by jenkins using the scripts in contrib/. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18060 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: I9febe56223eaeadc9d31291dd0110a11470e3ab1 Gerrit-Change-Number: 18060 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 6 01:38:52 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 06 May 2020 01:38:52 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb2152e5dd59_20242ae0456bc6006978a4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 597s] | prefix='/usr' [ 597s] | program_transform_name='s,x,x,' [ 597s] | psdir='${docdir}' [ 597s] | pyexecdir='' [ 597s] | pythondir='' [ 597s] | runstatedir='${localstatedir}/run' [ 597s] | sbindir='${exec_prefix}/sbin' [ 597s] | sharedstatedir='${prefix}/com' [ 597s] | sysconfdir='/etc' [ 597s] | target_alias='' [ 597s] | [ 597s] | ## ----------- ## [ 597s] | ## confdefs.h. ## [ 597s] | ## ----------- ## [ 597s] | [ 597s] | /* confdefs.h */ [ 597s] | #define PACKAGE_NAME "libosmocore" [ 597s] | #define PACKAGE_TARNAME "libosmocore" [ 597s] | #define PACKAGE_VERSION "1.3.0.76-3a6b" [ 597s] | #define PACKAGE_STRING "libosmocore 1.3.0.76-3a6b" [ 597s] | #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 597s] | #define PACKAGE_URL "" [ 597s] | #define PACKAGE "libosmocore" [ 599s] |[ 572.381347] sysrq: SysRq : Power Off [ 599s] [ 572.396635] reboot: Power down [ 599s] ### VM INTERACTION END ### [ 599s] [ 599s] armbuild02 failed "build libosmocore_1.3.0.76.3a6b.dsc" at Wed May 6 01:38:48 UTC 2020. [ 599s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 6 06:22:09 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 6 May 2020 06:22:09 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18047 ) Change subject: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 Gerrit-Change-Number: 18047 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 06:22:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 06:22:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 6 May 2020 06:22:12 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18047 ) Change subject: ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS ...................................................................... ttcn3-*-test/jenkins*.sh: add $DOCKER_ARGS Allow to pass options to each "docker run" line in the various jenkins.sh scripts. I'm using this to run the testsuites and Osmocom components in docker with the same configurations as jenkins, but with Osmocom and testsuite binaries built outside and mounted into the containers: DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" This allows very short test cycles without a second set of configs. The full script that makes use of this feature is in osmo-dev.git, ttcn3/ttcn3.sh. Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 --- M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 15 files changed, 41 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index b3791a5..36c79d5 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -25,6 +25,7 @@ --network $NET_NAME --ip 172.18.12.20 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX for i in `seq 0 2`; do @@ -32,6 +33,7 @@ docker run --rm \ --network $NET_NAME --ip 172.18.12.10$i \ --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy 172.18.12.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" done @@ -42,6 +44,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bsc-test echo Stopping containers diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 3455dc1..44badb5 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -26,6 +26,7 @@ --network $NET_NAME --ip 172.18.2.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with BSC @@ -33,6 +34,7 @@ --network $NET_NAME --ip 172.18.2.20 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX for i in `seq 0 2`; do @@ -40,6 +42,7 @@ docker run --rm \ --network $NET_NAME --ip 172.18.2.10$i \ --name ${BUILD_TAG}-bts$i -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy 172.18.2.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" done @@ -50,6 +53,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bsc-tester:/data \ --name ${BUILD_TAG}-ttcn3-bsc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bsc-test echo Stopping containers diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index d52e79a..1df1a70 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -23,6 +23,7 @@ --network $NET_NAME --ip 172.18.15.20 \ -v $VOL_BASE_DIR/bscnat:/data \ --name ${BUILD_TAG}-bscnat -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-nitb-$IMAGE_SUFFIX \ /bin/sh -c "osmo-bsc_nat -c /data/osmo-bsc-nat.cfg >/data/osmo-bsc-nat.log 2>&1" @@ -32,6 +33,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/bscnat-tester:/data \ --name ${BUILD_TAG}-ttcn3-bscnat-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bscnat-test echo Stopping containers diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index cc401e7..00e8133 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -17,6 +17,7 @@ --network $NET_NAME --ip 172.18.9.11 \ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bsc-$IMAGE_SUFFIX \ /bin/sh -c "osmo-bsc -c /data/osmo-bsc.cfg >>/data/osmo-bsc.log 2>&1" } @@ -34,6 +35,7 @@ -v $VOL_BASE_DIR/bts:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-bts -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg -i 172.18.9.10 >>/data/osmo-bts.log 2>&1" } @@ -44,6 +46,7 @@ --network $NET_NAME --ip 172.18.9.21 \ -v $VOL_BASE_DIR/fake_trx:/data \ --name ${BUILD_TAG}-fake_trx -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ /tmp/osmocom-bb/src/target/trx_toolkit/fake_trx.py \ --log-file-name /data/fake_trx.log \ @@ -60,6 +63,7 @@ -v $VOL_BASE_DIR/trxcon:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-trxcon -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ /bin/sh -c "trxcon -i 172.18.9.21 -s /data/unix/osmocom_l2 >>/data/trxcon.log 2>&1" } @@ -70,6 +74,7 @@ --network $NET_NAME --ip 172.18.9.22 \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-virtphy -d \ + $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ virtphy -s /data/unix/osmocom_l2 /bin/sh -c "virtphy -s /data/unix/osmocom_l2 >>/data/virtphy.log 2>&1" @@ -83,6 +88,7 @@ -v $VOL_BASE_DIR/bts-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-bts-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-bts-test } diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index ac26c0f..a69e640 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -24,6 +24,7 @@ --network $NET_NAME --ip 172.18.3.201 \ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \ /bin/sh -c "osmo-ggsn -c /data/osmo-ggsn.cfg >/data/osmo-ggsn.log 2>&1" @@ -34,6 +35,7 @@ -v $VOL_BASE_DIR/ggsn-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ggsn-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-ggsn-test # stop GGSN after test has completed diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 74aa37f..47ce5a9 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -27,6 +27,7 @@ --network $NET_NAME --ip 172.18.10.20 \ -v $VOL_BASE_DIR/hlr:/data \ --name ${BUILD_TAG}-hlr -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-hlr-$IMAGE_SUFFIX \ /bin/sh -c "osmo-hlr -c /data/osmo-hlr.cfg >/data/osmo-hlr.log 2>&1" @@ -36,6 +37,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/hlr-tester:/data \ --name ${BUILD_TAG}-ttcn3-hlr-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-hlr-test echo Stopping containers diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 473782f..4ebd235 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -21,6 +21,7 @@ --network $NET_NAME --ip 172.18.4.180 \ -v $VOL_BASE_DIR/mgw:/data \ --name ${BUILD_TAG}-mgw -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-mgw-$IMAGE_SUFFIX # start docker container with testsuite in foreground @@ -29,6 +30,7 @@ -v $VOL_BASE_DIR/mgw-tester:/data \ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ttcn3-mgw-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-mgw-test # stop mgw after test has completed diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 28bc4b7..805151a 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -37,6 +37,7 @@ -v $VOL_BASE_DIR/msc:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-msc -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-msc-$IMAGE_SUFFIX \ /bin/sh -c "osmo-msc -c /data/osmo-msc.cfg >>/data/osmo-msc.log 2>&1" @@ -47,6 +48,7 @@ -v $VOL_BASE_DIR/msc-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-msc-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-msc-test echo Stopping containers diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 51b5f64..06403d3 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu-sns -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.14.10 >>/data/osmo-pcu.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/pcu-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-pcu-test echo Stopping containers diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index e0f1212..271f89f 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/pcu:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.13.10 >>/data/osmo-pcu.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/pcu-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-pcu-test echo Stopping containers diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1b7c7cf..1c2682c 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -13,6 +13,7 @@ --network $NET_NAME --ip 172.18.17.20 \ -v $VOL_BASE_DIR/server:/data \ --name ${BUILD_TAG}-server -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "osmo-remsim-server >/data/osmo-remsim-server.log 2>&1" } @@ -23,6 +24,7 @@ --network $NET_NAME --ip 172.18.17.30 \ -v $VOL_BASE_DIR/bankd:/data \ --name ${BUILD_TAG}-bankd -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "pcscd; osmo-remsim-bankd -i 172.18.17.10 >/data/osmo-remsim-bankd.log 2>&1" } @@ -33,6 +35,7 @@ --network $NET_NAME --ip 172.18.17.40 \ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ + $DOCKER_ARGS \ $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ /bin/sh -c "osmo-remsim-client-shell >/data/osmo-remsim-client.log 2>&1" } @@ -46,6 +49,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/remsim-tester:/data \ --name ${BUILD_TAG}-ttcn3-remsim-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-remsim-test } diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index f5c1549..242e44a 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -22,6 +22,7 @@ --network $NET_NAME --ip 172.18.22.200 \ -v $VOL_BASE_DIR/sccp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-master \ /bin/sh -c "sccp_demo_user -l 172.18.22.200 -r 172.18.22.203 -C /data/sccp_demo_user.cfg >>/data/sccp_demo_user.log 2>&1" @@ -32,6 +33,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sccp-tester:/data \ --name ${BUILD_TAG}-ttcn3-sccp-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sccp-test docker container kill ${BUILD_TAG}-stp diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 5464ca6..9db295a 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -27,6 +27,7 @@ --network $NET_NAME --ip 172.18.8.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with SGSN @@ -34,6 +35,7 @@ --network $NET_NAME --ip 172.18.8.10 \ -v $VOL_BASE_DIR/sgsn:/data \ --name ${BUILD_TAG}-sgsn -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-sgsn-$IMAGE_SUFFIX \ /bin/sh -c "osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1" @@ -43,6 +45,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/sgsn-tester:/data \ --name ${BUILD_TAG}-ttcn3-sgsn-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sgsn-test $@ echo Starting container to merge logs @@ -52,6 +55,7 @@ -v $VOL_BASE_DIR/sgsn-tester:/data \ --name ${BUILD_TAG}-ttcn3-sgsn-test-logmerge \ --entrypoint /osmo-ttcn3-hacks/log_merge.sh SGSN_Tests --rm \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sgsn-test echo Stopping containers diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 0bc0357..8a1977e 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -26,6 +26,7 @@ -v $VOL_BASE_DIR/sip:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-sip-connector -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-sip-$IMAGE_SUFFIX \ /bin/sh -c "osmo-sip-connector -c /data/osmo-sip-connector.cfg >>/data/osmo-sip-connector.log 2>&1" @@ -36,6 +37,7 @@ -v $VOL_BASE_DIR/sip-tester:/data \ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-sip-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-sip-test echo Stopping containers diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index 7bb0337..bc2d5af 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -21,6 +21,7 @@ --network $NET_NAME --ip 172.18.19.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ + $DOCKER_ARGS \ $REPO_USER/osmo-stp-$IMAGE_SUFFIX echo Starting container with STP testsuite @@ -29,6 +30,7 @@ -e "TTCN3_PCAP_PATH=/data" \ -v $VOL_BASE_DIR/stp-tester:/data \ --name ${BUILD_TAG}-ttcn3-stp-test \ + $DOCKER_ARGS \ $REPO_USER/ttcn3-stp-test docker container kill ${BUILD_TAG}-stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816 Gerrit-Change-Number: 18047 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 06:23:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 6 May 2020 06:23:03 +0000 Subject: Change in docker-playground[master]: osmo-hlr-master: run ldconfig In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18043 ) Change subject: osmo-hlr-master: run ldconfig ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > What about the other *-master containers? Should we update them too? Other *-master containers that build shared libraries already run ldconfig. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18043 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I80554fdbfd2c518868485f84a46c56df985c671c Gerrit-Change-Number: 18043 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 06:23:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 10:42:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 10:42:11 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: Hello srs_andre, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 to look at the new patch set (#7). Change subject: suites/4g: Introduce sample handover test ...................................................................... suites/4g: Introduce sample handover test This test currently only works with AmarisoftENB and srsUE, because: * srsENB has no handover support yet * AmarisoftUE doesn't provide any known way to verify handovers. As a result, it usually runs with following filters and modifiers: amarisoftenb-rftype at uhd+srsue-rftype@uhd+mod-enb-ncells at 2+mod-enb-meas-enable The get_counter() API may change in the future based on information available from other implementations. Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl A sysmocom/scenarios/mod-enb-meas-enable.conf A sysmocom/suites/4g/handover.py 5 files changed, 82 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17901/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 10:43:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 10:43:22 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py File sysmocom/suites/4g/handover.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901/6/sysmocom/suites/4g/handover.py at 24 PS6, Line 24: proc = iperf3cli.prepare_test_proc(False, ue.netns(), 30) > can you think of a way to somehow parameterize that test? we already have the iperf time, that's on [?] I have some ideas now on how to introduce attributes to tests dynamically, I'll give it a try at implementing it and submit in a follow-up commit of this. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 06 May 2020 10:43:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:08:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:08:18 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Fix import error when using default-suites.conf References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 ) Change subject: osmo-gsm-tester.py: Fix import error when using default-suites.conf ...................................................................... osmo-gsm-tester.py: Fix import error when using default-suites.conf Recent commit refactoring stuff introduced an import error only triggered when default-suites.conf is used (no -s param). This commit fixes the issue. Fixes: ea8c3d4b1235ef703e54cd963bc96f6716168387 Change-Id: I1534cfba55c69ed5c1354175f8b5df9b656b7d82 --- M src/osmo-gsm-tester.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/66/18066/1 diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index dc1e058..7bd2fd6 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -73,7 +73,7 @@ from osmo_gsm_tester.core import log from osmo_gsm_tester.core import trial from osmo_gsm_tester.core import suite -from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF +from osmo_gsm_tester.core import config from osmo_gsm_tester.core.schema import generate_schemas def sig_handler_cleanup(signum, frame): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 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: I1534cfba55c69ed5c1354175f8b5df9b656b7d82 Gerrit-Change-Number: 18066 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:20:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:20:58 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Fix import error when using default-suites.conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 ) Change subject: osmo-gsm-tester.py: Fix import error when using default-suites.conf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 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: I1534cfba55c69ed5c1354175f8b5df9b656b7d82 Gerrit-Change-Number: 18066 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 12:20:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:21:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:21:01 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Fix import error when using default-suites.conf In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 ) Change subject: osmo-gsm-tester.py: Fix import error when using default-suites.conf ...................................................................... osmo-gsm-tester.py: Fix import error when using default-suites.conf Recent commit refactoring stuff introduced an import error only triggered when default-suites.conf is used (no -s param). This commit fixes the issue. Fixes: ea8c3d4b1235ef703e54cd963bc96f6716168387 Change-Id: I1534cfba55c69ed5c1354175f8b5df9b656b7d82 --- M src/osmo-gsm-tester.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index dc1e058..7bd2fd6 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -73,7 +73,7 @@ from osmo_gsm_tester.core import log from osmo_gsm_tester.core import trial from osmo_gsm_tester.core import suite -from osmo_gsm_tester.core.config import read_config_file, DEFAULT_SUITES_CONF +from osmo_gsm_tester.core import config from osmo_gsm_tester.core.schema import generate_schemas def sig_handler_cleanup(signum, frame): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18066 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: I1534cfba55c69ed5c1354175f8b5df9b656b7d82 Gerrit-Change-Number: 18066 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:24:57 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 6 May 2020 12:24:57 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rf_port to cell list param References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 ) Change subject: enb: add rf_port to cell list param ...................................................................... enb: add rf_port to cell list param we need to make the rf_port a param in the cell list because for CA with two cells on different EARFNCs, the RF port is different for two cells without CA on the same EARFCN the RF port is the same so we need to be able to configure it Change-Id: I32e83cc34811588757104c5ce1cae7277402addd --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl M sysmocom/defaults.conf 4 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/18067/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 4848ea4..42ff647 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -51,6 +51,7 @@ 'a3_time_to_trigger': schema.INT, 'num_cells': schema.UINT, 'cell_list[].cell_id': schema.UINT, + 'cell_list[].rf_port': schema.UINT, 'cell_list[].pci': schema.UINT, 'cell_list[].ncell_list[]': schema.UINT, 'cell_list[].scell_list[]': schema.UINT, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 46bdf10..29b5fb8 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -59,7 +59,7 @@ %for cell in enb.cell_list: { dl_earfcn: ${cell.dl_earfcn}, - rf_port: 0, /* FIXME: this may need to be configurable based on device specifics (B2xx vs X310) */ + rf_port: ${cell.rf_port}, cell_id: ${cell.cell_id}, n_id_cell: ${cell.pci}, tac: 0x0001, diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 597f6ef..2e25f6b 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -65,7 +65,7 @@ %for cell in enb.cell_list: ${',' if loop.index != 0 else ''} { - // rf_port = 0; Not yet implemented! + rf_port = ${cell.rf_port}; cell_id = ${cell.cell_id}; tac = 0x0001; pci = ${loop.index + 1}; diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 871a45c..6694652 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -128,11 +128,13 @@ - cell_id: 0x01 pci: 0x01 dl_earfcn: 2850 + rf_port: 0 scell_list: [] ncell_list: [0x02] - cell_id: 0x02 pci: 0x02 dl_earfcn: 2850 + rf_port: 0 scell_list: [] ncell_list: [0x01] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 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: I32e83cc34811588757104c5ce1cae7277402addd Gerrit-Change-Number: 18067 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:24:58 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 6 May 2020 12:24:58 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: don't set sc12 as OTW format References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 ) Change subject: srs_{enb,ue}: don't set sc12 as OTW format ...................................................................... srs_{enb,ue}: don't set sc12 as OTW format Change-Id: I7fc20d998b082f5c37b2451f1900161f997954b1 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/ms_srs.py 2 files changed, 0 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/68/18068/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 70f2f35..95de16f 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -199,10 +199,6 @@ elif self._num_prb > 25: rf_dev_args += 'num_recv_frames=64,num_send_frames=64' - if self._num_prb > 50: - # Reduce over the wire format to sc12 - rf_dev_args += ',otw_format=sc12' - config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.gen_conf = values diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 106502d..dc12351 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -285,10 +285,6 @@ elif self.enb.num_prb() > 50: rf_dev_args += 'num_recv_frames=64,num_send_frames=64' - # For 15 and 20 MHz, further reduce over the wire format to sc12 - if self.enb.num_prb() >= 75: - rf_dev_args += ',otw_format=sc12' - config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 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: I7fc20d998b082f5c37b2451f1900161f997954b1 Gerrit-Change-Number: 18068 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:24:58 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 6 May 2020 12:24:58 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... ms_srs: fix numpy import numpy is used in a few places in the code so it makes sense to import it for the whole module Change-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18069/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index dc12351..ab5042e 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 numpy from ..core import log, util, config, template, process, remote from ..core import schema @@ -351,7 +352,6 @@ super().__init__(log.C_RUN, 'srsue_metrics') self.raw_data = None self.metrics_file = metrics_file - import numpy # read CSV, guessing data type with first row being the legend try: self.raw_data = numpy.genfromtxt(self.metrics_file, names=True, delimiter=';', dtype=None) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:29:01 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: don't set sc12 as OTW format In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 ) Change subject: srs_{enb,ue}: don't set sc12 as OTW format ...................................................................... Patch Set 1: Some more context on why is this not needed anymore would be welcome. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 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: I7fc20d998b082f5c37b2451f1900161f997954b1 Gerrit-Change-Number: 18068 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 06 May 2020 12:29:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:30:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:30:13 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... Patch Set 1: Code-Review-2 It's only being used in that class, so it makes sense to keep it there. This way it's only imported when the specific feature is used, and the dependency becomes optional for people not using the feature. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 12:30:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:30:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:30:17 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rf_port to cell list param In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 ) Change subject: enb: add rf_port to cell list param ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 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: I32e83cc34811588757104c5ce1cae7277402addd Gerrit-Change-Number: 18067 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 06 May 2020 12:30:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 12:30:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 12:30:21 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: don't set sc12 as OTW format In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 ) Change subject: srs_{enb,ue}: don't set sc12 as OTW format ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 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: I7fc20d998b082f5c37b2451f1900161f997954b1 Gerrit-Change-Number: 18068 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 12:30:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 14:25:55 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 6 May 2020 14:25:55 +0000 Subject: Change in pysim[master]: Add option to specify MNC length in non-batch programming scnearios References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18070 ) Change subject: Add option to specify MNC length in non-batch programming scnearios ...................................................................... Add option to specify MNC length in non-batch programming scnearios Change-Id: Ied56a28d46a4c9c0c516d73fa257daeef7b50b61 --- M pySim-prog.py 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/18070/1 diff --git a/pySim-prog.py b/pySim-prog.py index e3045a6..c709959 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -106,6 +106,11 @@ help="Mobile Network Code [default: %default]", default=55, ) + parser.add_option("--mnclen", dest="mnclen", type="choice", + help="Length of Mobile Network Code [default: %default]", + default=2, + choices=[2, 3], + ) parser.add_option("-m", "--smsc", dest="smsc", help="SMSC number (Start with + for international no.) [default: '00 + country code + 5555']", ) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied56a28d46a4c9c0c516d73fa257daeef7b50b61 Gerrit-Change-Number: 18070 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 14:25:56 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 6 May 2020 14:25:56 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Extract PLMN digits from IMSI in non-batch programming scenario With the help of mnclen argument we extract the MNC and MCC from the provided IMSI and not rely on -x and -y arguments which are solely used in batch programming of cards. Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 --- M pySim-prog.py 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/18071/1 diff --git a/pySim-prog.py b/pySim-prog.py index c709959..ed0de2e 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -272,6 +272,11 @@ mcc = opts.mcc mnc = opts.mnc + # Extract MCC and MNC in case of non-batch programming case + if not opts.batch_mode and (opts.imsi is not None) and _isnum(opts.imsi): + mcc = int(opts.imsi[0:3]) + mnc = int(opts.imsi[3:3+opts.mnclen]) + if not ((0 < mcc < 999) and (0 < mnc < 999)): raise ValueError('mcc & mnc must be between 0 and 999') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 14:29:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 14:29:43 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: Hello srs_andre, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 to look at the new patch set (#8). Change subject: suites/4g: Introduce sample handover test ...................................................................... suites/4g: Introduce sample handover test This test currently only works with AmarisoftENB and srsUE, because: * srsENB has no handover support yet * AmarisoftUE doesn't provide any known way to verify handovers. As a result, it usually runs with following filters and modifiers: amarisoftenb-rftype at uhd+srsue-rftype@uhd+mod-enb-ncells at 2+mod-enb-meas-enable The get_counter() API may change in the future based on information available from other implementations. Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_srs.py A sysmocom/scenarios/mod-enb-meas-enable.conf A sysmocom/suites/4g/handover.py 4 files changed, 81 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/17901/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 14:29:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 14:29:43 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow keys to start with a number References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 ) Change subject: schema: Allow keys to start with a number ...................................................................... schema: Allow keys to start with a number YAML allows it, and it will allow suites tarting with a number on its name (like the '4g' one) to register its own schema on next commits. Change-Id: I64e5a9d6604085d3b17eba30498a5e7a66242cc8 --- M src/osmo_gsm_tester/core/schema.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/18072/1 diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 588c432..0b21e70 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -23,7 +23,7 @@ from . import log from . import util -KEY_RE = re.compile('[a-zA-Z][a-zA-Z0-9_]*') +KEY_RE = re.compile('[a-zA-Z0-9][a-zA-Z0-9_]*') IPV4_RE = re.compile('([0-9]{1,3}.){3}[0-9]{1,3}') HWADDR_RE = re.compile('([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}') IMSI_RE = re.compile('[0-9]{6,15}') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 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: I64e5a9d6604085d3b17eba30498a5e7a66242cc8 Gerrit-Change-Number: 18072 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 6 15:00:56 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 06 May 2020 15:00:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb2d1496c6e3_20242ae0456bc600100454a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 634s] ^~~~~~~~~~~~~~~~~~~ [ 634s] main.c: In function 'main': [ 634s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 634s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 634s] ^~~~~~~~~~~~~~~~~~~ [ 634s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 634s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 634s] ^ [ 634s] cc1: some warnings being treated as errors [ 634s] Makefile:469: recipe for target 'main.o' failed [ 634s] make[3]: *** [main.o] Error 1 [ 634s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 634s] Makefile:402: recipe for target 'all-recursive' failed [ 634s] make[2]: *** [all-recursive] Error 1 [ 634s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 634s] Makefile:349: recipe for target 'all' failed [ 634s] make[1]: *** [all] Error 2 [ 634s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 634s] dh_auto_build: make -j1 returned exit code 2 [ 634s] debian/rules:45: recipe for target 'build' failed [ 634s] make: *** [build] Error 2 [ 634s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 634s] ### VM INTERACTION START ### [ 637s] [ 609.872144] sysrq: SysRq : Power Off [ 637s] [ 609.877087] reboot: Power down [ 639s] ### VM INTERACTION END ### [ 639s] [ 639s] obs-arm-5 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Wed May 6 15:00:50 UTC 2020. [ 639s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 6 15:18:39 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 6 May 2020 15:18:39 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18073 ) Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Adjust the test output for sysmoISIM-SJA2 ISIM While executing the testcase for sysmoISIM-SJA2 in the https://gerrit.osmocom.org/c/pysim/+/18051, the EF.HPLMNAcT was programmed and hence test output needs to be adjusted for future commits. Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 --- M pysim-testdata/sysmoISIM-SJA2.ok 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/18073/1 diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index afc4491..3262165 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - ffffff0000 # unused + fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffffffff # unused ffffffffff # unused -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:23:43 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 6 May 2020 15:23:43 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18073 to look at the new patch set (#2). Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Adjust the test output for sysmoISIM-SJA2 ISIM While executing the testcase for sysmoISIM-SJA2 in the https://gerrit.osmocom.org/c/pysim/+/18051, the EF.HPLMNAcT was programmed and hence test output needs to be adjusted for future commits. Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 --- M pysim-testdata/sysmoISIM-SJA2.ok 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/18073/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:27:30 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 6 May 2020 15:27:30 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18073 to look at the new patch set (#3). Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Adjust the test output for sysmoISIM-SJA2 ISIM While executing the testcase for sysmoISIM-SJA2 in the https://gerrit.osmocom.org/c/pysim/+/18051, the EF.HPLMNAcT was programmed and hence test output needs to be adjusted for future commits. Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 --- M pysim-testdata/sysmoISIM-SJA2.ok 1 file changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/18073/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: cosmetic: fix misleading comment in RSL_Types.ttcn References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 ) Change subject: library: cosmetic: fix misleading comment in RSL_Types.ttcn ...................................................................... library: cosmetic: fix misleading comment in RSL_Types.ttcn Change-Id: Id7974dc666d61025453b79b7e054306c8122ca65 Signed-off-by: Vadim Yanitskiy --- M library/RSL_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/18074/1 diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index ff0e2e5..77b4e79 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1,6 +1,6 @@ module RSL_Types { -/* GSUP_Types, defining abstract TTCN-3 data types for the A-bis RSL protocol. +/* RSL types defining abstract TTCN-3 data types for the A-bis RSL protocol. * * RSL is a 3GPP standard protocol used between BTS and BSC in a GSM network. * -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id7974dc666d61025453b79b7e054306c8122ca65 Gerrit-Change-Number: 18074 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: drop meaningless 'udpReuseAddress' option References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 ) Change subject: PCU: drop meaningless 'udpReuseAddress' option ...................................................................... PCU: drop meaningless 'udpReuseAddress' option The PCU interface has nothing to do with UDP... Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.default 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/18075/1 diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index 9d9e966..a58cec2 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -24,7 +24,6 @@ Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; [TESTPORT_PARAMETERS] -*.*.udpReuseAddress := "yes"; *.PCU.socket_type := "SEQPACKET" *.PCUVTY.CTRL_MODE := "client" *.PCUVTY.CTRL_HOSTNAME := "127.0.0.1" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Gerrit-Change-Number: 18075 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 ) Change subject: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default ...................................................................... PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default Back in September 2019, while writing the first lines of the new test infrastructure for OsmoPCU, I picked a random value as the default RA (CHANNEL REQUEST message) for Uplink TBF establishment. It has been accepted by the IUT so far, and still works, but according to 3GPP TS 44.018, table 9.1.8.1, value '3A'O has nothing to do with GPRS - it actually means 'Answer to paging'. The new value belongs to range '011110xx' - one phase packet access with request for single timeslot uplink transmission. Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/76/18076/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index c69101b..4acde04 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -325,9 +325,12 @@ return false; } -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ +private const BIT8 chan_req_def := '01111000'B; + private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, TimingAdvance ta := 0) runs on RAW_PCU_Test_CT return boolean { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Gerrit-Change-Number: 18076 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): always expect Uplink TBF References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 ) Change subject: PCU: fix f_establish_tbf(): always expect Uplink TBF ...................................................................... PCU: fix f_establish_tbf(): always expect Uplink TBF In response to a CHANNEL REQUEST received on BCCH, the network would never allocate a Downlink TBF, so we should always expect an Uplink TBF assignment. Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/77/18077/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4acde04..48cdd54 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -328,6 +328,7 @@ /* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ private const BIT8 chan_req_def := '01111000'B; +/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, @@ -354,7 +355,7 @@ /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(?, ra, fn), + tr_IMM_TBF_ASS(false, ra, fn), bts_nr := bts_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Gerrit-Change-Number: 18077 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: f_imm_ass_verify_{ul, dl}_tbf_ass(): use 'in' qualifier References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 ) Change subject: PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier ...................................................................... PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier We don't need a copy of the whole RR Immediate Assignment message. Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/18078/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 48cdd54..e848ea6 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -359,7 +359,7 @@ bts_nr := bts_nr); } -private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) runs on RAW_PCU_Test_CT return boolean { /* Make sure we received an UL TBF Assignment */ @@ -381,7 +381,7 @@ return true; } -private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) runs on RAW_PCU_Test_CT return boolean { /* Make sure we received a DL TBF Assignment */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Gerrit-Change-Number: 18078 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: cosmetic: simplify f_imm_ass_verify_ul_tbf_ass() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18079 ) Change subject: PCU: cosmetic: simplify f_imm_ass_verify_ul_tbf_ass() ...................................................................... PCU: cosmetic: simplify f_imm_ass_verify_ul_tbf_ass() Do not match the whole RR Immediate Assignment, only the Rest Octets. Change-Id: If0affebb5944a657d4382fbc6d2c2bdeae444425 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/18079/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index e848ea6..865c0ee 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -361,10 +361,11 @@ private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) runs on RAW_PCU_Test_CT return boolean { + var IaRestOctets rest_octets := rr_imm_ass.payload.imm_ass.rest_octets; /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + if (match(rest_octets, tr_IaRestOctets_ULAss(?))) { + ul_tbf_ass := rest_octets.hh.pa.uldl.ass.ul; log("Rx Uplink TBF assignment: ", ul_tbf_ass); setverdict(pass); } else { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If0affebb5944a657d4382fbc6d2c2bdeae444425 Gerrit-Change-Number: 18079 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 ) Change subject: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance ...................................................................... PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance This test case would not fail even in case of Timing Advance mismatch. Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/18080/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 865c0ee..4e6b6b8 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -728,8 +728,9 @@ } /* Make sure Timing Advance IE matches out expectations */ - if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { - setverdict(pass); + if (rr_msg.payload.imm_ass.timing_advance != ta) { + setverdict(fail, "Timing Advance mismatch"); + mtc.stop; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Gerrit-Change-Number: 18080 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... PCU: PCU_Tests.default: add 'USER' category to ConsoleMask Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.default 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/18081/1 diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index a58cec2..205327d 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -4,7 +4,7 @@ [LOGGING] #*.FileMask := LOG_ALL -ConsoleMask := ERROR | WARNING | TESTCASE | TIMEROP_START | DEBUG_ENCDEC +ConsoleMask := ERROR | WARNING | TESTCASE | TIMEROP_START | DEBUG_ENCDEC | USER [MODULE_PARAMETERS] SGSN_Components.mp_gb_cfg := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 ) Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... PCU: introduce f_shutdown() to ensure proper tear down Most of existing test cases are built on top of the PCU interface abstraction components (see PCUIF_Components.ttcn). This means that during the test case execution, additional components are running in parallel, among with the MTC (Main Test Component). When a test case terminates, either normally or due to an error, it may happen that the virtual BTS component is stopped before the associated TDMA clock generator. In this situation, sending a clock indication towards the stopped BTS component would lead to a dynamic test case error. Let's take the process of tear down under control, and ensure that the clock generator is stopped first. To achieve that, every test case needs to call f_shutdown() in case of an error, as well as in case of the normal termination. Note we cannot use the existing f_shutdown() from Misc_Helpers, because doing 'all component.stop' does not gurantee that the clock generator is stopped first, and I experienced at least one DTE while trying to integrate it. Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 143 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/18082/1 diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index c0266fb..aa2ab42 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -100,6 +100,7 @@ /* Commands are mostly used by the MTC to configure the components * at run-time, e.g. to enable or disable some optional features. */ type enumerated RAW_PCU_CommandType { + GENERAL_CMD_SHUTDOWN, /*!< Shut down component and all its child components */ TDMA_CMD_ENABLE_PTCCH_UL_FWD /*!< Enable forwarding of TDMA_EV_PTCCH_UL_BURST to the MTC */ }; @@ -417,6 +418,11 @@ [] as_BTS_CT_TDMASched(bts_nr); /* Command handling */ + [] TC.receive(tr_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)) { + log("Shutting down virtual BTS #", bts_nr, "..."); + vc_CLCK_GEN.stop; + break; + } [] TC.receive(tr_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)) { log("Enabling forwarding of PTCCH/U TDMA events to the TC"); cfg_ptcch_burst_fwd := true; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4e6b6b8..8c261ba 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -101,6 +101,11 @@ } type component RAW_PCU_Test_CT extends bssgp_CT { + /* PCU interface abstraction component */ + var RAW_PCUIF_CT vc_PCUIF; + /* Virtual BTS component */ + var RAW_PCU_BTS_CT vc_BTS; + /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; /* Connection to the PCUIF component */ @@ -140,7 +145,7 @@ private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { [] g_T_guard.timeout { setverdict(fail, "Timeout of T_guard"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -189,9 +194,6 @@ function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) runs on RAW_PCU_Test_CT { - var RAW_PCUIF_CT vc_PCUIF; - var RAW_PCU_BTS_CT vc_BTS; - /* Start the guard timer */ g_T_guard.start; activate(as_Tguard_RAW()); @@ -215,6 +217,26 @@ BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); } +private function f_shutdown(charstring file, integer line, + boolean final := false) +runs on RAW_PCU_Test_CT { + /* Determine if the test case was aborted in the middle */ + if (not final) { + log("Test case ", testcasename(), " aborted at ", file, ":", line); + } else { + /* Guard verdict to avoid 'none' */ + setverdict(pass); + } + + /* Properly shutdown virtual BTS and its clock generator */ + BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); + vc_BTS.done; /* wait untill it's done */ + + /* Shutdown the others and MTC */ + all component.stop; + mtc.stop; +} + template AckNackDescription t_AckNackDescription_init := { final_ack := '0'B, starting_seq_nr := 0, @@ -433,7 +455,7 @@ rr_imm_ass := dec_GsmRrMessage(macblock); if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } f_pcuif_tx_data_cnf(pcu_msg); } @@ -462,13 +484,13 @@ rr_pag_req1 := dec_GsmRrMessage(macblock); if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Make sure that received paging froup matches the expected one */ if (not match(pag_group_rx, pag_group)) { setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } f_pcuif_tx_data_cnf(pcu_msg); @@ -516,7 +538,7 @@ var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -527,7 +549,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -540,7 +562,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { setverdict(fail, "Failed to match Packet DUMMY DL"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -551,7 +573,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { setverdict(fail, "Failed to match Packet Downlink Assignment"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -564,7 +586,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { setverdict(fail, "Failed to match Packet Uplink Assignment"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -578,12 +600,15 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, + out uint32_t ack_fn, octetstring data, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { log("verifying dl data block (gprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); @@ -595,31 +620,34 @@ if (lengthof(dl_block.data.blocks) < 1) { setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { setverdict(fail, "DL block has LLC header with wrong expected size: ", dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (dl_block.data.blocks[0].payload != data) { setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* TODO: check exp_cs */ } -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, + out uint32_t ack_fn, octetstring data, + template (present) uint14_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { log("verifying dl data block (egprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); @@ -631,31 +659,34 @@ if (lengthof(dl_block.data_egprs.blocks) < 1) { setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { setverdict(fail, "DL block has LLC header with wrong expected size: ", dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (dl_block.data_egprs.blocks[0].payload != data) { setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, + octetstring data, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { var PCUIF_Message pcu_msg; var uint32_t dl_fn; @@ -669,7 +700,7 @@ dl_template.data_egprs.blocks := ?; if (not match(dl_block, dl_template)) { setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } is_egprs := true; } @@ -706,6 +737,8 @@ setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test of correct Timing Advance at the time of TBF establishment @@ -724,15 +757,17 @@ ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF"); - mtc.stop; + break; } /* Make sure Timing Advance IE matches out expectations */ if (rr_msg.payload.imm_ass.timing_advance != ta) { setverdict(fail, "Timing Advance mismatch"); - mtc.stop; + break; } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify Timing Advance value(s) indicated during the packet Downlink assignment @@ -763,8 +798,10 @@ * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { setverdict(fail, "Timing Advance value doesn't match"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify that the PCU generates valid PTCCH/D messages @@ -791,7 +828,7 @@ [] BTS.receive(PCUIF_Message:?) { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -802,8 +839,9 @@ * TODO: do we expect all TA values to be equal '1111111'B? */ if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { setverdict(fail, "Malformed PTCCH/D message"); - mtc.stop; } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test of correct Timing Advance during an active Uplink TBF. @@ -855,7 +893,9 @@ /* Send Access Bursts on PTCCH/U for every TA Index */ [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); - if (ss < 0) { mtc.stop; } /* Shall not happen */ + if (ss < 0) { /* Shall not happen */ + f_shutdown(__BFILE__, __LINE__); + } log("Sending an Access Burst on PTCCH/U", ", sub-slot=", ss, " (TAI)", @@ -897,16 +937,13 @@ log("Rx PTCCH/D message: ", ta_msg); /* Make sure Timing Advance values match our expectations */ - if (match(ta_msg, t_ta_msg)) { - setverdict(pass); - } else { + if (not match(ta_msg, t_ta_msg)) { setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); } } [] BTS.receive { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; } } } @@ -928,7 +965,7 @@ ok := f_establish_tbf(rr_msg[i], ta := 0); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF #", i); - mtc.stop; + break; } /* Make sure we received an UL TBF Assignment */ @@ -937,14 +974,14 @@ log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); } else { setverdict(fail, "Failed to match UL TBF Assignment for #", i); - mtc.stop; + break; } /* We expect incremental TFI/USF assignment (dynamic allocation) */ t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); - mtc.stop; + break; } /* We also expect Timing Advance Index to be a part of the assignment */ @@ -978,6 +1015,8 @@ tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, /* Other values are out of our interest */ tai6_ta := ?)); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Default link quality adaptation (Coding Scheme) ranges (inclusive). @@ -1009,13 +1048,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1067,10 +1106,10 @@ if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); - } else { - setverdict(pass); } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test the max UL CS set by VTY works fine */ @@ -1098,13 +1137,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1132,11 +1171,8 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - mtc.stop; } - setverdict(pass); - /* Remaining UL blocks are used to make sure regardless of initial /* lqual, we can go lower at any time */ @@ -1157,9 +1193,9 @@ if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); - } else { - setverdict(pass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test the max UL CS set by VTY works fine */ @@ -1183,13 +1219,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1218,9 +1254,9 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - } else { - setverdict(pass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify PCU drops TBF after some time of inactivity. */ @@ -1253,13 +1289,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send one UL block and make sure it is ACKED fine */ @@ -1274,6 +1310,8 @@ /* Send an UL block once again, the TBF should be gone by now so no ACK */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify that a Downlink TBF can be assigned using PACCH shortly after the @@ -1305,7 +1343,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1328,6 +1366,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1359,12 +1399,12 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (not istemplatekind(ms_racap, "omit")) { @@ -1375,7 +1415,7 @@ f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -1395,7 +1435,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1405,6 +1445,8 @@ /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1459,7 +1501,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1474,12 +1516,12 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send one UL block and make sure it is ACKED fine */ @@ -1490,6 +1532,8 @@ /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { @@ -1538,7 +1582,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1552,7 +1596,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1561,35 +1605,40 @@ /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } -private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { +private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) +runs on RAW_PCU_Test_CT { var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ setverdict(fail, "Mobile Identity length mismatch: ", "expected: 8, got: ", mi_lv.len); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Make sure MI contains IMSI before referencing it */ if (mi.typeOfIdentity != '001'B) { setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", "got: ", mi.typeOfIdentity); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { setverdict(fail, "Mobile Identity contains unexpected IMSI, ", "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { +private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) +runs on RAW_PCU_Test_CT { + var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -1625,13 +1674,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } @@ -1648,7 +1697,7 @@ /* Make sure that Packet Paging Request contains the same IMSI */ f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). @@ -1677,13 +1726,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send paging request with or without TMSI */ @@ -1704,7 +1753,7 @@ f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); } - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { @@ -1748,7 +1797,7 @@ f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { @@ -1777,12 +1826,12 @@ ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); if (not ok) { setverdict(fail, "Failed to establush an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } setverdict(pass); @@ -1812,6 +1861,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { @@ -1844,6 +1895,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { @@ -1874,6 +1927,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } control { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:28:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:28:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_imm_ass_verify_{ul, dl}_tbf_ass(): call f_shutdown() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 ) Change subject: PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() ...................................................................... PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() This allows us to reduce code duplication. Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 38 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/18083/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8c261ba..6f64290 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -382,7 +382,7 @@ } private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { +runs on RAW_PCU_Test_CT { var IaRestOctets rest_octets := rr_imm_ass.payload.imm_ass.rest_octets; /* Make sure we received an UL TBF Assignment */ @@ -392,20 +392,18 @@ setverdict(pass); } else { setverdict(fail, "Failed to match UL TBF Assignment"); - return false; + f_shutdown(__BFILE__, __LINE__); } /* Make sure we have got a TBF with Dynamic Block Allocation */ if (ul_tbf_ass.dynamic == omit) { setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - return false; + f_shutdown(__BFILE__, __LINE__); } - - return true; } private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { +runs on RAW_PCU_Test_CT { /* Make sure we received a DL TBF Assignment */ if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { @@ -414,10 +412,8 @@ setverdict(pass); } else { setverdict(fail, "Failed to match DL TBF Assignment"); - return false; + f_shutdown(__BFILE__, __LINE__); } - - return true; } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ @@ -1051,11 +1047,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1140,11 +1133,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1222,11 +1212,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1292,11 +1279,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); @@ -1340,11 +1324,10 @@ /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); @@ -1401,11 +1384,9 @@ setverdict(fail, "Failed to establish TBF"); f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not istemplatekind(ms_racap, "omit")) { /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS @@ -1432,11 +1413,8 @@ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1498,11 +1476,8 @@ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1518,11 +1493,9 @@ setverdict(fail, "Failed to establish TBF"); f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); @@ -1579,11 +1552,9 @@ /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1593,11 +1564,10 @@ * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); @@ -1677,12 +1647,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } - + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* build mobile Identity */ mi := valueof(ts_MI_IMSI_LV(imsi)); @@ -1729,11 +1695,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send paging request with or without TMSI */ if (use_ptmsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Gerrit-Change-Number: 18083 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:30:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 15:30:09 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow keys to start with a number In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 ) Change subject: schema: Allow keys to start with a number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 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: I64e5a9d6604085d3b17eba30498a5e7a66242cc8 Gerrit-Change-Number: 18072 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 15:30:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:30:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 15:30:11 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 06 May 2020 15:30:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:30:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 15:30:14 +0000 Subject: Change in osmo-gsm-tester[master]: suites/4g: Introduce sample handover test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 ) Change subject: suites/4g: Introduce sample handover test ...................................................................... suites/4g: Introduce sample handover test This test currently only works with AmarisoftENB and srsUE, because: * srsENB has no handover support yet * AmarisoftUE doesn't provide any known way to verify handovers. As a result, it usually runs with following filters and modifiers: amarisoftenb-rftype at uhd+srsue-rftype@uhd+mod-enb-ncells at 2+mod-enb-meas-enable The get_counter() API may change in the future based on information available from other implementations. Change-Id: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 --- M src/osmo_gsm_tester/obj/ms.py M src/osmo_gsm_tester/obj/ms_srs.py A sysmocom/scenarios/mod-enb-meas-enable.conf A sysmocom/suites/4g/handover.py 4 files changed, 81 insertions(+), 0 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 2774deb..e74377d 100644 --- a/src/osmo_gsm_tester/obj/ms.py +++ b/src/osmo_gsm_tester/obj/ms.py @@ -97,3 +97,6 @@ def msisdn(self): return self.msisdn + + def get_counter(self, counter_name): + raise log.Error('get_counter() not implemented!') diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 106502d..cb29f06 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -327,6 +327,20 @@ proc.launch_sync() return proc + def _get_counter_handover_success(self): + # Match against sample line: "HO success" + n = 0 + stdout_lines = (self.process.get_stdout() or '').splitlines() + for l in stdout_lines: + if l == 'HO successful': + n += 1 + return n + + def get_counter(self, counter_name): + if counter_name == 'handover_success': + return self._get_counter_handover_success() + raise log.Error('counter %s not implemented!' % counter_name) + def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): # file is not properly flushed until the process has stopped. if self.running(): diff --git a/sysmocom/scenarios/mod-enb-meas-enable.conf b/sysmocom/scenarios/mod-enb-meas-enable.conf new file mode 100644 index 0000000..e3e841e --- /dev/null +++ b/sysmocom/scenarios/mod-enb-meas-enable.conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - enable_measurements: true diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py new file mode 100755 index 0000000..25b424b --- /dev/null +++ b/sysmocom/suites/4g/handover.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = suite.epc() +enb = suite.enb() +ue = suite.modem() +iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +iperf3srv.set_run_node(epc.run_node()) +iperf3cli = iperf3srv.create_client() +iperf3cli.set_run_node(ue.run_node()) + +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) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(False, ue.netns(), 30) + +print('waiting for UE to attach...') +wait(ue.is_connected, None) +print('UE is attached') + +rfemu_cell1 = enb.get_rfemu(0) +rfemu_cell2 = enb.get_rfemu(1) + +# attenuation from 0 to 10, then back to 0 +cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) +# attenuation from 10 to 0, then back to 10 +cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) + +try: + proc.launch() + step = 0 + while step < len(cell1_att_li): + rfemu_cell1.set_attenuation(cell1_att_li[step]) + rfemu_cell2.set_attenuation(cell2_att_li[step]) + step += 1 + sleep(1) + num_handovers = ue.get_counter('handover_success') + if num_handovers != 2: + raise Exception('Wrong number of handovers %d vs expected 2' % num_handovers) +except Exception as e: + try: + proc.terminate() # make sure we always terminate the process + except Exception: + print("Exception while terminating process %r" % repr(process)) + raise e + +rest_str = 'Got %d successful handovers' % num_handovers +print(res_str) +test.set_report_stdout(res_str) +proc.terminate() +proc.wait() +print("Done") -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17901 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: I0dff4af7e3a89804a03842ad4a4d697bca3a9773 Gerrit-Change-Number: 17901 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:32:57 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:32:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_imm_ass_verify_{ul, dl}_tbf_ass(): call f_shutdown() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 to look at the new patch set (#2). Change subject: PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() ...................................................................... PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() This allows us to reduce code duplication. Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 38 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/18083/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Gerrit-Change-Number: 18083 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:33:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:33:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: cosmetic: simplify f_imm_ass_verify_ul_tbf_ass() In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18079 ) Change subject: PCU: cosmetic: simplify f_imm_ass_verify_ul_tbf_ass() ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18079 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If0affebb5944a657d4382fbc6d2c2bdeae444425 Gerrit-Change-Number: 18079 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:44:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 15:44:11 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/trial_test: Fix repr(RuntimeError) changing in new python ve... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 ) Change subject: selftest/trial_test: Fix repr(RuntimeError) changing in new python version ...................................................................... selftest/trial_test: Fix repr(RuntimeError) changing in new python version If using python 3.8.2, the trailing comma at the end of parameters is not longer there (probably got fixed, since it's not needed). That change breaks expected output. Change-Id: I6da3024f946c0e761099058e812c0eacf3d6071f --- M selftest/resource_test.ok M selftest/resource_test.py M selftest/trial_test.ok M selftest/trial_test.py 4 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/18084/1 diff --git a/selftest/resource_test.ok b/selftest/resource_test.ok index 08989a2..6147408 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test.ok @@ -6,7 +6,7 @@ - expect failure to solve: The requested resource requirements are not solvable [[0, 2], [2], [0, 2]] - test removing a Resources list from itself -ok, caused exception: RuntimeError('Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead.',) +ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: cnf -: DBG: Found config file paths.conf as [PATH]/selftest/conf/paths.conf in ./conf which is [PATH]/selftest/conf diff --git a/selftest/resource_test.py b/selftest/resource_test.py index 0b9550e..3f7cd51 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -53,7 +53,7 @@ r.drop(r) assert False except RuntimeError as e: - print('ok, caused exception: %r' % e) + print('ok, caused exception RuntimeError: %s' % str(e)) print('- test removing a Resources list from one with the same list in it') r = resource.Resources({ 'k': [ {'a': 1, 'b': 2}, {'a': 3, 'b': 4}, ], diff --git a/selftest/trial_test.ok b/selftest/trial_test.ok index 6ad39a9..8c6a567 100644 --- a/selftest/trial_test.ok +++ b/selftest/trial_test.ok @@ -11,6 +11,6 @@ None - test checksum verification - detect wrong checksum -ok, got RuntimeError("Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2",) +ok, got RuntimeError: Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2 - detect missing file -ok, got RuntimeError("File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2",) +ok, got RuntimeError: File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2 diff --git a/selftest/trial_test.py b/selftest/trial_test.py index 41d71e6..a99428a 100755 --- a/selftest/trial_test.py +++ b/selftest/trial_test.py @@ -37,13 +37,13 @@ try: t.verify() except RuntimeError as e: - print('ok, got %r' % e) + print('ok, got RuntimeError: %s' % str(e)) print('- detect missing file') t = Trial(d.child('missing_file')) try: t.verify() except RuntimeError as e: - print('ok, got %r' % e) + print('ok, got RuntimeError: %s' % str(e)) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 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: I6da3024f946c0e761099058e812c0eacf3d6071f Gerrit-Change-Number: 18084 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 15:48:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 15:48:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 to look at the new patch set (#3). Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... PCU: introduce f_shutdown() to ensure proper tear down Most of existing test cases are built on top of the PCU interface abstraction components (see PCUIF_Components.ttcn). This means that during the test case execution, additional components are running in parallel, among with the MTC (Main Test Component). When a test case terminates, either normally or due to an error, it may happen that the virtual BTS component is stopped before the associated TDMA clock generator. In this situation, sending a clock indication towards the stopped BTS component would lead to a dynamic test case error. Let's take the process of tear down under control, and ensure that the clock generator is stopped first. To achieve that, every test case needs to call f_shutdown() in case of an error, as well as in case of the normal termination. Note we cannot use the existing f_shutdown() from Misc_Helpers, because doing 'all component.stop' does not gurantee that the clock generator is stopped first, and I experienced at least one DTE while trying to integrate it. Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 142 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/18082/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:01:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:01:25 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/process_test: Fix output changing in new python version References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 ) Change subject: selftest/process_test: Fix output changing in new python version ...................................................................... selftest/process_test: Fix output changing in new python version On older versions apparently upon child termination due to SIGINT subprocess.poll() returned 1. On new python versions (such as 3.8.2), -2 is returned, according to documentation: A negative value -N indicates that the child was terminated by signal N (Unix only). Let's catch the SIGINT in the child process and exit with a known 42 value to fix different behavior. Change-Id: I7949ff2b435e91e890061e6840b0f411f8b0a817 --- M selftest/process_test.ok M selftest/process_test/foo.py 2 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/18085/1 diff --git a/selftest/process_test.ok b/selftest/process_test.ok index f168ee3..e40a461 100644 --- a/selftest/process_test.ok +++ b/selftest/process_test.ok @@ -13,21 +13,18 @@ run foo(pid=[PID]): Terminating (SIGINT) run foo(pid=[PID]): DBG: Cleanup -run foo(pid=[PID]): Terminated {rc=1} -result: 1 +run foo(pid=[PID]): Terminated {rc=42} +result: 42 stdout: (launched: [DATETIME]) foo stdout [[$0], 'arg1', 'arg2'] +SIGINT received Exiting (stdout) stderr: (launched: [DATETIME]) foo stderr -Traceback (most recent call last): - File [$0], line [LINE], in - time.sleep(1) -KeyboardInterrupt Exiting (stderr) done. diff --git a/selftest/process_test/foo.py b/selftest/process_test/foo.py index 4abe887..0931c9b 100755 --- a/selftest/process_test/foo.py +++ b/selftest/process_test/foo.py @@ -3,7 +3,13 @@ import sys import atexit import time +import signal +def signal_handler(sig, frame): + print('SIGINT received') + sys.exit(42) + +signal.signal(signal.SIGINT, signal_handler) sys.stdout.write('foo stdout\n') sys.stderr.write('foo stderr\n') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 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: I7949ff2b435e91e890061e6840b0f411f8b0a817 Gerrit-Change-Number: 18085 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:51:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:51:20 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Remove unused misc.py file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 ) Change subject: selftest: Remove unused misc.py file ...................................................................... selftest: Remove unused misc.py file Change-Id: I167bce29d7b22956c82053dcae5634c23d405b3f --- D selftest/misc.py 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/18086/1 diff --git a/selftest/misc.py b/selftest/misc.py deleted file mode 100755 index e57a48c..0000000 --- a/selftest/misc.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 - -msisdn = '0000' - -l = len(msisdn) -next_msisdn = ('%%0%dd' % l) % (int(msisdn) + 1) -print(next_msisdn) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 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: I167bce29d7b22956c82053dcae5634c23d405b3f Gerrit-Change-Number: 18086 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:51:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:51:21 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Move tests into own subdirectories References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 ) Change subject: selftest: Move tests into own subdirectories ...................................................................... selftest: Move tests into own subdirectories Change-Id: Id21cda19df131e24402e1a593036e1e33a914920 --- M .gitignore M selftest/_prep.py M selftest/all_tests.py A selftest/cdf_test/_prep.py R selftest/cdf_test/cdf_test.ok R selftest/cdf_test/cdf_test.py A selftest/config_test/_prep.py R selftest/config_test/config_test.err R selftest/config_test/config_test.ok R selftest/config_test/config_test.py A selftest/lock_test/_prep.py R selftest/lock_test/lock_test.err R selftest/lock_test/lock_test.ok R selftest/lock_test/lock_test.sh R selftest/lock_test/lock_test_help.py A selftest/log_test/_prep.py R selftest/log_test/log_test.err R selftest/log_test/log_test.ok R selftest/log_test/log_test.py A selftest/process_test/_prep.py R selftest/process_test/process_test.err R selftest/process_test/process_test.ok R selftest/process_test/process_test.ok.ign R selftest/process_test/process_test.py A selftest/resource_test/_prep.py R selftest/resource_test/conf/paths.conf R selftest/resource_test/conf/resources.conf R selftest/resource_test/resource_test.err R selftest/resource_test/resource_test.ok R selftest/resource_test/resource_test.ok.ign R selftest/resource_test/resource_test.py A selftest/sms_test/_prep.py R selftest/sms_test/sms_test.err R selftest/sms_test/sms_test.ok R selftest/sms_test/sms_test.py A selftest/suite_test/_prep.py R selftest/suite_test/suite_test.err R selftest/suite_test/suite_test.ok R selftest/suite_test/suite_test.ok.ign R selftest/suite_test/suite_test.py A selftest/template_test/_prep.py R selftest/template_test/template_test.err R selftest/template_test/template_test.ok R selftest/template_test/template_test.py A selftest/trial_test/_prep.py R selftest/trial_test/trial_test.err R selftest/trial_test/trial_test.ok R selftest/trial_test/trial_test.ok.ign R selftest/trial_test/trial_test.py A selftest/util_test/_prep.py R selftest/util_test/util_test.err R selftest/util_test/util_test.ok R selftest/util_test/util_test.py 53 files changed, 37 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/18087/1 diff --git a/.gitignore b/.gitignore index 0edaa90..a0c4088 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ test_work state *.pyc -selftest/trial_test/ sysmocom/resources.conf sysmocom/ttcn3/resources.conf diff --git a/selftest/_prep.py b/selftest/_prep.py index 582b8fb..773f190 100644 --- a/selftest/_prep.py +++ b/selftest/_prep.py @@ -1,7 +1,7 @@ import sys, os script_dir = sys.path[0] -top_dir = os.path.join(script_dir, '..') +top_dir = os.path.join(script_dir, '..', '..') src_dir = os.path.join(top_dir, 'src') # to find the osmo_gsm_tester py module diff --git a/selftest/all_tests.py b/selftest/all_tests.py index 5c1ce59..bb00793 100755 --- a/selftest/all_tests.py +++ b/selftest/all_tests.py @@ -72,14 +72,20 @@ script_dir = sys.path[0] tests = [] -for f in os.listdir(script_dir): - file_path = os.path.join(script_dir, f) - if not os.path.isfile(file_path): +for d in os.listdir(script_dir): + dir_path = os.path.join(script_dir, d) + if not os.path.isdir(dir_path): continue + if not dir_path.endswith('_test'): + continue + for f in os.listdir(dir_path): + file_path = os.path.join(script_dir, d, f) + if not os.path.isfile(file_path): + continue - if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): - continue - tests.append(file_path) + if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): + continue + tests.append(file_path) ran = [] errors = [] diff --git a/selftest/cdf_test/_prep.py b/selftest/cdf_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/cdf_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/cdf_test.ok b/selftest/cdf_test/cdf_test.ok similarity index 100% rename from selftest/cdf_test.ok rename to selftest/cdf_test/cdf_test.ok diff --git a/selftest/cdf_test.py b/selftest/cdf_test/cdf_test.py similarity index 100% rename from selftest/cdf_test.py rename to selftest/cdf_test/cdf_test.py diff --git a/selftest/config_test/_prep.py b/selftest/config_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/config_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/config_test.err b/selftest/config_test/config_test.err similarity index 100% rename from selftest/config_test.err rename to selftest/config_test/config_test.err diff --git a/selftest/config_test.ok b/selftest/config_test/config_test.ok similarity index 100% rename from selftest/config_test.ok rename to selftest/config_test/config_test.ok diff --git a/selftest/config_test.py b/selftest/config_test/config_test.py similarity index 98% rename from selftest/config_test.py rename to selftest/config_test/config_test.py index c26ebd1..797553d 100755 --- a/selftest/config_test.py +++ b/selftest/config_test/config_test.py @@ -11,7 +11,7 @@ from osmo_gsm_tester.core import config, log, schema example_config_file = 'test.cfg' -example_config = os.path.join(_prep.script_dir, 'config_test', example_config_file) +example_config = os.path.join(_prep.script_dir, example_config_file) cfg = config.read(example_config) pprint.pprint(cfg, width=81) diff --git a/selftest/lock_test/_prep.py b/selftest/lock_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/lock_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/lock_test.err b/selftest/lock_test/lock_test.err similarity index 100% rename from selftest/lock_test.err rename to selftest/lock_test/lock_test.err diff --git a/selftest/lock_test.ok b/selftest/lock_test/lock_test.ok similarity index 100% rename from selftest/lock_test.ok rename to selftest/lock_test/lock_test.ok diff --git a/selftest/lock_test.sh b/selftest/lock_test/lock_test.sh similarity index 89% rename from selftest/lock_test.sh rename to selftest/lock_test/lock_test.sh index 4f3f7ad..9e4f44a 100755 --- a/selftest/lock_test.sh +++ b/selftest/lock_test/lock_test.sh @@ -1,5 +1,7 @@ #!/bin/sh +owndir="$(dirname -- "$0")" + echo 'creating files' dir="$(mktemp -d)" n1="long name" @@ -11,7 +13,7 @@ sync echo 'launch a program that locks a given file, it will create $dir/lock_test' -python3 ./lock_test_help.py "$dir" "$n1" & +python3 $owndir/lock_test_help.py "$dir" "$n1" & echo 'wait until this lock_test lock file was created by program' while [ ! -f "$dir/lock_test" ]; do @@ -23,7 +25,7 @@ echo "launched first, locked by: '$(cat "$dir/lock_test")'" echo 'launching second program, should find the lock intact and wait' -python3 ./lock_test_help.py "$dir" "$n2" & +python3 $owndir/lock_test_help.py "$dir" "$n2" & while [ ! -f "$f2.ready" ]; do sleep .1 done diff --git a/selftest/lock_test_help.py b/selftest/lock_test/lock_test_help.py similarity index 100% rename from selftest/lock_test_help.py rename to selftest/lock_test/lock_test_help.py diff --git a/selftest/log_test/_prep.py b/selftest/log_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/log_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/log_test.err b/selftest/log_test/log_test.err similarity index 100% rename from selftest/log_test.err rename to selftest/log_test/log_test.err diff --git a/selftest/log_test.ok b/selftest/log_test/log_test.ok similarity index 100% rename from selftest/log_test.ok rename to selftest/log_test/log_test.ok diff --git a/selftest/log_test.py b/selftest/log_test/log_test.py similarity index 100% rename from selftest/log_test.py rename to selftest/log_test/log_test.py diff --git a/selftest/process_test/_prep.py b/selftest/process_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/process_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/process_test.err b/selftest/process_test/process_test.err similarity index 100% rename from selftest/process_test.err rename to selftest/process_test/process_test.err diff --git a/selftest/process_test.ok b/selftest/process_test/process_test.ok similarity index 100% rename from selftest/process_test.ok rename to selftest/process_test/process_test.ok diff --git a/selftest/process_test.ok.ign b/selftest/process_test/process_test.ok.ign similarity index 100% rename from selftest/process_test.ok.ign rename to selftest/process_test/process_test.ok.ign diff --git a/selftest/process_test.py b/selftest/process_test/process_test.py similarity index 100% rename from selftest/process_test.py rename to selftest/process_test/process_test.py diff --git a/selftest/resource_test/_prep.py b/selftest/resource_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/resource_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/conf/paths.conf b/selftest/resource_test/conf/paths.conf similarity index 100% rename from selftest/conf/paths.conf rename to selftest/resource_test/conf/paths.conf diff --git a/selftest/conf/resources.conf b/selftest/resource_test/conf/resources.conf similarity index 100% rename from selftest/conf/resources.conf rename to selftest/resource_test/conf/resources.conf diff --git a/selftest/resource_test.err b/selftest/resource_test/resource_test.err similarity index 100% rename from selftest/resource_test.err rename to selftest/resource_test/resource_test.err diff --git a/selftest/resource_test.ok b/selftest/resource_test/resource_test.ok similarity index 93% rename from selftest/resource_test.ok rename to selftest/resource_test/resource_test.ok index 6147408..bbdbc5b 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -9,12 +9,12 @@ ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/conf/paths.conf in ./conf which is [PATH]/selftest/conf -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/conf/test_work/state_dir -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/conf/suite_test -cnf -: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/conf/resources.conf in ./conf which is [PATH]/selftest/conf -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/resource_test/conf/paths.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/resource_test/conf/suite_test +cnf -: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/resource_test/conf/resources.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/resource_test.ok.ign b/selftest/resource_test/resource_test.ok.ign similarity index 100% rename from selftest/resource_test.ok.ign rename to selftest/resource_test/resource_test.ok.ign diff --git a/selftest/resource_test.py b/selftest/resource_test/resource_test.py similarity index 97% rename from selftest/resource_test.py rename to selftest/resource_test/resource_test.py index 3f7cd51..39a7eb6 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -2,6 +2,7 @@ import tempfile import os +import sys import pprint import shutil import atexit @@ -12,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.ENV_CONF = './conf' +config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0]), 'conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/sms_test/_prep.py b/selftest/sms_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/sms_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/sms_test.err b/selftest/sms_test/sms_test.err similarity index 100% rename from selftest/sms_test.err rename to selftest/sms_test/sms_test.err diff --git a/selftest/sms_test.ok b/selftest/sms_test/sms_test.ok similarity index 100% rename from selftest/sms_test.ok rename to selftest/sms_test/sms_test.ok diff --git a/selftest/sms_test.py b/selftest/sms_test/sms_test.py similarity index 100% rename from selftest/sms_test.py rename to selftest/sms_test/sms_test.py diff --git a/selftest/suite_test/_prep.py b/selftest/suite_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/suite_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/suite_test.err b/selftest/suite_test/suite_test.err similarity index 100% rename from selftest/suite_test.err rename to selftest/suite_test/suite_test.err diff --git a/selftest/suite_test.ok b/selftest/suite_test/suite_test.ok similarity index 100% rename from selftest/suite_test.ok rename to selftest/suite_test/suite_test.ok diff --git a/selftest/suite_test.ok.ign b/selftest/suite_test/suite_test.ok.ign similarity index 100% rename from selftest/suite_test.ok.ign rename to selftest/suite_test/suite_test.ok.ign diff --git a/selftest/suite_test.py b/selftest/suite_test/suite_test.py similarity index 100% rename from selftest/suite_test.py rename to selftest/suite_test/suite_test.py diff --git a/selftest/template_test/_prep.py b/selftest/template_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/template_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/template_test.err b/selftest/template_test/template_test.err similarity index 100% rename from selftest/template_test.err rename to selftest/template_test/template_test.err diff --git a/selftest/template_test.ok b/selftest/template_test/template_test.ok similarity index 100% rename from selftest/template_test.ok rename to selftest/template_test/template_test.ok diff --git a/selftest/template_test.py b/selftest/template_test/template_test.py similarity index 100% rename from selftest/template_test.py rename to selftest/template_test/template_test.py diff --git a/selftest/trial_test/_prep.py b/selftest/trial_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/trial_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/trial_test.err b/selftest/trial_test/trial_test.err similarity index 100% rename from selftest/trial_test.err rename to selftest/trial_test/trial_test.err diff --git a/selftest/trial_test.ok b/selftest/trial_test/trial_test.ok similarity index 100% rename from selftest/trial_test.ok rename to selftest/trial_test/trial_test.ok diff --git a/selftest/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign similarity index 100% rename from selftest/trial_test.ok.ign rename to selftest/trial_test/trial_test.ok.ign diff --git a/selftest/trial_test.py b/selftest/trial_test/trial_test.py similarity index 100% rename from selftest/trial_test.py rename to selftest/trial_test/trial_test.py diff --git a/selftest/util_test/_prep.py b/selftest/util_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/util_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/util_test.err b/selftest/util_test/util_test.err similarity index 100% rename from selftest/util_test.err rename to selftest/util_test/util_test.err diff --git a/selftest/util_test.ok b/selftest/util_test/util_test.ok similarity index 100% rename from selftest/util_test.ok rename to selftest/util_test/util_test.ok diff --git a/selftest/util_test.py b/selftest/util_test/util_test.py similarity index 100% rename from selftest/util_test.py rename to selftest/util_test/util_test.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 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: Id21cda19df131e24402e1a593036e1e33a914920 Gerrit-Change-Number: 18087 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:51:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:51:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: cosmetic: fix misleading comment in RSL_Types.ttcn In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 ) Change subject: library: cosmetic: fix misleading comment in RSL_Types.ttcn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id7974dc666d61025453b79b7e054306c8122ca65 Gerrit-Change-Number: 18074 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:51:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:52:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:52:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: drop meaningless 'udpReuseAddress' option In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 ) Change subject: PCU: drop meaningless 'udpReuseAddress' option ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Gerrit-Change-Number: 18075 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:52:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:54:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:54:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 ) Change subject: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default ...................................................................... Patch Set 1: Code-Review+2 Thanks, I had something liek that in my tmp branch, but I iirc I was getting some changing behavior in some tests ping_pong tests and they were failing. Did you try running all tests with these patches? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Gerrit-Change-Number: 18076 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:54:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:54:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:54:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): always expect Uplink TBF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 ) Change subject: PCU: fix f_establish_tbf(): always expect Uplink TBF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Gerrit-Change-Number: 18077 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:54:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:56:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:56:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: f_imm_ass_verify_{ul, dl}_tbf_ass(): use 'in' qualifier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 ) Change subject: PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078/1/pcu/PCU_Tests.ttcn at 362 PS1, Line 362: private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) oh, so "in" means passing by const reference? I thought passing "in" and nothing was the same. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Gerrit-Change-Number: 18078 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:56:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:57:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:57:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 ) Change subject: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080/2/pcu/PCU_Tests.ttcn at 731 PS2, Line 731: setverdict(fail, "Timing Advance mismatch"); worth printing both values? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Gerrit-Change-Number: 18080 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:57:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:57:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 16:57:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... Patch Set 2: What do we gain with it? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:57:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 16:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 16:58:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 ) Change subject: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+2 > > Thanks, I had something liek that in my tmp branch, but I iirc I was getting some changing behavior in some tests ping_pong tests and they were failing. Did you try running all tests with these patches? Yes, I tested the whole patch set before pushing. All test cases, excluding TC_ta_idle_dl_tbf_ass and TC_ta_ptcch_ul_multi_tbf, pass. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Gerrit-Change-Number: 18076 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 16:58:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:03:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:03:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 ) Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:03:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:03:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:03:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_imm_ass_verify_{ul, dl}_tbf_ass(): call f_shutdown() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 ) Change subject: PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Gerrit-Change-Number: 18083 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:03:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:09:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:09:44 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/trial_test: Fix repr(RuntimeError) changing in new python ve... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 ) Change subject: selftest/trial_test: Fix repr(RuntimeError) changing in new python version ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 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: I6da3024f946c0e761099058e812c0eacf3d6071f Gerrit-Change-Number: 18084 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:09:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:09:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:09:46 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/process_test: Fix output changing in new python version In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 ) Change subject: selftest/process_test: Fix output changing in new python version ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 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: I7949ff2b435e91e890061e6840b0f411f8b0a817 Gerrit-Change-Number: 18085 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:09:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:09:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:09:48 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Remove unused misc.py file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 ) Change subject: selftest: Remove unused misc.py file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 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: I167bce29d7b22956c82053dcae5634c23d405b3f Gerrit-Change-Number: 18086 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:09:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:09:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:09:57 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Move tests into own subdirectories In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 ) Change subject: selftest: Move tests into own subdirectories ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 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: Id21cda19df131e24402e1a593036e1e33a914920 Gerrit-Change-Number: 18087 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:09:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:09:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:09:59 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/trial_test: Fix repr(RuntimeError) changing in new python ve... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 ) Change subject: selftest/trial_test: Fix repr(RuntimeError) changing in new python version ...................................................................... selftest/trial_test: Fix repr(RuntimeError) changing in new python version If using python 3.8.2, the trailing comma at the end of parameters is not longer there (probably got fixed, since it's not needed). That change breaks expected output. Change-Id: I6da3024f946c0e761099058e812c0eacf3d6071f --- M selftest/resource_test.ok M selftest/resource_test.py M selftest/trial_test.ok M selftest/trial_test.py 4 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/resource_test.ok b/selftest/resource_test.ok index 08989a2..6147408 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test.ok @@ -6,7 +6,7 @@ - expect failure to solve: The requested resource requirements are not solvable [[0, 2], [2], [0, 2]] - test removing a Resources list from itself -ok, caused exception: RuntimeError('Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead.',) +ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: cnf -: DBG: Found config file paths.conf as [PATH]/selftest/conf/paths.conf in ./conf which is [PATH]/selftest/conf diff --git a/selftest/resource_test.py b/selftest/resource_test.py index 0b9550e..3f7cd51 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test.py @@ -53,7 +53,7 @@ r.drop(r) assert False except RuntimeError as e: - print('ok, caused exception: %r' % e) + print('ok, caused exception RuntimeError: %s' % str(e)) print('- test removing a Resources list from one with the same list in it') r = resource.Resources({ 'k': [ {'a': 1, 'b': 2}, {'a': 3, 'b': 4}, ], diff --git a/selftest/trial_test.ok b/selftest/trial_test.ok index 6ad39a9..8c6a567 100644 --- a/selftest/trial_test.ok +++ b/selftest/trial_test.ok @@ -11,6 +11,6 @@ None - test checksum verification - detect wrong checksum -ok, got RuntimeError("Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2",) +ok, got RuntimeError: Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2 - detect missing file -ok, got RuntimeError("File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2",) +ok, got RuntimeError: File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2 diff --git a/selftest/trial_test.py b/selftest/trial_test.py index 41d71e6..a99428a 100755 --- a/selftest/trial_test.py +++ b/selftest/trial_test.py @@ -37,13 +37,13 @@ try: t.verify() except RuntimeError as e: - print('ok, got %r' % e) + print('ok, got RuntimeError: %s' % str(e)) print('- detect missing file') t = Trial(d.child('missing_file')) try: t.verify() except RuntimeError as e: - print('ok, got %r' % e) + print('ok, got RuntimeError: %s' % str(e)) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18084 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: I6da3024f946c0e761099058e812c0eacf3d6071f Gerrit-Change-Number: 18084 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:10:00 +0000 Subject: Change in osmo-gsm-tester[master]: selftest/process_test: Fix output changing in new python version In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 ) Change subject: selftest/process_test: Fix output changing in new python version ...................................................................... selftest/process_test: Fix output changing in new python version On older versions apparently upon child termination due to SIGINT subprocess.poll() returned 1. On new python versions (such as 3.8.2), -2 is returned, according to documentation: A negative value -N indicates that the child was terminated by signal N (Unix only). Let's catch the SIGINT in the child process and exit with a known 42 value to fix different behavior. Change-Id: I7949ff2b435e91e890061e6840b0f411f8b0a817 --- M selftest/process_test.ok M selftest/process_test/foo.py 2 files changed, 9 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/process_test.ok b/selftest/process_test.ok index f168ee3..e40a461 100644 --- a/selftest/process_test.ok +++ b/selftest/process_test.ok @@ -13,21 +13,18 @@ run foo(pid=[PID]): Terminating (SIGINT) run foo(pid=[PID]): DBG: Cleanup -run foo(pid=[PID]): Terminated {rc=1} -result: 1 +run foo(pid=[PID]): Terminated {rc=42} +result: 42 stdout: (launched: [DATETIME]) foo stdout [[$0], 'arg1', 'arg2'] +SIGINT received Exiting (stdout) stderr: (launched: [DATETIME]) foo stderr -Traceback (most recent call last): - File [$0], line [LINE], in - time.sleep(1) -KeyboardInterrupt Exiting (stderr) done. diff --git a/selftest/process_test/foo.py b/selftest/process_test/foo.py index 4abe887..0931c9b 100755 --- a/selftest/process_test/foo.py +++ b/selftest/process_test/foo.py @@ -3,7 +3,13 @@ import sys import atexit import time +import signal +def signal_handler(sig, frame): + print('SIGINT received') + sys.exit(42) + +signal.signal(signal.SIGINT, signal_handler) sys.stdout.write('foo stdout\n') sys.stderr.write('foo stderr\n') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18085 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: I7949ff2b435e91e890061e6840b0f411f8b0a817 Gerrit-Change-Number: 18085 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:10:00 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Remove unused misc.py file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 ) Change subject: selftest: Remove unused misc.py file ...................................................................... selftest: Remove unused misc.py file Change-Id: I167bce29d7b22956c82053dcae5634c23d405b3f --- D selftest/misc.py 1 file changed, 0 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/misc.py b/selftest/misc.py deleted file mode 100755 index e57a48c..0000000 --- a/selftest/misc.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 - -msisdn = '0000' - -l = len(msisdn) -next_msisdn = ('%%0%dd' % l) % (int(msisdn) + 1) -print(next_msisdn) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18086 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: I167bce29d7b22956c82053dcae5634c23d405b3f Gerrit-Change-Number: 18086 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:10:00 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Move tests into own subdirectories In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 ) Change subject: selftest: Move tests into own subdirectories ...................................................................... selftest: Move tests into own subdirectories Change-Id: Id21cda19df131e24402e1a593036e1e33a914920 --- M .gitignore M selftest/_prep.py M selftest/all_tests.py A selftest/cdf_test/_prep.py R selftest/cdf_test/cdf_test.ok R selftest/cdf_test/cdf_test.py A selftest/config_test/_prep.py R selftest/config_test/config_test.err R selftest/config_test/config_test.ok R selftest/config_test/config_test.py A selftest/lock_test/_prep.py R selftest/lock_test/lock_test.err R selftest/lock_test/lock_test.ok R selftest/lock_test/lock_test.sh R selftest/lock_test/lock_test_help.py A selftest/log_test/_prep.py R selftest/log_test/log_test.err R selftest/log_test/log_test.ok R selftest/log_test/log_test.py A selftest/process_test/_prep.py R selftest/process_test/process_test.err R selftest/process_test/process_test.ok R selftest/process_test/process_test.ok.ign R selftest/process_test/process_test.py A selftest/resource_test/_prep.py R selftest/resource_test/conf/paths.conf R selftest/resource_test/conf/resources.conf R selftest/resource_test/resource_test.err R selftest/resource_test/resource_test.ok R selftest/resource_test/resource_test.ok.ign R selftest/resource_test/resource_test.py A selftest/sms_test/_prep.py R selftest/sms_test/sms_test.err R selftest/sms_test/sms_test.ok R selftest/sms_test/sms_test.py A selftest/suite_test/_prep.py R selftest/suite_test/suite_test.err R selftest/suite_test/suite_test.ok R selftest/suite_test/suite_test.ok.ign R selftest/suite_test/suite_test.py A selftest/template_test/_prep.py R selftest/template_test/template_test.err R selftest/template_test/template_test.ok R selftest/template_test/template_test.py A selftest/trial_test/_prep.py R selftest/trial_test/trial_test.err R selftest/trial_test/trial_test.ok R selftest/trial_test/trial_test.ok.ign R selftest/trial_test/trial_test.py A selftest/util_test/_prep.py R selftest/util_test/util_test.err R selftest/util_test/util_test.ok R selftest/util_test/util_test.py 53 files changed, 37 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 0edaa90..a0c4088 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ test_work state *.pyc -selftest/trial_test/ sysmocom/resources.conf sysmocom/ttcn3/resources.conf diff --git a/selftest/_prep.py b/selftest/_prep.py index 582b8fb..773f190 100644 --- a/selftest/_prep.py +++ b/selftest/_prep.py @@ -1,7 +1,7 @@ import sys, os script_dir = sys.path[0] -top_dir = os.path.join(script_dir, '..') +top_dir = os.path.join(script_dir, '..', '..') src_dir = os.path.join(top_dir, 'src') # to find the osmo_gsm_tester py module diff --git a/selftest/all_tests.py b/selftest/all_tests.py index 5c1ce59..bb00793 100755 --- a/selftest/all_tests.py +++ b/selftest/all_tests.py @@ -72,14 +72,20 @@ script_dir = sys.path[0] tests = [] -for f in os.listdir(script_dir): - file_path = os.path.join(script_dir, f) - if not os.path.isfile(file_path): +for d in os.listdir(script_dir): + dir_path = os.path.join(script_dir, d) + if not os.path.isdir(dir_path): continue + if not dir_path.endswith('_test'): + continue + for f in os.listdir(dir_path): + file_path = os.path.join(script_dir, d, f) + if not os.path.isfile(file_path): + continue - if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): - continue - tests.append(file_path) + if not (file_path.endswith('_test.py') or file_path.endswith('_test.sh')): + continue + tests.append(file_path) ran = [] errors = [] diff --git a/selftest/cdf_test/_prep.py b/selftest/cdf_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/cdf_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/cdf_test.ok b/selftest/cdf_test/cdf_test.ok similarity index 100% rename from selftest/cdf_test.ok rename to selftest/cdf_test/cdf_test.ok diff --git a/selftest/cdf_test.py b/selftest/cdf_test/cdf_test.py similarity index 100% rename from selftest/cdf_test.py rename to selftest/cdf_test/cdf_test.py diff --git a/selftest/config_test/_prep.py b/selftest/config_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/config_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/config_test.err b/selftest/config_test/config_test.err similarity index 100% rename from selftest/config_test.err rename to selftest/config_test/config_test.err diff --git a/selftest/config_test.ok b/selftest/config_test/config_test.ok similarity index 100% rename from selftest/config_test.ok rename to selftest/config_test/config_test.ok diff --git a/selftest/config_test.py b/selftest/config_test/config_test.py similarity index 98% rename from selftest/config_test.py rename to selftest/config_test/config_test.py index c26ebd1..797553d 100755 --- a/selftest/config_test.py +++ b/selftest/config_test/config_test.py @@ -11,7 +11,7 @@ from osmo_gsm_tester.core import config, log, schema example_config_file = 'test.cfg' -example_config = os.path.join(_prep.script_dir, 'config_test', example_config_file) +example_config = os.path.join(_prep.script_dir, example_config_file) cfg = config.read(example_config) pprint.pprint(cfg, width=81) diff --git a/selftest/lock_test/_prep.py b/selftest/lock_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/lock_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/lock_test.err b/selftest/lock_test/lock_test.err similarity index 100% rename from selftest/lock_test.err rename to selftest/lock_test/lock_test.err diff --git a/selftest/lock_test.ok b/selftest/lock_test/lock_test.ok similarity index 100% rename from selftest/lock_test.ok rename to selftest/lock_test/lock_test.ok diff --git a/selftest/lock_test.sh b/selftest/lock_test/lock_test.sh similarity index 89% rename from selftest/lock_test.sh rename to selftest/lock_test/lock_test.sh index 4f3f7ad..9e4f44a 100755 --- a/selftest/lock_test.sh +++ b/selftest/lock_test/lock_test.sh @@ -1,5 +1,7 @@ #!/bin/sh +owndir="$(dirname -- "$0")" + echo 'creating files' dir="$(mktemp -d)" n1="long name" @@ -11,7 +13,7 @@ sync echo 'launch a program that locks a given file, it will create $dir/lock_test' -python3 ./lock_test_help.py "$dir" "$n1" & +python3 $owndir/lock_test_help.py "$dir" "$n1" & echo 'wait until this lock_test lock file was created by program' while [ ! -f "$dir/lock_test" ]; do @@ -23,7 +25,7 @@ echo "launched first, locked by: '$(cat "$dir/lock_test")'" echo 'launching second program, should find the lock intact and wait' -python3 ./lock_test_help.py "$dir" "$n2" & +python3 $owndir/lock_test_help.py "$dir" "$n2" & while [ ! -f "$f2.ready" ]; do sleep .1 done diff --git a/selftest/lock_test_help.py b/selftest/lock_test/lock_test_help.py similarity index 100% rename from selftest/lock_test_help.py rename to selftest/lock_test/lock_test_help.py diff --git a/selftest/log_test/_prep.py b/selftest/log_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/log_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/log_test.err b/selftest/log_test/log_test.err similarity index 100% rename from selftest/log_test.err rename to selftest/log_test/log_test.err diff --git a/selftest/log_test.ok b/selftest/log_test/log_test.ok similarity index 100% rename from selftest/log_test.ok rename to selftest/log_test/log_test.ok diff --git a/selftest/log_test.py b/selftest/log_test/log_test.py similarity index 100% rename from selftest/log_test.py rename to selftest/log_test/log_test.py diff --git a/selftest/process_test/_prep.py b/selftest/process_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/process_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/process_test.err b/selftest/process_test/process_test.err similarity index 100% rename from selftest/process_test.err rename to selftest/process_test/process_test.err diff --git a/selftest/process_test.ok b/selftest/process_test/process_test.ok similarity index 100% rename from selftest/process_test.ok rename to selftest/process_test/process_test.ok diff --git a/selftest/process_test.ok.ign b/selftest/process_test/process_test.ok.ign similarity index 100% rename from selftest/process_test.ok.ign rename to selftest/process_test/process_test.ok.ign diff --git a/selftest/process_test.py b/selftest/process_test/process_test.py similarity index 100% rename from selftest/process_test.py rename to selftest/process_test/process_test.py diff --git a/selftest/resource_test/_prep.py b/selftest/resource_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/resource_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/conf/paths.conf b/selftest/resource_test/conf/paths.conf similarity index 100% rename from selftest/conf/paths.conf rename to selftest/resource_test/conf/paths.conf diff --git a/selftest/conf/resources.conf b/selftest/resource_test/conf/resources.conf similarity index 100% rename from selftest/conf/resources.conf rename to selftest/resource_test/conf/resources.conf diff --git a/selftest/resource_test.err b/selftest/resource_test/resource_test.err similarity index 100% rename from selftest/resource_test.err rename to selftest/resource_test/resource_test.err diff --git a/selftest/resource_test.ok b/selftest/resource_test/resource_test.ok similarity index 93% rename from selftest/resource_test.ok rename to selftest/resource_test/resource_test.ok index 6147408..bbdbc5b 100644 --- a/selftest/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -9,12 +9,12 @@ ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/conf/paths.conf in ./conf which is [PATH]/selftest/conf -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/conf/test_work/state_dir -cnf -: DBG: [PATH]/selftest/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/conf/suite_test -cnf -: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/conf/resources.conf in ./conf which is [PATH]/selftest/conf -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/conf/test_work/state_dir +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/resource_test/conf/paths.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/resource_test/conf/suite_test +cnf -: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/resource_test/conf/resources.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf +cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/resource_test.ok.ign b/selftest/resource_test/resource_test.ok.ign similarity index 100% rename from selftest/resource_test.ok.ign rename to selftest/resource_test/resource_test.ok.ign diff --git a/selftest/resource_test.py b/selftest/resource_test/resource_test.py similarity index 97% rename from selftest/resource_test.py rename to selftest/resource_test/resource_test.py index 3f7cd51..39a7eb6 100755 --- a/selftest/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -2,6 +2,7 @@ import tempfile import os +import sys import pprint import shutil import atexit @@ -12,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.ENV_CONF = './conf' +config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0]), 'conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/sms_test/_prep.py b/selftest/sms_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/sms_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/sms_test.err b/selftest/sms_test/sms_test.err similarity index 100% rename from selftest/sms_test.err rename to selftest/sms_test/sms_test.err diff --git a/selftest/sms_test.ok b/selftest/sms_test/sms_test.ok similarity index 100% rename from selftest/sms_test.ok rename to selftest/sms_test/sms_test.ok diff --git a/selftest/sms_test.py b/selftest/sms_test/sms_test.py similarity index 100% rename from selftest/sms_test.py rename to selftest/sms_test/sms_test.py diff --git a/selftest/suite_test/_prep.py b/selftest/suite_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/suite_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/suite_test.err b/selftest/suite_test/suite_test.err similarity index 100% rename from selftest/suite_test.err rename to selftest/suite_test/suite_test.err diff --git a/selftest/suite_test.ok b/selftest/suite_test/suite_test.ok similarity index 100% rename from selftest/suite_test.ok rename to selftest/suite_test/suite_test.ok diff --git a/selftest/suite_test.ok.ign b/selftest/suite_test/suite_test.ok.ign similarity index 100% rename from selftest/suite_test.ok.ign rename to selftest/suite_test/suite_test.ok.ign diff --git a/selftest/suite_test.py b/selftest/suite_test/suite_test.py similarity index 100% rename from selftest/suite_test.py rename to selftest/suite_test/suite_test.py diff --git a/selftest/template_test/_prep.py b/selftest/template_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/template_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/template_test.err b/selftest/template_test/template_test.err similarity index 100% rename from selftest/template_test.err rename to selftest/template_test/template_test.err diff --git a/selftest/template_test.ok b/selftest/template_test/template_test.ok similarity index 100% rename from selftest/template_test.ok rename to selftest/template_test/template_test.ok diff --git a/selftest/template_test.py b/selftest/template_test/template_test.py similarity index 100% rename from selftest/template_test.py rename to selftest/template_test/template_test.py diff --git a/selftest/trial_test/_prep.py b/selftest/trial_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/trial_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/trial_test.err b/selftest/trial_test/trial_test.err similarity index 100% rename from selftest/trial_test.err rename to selftest/trial_test/trial_test.err diff --git a/selftest/trial_test.ok b/selftest/trial_test/trial_test.ok similarity index 100% rename from selftest/trial_test.ok rename to selftest/trial_test/trial_test.ok diff --git a/selftest/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign similarity index 100% rename from selftest/trial_test.ok.ign rename to selftest/trial_test/trial_test.ok.ign diff --git a/selftest/trial_test.py b/selftest/trial_test/trial_test.py similarity index 100% rename from selftest/trial_test.py rename to selftest/trial_test/trial_test.py diff --git a/selftest/util_test/_prep.py b/selftest/util_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/util_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/util_test.err b/selftest/util_test/util_test.err similarity index 100% rename from selftest/util_test.err rename to selftest/util_test/util_test.err diff --git a/selftest/util_test.ok b/selftest/util_test/util_test.ok similarity index 100% rename from selftest/util_test.ok rename to selftest/util_test/util_test.ok diff --git a/selftest/util_test.py b/selftest/util_test/util_test.py similarity index 100% rename from selftest/util_test.py rename to selftest/util_test/util_test.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18087 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: Id21cda19df131e24402e1a593036e1e33a914920 Gerrit-Change-Number: 18087 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 17:13:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: f_imm_ass_verify_{ul, dl}_tbf_ass(): use 'in' qualifier In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 ) Change subject: PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078/1/pcu/PCU_Tests.ttcn at 362 PS1, Line 362: private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) > oh, so "in" means passing by const reference? I thought passing "in" and nothing was the same. Exactly! No specifier (default) means that you get a copy of the object. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Gerrit-Change-Number: 18078 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:13:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:14:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 17:14:46 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow keys to start with a number In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 ) Change subject: schema: Allow keys to start with a number ...................................................................... schema: Allow keys to start with a number YAML allows it, and it will allow suites tarting with a number on its name (like the '4g' one) to register its own schema on next commits. Change-Id: I64e5a9d6604085d3b17eba30498a5e7a66242cc8 --- M src/osmo_gsm_tester/core/schema.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 588c432..0b21e70 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -23,7 +23,7 @@ from . import log from . import util -KEY_RE = re.compile('[a-zA-Z][a-zA-Z0-9_]*') +KEY_RE = re.compile('[a-zA-Z0-9][a-zA-Z0-9_]*') IPV4_RE = re.compile('([0-9]{1,3}.){3}[0-9]{1,3}') HWADDR_RE = re.compile('([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}') IMSI_RE = re.compile('[0-9]{6,15}') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18072 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: I64e5a9d6604085d3b17eba30498a5e7a66242cc8 Gerrit-Change-Number: 18072 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 17:45:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 17:45:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... Patch Set 2: > Patch Set 2: > > What do we gain with it? This allows to see the output of log() statements in stderr. I find it useful. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 06 May 2020 17:45:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:13:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 19:13:14 +0000 Subject: Change in osmo-gsm-tester[master]: Allow suites to dynamically register schemas so tests can receive par... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 ) Change subject: Allow suites to dynamically register schemas so tests can receive parameters ...................................................................... Allow suites to dynamically register schemas so tests can receive parameters Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad --- A selftest/schema_test/_prep.py A selftest/schema_test/schema_case_01.conf A selftest/schema_test/schema_case_02.conf A selftest/schema_test/schema_case_03.conf A selftest/schema_test/schema_case_04.conf A selftest/schema_test/schema_case_05.conf A selftest/schema_test/schema_test.err A selftest/schema_test/schema_test.ok A selftest/schema_test/schema_test.py M selftest/suite_test/suite_test.ok M selftest/suite_test/suite_test.py M selftest/suite_test/test_suite/suite.conf A selftest/suite_test/test_suite/test_suite_params.py M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/core/suite.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/testenv.py 17 files changed, 486 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/18088/1 diff --git a/selftest/schema_test/_prep.py b/selftest/schema_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/schema_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/schema_test/schema_case_01.conf b/selftest/schema_test/schema_case_01.conf new file mode 100644 index 0000000..dacf18a --- /dev/null +++ b/selftest/schema_test/schema_case_01.conf @@ -0,0 +1,43 @@ +schema: + handover: + duration: 'duration' + threshold: 'uint' + +tests: + - foobar: + prefix: + handover: + duration: 3 + threshold: 2 + - foobar: + prefix: + handover: + duration: 22kkk + - foobar: + prefix: + handover: + duration: 22h + - foobar: + wrongprefix: + handover: + duration: 22h + - foobar: + wrongprefix: + handover: + - foobar: + prefix: + handover: + threshold: 1 + - foobar: + prefix: + handover: + threshold: -2 + - foobar: + prefix: + handover: + - threshold: 1 + - foobar: + prefix: + handover: + threshold: + - 1 diff --git a/selftest/schema_test/schema_case_02.conf b/selftest/schema_test/schema_case_02.conf new file mode 100644 index 0000000..ddc02df --- /dev/null +++ b/selftest/schema_test/schema_case_02.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: ['wrongtype'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_03.conf b/selftest/schema_test/schema_case_03.conf new file mode 100644 index 0000000..e06fa24 --- /dev/null +++ b/selftest/schema_test/schema_case_03.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: ['str', 'str'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_04.conf b/selftest/schema_test/schema_case_04.conf new file mode 100644 index 0000000..4148310 --- /dev/null +++ b/selftest/schema_test/schema_case_04.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: [] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_05.conf b/selftest/schema_test/schema_case_05.conf new file mode 100644 index 0000000..ee3d5db --- /dev/null +++ b/selftest/schema_test/schema_case_05.conf @@ -0,0 +1,44 @@ +schema: + hey: + ho: + letsgo: ['str'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana + - foobar: + prefix: + hey: + ho: + letsgo: [] + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana + - nunu + - foobar: + prefix: + hey: + ho: + letsgo: nanana + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', 'nana', 'nana'] + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', {}, 'nana'] + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', [], 'nana'] diff --git a/selftest/schema_test/schema_test.err b/selftest/schema_test/schema_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/selftest/schema_test/schema_test.err diff --git a/selftest/schema_test/schema_test.ok b/selftest/schema_test/schema_test.ok new file mode 100644 index 0000000..2c4cd6a --- /dev/null +++ b/selftest/schema_test/schema_test.ok @@ -0,0 +1,63 @@ +==== Testing dynamically generated schemas ==== +schema_case_01.conf: +{'foobar.prefix.handover.duration': 'duration', + 'foobar.prefix.handover.threshold': 'uint'} +validating tests[0] +Validation: OK +validating tests[1] +--- foobar.prefix.handover.duration: ERR: ValueError: Invalid duration value: '22kkk' +Validation: Error +validating tests[2] +Validation: OK +validating tests[3] +--- -: ERR: ValueError: config item not known: 'foobar.wrongprefix.handover.duration' +Validation: Error +validating tests[4] +--- -: ERR: ValueError: config item not known: 'foobar.wrongprefix.handover' +Validation: Error +validating tests[5] +Validation: OK +validating tests[6] +--- foobar.prefix.handover.threshold: ERR: ValueError: Positive value expected instead of -2 +Validation: Error +validating tests[7] +--- -: ERR: ValueError: config item not known: 'foobar.prefix.handover[].threshold' +Validation: Error +validating tests[8] +--- -: ERR: ValueError: config item is a list, should be 'uint': 'foobar.prefix.handover.threshold' +Validation: Error +---------------------- +schema_case_02.conf: +{'foobar.prefix.hey.ho.letsgo[]': 'wrongtype'} +validating tests[0] +--- -: ERR: ValueError: unknown type 'wrongtype' at 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +---------------------- +schema_case_03.conf: +--- -: ERR: AssertionError: +config2schema: Error +---------------------- +schema_case_04.conf: +--- -: ERR: AssertionError: +config2schema: Error +---------------------- +schema_case_05.conf: +{'foobar.prefix.hey.ho.letsgo[]': 'str'} +validating tests[0] +Validation: OK +validating tests[1] +Validation: OK +validating tests[2] +Validation: OK +validating tests[3] +--- -: ERR: ValueError: config item not known: 'foobar.prefix.hey.ho.letsgo' +Validation: Error +validating tests[4] +Validation: OK +validating tests[5] +--- -: ERR: ValueError: config item is dict but should be a leaf node of type 'str': 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +validating tests[6] +--- -: ERR: ValueError: config item is a list, should be 'str': 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +---------------------- diff --git a/selftest/schema_test/schema_test.py b/selftest/schema_test/schema_test.py new file mode 100755 index 0000000..0319cd1 --- /dev/null +++ b/selftest/schema_test/schema_test.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 + +import _prep + +import sys +import os +import io +import pprint +import copy + +from osmo_gsm_tester.core import config, log, schema + +def val(which, test_schema): + try: + schema.validate(which, test_schema) + print('Validation: OK') + except ValueError: + log.log_exn() + print('Validation: Error') + +print('==== Testing dynamically generated schemas ====') +for f in os.listdir(_prep.script_dir): + if f.startswith('schema_case'): + print('%s:' % f) + example_config = os.path.join(_prep.script_dir, f) + cfg = config.read(example_config) + try: + schema_def = schema.config_to_schema_def(cfg['schema'], 'foobar.prefix.') + except AssertionError: + schema_def = None + log.log_exn() + print('config2schema: Error') + + if schema_def is not None: + pprint.pprint(schema_def) + i = 0 + for t in cfg['tests']: + print('validating tests[%d]' % i) + val(t, schema_def) + i += 1 + print('----------------------') + + + + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index 908f24f..fa38605 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -1,5 +1,5 @@ - non-existing suite dir -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test @@ -25,7 +25,7 @@ - times: '2' - run hello world test -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir --------------------------------------------------------------------- @@ -99,13 +99,14 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - a test with an error @@ -122,13 +123,14 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py FAIL: test_error.py (N.N sec) AssertionError: test_error.py:[LINENR]: assert False skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - a test with a failure @@ -145,13 +147,14 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py (N.N sec) FAIL: test_fail.py (N.N sec) EpicFail: This failure is expected skip: test_fail_raise.py + skip: test_suite_params.py - a test with a raised failure @@ -167,15 +170,16 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py (N.N sec) skip: test_fail.py (N.N sec) FAIL: test_fail_raise.py (N.N sec) ExpectedFail: This failure is expected + skip: test_suite_params.py - test with half empty scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- @@ -254,15 +258,16 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - test with scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- @@ -341,15 +346,16 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - test with scenario and modifiers -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] @@ -474,12 +480,150 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py +- test with suite-specific config +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] +tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] +tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] +tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{'label': 'sysmoCell 5000'}, {'label': 'sysmoCell 5000'}, {'type': 'sysmo'}], ip_address=[{}], modem=[{}, {}]}} [test_suite?{combining_scenarios='resources'}] [suite.py:[LINENR]] +tst {combining_scenarios='resources', scenario='foo'}: [RESOURCE_DICT] +tst test_suite: DBG: {combining='modifiers'} [suite.py:[LINENR]] +tst {combining_scenarios='modifiers'}: DBG: {definition_conf={}} [test_suite?{combining_scenarios='modifiers'}] [suite.py:[LINENR]] +tst {combining_scenarios='modifiers', scenario='foo'}: DBG: {conf={}, scenario='foo'} [test_suite?{combining_scenarios='modifiers', scenario='foo'}] [suite.py:[LINENR]] +tst test_suite: Reserving 3 x bts (candidates: 6) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: a59640b8ba6a373552b24a6f9f65cadd2347bace + addr: 10.42.42.53 + band: GSM-1800 + ipa_unit_id: '7' + label: sysmoCell 5000 + osmo_trx: + clock_reference: external + launch_trx: 'False' + trx_ip: 10.42.42.112 + trx_list: + - max_power_red: '3' + nominal_power: '10' + - max_power_red: '0' + nominal_power: '12' + type: osmo-bts-trx +- _hash: c2feabd082c36a1cdeccb9a5237dfff7dbadb009 + addr: 10.42.42.53 + band: GSM-1800 + ipa_unit_id: '7' + label: sysmoCell 5000 + osmo_trx: + clock_reference: external + launch_trx: 'False' + trx_ip: 10.42.42.112 + trx_list: + - nominal_power: '10' + - max_power_red: '1' + nominal_power: '12' + type: osmo-bts-trx +- _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9 + addr: 10.42.42.114 + band: GSM-1800 + ipa_unit_id: '1' + label: sysmoBTS 1002 + type: sysmo + [resource.py:[LINENR]] +tst test_suite: Reserving 1 x ip_address (candidates: 3) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4 + addr: 10.42.42.1 + [resource.py:[LINENR]] +tst test_suite: Reserving 2 x modem (candidates: 16) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f + imsi: '901700000007801' + ki: D620F48487B1B782DA55DF6717F08FF9 + label: m7801 + path: /wavecom_0 +- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254 + imsi: '901700000007802' + ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3 + label: m7802 + path: /wavecom_1 + [resource.py:[LINENR]] +resources(test_suite)={'bts': [{'_hash': 'a59640b8ba6a373552b24a6f9f65cadd2347bace', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.53', + 'band': 'GSM-1800', + 'ipa_unit_id': '7', + 'label': 'sysmoCell 5000', + 'osmo_trx': {'clock_reference': 'external', + 'launch_trx': 'False', + 'trx_ip': '10.42.42.112'}, + 'trx_list': [{'max_power_red': '3', 'nominal_power': '10'}, + {'max_power_red': '0', 'nominal_power': '12'}], + 'type': 'osmo-bts-trx'}, + {'_hash': 'c2feabd082c36a1cdeccb9a5237dfff7dbadb009', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.53', + 'band': 'GSM-1800', + 'ipa_unit_id': '7', + 'label': 'sysmoCell 5000', + 'osmo_trx': {'clock_reference': 'external', + 'launch_trx': 'False', + 'trx_ip': '10.42.42.112'}, + 'trx_list': [{'nominal_power': '10'}, + {'max_power_red': '1', 'nominal_power': '12'}], + 'type': 'osmo-bts-trx'}, + {'_hash': '07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.114', + 'band': 'GSM-1800', + 'ipa_unit_id': '1', + 'label': 'sysmoBTS 1002', + 'type': 'sysmo'}], + 'ip_address': [{'_hash': 'cde1debf28f07f94f92c761b4b7c6bf35785ced4', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.1'}], + 'modem': [{'_hash': '19c69e45aa090fb511446bd00797690aa82ff52f', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'imsi': '901700000007801', + 'ki': 'D620F48487B1B782DA55DF6717F08FF9', + 'label': 'm7801', + 'path': '/wavecom_0'}, + {'_hash': 'e1a46516a1fb493b2617ab14fc1693a9a45ec254', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'imsi': '901700000007802', + 'ki': '47FDB2D55CE6A10A85ABDAD034A5B7B3', + 'label': 'm7802', + 'path': '/wavecom_1'}]} + +--------------------------------------------------------------------- +trial test_suite +--------------------------------------------------------------------- + +---------------------------------------------- +trial test_suite test_suite_params.py +---------------------------------------------- +tst test_suite_params.py:[LINENR]: starting test [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite: DBG: {combining='config'} [suite.py:[LINENR]] +tst {combining_scenarios='config'}: DBG: {definition_conf={}} [test_suite?{combining_scenarios='config'}] [suite.py:[LINENR]] +tst {combining_scenarios='config', scenario='foo'}: DBG: {conf={suite={test_suite={some_suite_global_param='heyho', test_suite_params={one_bool_parameter='true', second_list_parameter=['23', '45']}}}}, scenario='foo'} [test_suite?{combining_scenarios='config', scenario='foo'}] [suite.py:[LINENR]] +tst test_suite_params.py:[LINENR]: SPECIFIC SUITE CONFIG: {'some_suite_global_param': 'heyho', [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: 'test_suite_params': {'one_bool_parameter': 'true', [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: 'second_list_parameter': ['23', '45']}} [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: SPECIFIC TEST CONFIG: {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']} [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR] Test passed (N.N sec) [test_suite?test_suite_params.py] [test.py:[LINENR]] +--------------------------------------------------------------------- +trial test_suite PASS +--------------------------------------------------------------------- +PASS: test_suite (pass: 1, skip: 6) + skip: hello_world.py + skip: mo_mt_sms.py + skip: mo_sms.py + skip: test_error.py + skip: test_fail.py + skip: test_fail_raise.py + pass: test_suite_params.py (N.N sec) - graceful exit. diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index de5c6df..99671c6 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -1,12 +1,13 @@ #!/usr/bin/env python3 import os +import sys import _prep import shutil from osmo_gsm_tester.core import log, config, util, report from osmo_gsm_tester.core import suite -from osmo_gsm_tester.core.schema import generate_schemas +from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.ENV_CONF = './suite_test' +config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0])) example_trial_dir = os.path.join('test_trial_tmp') @@ -90,6 +91,16 @@ results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) +print('- test with suite-specific config') +trial = FakeTrial() +scenario = config.Scenario('foo', 'bar') +scenario['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} +s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +s.reserve_resources() +print(repr(s.reserved_resources)) +results = s.run_tests('test_suite_params.py') +print(report.suite_to_text(s)) + print('\n- graceful exit.') #deleting generated tmp trial dir: shutil.rmtree(example_trial_dir, ignore_errors=True) diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/test_suite/suite.conf index 925dedb..4b70be8 100644 --- a/selftest/suite_test/test_suite/suite.conf +++ b/selftest/suite_test/test_suite/suite.conf @@ -9,5 +9,11 @@ modem: - times: 2 +schema: + some_suite_global_param: 'str' + test_suite_params: + one_bool_parameter: 'bool_str' + second_list_parameter: ['uint'] + defaults: timeout: 60s diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/test_suite/test_suite_params.py new file mode 100644 index 0000000..2cb89d7 --- /dev/null +++ b/selftest/suite_test/test_suite/test_suite_params.py @@ -0,0 +1,25 @@ +from osmo_gsm_tester.testenv import * +import pprint + +print('starting test') + +suite_config = tenv.config_suite_specific() +print('SPECIFIC SUITE CONFIG: ' + pprint.pformat(suite_config)) + +test_config = tenv.config_test_specific() +print('SPECIFIC TEST CONFIG: ' + pprint.pformat(test_config)) + +some_suite_global_param = suite_config.get('some_suite_global_param', '') +assert some_suite_global_param == 'heyho' + +assert suite_config[tenv.test().module_name()] == test_config + +one_bool_parameter = test_config.get('one_bool_parameter', '') +assert one_bool_parameter == 'true' + +second_list_parameter = test_config.get('second_list_parameter', []) +assert len(second_list_parameter) == 2 +assert int(second_list_parameter[0]) == 23 +assert int(second_list_parameter[1]) == 45 + +#print('checks successful') diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 0b21e70..9055c5b 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -325,6 +325,27 @@ nest(None, config, schema) +def config_to_schema_def(src, key_prefix): + 'Converts a yaml parsed config into a schema dictionary used by validate()' + if util.is_dict(src): + out_dict = {} + for key, val in src.items(): + list_token = '' + dict_token = '' + if util.is_list(val): + list_token = '[]' + assert len(val) == 1 + val = val[0] + if util.is_dict(val): + dict_token = '.' + tmp_out = config_to_schema_def(val, "%s%s%s%s" %(key_prefix, key, list_token, dict_token)) + out_dict = {**out_dict, **tmp_out} + return out_dict + + # base case: string + return {key_prefix: str(src)} + + def generate_schemas(): "Generate supported schemas dynamically from objects" obj_dir = '%s/../obj/' % os.path.dirname(os.path.abspath(__file__)) @@ -366,12 +387,13 @@ """Register schema attributes to configure all instances of an object class. For instance: register_resource_schema_attributes('bsc', {'net.codec_list[]': schema.CODEC}) """ - global _CONFIG_SCHEMA + global _CONFIG_SCHEMA, _ALL_SCHEMA tmpdict = {} for key, val in obj_attr_dict.items(): new_key = '%s.%s' % (obj_class_str, key) tmpdict[new_key] = val combine(_CONFIG_SCHEMA, tmpdict) + _ALL_SCHEMA = None # reset _ALL_SCHEMA so it is re-generated next time it's requested. def get_resources_schema(): return _RESOURCES_SCHEMA; diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 1bd6a63..81aab3e 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -38,8 +38,11 @@ CONF_FILENAME = 'suite.conf' def __init__(self, suite_dir): + self._suite_name = os.path.basename(suite_dir) + super().__init__(log.C_CNF, self._suite_name) self.suite_dir = suite_dir - super().__init__(log.C_CNF, os.path.basename(self.suite_dir)) + self.conf = None + self._schema = None self.read_conf() def read_conf(self): @@ -47,8 +50,12 @@ if not os.path.isdir(self.suite_dir): raise RuntimeError('No such directory: %r' % self.suite_dir) self.conf = config.read(os.path.join(self.suite_dir, - SuiteDefinition.CONF_FILENAME), - schema.get_all_schema()) + SuiteDefinition.CONF_FILENAME)) + # Drop schema part since it's dynamically defining content, makes no sense to validate it. + self._schema = self.conf.pop('schema', {}) + sdef = schema.config_to_schema_def(self._schema, "%s." % self._suite_name) + schema.register_config_schema('suite', sdef) + schema.validate(self.conf, schema.get_all_schema()) self.load_test_basenames() def load_test_basenames(self): @@ -58,6 +65,7 @@ continue self.test_basenames.append(basename) + class SuiteRun(log.Origin): UNKNOWN = 'UNKNOWN' PASS = 'PASS' @@ -79,6 +87,10 @@ self.status = SuiteRun.UNKNOWN self.load_tests() + def suite_name(self): + 'Return name of suite without scenarios' + return self.definition.name() + def trial(self): return self._trial @@ -130,6 +142,9 @@ self._config = self.combined('config', False) return self._config + def config_suite_specific(self): + return self.config().get('suite', {}).get(self.suite_name(), {}) + def resource_pool(self): return self.resources_pool diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 8ab124b..7e03b6c 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -49,6 +49,11 @@ self.log_target = None self._report_stdout = None + def module_name(self): + 'Return test name without trailing .py' + assert self.basename.endswith('.py') + return self.basename[:-3] + def get_run_dir(self): if self._run_dir is None: self._run_dir = util.Dir(self.suite_run.get_run_dir().new_dir(self._name)) diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 42288aa..789e291 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -141,6 +141,12 @@ MainLoop.unregister_poll_func(self.poll) self.test_import_modules_cleanup() + def config_suite_specific(self): + return self.suite_run.config_suite_specific() + + def config_test_specific(self): + return self.suite_run.config_suite_specific().get(self._test.module_name(), {}) + def prompt(self, *msgs, **msg_details): 'ask for user interaction. Do not use in tests that should run automatically!' if msg_details: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 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: Idbe99a35993d193cd97059feb980e61ff14c67ad Gerrit-Change-Number: 18088 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:13:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 19:13:15 +0000 Subject: Change in osmo-gsm-tester[master]: suites: 4g: Parametrize handover.py test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 ) Change subject: suites: 4g: Parametrize handover.py test ...................................................................... suites: 4g: Parametrize handover.py test Change-Id: I7de5acdaa6b905e52655786758bd51490add1d2b --- A sysmocom/scenarios/suite-4g at .conf M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/suite.conf 3 files changed, 45 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/18089/1 diff --git a/sysmocom/scenarios/suite-4g at .conf b/sysmocom/scenarios/suite-4g at .conf new file mode 100644 index 0000000..6c36e4c --- /dev/null +++ b/sysmocom/scenarios/suite-4g at .conf @@ -0,0 +1,6 @@ +config: + suite: + 4g: + handover: + duration: ${param1} + threshold: ${param2} diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index 25b424b..c766bf2 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -1,10 +1,32 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +import time + +test_config = tenv.config_test_specific() +duration = int(test_config.get('duration', 0)) # 0 = one HO loop +threshold = int(test_config.get('threshold', 2)) + +import pprint +print("TEST_CONFIG:\n" + pprint.pformat(test_config)) + +# attenuation from 0 to 10, then back to 0 +cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) +# attenuation from 10 to 0, then back to 10 +cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) + +def do_one_ho_loop(rfemu_cell1, rfemu_cell2): + step = 0 + while step < len(cell1_att_li): + rfemu_cell1.set_attenuation(cell1_att_li[step]) + rfemu_cell2.set_attenuation(cell2_att_li[step]) + step += 1 + sleep(1) + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) @@ -21,7 +43,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns(), 30) +proc = iperf3cli.prepare_test_proc(False, ue.netns(), duration + 30) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -30,22 +52,15 @@ rfemu_cell1 = enb.get_rfemu(0) rfemu_cell2 = enb.get_rfemu(1) -# attenuation from 0 to 10, then back to 0 -cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) -# attenuation from 10 to 0, then back to 10 -cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) - +print('Iterating for %d seconds to produce at least %d handovers...' % (duration, threshold)) try: proc.launch() - step = 0 - while step < len(cell1_att_li): - rfemu_cell1.set_attenuation(cell1_att_li[step]) - rfemu_cell2.set_attenuation(cell2_att_li[step]) - step += 1 - sleep(1) + t_end = time.time() + duration + while time.time() < t_end: + do_one_ho_loop(rfemu_cell1, rfemu_cell2) num_handovers = ue.get_counter('handover_success') - if num_handovers != 2: - raise Exception('Wrong number of handovers %d vs expected 2' % num_handovers) + if num_handovers < threshold: + raise Exception('Wrong number of handovers %d < threshold %d during %d seconds' % (num_handovers, threshold, duration)) except Exception as e: try: proc.terminate() # make sure we always terminate the process @@ -53,7 +68,7 @@ print("Exception while terminating process %r" % repr(process)) raise e -rest_str = 'Got %d successful handovers' % num_handovers +rest_str = 'Got %d successful handovers (>= %d) during %d seconds' % (num_handovers, threshold, duration) print(res_str) test.set_report_stdout(res_str) proc.terminate() diff --git a/sysmocom/suites/4g/suite.conf b/sysmocom/suites/4g/suite.conf index e439e99..fbd81b6 100644 --- a/sysmocom/suites/4g/suite.conf +++ b/sysmocom/suites/4g/suite.conf @@ -8,5 +8,10 @@ features: - 4g +schema: + handover: + duration: 'duration' + threshold: 'uint' + defaults: timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 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: I7de5acdaa6b905e52655786758bd51490add1d2b Gerrit-Change-Number: 18089 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:26:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:26:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: drop meaningless 'udpReuseAddress' option In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 ) Change subject: PCU: drop meaningless 'udpReuseAddress' option ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Gerrit-Change-Number: 18075 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:26:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:27:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:27:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 ) Change subject: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Gerrit-Change-Number: 18076 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:27:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:28:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:28:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): always expect Uplink TBF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 ) Change subject: PCU: fix f_establish_tbf(): always expect Uplink TBF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Gerrit-Change-Number: 18077 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:28:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: f_imm_ass_verify_{ul, dl}_tbf_ass(): use 'in' qualifier In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 ) Change subject: PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Gerrit-Change-Number: 18078 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:29:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: cosmetic: fix misleading comment in RSL_Types.ttcn In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 ) Change subject: library: cosmetic: fix misleading comment in RSL_Types.ttcn ...................................................................... library: cosmetic: fix misleading comment in RSL_Types.ttcn Change-Id: Id7974dc666d61025453b79b7e054306c8122ca65 Signed-off-by: Vadim Yanitskiy --- M library/RSL_Types.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn index ff0e2e5..77b4e79 100644 --- a/library/RSL_Types.ttcn +++ b/library/RSL_Types.ttcn @@ -1,6 +1,6 @@ module RSL_Types { -/* GSUP_Types, defining abstract TTCN-3 data types for the A-bis RSL protocol. +/* RSL types defining abstract TTCN-3 data types for the A-bis RSL protocol. * * RSL is a 3GPP standard protocol used between BTS and BSC in a GSM network. * -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id7974dc666d61025453b79b7e054306c8122ca65 Gerrit-Change-Number: 18074 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: drop meaningless 'udpReuseAddress' option In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 ) Change subject: PCU: drop meaningless 'udpReuseAddress' option ...................................................................... PCU: drop meaningless 'udpReuseAddress' option The PCU interface has nothing to do with UDP... Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.default 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index 9d9e966..a58cec2 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -24,7 +24,6 @@ Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; [TESTPORT_PARAMETERS] -*.*.udpReuseAddress := "yes"; *.PCU.socket_type := "SEQPACKET" *.PCUVTY.CTRL_MODE := "client" *.PCUVTY.CTRL_HOSTNAME := "127.0.0.1" -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d919e686c6ef311517eb53496d008987f984794 Gerrit-Change-Number: 18075 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 ) Change subject: PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default ...................................................................... PCU: fix f_establish_tbf(): use proper CHANNEL REQUEST by default Back in September 2019, while writing the first lines of the new test infrastructure for OsmoPCU, I picked a random value as the default RA (CHANNEL REQUEST message) for Uplink TBF establishment. It has been accepted by the IUT so far, and still works, but according to 3GPP TS 44.018, table 9.1.8.1, value '3A'O has nothing to do with GPRS - it actually means 'Answer to paging'. The new value belongs to range '011110xx' - one phase packet access with request for single timeslot uplink transmission. Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index c69101b..4acde04 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -325,9 +325,12 @@ return false; } -/* FIXME: properly encode RA (see TS 24.060, table 11.2.5.2) */ +/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ +private const BIT8 chan_req_def := '01111000'B; + private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := oct2int('3A'O), uint8_t is_11bit := 0, + uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, TimingAdvance ta := 0) runs on RAW_PCU_Test_CT return boolean { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic036d380af3667d54a3a0a011a9d56a87e0f949b Gerrit-Change-Number: 18076 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_establish_tbf(): always expect Uplink TBF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 ) Change subject: PCU: fix f_establish_tbf(): always expect Uplink TBF ...................................................................... PCU: fix f_establish_tbf(): always expect Uplink TBF In response to a CHANNEL REQUEST received on BCCH, the network would never allocate a Downlink TBF, so we should always expect an Uplink TBF assignment. Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4acde04..48cdd54 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -328,6 +328,7 @@ /* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ private const BIT8 chan_req_def := '01111000'B; +/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, @@ -354,7 +355,7 @@ /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(?, ra, fn), + tr_IMM_TBF_ASS(false, ra, fn), bts_nr := bts_nr); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18077 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6b4c108bed39ba9ac9b6144827bc1e20b04333b4 Gerrit-Change-Number: 18077 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: f_imm_ass_verify_{ul, dl}_tbf_ass(): use 'in' qualifier In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 ) Change subject: PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier ...................................................................... PCU: f_imm_ass_verify_{ul,dl}_tbf_ass(): use 'in' qualifier We don't need a copy of the whole RR Immediate Assignment message. Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 48cdd54..e848ea6 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -359,7 +359,7 @@ bts_nr := bts_nr); } -private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) runs on RAW_PCU_Test_CT return boolean { /* Make sure we received an UL TBF Assignment */ @@ -381,7 +381,7 @@ return true; } -private function f_imm_ass_verify_dl_tbf_ass(GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) runs on RAW_PCU_Test_CT return boolean { /* Make sure we received a DL TBF Assignment */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18078 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I44417460126e507a0a47a5aee8c4a995085023fa Gerrit-Change-Number: 18078 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:29:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:29:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:29:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:30:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:30:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 ) Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:30:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:31:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:31:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_imm_ass_verify_{ul, dl}_tbf_ass(): call f_shutdown() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 ) Change subject: PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Gerrit-Change-Number: 18083 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:31:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:33:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:33:30 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > thanks a lot for suggestion. I had a look into it and i think it may not be the one we want here. [?] looks good to me. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 06 May 2020 19:33:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:33:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:33:36 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18073 ) Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 06 May 2020 19:33:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:34:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:34:06 +0000 Subject: Change in pysim[master]: Add option to specify MNC length in non-batch programming scnearios In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18070 ) Change subject: Add option to specify MNC length in non-batch programming scnearios ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied56a28d46a4c9c0c516d73fa257daeef7b50b61 Gerrit-Change-Number: 18070 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 06 May 2020 19:34:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:10 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... measurement: make measurements more debugable A debug line is printed whenever a measurement is added and it also displays if the added measurement is a sub frame or not, lets display all the other properties too, especially inv_rssi would help a lot as it shows us the rssi values which are reported by the lower layers Related: OS#2978 Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b --- M src/common/measurement.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/34/18034/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:21 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:39:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:31 +0000 Subject: Change in osmo-trx[master]: PRBS tool sending PRBS sequence to TRX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18005 ) Change subject: PRBS tool sending PRBS sequence to TRX ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a Gerrit-Change-Number: 18005 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:39:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:34 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Add error simulation capabilities In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18006 ) Change subject: prbs-tool: Add error simulation capabilities ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 Gerrit-Change-Number: 18006 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 19:39:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:48 +0000 Subject: Change in osmo-trx[master]: PRBS tool sending PRBS sequence to TRX In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18005 ) Change subject: PRBS tool sending PRBS sequence to TRX ...................................................................... PRBS tool sending PRBS sequence to TRX Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a --- M Makefile.am M configure.ac A utils/Makefile.am A utils/prbs-tool.c 4 files changed, 327 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index 8b55e79..9462fa8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,7 +33,8 @@ GSM \ Transceiver52M \ contrib \ - tests + tests \ + utils EXTRA_DIST = \ LEGAL \ diff --git a/configure.ac b/configure.ac index b7b0d00..d0cfe44 100644 --- a/configure.ac +++ b/configure.ac @@ -92,6 +92,7 @@ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0) PKG_CHECK_MODULES(LIBOSMOCTRL, libosmoctrl >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOCODING, libosmocoding >= 1.3.0) AC_ARG_ENABLE(sanitize, [AS_HELP_STRING( @@ -327,6 +328,7 @@ tests/Makefile \ tests/CommonLibs/Makefile \ tests/Transceiver52M/Makefile \ + utils/Makefile \ doc/Makefile \ doc/examples/Makefile \ contrib/Makefile \ diff --git a/utils/Makefile.am b/utils/Makefile.am new file mode 100644 index 0000000..0b8bda0 --- /dev/null +++ b/utils/Makefile.am @@ -0,0 +1,7 @@ +AM_CPPFLAGS = $(LIBOSMOCODING_CFLAGS) +AM_CFLAGS = -Wall + +noinst_PROGRAMS = osmo-prbs-tool + +osmo_prbs_tool_SOURCES = prbs-tool.c +osmo_prbs_tool_LDADD = $(LIBOSMOCODING_LIBS) diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c new file mode 100644 index 0000000..de68f0b --- /dev/null +++ b/utils/prbs-tool.c @@ -0,0 +1,316 @@ +/* Dummy TRX for sening PRBS test sequences into osmo-bts-trx to test + * the decoder/receiver processing in osmo-bts-trx as well as any + * additional PRBS testing code. + * + * The purpose of this program is to use it as a mock dummy MS-side + * transmitter of GSM bursts that contain encoded PRBS sequences, + * similar to what one would normally do with an arbitrary + * function/waveform generator or BERT tester in hardware. + * + * (C) 2017 by Harald Welte + * All Rights Reserved + * + * Licensed under terms of the GNU Generral Public License, Version 2, + * or (at your option) any later version. + */ + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +/*********************************************************************** + * GSM Constants + ***********************************************************************/ + +#define GSM_FR_BYTES 33 +#define GSM_BURST_BITS 116 +#define GSM_4BURST_BITS (GSM_BURST_BITS*4) +#define GSM_BURST_LEN 148 + + +/*********************************************************************** + * TRX Interface / Protocol + ***********************************************************************/ + +#define TRX_BASE_PORT 5700 +/* DATA port on the TRX side */ +#define TRX_PORT_CTRL_TRX(C) (TRX_BASE_PORT+(2*(C))+1) +#define TRX_PORT_DATA_TRX(C) (TRX_BASE_PORT+(2*(C))+2) +#define TRX_PORT_CTRL_BTS(C) (TRX_PORT_CTRL_TRX(C)+100) +#define TRX_PORT_DATA_BTS(C) (TRX_PORT_DATA_TRX(C)+100) + +struct trx_ul_msg { + uint8_t ts; + uint32_t fn; + uint8_t rssi; + uint16_t t_offs; + sbit_t bits[148]; +} __attribute__((packed)); + +struct trx_dl_msg { + uint8_t ts; + uint32_t fn; + uint8_t att_db; + ubit_t bits[148]; +} __attribute__((packed)); + + +/*********************************************************************** + * Helper Functions + ***********************************************************************/ + +static int ubits2trxbits(uint8_t *sbits, const ubit_t *ubits, unsigned int count) +{ + unsigned int i; + + for (i = 0; i < count; i++) { + if ((*ubits++) & 1) { + *sbits++ = 255; + } else { + *sbits++ = 0; + } + } + + return count; +} + +static int __attribute__((__unused__)) dec(const ubit_t *bursts_u) +{ + sbit_t bursts_s[GSM_4BURST_BITS*2]; + uint8_t dec_tch_data[GSM_FR_BYTES]; + int n_errors, n_bits_total; + int rc; + + /* convert from u_bit (tx) to s_bit (rx) */ + osmo_ubit2sbit(bursts_s, bursts_u, sizeof(bursts_s)); + + rc = gsm0503_tch_fr_decode(dec_tch_data, bursts_s, 1, 0, &n_errors, &n_bits_total); + printf("rc=%d, n_errors=%d, n_bits_total=%d: %s\n", rc, n_errors, n_bits_total, + osmo_hexdump(dec_tch_data, sizeof(dec_tch_data))); + + return rc; +} + +/*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */ +static const ubit_t _sched_tsc[8][26] = { + { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, }, + { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, }, + { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, }, + { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0, }, + { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1, }, + { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0, }, + { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1, }, + { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, }, +}; + +/*********************************************************************** + * state + processing functions + ***********************************************************************/ + +/* state we have to keep for one physical channel */ +struct pchan_data { + /* PRBS state */ + struct osmo_prbs_state st; + /* unpacked PRBS bits, generated from PRBS */ + ubit_t prbs_u[4+260]; + /* packed frame (to be sent) */ + uint8_t tch_data[GSM_FR_BYTES]; + /* burst bits (ubit) to be transmitted */ + ubit_t bursts[GSM_4BURST_BITS*2]; /* 116 * 8 */ + /* burst bits (sbit) 'as if received' */ + sbit_t bursts_s[GSM_4BURST_BITS*2]; + /* next to-be transmitted burst number */ + unsigned int burst_nr; + /* training sequence code */ + unsigned int tsc; +}; + +struct ts_data { + struct pchan_data pchan[2]; +}; + +struct trx_data { + struct ts_data ts[8]; +}; + +static struct trx_data g_trx_data; + +/* initialize the state for one TRX */ +static void trx_data_init(struct trx_data *trx) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct ts_data *ts = &trx->ts[i]; + int j; + for (j = 0; j < ARRAY_SIZE(ts->pchan); j++) { + struct pchan_data *pchan = &ts->pchan[j]; + + memset(pchan, 0, sizeof(*pchan)); + osmo_prbs_state_init(&pchan->st, &osmo_prbs9); + pchan->tsc = 7; + } + } +} + +/*! obtain the next to-be-transmitted burst for the given pchan + * \param pchan physical channel on which we operate + * \param[in] fn frame number + * \param[out] burst_out caller-provided buffer for 148 unpacked output bits + * \retruns number of bits stored in \a burst_out */ +static int pchan_get_next_burst(struct pchan_data *pchan, uint32_t fn, ubit_t *burst_out) +{ + uint32_t fn26 = fn % 26; + int rc; + + if (fn26 == 0 || fn26 == 4 || fn26 == 8 || fn26 == 13 || fn26 == 17 || fn26 == 21) + pchan->burst_nr = 0; + + if (fn26 == 12 || fn26 == 25) { + memset(burst_out, 0, GSM_BURST_LEN); + return GSM_BURST_LEN; + } + + if (pchan->burst_nr == 0) { + /* generate PRBS output in ubit format, skipping first nibble for 260-264 padding */ + const uint8_t prefix[] = { 0xd0 }; + osmo_pbit2ubit(pchan->prbs_u, prefix, 4); + rc = osmo_prbs_get_ubits(pchan->prbs_u+4, sizeof(pchan->prbs_u)-4, &pchan->st); + OSMO_ASSERT(rc == sizeof(pchan->prbs_u)-4); + /* pack to PBIT format */ + rc = osmo_ubit2pbit(pchan->tch_data, pchan->prbs_u, sizeof(pchan->prbs_u)); + //memset(pchan->tch_data, 0xff, sizeof(pchan->tch_data)); + + printf("%s\n", osmo_hexdump(pchan->tch_data, GSM_FR_BYTES)); + + /* shift buffer by 4 bursts for interleaving */ + memcpy(pchan->bursts, pchan->bursts + GSM_4BURST_BITS, GSM_4BURST_BITS); + memset(pchan->bursts + GSM_4BURST_BITS, 0, GSM_4BURST_BITS); + + /* encode block (codec frame) into four bursts */ + rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); + OSMO_ASSERT(rc == 0); + + for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) + printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); + +// dec(pchan->bursts); + } + + /* for all bursts: format 148 symbols from 116 input bits */ + ubit_t *burst = pchan->bursts + pchan->burst_nr * GSM_BURST_BITS; + printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); + memset(burst_out, 0, 3); /* guard bits */ + memcpy(burst_out+3, burst, 58); /* firrst half */ + memcpy(burst_out+61, _sched_tsc[pchan->tsc], 26); /* midamble */ + memcpy(burst_out+87, burst+58, 58); /* second half */ + memset(burst_out+145, 0, 3); /* guard bits */ + + /* increment burst number for next call */ + pchan->burst_nr += 1; +#if 0 + if (pchan->burst_nr == 4) + pchan->burst_nr = 0; +#endif + + return GSM_BURST_LEN; +} + +static int pchan_process_ts_fn(struct pchan_data *pchan, uint32_t fn, uint8_t *burst_t) +{ + ubit_t burst_u[GSM_BURST_LEN]; + int rc; + + rc = pchan_get_next_burst(pchan, fn, burst_u); + OSMO_ASSERT(rc == sizeof(burst_u)); + + /* convert from u_bit (tx) to s_bit (rx) */ + ubits2trxbits(burst_t, burst_u, GSM_BURST_LEN); + + return GSM_BURST_LEN; +} + +/* read TRX DL data from BTS, write TRX UL data to BTS */ +static int read_and_process(int fd) +{ + /* receive (downlink) buffer */ + uint8_t rx_dl_buf[1024]; + struct trx_dl_msg *dl_msg = (struct trx_dl_msg *) rx_dl_buf; + /* transmit (uplink) buffer */ + uint8_t tx_ul_buf[1024]; + struct trx_ul_msg *ul_msg = (struct trx_ul_msg *) tx_ul_buf; + /* other variables */ + struct pchan_data *pchan; + uint8_t rc; + + /* do a blocking read on the socket and receive DL from BTS */ + rc = read(fd, rx_dl_buf, sizeof(rx_dl_buf)); + if (rc < sizeof(*dl_msg)) + return rc; + + dl_msg->fn = ntohl(dl_msg->fn); + + if (dl_msg->ts >= ARRAY_SIZE(g_trx_data.ts)) + return -ENODEV; + + if (dl_msg->ts != 2) + return 0; + + printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(dl_msg->fn), dl_msg->ts); + + /* FIXME: second pchan for TCH/H */ + pchan = &g_trx_data.ts[dl_msg->ts].pchan[0]; + + rc = pchan_process_ts_fn(pchan, dl_msg->fn, (uint8_t *) ul_msg->bits); + OSMO_ASSERT(rc == sizeof(ul_msg->bits)); + + /* copy over timeslot and frame number */ + ul_msg->fn = htonl(dl_msg->fn); + ul_msg->ts = dl_msg->ts; + + /* write uplink message towards BTS */ + rc = write(fd, tx_ul_buf, sizeof(*ul_msg)); + if (rc < sizeof(*ul_msg)) + return -EIO; + + return 0; +} + +static int open_trx_data_sock(unsigned int trx_nr, const char *bts_host) +{ + int rc; + + rc = osmo_sock_init2(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, TRX_PORT_DATA_TRX(trx_nr), + bts_host, TRX_PORT_DATA_BTS(trx_nr), + OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_BIND); + return rc; +} + + +int main(int argc, char **argv) +{ + int fd; + + trx_data_init(&g_trx_data); + + fd = open_trx_data_sock(0, "127.0.0.1"); + if (fd < 0) + exit(1); + + while (1) { + read_and_process(fd); + } + + return 0; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18005 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a Gerrit-Change-Number: 18005 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:39:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:39:48 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Add error simulation capabilities In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18006 ) Change subject: prbs-tool: Add error simulation capabilities ...................................................................... prbs-tool: Add error simulation capabilities The tool can now simulate: * lost bursts on the TRX->BTS interface * zeroed/overwritten bursts on the TRX->BTS interface * errors in the TCH codec frames before passing them to the encoder Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 TODO: Ability to introduce errors in certain classes of the bits only. --- M utils/prbs-tool.c 1 file changed, 79 insertions(+), 12 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c index de68f0b..0211453 100644 --- a/utils/prbs-tool.c +++ b/utils/prbs-tool.c @@ -55,7 +55,7 @@ uint32_t fn; uint8_t rssi; uint16_t t_offs; - sbit_t bits[148]; + uint8_t bits[148]; /* 0..255, *NOT* sbit_t */ } __attribute__((packed)); struct trx_dl_msg { @@ -134,6 +134,26 @@ unsigned int burst_nr; /* training sequence code */ unsigned int tsc; + + /* loose 'count' bursts every 'nth_mframe' on TRX-BTS interface */ + struct { + unsigned int count; + unsigned int nth_mframe; + } sim_lost_bursts; + + /* zero 'count' bursts every 'nth_mframe' on TRX-BTS interface */ + struct { + unsigned int count; + unsigned int nth_mframe; + } sim_zero_bursts; + + /* flip every 'nth_bit' of the PRNG oudput before encoding */ + struct { + unsigned int nth_bit; + unsigned int i; + } sim_flip_codec_bits; + + unsigned int i; }; struct ts_data { @@ -164,6 +184,18 @@ } } +/* apply any intentional errors to the output of the PRBS sequence */ +static void apply_errors_prbs(struct pchan_data *pchan) +{ + for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { + pchan->sim_flip_codec_bits.i++; + if (pchan->sim_flip_codec_bits.i == pchan->sim_flip_codec_bits.nth_bit) { + pchan->sim_flip_codec_bits.i = 0; + pchan->prbs_u[4+i] ^= 0x01; + } + } +} + /*! obtain the next to-be-transmitted burst for the given pchan * \param pchan physical channel on which we operate * \param[in] fn frame number @@ -188,6 +220,9 @@ osmo_pbit2ubit(pchan->prbs_u, prefix, 4); rc = osmo_prbs_get_ubits(pchan->prbs_u+4, sizeof(pchan->prbs_u)-4, &pchan->st); OSMO_ASSERT(rc == sizeof(pchan->prbs_u)-4); + + apply_errors_prbs(pchan); + /* pack to PBIT format */ rc = osmo_ubit2pbit(pchan->tch_data, pchan->prbs_u, sizeof(pchan->prbs_u)); //memset(pchan->tch_data, 0xff, sizeof(pchan->tch_data)); @@ -201,16 +236,17 @@ /* encode block (codec frame) into four bursts */ rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); OSMO_ASSERT(rc == 0); - +#if 0 for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); -// dec(pchan->bursts); + dec(pchan->bursts); +#endif } /* for all bursts: format 148 symbols from 116 input bits */ ubit_t *burst = pchan->bursts + pchan->burst_nr * GSM_BURST_BITS; - printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); +// printf("TX(%u): %s\n", pchan->burst_nr, osmo_ubit_dump(burst, GSM_BURST_BITS)); memset(burst_out, 0, 3); /* guard bits */ memcpy(burst_out+3, burst, 58); /* firrst half */ memcpy(burst_out+61, _sched_tsc[pchan->tsc], 26); /* midamble */ @@ -219,10 +255,6 @@ /* increment burst number for next call */ pchan->burst_nr += 1; -#if 0 - if (pchan->burst_nr == 4) - pchan->burst_nr = 0; -#endif return GSM_BURST_LEN; } @@ -252,6 +284,7 @@ struct trx_ul_msg *ul_msg = (struct trx_ul_msg *) tx_ul_buf; /* other variables */ struct pchan_data *pchan; + uint32_t fn; uint8_t rc; /* do a blocking read on the socket and receive DL from BTS */ @@ -259,7 +292,7 @@ if (rc < sizeof(*dl_msg)) return rc; - dl_msg->fn = ntohl(dl_msg->fn); + fn = ntohl(dl_msg->fn); if (dl_msg->ts >= ARRAY_SIZE(g_trx_data.ts)) return -ENODEV; @@ -267,18 +300,48 @@ if (dl_msg->ts != 2) return 0; - printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(dl_msg->fn), dl_msg->ts); + printf("FN=%s TS=%u\n", gsm_fn_as_gsmtime_str(fn), dl_msg->ts); /* FIXME: second pchan for TCH/H */ pchan = &g_trx_data.ts[dl_msg->ts].pchan[0]; - rc = pchan_process_ts_fn(pchan, dl_msg->fn, (uint8_t *) ul_msg->bits); + rc = pchan_process_ts_fn(pchan, fn, (uint8_t *) ul_msg->bits); OSMO_ASSERT(rc == sizeof(ul_msg->bits)); /* copy over timeslot and frame number */ - ul_msg->fn = htonl(dl_msg->fn); + ul_msg->fn = htonl(fn); ul_msg->ts = dl_msg->ts; + /* simulate lost frames on TRX <-> BTS interface */ + if (pchan->sim_lost_bursts.count) { + /* count number of 26-multiframes */ + static int count = 0; + if (fn % 26 == 0) + count++; + + /* every 10th multiframe, drop two entire block of 8 bursts */ + if (count % pchan->sim_lost_bursts.nth_mframe == 0 && + (fn % 26) <= pchan->sim_lost_bursts.count) { + printf("===> SKIPPING BURST\n"); + return 0; + } + } + + /* simulate zero-ed frames on TRX <-> BTS interface */ + if (pchan->sim_zero_bursts.count) { + /* count number of 26-multiframes */ + static int count = 0; + if (fn % 26 == 0) + count++; + + /* every 10th multiframe, drop two entire block of 8 bursts */ + if (count % pchan->sim_zero_bursts.nth_mframe == 0 && + (fn % 26) <= pchan->sim_zero_bursts.count) { + memset(ul_msg->bits, 0, sizeof(ul_msg->bits)); + printf("===> ZEROING BURST\n"); + } + } + /* write uplink message towards BTS */ rc = write(fd, tx_ul_buf, sizeof(*ul_msg)); if (rc < sizeof(*ul_msg)) @@ -304,6 +367,10 @@ trx_data_init(&g_trx_data); + //g_trx_data.ts[2].pchan[0].sim_zero_bursts.count = 8; + //g_trx_data.ts[2].pchan[0].sim_zero_bursts.nth_mframe = 10; + g_trx_data.ts[2].pchan[0].sim_flip_codec_bits.nth_bit = 260*4; + fd = open_trx_data_sock(0, "127.0.0.1"); if (fd < 0) exit(1); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18006 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 Gerrit-Change-Number: 18006 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:41:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:41:15 +0000 Subject: Change in osmocom-bb[master]: mobile: implement 'loopback' TCH frame I/O handler In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: implement 'loopback' TCH frame I/O handler ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 06 May 2020 19:41:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:41:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:41:19 +0000 Subject: Change in osmocom-bb[master]: mobile: implement 'loopback' TCH frame I/O handler In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17381 ) Change subject: mobile: implement 'loopback' TCH frame I/O handler ...................................................................... mobile: implement 'loopback' TCH frame I/O handler Use newly added audio / loopback config vty node to provide audio loopback from mobile app. Only FR is supported for now. Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 22 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index 5106063..4aae8aa 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -36,18 +36,33 @@ { struct gsm_data_frame *mncc; + /* Drop the l1ctl_info_dl header */ + msgb_pull_to_l2(msg); + /* push mncc header in front of data */ + mncc = (struct gsm_data_frame *) + msgb_push(msg, sizeof(struct gsm_data_frame)); + mncc->callref = ms->mncc_entity.ref; + + /* FIXME: FR only! */ + switch (ms->rrlayer.cd_now.mode) { + case GSM48_CMODE_SPEECH_V1: + mncc->msg_type = GSM_TCHF_FRAME; + break; + default: + /* TODO: print error message here */ + goto exit_free; + } + + /* send voice frame back, if appropriate */ + if (ms->settings.audio.io_handler == AUDIO_IOH_LOOPBACK) + gsm_send_voice(ms, mncc); + /* distribute and then free */ if (ms->mncc_entity.mncc_recv && ms->mncc_entity.ref) { - /* Drop the l1ctl_info_dl header */ - msgb_pull_to_l2(msg); - /* push mncc header in front of data */ - mncc = (struct gsm_data_frame *) - msgb_push(msg, sizeof(struct gsm_data_frame)); - mncc->msg_type = GSM_TCHF_FRAME; - mncc->callref = ms->mncc_entity.ref; ms->mncc_entity.mncc_recv(ms, mncc->msg_type, mncc); } +exit_free: msgb_free(msg); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Icd0b8d00c855db1a6ff5e35e10c8ff67b7ad5c83 Gerrit-Change-Number: 17381 Gerrit-PatchSet: 8 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:41:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:41:19 +0000 Subject: Change in osmocom-bb[master]: mobile: traffic req check: support EFR In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18021 ) Change subject: mobile: traffic req check: support EFR ...................................................................... mobile: traffic req check: support EFR L1CTL handling code should not be involved in such high level checks, so while at it, move the check into a separate function in gsm48_rr.c and add a length check. gsm48_rr_tx_voice() is the only caller of l1ctl_tx_traffic_req(). Related: SYS#4924 Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 --- M src/host/layer23/src/common/l1ctl.c M src/host/layer23/src/mobile/gsm48_rr.c 2 files changed, 47 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/layer23/src/common/l1ctl.c b/src/host/layer23/src/common/l1ctl.c index b7d0ecd..54c7452 100644 --- a/src/host/layer23/src/common/l1ctl.c +++ b/src/host/layer23/src/common/l1ctl.c @@ -909,13 +909,6 @@ DEBUGP(DL1C, "TRAFFIC REQ len=%zu (%s)\n", frame_len, osmo_hexdump(frame, frame_len)); - if ((frame[0] >> 4) != 0xd) { - LOGP(DL1C, LOGL_ERROR, "Traffic Request has incorrect magic " - "(%u != 0xd)\n", frame[0] >> 4); - msgb_free(msg); - return -EINVAL; - } - // printf("TX %s\n", osmo_hexdump(frame, frame_len)); /* prepend uplink info header */ diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c index b3da258..fdc9916 100644 --- a/src/host/layer23/src/mobile/gsm48_rr.c +++ b/src/host/layer23/src/mobile/gsm48_rr.c @@ -71,6 +71,7 @@ #include #include #include +#include #include #include @@ -5624,25 +5625,67 @@ #endif +#define LOG_FRAME_VERIFY(mode, level, fmt, args...) \ + LOGP(DRR, level, "Voice frame, mode=%s: " fmt, get_value_string(gsm48_chan_mode_names, mode), ## args) + +int voice_frame_verify(enum gsm48_chan_mode mode, uint8_t *frame, size_t frame_len) +{ + switch (mode) { + case GSM48_CMODE_SPEECH_V1: + /* FIXME: this is FR only, check for TCH/F (FR) and TCH/H (HR) */ + /* RFC 3551, section 4.5.8 GSM */ + if (frame_len != GSM_FR_BYTES) { + LOG_FRAME_VERIFY(mode, LOGL_ERROR, "incorrect length (%zu != %u)\n", frame_len, GSM_FR_BYTES); + return -2; + } + if ((frame[0] >> 4) != 0xd) { + LOG_FRAME_VERIFY(mode, LOGL_ERROR, "incorrect magic (%u != 0xd)\n", frame[0] >> 4); + return -3; + } + break; + case GSM48_CMODE_SPEECH_EFR: + /* RFC 3551, section 4.5.9 GSM-EFR */ + if (frame_len != GSM_EFR_BYTES) { + LOG_FRAME_VERIFY(mode, LOGL_ERROR, "incorrect length (%zu != %u)\n", frame_len, GSM_EFR_BYTES); + return -4; + } + if ((frame[0] >> 4) != 0xc) { + LOG_FRAME_VERIFY(mode, LOGL_ERROR, "incorrect magic (%u != 0xc)\n", frame[0] >> 4); + return -5; + } + break; + default: + LOG_FRAME_VERIFY(mode, LOGL_ERROR, "not implemented\n"); + return -1; + } + return 0; +} + int gsm48_rr_tx_voice(struct osmocom_ms *ms, struct msgb *msg) { struct gsm48_rrlayer *rr = &ms->rrlayer; uint8_t ch_type, ch_subch, ch_ts; + struct l1ctl_traffic_req *tr; if (!rr->dm_est) { LOGP(DRR, LOGL_INFO, "Current channel is not active\n"); - msgb_free(msg); - return -ENOTSUP; + goto error; } rsl_dec_chan_nr(rr->cd_now.chan_nr, &ch_type, &ch_subch, &ch_ts); if (ch_type != RSL_CHAN_Bm_ACCHs) { LOGP(DRR, LOGL_INFO, "Current channel is not (yet) TCH/F\n"); - msgb_free(msg); - return -ENOTSUP; + goto error; } + tr = (struct l1ctl_traffic_req *)msg->l2h; + if (voice_frame_verify(rr->cd_now.mode, tr->data, msgb_l2len(msg)) < 0) + goto error; + return l1ctl_tx_traffic_req(ms, msg, rr->cd_now.chan_nr, 0); +error: + msgb_free(msg); + return -ENOTSUP; } int gsm48_rr_audio_mode(struct osmocom_ms *ms, uint8_t mode) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iba84f5d60ff5b1a2db8fb6af5131e185965df7c9 Gerrit-Change-Number: 18021 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:41:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 19:41:20 +0000 Subject: Change in osmocom-bb[master]: mobile: loopback: support EFR In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18022 ) Change subject: mobile: loopback: support EFR ...................................................................... mobile: loopback: support EFR Related: SYS#4924 Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 --- M src/host/layer23/src/mobile/voice.c 1 file changed, 23 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c index 4aae8aa..c379265 100644 --- a/src/host/layer23/src/mobile/voice.c +++ b/src/host/layer23/src/mobile/voice.c @@ -22,7 +22,9 @@ #include #include +#include +#include #include #include #include @@ -43,11 +45,14 @@ msgb_push(msg, sizeof(struct gsm_data_frame)); mncc->callref = ms->mncc_entity.ref; - /* FIXME: FR only! */ + /* FIXME: FR, EFR only! */ switch (ms->rrlayer.cd_now.mode) { case GSM48_CMODE_SPEECH_V1: mncc->msg_type = GSM_TCHF_FRAME; break; + case GSM48_CMODE_SPEECH_EFR: + mncc->msg_type = GSM_TCHF_FRAME_EFR; + break; default: /* TODO: print error message here */ goto exit_free; @@ -73,12 +78,26 @@ int gsm_send_voice(struct osmocom_ms *ms, struct gsm_data_frame *data) { struct msgb *nmsg; + int len; - nmsg = msgb_alloc_headroom(33 + 64, 64, "TCH/F"); + switch (ms->rrlayer.cd_now.mode) { + case GSM48_CMODE_SPEECH_V1: + /* FIXME: FR only, check for TCH/F (FR) and TCH/H (HR) */ + len = GSM_FR_BYTES; + break; + case GSM48_CMODE_SPEECH_EFR: + len = GSM_EFR_BYTES; + break; + default: + LOGP(DL1C, LOGL_ERROR, "gsm_send_voice, msg_type=0x%02x: not implemented\n", data->msg_type); + return -EINVAL; + } + + nmsg = msgb_alloc_headroom(len + 64, 64, "TCH/F"); if (!nmsg) return -ENOMEM; - nmsg->l2h = msgb_put(nmsg, 33); - memcpy(nmsg->l2h, data->data, 33); + nmsg->l2h = msgb_put(nmsg, len); + memcpy(nmsg->l2h, data->data, len); return gsm48_rr_tx_voice(ms, nmsg); } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I73d1f88b0865ad97b85418ff76739febf2e128a7 Gerrit-Change-Number: 18022 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:44:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 19:44:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 to look at the new patch set (#3). Change subject: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance ...................................................................... PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance This test case would not fail even in case of Timing Advance mismatch. Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/18080/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Gerrit-Change-Number: 18080 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 19:44:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 6 May 2020 19:44:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 to look at the new patch set (#4). Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... PCU: introduce f_shutdown() to ensure proper tear down Most of existing test cases are built on top of the PCU interface abstraction components (see PCUIF_Components.ttcn). This means that during the test case execution, additional components are running in parallel, among with the MTC (Main Test Component). When a test case terminates, either normally or due to an error, it may happen that the virtual BTS component is stopped before the associated TDMA clock generator. In this situation, sending a clock indication towards the stopped BTS component would lead to a dynamic test case error. Let's take the process of tear down under control, and ensure that the clock generator is stopped first. To achieve that, every test case needs to call f_shutdown() in case of an error, as well as in case of the normal termination. Note we cannot use the existing f_shutdown() from Misc_Helpers, because doing 'all component.stop' does not gurantee that the clock generator is stopped first, and I experienced at least one DTE while trying to integrate it. Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 142 insertions(+), 82 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/18082/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:15:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 20:15:00 +0000 Subject: Change in osmo-bts[master]: measurement: make measurements more debugable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18034 ) Change subject: measurement: make measurements more debugable ...................................................................... measurement: make measurements more debugable A debug line is printed whenever a measurement is added and it also displays if the added measurement is a sub frame or not, lets display all the other properties too, especially inv_rssi would help a lot as it shows us the rssi values which are reported by the lower layers Related: OS#2978 Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b --- M src/common/measurement.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/measurement.c b/src/common/measurement.c index c5cbbb0..3ee9ffe 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -341,8 +341,10 @@ if (!ulm->is_sub) ulm->is_sub = ts45008_83_is_sub(lchan, fn); - DEBUGPFN(DMEAS, fn, "%s adding measurement (is_sub=%u), num_ul_meas=%d, fn_mod=%u\n", - gsm_lchan_name(lchan), ulm->is_sub, lchan->meas.num_ul_meas, fn_mod); + DEBUGPFN(DMEAS, fn, "%s adding measurement (ber10k=%u, ta_offs=%d, ci=%0.2f, is_sub=%u, rssi=-%u), num_ul_meas=%d, fn_mod=%u\n", + gsm_lchan_name(lchan), ulm->ber10k, ulm->ta_offs_256bits, + ulm->c_i, ulm->is_sub, ulm->inv_rssi, lchan->meas.num_ul_meas, + fn_mod); memcpy(&lchan->meas.uplink[lchan->meas.num_ul_meas++], ulm, sizeof(*ulm)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0299b75e99661e8dd22ad6604a897db4533c3b2b Gerrit-Change-Number: 18034 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:15:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 20:15:10 +0000 Subject: Change in osmo-trx[master]: utils: Ensure content of this directory is included in 'make dist' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18007 ) Change subject: utils: Ensure content of this directory is included in 'make dist' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 Gerrit-Change-Number: 18007 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 20:15:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:15:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 6 May 2020 20:15:12 +0000 Subject: Change in osmo-trx[master]: utils: Ensure content of this directory is included in 'make dist' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18007 ) Change subject: utils: Ensure content of this directory is included in 'make dist' ...................................................................... utils: Ensure content of this directory is included in 'make dist' The python + matlab should be part of every source release Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 --- M utils/Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/Makefile.am b/utils/Makefile.am index 0b8bda0..bac9a7f 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -1,6 +1,8 @@ AM_CPPFLAGS = $(LIBOSMOCODING_CFLAGS) AM_CFLAGS = -Wall +EXTRA_DIST = clockdump.sh matlab + noinst_PROGRAMS = osmo-prbs-tool osmo_prbs_tool_SOURCES = prbs-tool.c -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18007 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I9814a9a352dbee03177ef9e8dfd19bc2baf0ca07 Gerrit-Change-Number: 18007 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:17:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:17:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 20:17:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:18:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:18:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 ) Change subject: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Gerrit-Change-Number: 18080 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 20:18:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:18:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:18:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 ) Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 20:18:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:20:55 +0000 Subject: Change in osmo-gsm-tester[master]: Allow suites to dynamically register schemas so tests can receive par... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 ) Change subject: Allow suites to dynamically register schemas so tests can receive parameters ...................................................................... Patch Set 1: TODO: * fix selftest errors (os.listdir() doesn't returns in same order) * Add documentation explaining how to register schemas for parameters in suite. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 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: Idbe99a35993d193cd97059feb980e61ff14c67ad Gerrit-Change-Number: 18088 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 06 May 2020 20:20:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:21:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:21:18 +0000 Subject: Change in osmo-gsm-tester[master]: enb: add rf_port to cell list param In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 ) Change subject: enb: add rf_port to cell list param ...................................................................... enb: add rf_port to cell list param we need to make the rf_port a param in the cell list because for CA with two cells on different EARFNCs, the RF port is different for two cells without CA on the same EARFCN the RF port is the same so we need to be able to configure it Change-Id: I32e83cc34811588757104c5ce1cae7277402addd --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl M src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl M sysmocom/defaults.conf 4 files changed, 5 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 4848ea4..42ff647 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -51,6 +51,7 @@ 'a3_time_to_trigger': schema.INT, 'num_cells': schema.UINT, 'cell_list[].cell_id': schema.UINT, + 'cell_list[].rf_port': schema.UINT, 'cell_list[].pci': schema.UINT, 'cell_list[].ncell_list[]': schema.UINT, 'cell_list[].scell_list[]': schema.UINT, diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 46bdf10..29b5fb8 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -59,7 +59,7 @@ %for cell in enb.cell_list: { dl_earfcn: ${cell.dl_earfcn}, - rf_port: 0, /* FIXME: this may need to be configurable based on device specifics (B2xx vs X310) */ + rf_port: ${cell.rf_port}, cell_id: ${cell.cell_id}, n_id_cell: ${cell.pci}, tac: 0x0001, diff --git a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl index 597f6ef..2e25f6b 100644 --- a/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_rr.conf.tmpl @@ -65,7 +65,7 @@ %for cell in enb.cell_list: ${',' if loop.index != 0 else ''} { - // rf_port = 0; Not yet implemented! + rf_port = ${cell.rf_port}; cell_id = ${cell.cell_id}; tac = 0x0001; pci = ${loop.index + 1}; diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 871a45c..6694652 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -128,11 +128,13 @@ - cell_id: 0x01 pci: 0x01 dl_earfcn: 2850 + rf_port: 0 scell_list: [] ncell_list: [0x02] - cell_id: 0x02 pci: 0x02 dl_earfcn: 2850 + rf_port: 0 scell_list: [] ncell_list: [0x01] -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18067 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: I32e83cc34811588757104c5ce1cae7277402addd Gerrit-Change-Number: 18067 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 20:21:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 6 May 2020 20:21:19 +0000 Subject: Change in osmo-gsm-tester[master]: srs_{enb, ue}: don't set sc12 as OTW format In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 ) Change subject: srs_{enb,ue}: don't set sc12 as OTW format ...................................................................... srs_{enb,ue}: don't set sc12 as OTW format Change-Id: I7fc20d998b082f5c37b2451f1900161f997954b1 --- M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/ms_srs.py 2 files changed, 0 insertions(+), 8 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 70f2f35..95de16f 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -199,10 +199,6 @@ elif self._num_prb > 25: rf_dev_args += 'num_recv_frames=64,num_send_frames=64' - if self._num_prb > 50: - # Reduce over the wire format to sc12 - rf_dev_args += ',otw_format=sc12' - config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) self.gen_conf = values diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index cb29f06..8604d32 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -285,10 +285,6 @@ elif self.enb.num_prb() > 50: rf_dev_args += 'num_recv_frames=64,num_send_frames=64' - # For 15 and 20 MHz, further reduce over the wire format to sc12 - if self.enb.num_prb() >= 75: - rf_dev_args += ',otw_format=sc12' - config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args))) self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values)) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18068 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: I7fc20d998b082f5c37b2451f1900161f997954b1 Gerrit-Change-Number: 18068 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 23:53:57 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 6 May 2020 23:53:57 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... ctrs: Correctly count load total for dynamic timeslots. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- M src/osmo-bsc/chan_alloc.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18090/1 diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 669eb8e..0964b61 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -58,6 +58,20 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; + /* dynamic timeslots have to be counted separately + * when not in TCH/F or TCH/H mode because they don't + * have an lchan's allocated to them */ + if ( ( ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH + || ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) + && ( ts->pchan_is == GSM_PCHAN_NONE + || ts->pchan_is == GSM_PCHAN_PDCH)) { + pl->total++; + } + + /* count allocated logical channels. + * Note: When GSM_PCHAN_TCH_F_TCH_H_PDCH is allocation + * in TCH/H mode, this leads to changing the total + * count vs the TCH/F allocation */ ts_for_each_lchan(lchan, ts) { /* don't even count CBCH slots in total */ if (lchan->type == GSM_LCHAN_CBCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 23:53:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 6 May 2020 23:53:58 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... stats: Report per channel type load to statsd counters. Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_data.c 3 files changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/18091/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 6996905..11a4b5f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1445,6 +1445,22 @@ enum { BTS_STAT_CHAN_LOAD_AVERAGE, + BTS_STAT_CHAN_CCCH_SDCCH4_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL, + BTS_STAT_CHAN_TCH_F_USED, + BTS_STAT_CHAN_TCH_F_TOTAL, + BTS_STAT_CHAN_TCH_H_USED, + BTS_STAT_CHAN_TCH_H_TOTAL, + BTS_STAT_CHAN_SDCCH8_USED, + BTS_STAT_CHAN_SDCCH8_TOTAL, + BTS_STAT_CHAN_TCH_F_PDCH_USED, + BTS_STAT_CHAN_TCH_F_PDCH_TOTAL, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL, + BTS_STAT_CHAN_SDCCH8_CBCH_USED, + BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL, + BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED, + BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL, BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 0964b61..bea1620 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -101,6 +101,53 @@ bts_chan_load(pl, bts); } +static void chan_load_stat_set(enum gsm_phys_chan_config pchan, + struct gsm_bts *bts, + struct load_counter *lc) +{ + switch (pchan) { + case GSM_PCHAN_NONE: + case GSM_PCHAN_CCCH: + case GSM_PCHAN_PDCH: + case GSM_PCHAN_UNKNOWN: + break; + case GSM_PCHAN_CCCH_SDCCH4: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_H: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_TOTAL], lc->total); + break; + case GSM_PCHAN_SDCCH8_SACCH8C: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F_PDCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_TOTAL], lc->total); + break; + case GSM_PCHAN_CCCH_SDCCH4_CBCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL], lc->total); + break; + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F_TCH_H_PDCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL], lc->total); + break; + default: + LOG_BTS(bts, DRLL, LOGL_NOTICE, "Unknown channel type %d\n", pchan); + } +} + /* Update T3122 wait indicator based on samples of BTS channel load. */ void bts_update_t3122_chan_load(struct gsm_bts *bts) @@ -125,6 +172,9 @@ for (i = 0; i < ARRAY_SIZE(pl.pchan); i++) { struct load_counter *lc = &pl.pchan[i]; + /* Export channel load to stats gauges */ + chan_load_stat_set(i, bts, lc); + /* Ignore samples too large for fixed-point calculations (shouldn't happen). */ if (lc->used > UINT16_MAX || lc->total > UINT16_MAX) { LOG_BTS(bts, DRLL, LOGL_NOTICE, "numbers in channel load sample " diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index fe421a4..f61335f 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -371,6 +371,22 @@ static const struct osmo_stat_item_desc bts_stat_desc[] = { { "chanloadavg", "Channel load average.", "%", 16, 0 }, + { "chan_ccch_sdcch4_used", "Number of CCCH+SDCCH4 channels used.", "", 16, 0 }, + { "chan_ccch_sdcch4_total", "Number of CCCH+SDCCH4 channels total.", "", 16, 0 }, + { "chan_tch_f_used", "Number of TCH/F channels used.", "", 16, 0 }, + { "chan_tch_f_total", "Number of TCH/F channels total.", "", 16, 0 }, + { "chan_tch_h_used", "Number of TCH/H channels used.", "", 16, 0 }, + { "chan_tch_h_total", "Number of TCH/H channels total.", "", 16, 0 }, + { "chan_sdcch8_used", "Number of SDCCH8 channels used.", "", 16, 0 }, + { "chan_sdcch8_total", "Number of SDCCH8 channels total.", "", 16, 0 }, + { "chan_tch_f_pdch_used", "Number of TCH/F_PDCH channels used.", "", 16, 0 }, + { "chan_tch_f_pdch_total", "Number of TCH/F_PDCH channels total.", "", 16, 0 }, + { "chan_ccch_sdcch4_cbch_used", "Number of CCCH+SDCCH4+CBCH channels used.", "", 16, 0 }, + { "chan_ccch_sdcch4_cbch_total", "Number of CCCH+SDCCH4+CBCH channels total.", "", 16, 0 }, + { "chan_sdcch8_cbch_used", "Number of SDCCH8+CBCH channels used.", "", 16, 0 }, + { "chan_sdcch8_cbch_total", "Number of SDCCH8+CBCH channels total.", "", 16, 0 }, + { "chan_tch_f_tch_h_pdch_used", "Number of TCH/F_TCH/H_PDCH channels used.", "", 16, 0 }, + { "chan_tch_f_tch_h_pdch_total", "Number of TCH/F_TCH/H_PDCH channels total.", "", 16, 0 }, { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 23:53:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 6 May 2020 23:53:58 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... stats: Add a stats gauge for the MSC link status. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_init.c 3 files changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 11a4b5f..e85796c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1554,6 +1554,10 @@ bsc_ctr_description, }; +enum { + BSC_STAT_MSC_LINK, +}; + struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ @@ -1581,6 +1585,7 @@ } hodec2; struct rate_ctr_group *bsc_ctrs; + struct osmo_stat_item_group *bsc_statg; unsigned int num_bts; struct llist_head bts_list; diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 3f51278..9d7be85 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -71,7 +71,9 @@ { struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; OSMO_ASSERT(reset_ctx); + struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); + osmo_stat_item_set(msc->network->bsc_statg->items[BSC_STAT_MSC_LINK], 1); reset_ctx->conn_loss_counter = 0; osmo_fsm_inst_state_chg(fi, ST_CONN, 0, 0); @@ -86,7 +88,9 @@ switch (event) { case EV_N_DISCONNECT: if (reset_ctx->conn_loss_counter >= BAD_CONNECTION_THRESOLD) { + struct bsc_msc_data *msc = reset_ctx->priv; LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); + osmo_stat_item_set(msc->network->bsc_statg->items[BSC_STAT_MSC_LINK], 0); osmo_fsm_inst_state_chg(fi, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); } else reset_ctx->conn_loss_counter++; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 18776f3..9d0ee86 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -44,6 +44,18 @@ #include #include +static const struct osmo_stat_item_desc bsc_stat_desc[] = { + { "msc_link", "MSC link status.", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc bsc_statg_desc = { + .group_name_prefix = "bsc", + .group_description = "base station controller", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bsc_stat_desc), + .item_desc = bsc_stat_desc, +}; + int bsc_shutdown_net(struct gsm_network *net) { struct gsm_bts *bts; @@ -268,6 +280,7 @@ talloc_free(net); return NULL; } + net->bsc_statg = osmo_stat_item_group_alloc(net, &bsc_statg_desc, 0); INIT_LLIST_HEAD(&net->bts_rejected); gsm_net_update_ctype(net); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 6 23:53:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 6 May 2020 23:53:58 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... stats: Export connected OML/RSL links count per BTS and BSC. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 4 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/18093/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e85796c..9a8e002 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1464,6 +1464,8 @@ BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, + BTS_STAT_NUM_OML_CONNECTED, + BTS_STAT_NUM_RSL_CONNECTED, }; enum { @@ -1556,6 +1558,8 @@ enum { BSC_STAT_MSC_LINK, + BSC_STAT_NUM_BTS_CONNECTED, + BSC_STAT_NUM_TRX_CONNECTED, }; struct gsm_tz { diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 9d0ee86..0d58296 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -46,6 +46,8 @@ static const struct osmo_stat_item_desc bsc_stat_desc[] = { { "msc_link", "MSC link status.", "", 16, 0 }, + { "num_bts_connected", "Number of currently connected BTS (OML links).", "", 16, 0 }, + { "num_trx_connected", "Number of currently connected TRX (RSL links).", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bsc_statg_desc = { diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index a5e697b..8b24857 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -397,6 +397,8 @@ LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link); trx->rsl_link = NULL; + osmo_stat_item_set(trx->bts->bts_statg->items[BTS_STAT_NUM_RSL_CONNECTED], 0); + osmo_stat_item_dec(trx->bts->network->bsc_statg->items[BSC_STAT_NUM_TRX_CONNECTED], 1); if (trx->bts->c0 == trx) paging_flush_bts(trx->bts, NULL); @@ -417,6 +419,8 @@ e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_OML_CONNECTED], 0); + osmo_stat_item_dec(bts->network->bsc_statg->items[BSC_STAT_NUM_BTS_CONNECTED], 1); /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) @@ -558,6 +562,8 @@ sign_link->tei, sign_link->sapi); sign_link->trx->bts->ip_access.flags |= OML_UP; } + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_OML_CONNECTED], 1); + osmo_stat_item_inc(bts->network->bsc_statg->items[BSC_STAT_NUM_BTS_CONNECTED], 1); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -585,6 +591,8 @@ sign_link->trx->bts->ip_access.flags |= (RSL_UP << sign_link->trx->nr); } + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_NUM_RSL_CONNECTED], 1); + osmo_stat_item_inc(bts->network->bsc_statg->items[BSC_STAT_NUM_TRX_CONNECTED], 1); break; } default: diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index f61335f..fd90e3a 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -390,6 +390,8 @@ { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, + { "num_oml_connected", "Number of OML links connected", "", 16, 0 }, + { "num_rsl_connected", "Number of RSL links connected", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bts_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu May 7 01:38:46 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 07 May 2020 01:38:46 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8-jessie in Debian_8.0/i586 In-Reply-To: References: Message-ID: <5eb366aaf080a_20242ae0456bc600111081d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8-jessie/Debian_8.0/i586 Package network:osmocom:nightly/osmo-trx-debian8-jessie failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8-jessie Last lines of build log: [ 256s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 256s] Making all in utils [ 256s] make[3]: Entering directory '/usr/src/packages/BUILD/utils' [ 256s] CC prbs-tool.o [ 256s] prbs-tool.c: In function 'apply_errors_prbs': [ 256s] prbs-tool.c:190:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 256s] for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { [ 256s] ^ [ 256s] prbs-tool.c:190:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 256s] Makefile:393: recipe for target 'prbs-tool.o' failed [ 256s] make[3]: *** [prbs-tool.o] Error 1 [ 256s] make[3]: Leaving directory '/usr/src/packages/BUILD/utils' [ 256s] Makefile:504: recipe for target 'all-recursive' failed [ 256s] make[2]: *** [all-recursive] Error 1 [ 256s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 256s] Makefile:434: recipe for target 'all' failed [ 256s] make[1]: *** [all] Error 2 [ 256s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 256s] dh_auto_build: make -j1 returned exit code 2 [ 256s] debian/rules:6: recipe for target 'build' failed [ 256s] make: *** [build] Error 2 [ 256s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 256s] ### VM INTERACTION START ### [ 257s] Powering off. [ 257s] [ 248.489806] reboot: Power down [ 258s] ### VM INTERACTION END ### [ 258s] [ 258s] lamb26 failed "build osmo-trx_1.2.0.32.682e.dsc" at Thu May 7 01:38:28 UTC 2020. [ 258s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 7 01:39:37 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 07 May 2020 01:39:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx-debian8-jessie in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <5eb366e4451b2_20242ae0456bc6001110988@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx-debian8-jessie/Debian_8.0/x86_64 Package network:osmocom:nightly/osmo-trx-debian8-jessie failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx-debian8-jessie Last lines of build log: [ 269s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 269s] Making all in utils [ 269s] make[3]: Entering directory '/usr/src/packages/BUILD/utils' [ 269s] CC prbs-tool.o [ 269s] prbs-tool.c: In function 'apply_errors_prbs': [ 269s] prbs-tool.c:190:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 269s] for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { [ 269s] ^ [ 269s] prbs-tool.c:190:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code [ 269s] Makefile:393: recipe for target 'prbs-tool.o' failed [ 269s] make[3]: *** [prbs-tool.o] Error 1 [ 269s] make[3]: Leaving directory '/usr/src/packages/BUILD/utils' [ 269s] Makefile:504: recipe for target 'all-recursive' failed [ 269s] make[2]: *** [all-recursive] Error 1 [ 269s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 269s] Makefile:434: recipe for target 'all' failed [ 269s] make[1]: *** [all] Error 2 [ 269s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 269s] dh_auto_build: make -j1 returned exit code 2 [ 269s] debian/rules:6: recipe for target 'build' failed [ 269s] make: *** [build] Error 2 [ 269s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 269s] ### VM INTERACTION START ### [ 270s] Powering off. [ 270s] [ 250.377692] reboot: Power down [ 270s] ### VM INTERACTION END ### [ 270s] [ 270s] cloud128 failed "build osmo-trx_1.2.0.32.682e.dsc" at Thu May 7 01:39:34 UTC 2020. [ 270s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 7 01:44:46 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 07 May 2020 01:44:46 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb368141bddd_20242ae0456bc6001111385@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 782s] | configure:13472: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 782s] | configure:13472: $? = 0 [ 782s] | configure:13480: result: PTHREAD_CREATE_JOINABLE [ 782s] | configure:13494: checking whether more special flags are required for pthreads [ 782s] | configure:13507: result: no [ 782s] | configure:13515: checking for PTHREAD_PRIO_INHERIT [ 782s] | configure:13532: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 782s] | configure:13532: $? = 0 [ 782s] | configure:13541: result: yes [ 782s] | configure:13645: checking for library containing clock_gettime [ 782s] | configure:13676: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 782s] | configure:13676: $? = 0 [ 782s] | configure:13693: result: none required [ 782s] | configure:13715: checking for doxygen [ 782s] | configure:13733: found /usr/bin/doxygen [ 782s] | configure:13746: result: /usr/bin/doxygen [ 782s] | configure:13764: checking whether SYS_getrandom is declared [ 782s] | configure:13764: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 782s] | configure:13764: $? = 0 [ 782s] | configure:13764: result: yes [ 782s] | configure:13780: checking if gcc supports -fvisibility=hidden [ 782s] | configure:13786: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 782s] | configure:13786: $? = 0 [ 784s] | configure:13787: res[ 755.182554] sysrq: SysRq : Power Off [ 784s] [ 755.185040] reboot: Power down [ 784s] ### VM INTERACTION END ### [ 784s] [ 784s] armbuild13 failed "build libosmocore_1.3.0.76.3a6b.dsc" at Thu May 7 01:44:41 UTC 2020. [ 784s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 7 04:43:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 04:43:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 ) Change subject: PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance ...................................................................... PCU: fix TC_ta_rach_imm_ass(): properly match Timing Advance This test case would not fail even in case of Timing Advance mismatch. Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index e848ea6..a40819d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -727,8 +727,11 @@ } /* Make sure Timing Advance IE matches out expectations */ - if (match(rr_msg, tr_IMM_TBF_ASS(dl := false, ta := ta))) { - setverdict(pass); + if (rr_msg.payload.imm_ass.timing_advance != ta) { + setverdict(fail, "Timing Advance mismatch: ", + rr_msg.payload.imm_ass.timing_advance, + " vs expected ", ta); + mtc.stop; } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ife86e5e0e39f0112b854ed9a13e9c6f3c49531c9 Gerrit-Change-Number: 18080 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 04:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 04:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_shutdown() to ensure proper tear down In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 ) Change subject: PCU: introduce f_shutdown() to ensure proper tear down ...................................................................... PCU: introduce f_shutdown() to ensure proper tear down Most of existing test cases are built on top of the PCU interface abstraction components (see PCUIF_Components.ttcn). This means that during the test case execution, additional components are running in parallel, among with the MTC (Main Test Component). When a test case terminates, either normally or due to an error, it may happen that the virtual BTS component is stopped before the associated TDMA clock generator. In this situation, sending a clock indication towards the stopped BTS component would lead to a dynamic test case error. Let's take the process of tear down under control, and ensure that the clock generator is stopped first. To achieve that, every test case needs to call f_shutdown() in case of an error, as well as in case of the normal termination. Note we cannot use the existing f_shutdown() from Misc_Helpers, because doing 'all component.stop' does not gurantee that the clock generator is stopped first, and I experienced at least one DTE while trying to integrate it. Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 142 insertions(+), 82 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index c0266fb..aa2ab42 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -100,6 +100,7 @@ /* Commands are mostly used by the MTC to configure the components * at run-time, e.g. to enable or disable some optional features. */ type enumerated RAW_PCU_CommandType { + GENERAL_CMD_SHUTDOWN, /*!< Shut down component and all its child components */ TDMA_CMD_ENABLE_PTCCH_UL_FWD /*!< Enable forwarding of TDMA_EV_PTCCH_UL_BURST to the MTC */ }; @@ -417,6 +418,11 @@ [] as_BTS_CT_TDMASched(bts_nr); /* Command handling */ + [] TC.receive(tr_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)) { + log("Shutting down virtual BTS #", bts_nr, "..."); + vc_CLCK_GEN.stop; + break; + } [] TC.receive(tr_RAW_PCU_CMD(TDMA_CMD_ENABLE_PTCCH_UL_FWD)) { log("Enabling forwarding of PTCCH/U TDMA events to the TC"); cfg_ptcch_burst_fwd := true; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a40819d..ac2aaf3 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -101,6 +101,11 @@ } type component RAW_PCU_Test_CT extends bssgp_CT { + /* PCU interface abstraction component */ + var RAW_PCUIF_CT vc_PCUIF; + /* Virtual BTS component */ + var RAW_PCU_BTS_CT vc_BTS; + /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; /* Connection to the PCUIF component */ @@ -140,7 +145,7 @@ private altstep as_Tguard_RAW() runs on RAW_PCU_Test_CT { [] g_T_guard.timeout { setverdict(fail, "Timeout of T_guard"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -189,9 +194,6 @@ function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) runs on RAW_PCU_Test_CT { - var RAW_PCUIF_CT vc_PCUIF; - var RAW_PCU_BTS_CT vc_BTS; - /* Start the guard timer */ g_T_guard.start; activate(as_Tguard_RAW()); @@ -215,6 +217,26 @@ BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); } +private function f_shutdown(charstring file, integer line, + boolean final := false) +runs on RAW_PCU_Test_CT { + /* Determine if the test case was aborted in the middle */ + if (not final) { + log("Test case ", testcasename(), " aborted at ", file, ":", line); + } else { + /* Guard verdict to avoid 'none' */ + setverdict(pass); + } + + /* Properly shutdown virtual BTS and its clock generator */ + BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); + vc_BTS.done; /* wait untill it's done */ + + /* Shutdown the others and MTC */ + all component.stop; + mtc.stop; +} + template AckNackDescription t_AckNackDescription_init := { final_ack := '0'B, starting_seq_nr := 0, @@ -432,7 +454,7 @@ rr_imm_ass := dec_GsmRrMessage(macblock); if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } f_pcuif_tx_data_cnf(pcu_msg); } @@ -461,13 +483,13 @@ rr_pag_req1 := dec_GsmRrMessage(macblock); if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Make sure that received paging froup matches the expected one */ if (not match(pag_group_rx, pag_group)) { setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } f_pcuif_tx_data_cnf(pcu_msg); @@ -515,7 +537,7 @@ var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -526,7 +548,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -539,7 +561,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { setverdict(fail, "Failed to match Packet DUMMY DL"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -550,7 +572,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { setverdict(fail, "Failed to match Packet Downlink Assignment"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -563,7 +585,7 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { setverdict(fail, "Failed to match Packet Uplink Assignment"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); @@ -577,12 +599,15 @@ f_rx_rlcmac_dl_block(dl_block, dl_fn); if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ +private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, + out uint32_t ack_fn, octetstring data, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { log("verifying dl data block (gprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); @@ -594,31 +619,34 @@ if (lengthof(dl_block.data.blocks) < 1) { setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { setverdict(fail, "DL block has LLC header with wrong expected size: ", dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (dl_block.data.blocks[0].payload != data) { setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* TODO: check exp_cs */ } -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, out uint32_t ack_fn, octetstring data, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) -{ +private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, + out uint32_t ack_fn, octetstring data, + template (present) uint14_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on RAW_PCU_Test_CT { log("verifying dl data block (egprs): ", dl_block); ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); @@ -630,31 +658,34 @@ if (lengthof(dl_block.data_egprs.blocks) < 1) { setverdict(fail, "DL block has no LLC payload: ", dl_block); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { setverdict(fail, "DL block has LLC header with wrong expected size: ", dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (dl_block.data_egprs.blocks[0].payload != data) { setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, octetstring data, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, + octetstring data, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { var PCUIF_Message pcu_msg; var uint32_t dl_fn; @@ -668,7 +699,7 @@ dl_template.data_egprs.blocks := ?; if (not match(dl_block, dl_template)) { setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } is_egprs := true; } @@ -705,6 +736,8 @@ setverdict(fail, "Timeout waiting for BSSGP SUSPEND"); } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test of correct Timing Advance at the time of TBF establishment @@ -723,7 +756,7 @@ ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF"); - mtc.stop; + break; } /* Make sure Timing Advance IE matches out expectations */ @@ -731,9 +764,11 @@ setverdict(fail, "Timing Advance mismatch: ", rr_msg.payload.imm_ass.timing_advance, " vs expected ", ta); - mtc.stop; + break; } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify Timing Advance value(s) indicated during the packet Downlink assignment @@ -764,8 +799,9 @@ * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { setverdict(fail, "Timing Advance value doesn't match"); - mtc.stop; } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify that the PCU generates valid PTCCH/D messages @@ -792,7 +828,7 @@ [] BTS.receive(PCUIF_Message:?) { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -803,8 +839,9 @@ * TODO: do we expect all TA values to be equal '1111111'B? */ if (not match(ptcch_msg, tr_PTCCHDownlinkMsg)) { setverdict(fail, "Malformed PTCCH/D message"); - mtc.stop; } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test of correct Timing Advance during an active Uplink TBF. @@ -856,7 +893,9 @@ /* Send Access Bursts on PTCCH/U for every TA Index */ [] BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_UL_BURST)) -> value event { ss := f_tdma_ptcch_fn2ss(event.data.tdma_fn); - if (ss < 0) { mtc.stop; } /* Shall not happen */ + if (ss < 0) { /* Shall not happen */ + f_shutdown(__BFILE__, __LINE__); + } log("Sending an Access Burst on PTCCH/U", ", sub-slot=", ss, " (TAI)", @@ -898,16 +937,13 @@ log("Rx PTCCH/D message: ", ta_msg); /* Make sure Timing Advance values match our expectations */ - if (match(ta_msg, t_ta_msg)) { - setverdict(pass); - } else { + if (not match(ta_msg, t_ta_msg)) { setverdict(fail, "PTCCH/D message does not match: ", t_ta_msg); } } [] BTS.receive { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for a PTCCH/D block"); - mtc.stop; } } } @@ -929,7 +965,7 @@ ok := f_establish_tbf(rr_msg[i], ta := 0); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF #", i); - mtc.stop; + break; } /* Make sure we received an UL TBF Assignment */ @@ -938,14 +974,14 @@ log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); } else { setverdict(fail, "Failed to match UL TBF Assignment for #", i); - mtc.stop; + break; } /* We expect incremental TFI/USF assignment (dynamic allocation) */ t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); - mtc.stop; + break; } /* We also expect Timing Advance Index to be a part of the assignment */ @@ -979,6 +1015,8 @@ tai3_ta := 28, tai4_ta := 35, tai5_ta := 42, /* Other values are out of our interest */ tai6_ta := ?)); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Default link quality adaptation (Coding Scheme) ranges (inclusive). @@ -1010,13 +1048,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1068,10 +1106,10 @@ if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); - } else { - setverdict(pass); } } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test the max UL CS set by VTY works fine */ @@ -1099,13 +1137,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1133,11 +1171,8 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - mtc.stop; } - setverdict(pass); - /* Remaining UL blocks are used to make sure regardless of initial /* lqual, we can go lower at any time */ @@ -1158,9 +1193,9 @@ if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); - } else { - setverdict(pass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test the max UL CS set by VTY works fine */ @@ -1184,13 +1219,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( @@ -1219,9 +1254,9 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); - } else { - setverdict(pass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify PCU drops TBF after some time of inactivity. */ @@ -1254,13 +1289,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send one UL block and make sure it is ACKED fine */ @@ -1275,6 +1310,8 @@ /* Send an UL block once again, the TBF should be gone by now so no ACK */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify that a Downlink TBF can be assigned using PACCH shortly after the @@ -1306,7 +1343,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1329,6 +1366,8 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1360,12 +1399,12 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (not istemplatekind(ms_racap, "omit")) { @@ -1376,7 +1415,7 @@ f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -1396,7 +1435,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1406,6 +1445,8 @@ /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -1460,7 +1501,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1475,12 +1516,12 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send one UL block and make sure it is ACKED fine */ @@ -1491,6 +1532,8 @@ /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_mt_ping_pong() runs on RAW_PCU_Test_CT { @@ -1539,7 +1582,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ @@ -1553,7 +1596,7 @@ ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not a Downlink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1562,35 +1605,40 @@ /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + + f_shutdown(__BFILE__, __LINE__, final := true); } -private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) { +private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) +runs on RAW_PCU_Test_CT { var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; var MobileIdentityV mi := dec_MobileIdentityV(mi_lv.mobile_id); if (mi_lv.len != 8) { /* 8 octets: type of ID (3 bits) + even/odd flag (1 bit) + 15 BCD-encoded digits (60 bits) */ setverdict(fail, "Mobile Identity length mismatch: ", "expected: 8, got: ", mi_lv.len); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Make sure MI contains IMSI before referencing it */ if (mi.typeOfIdentity != '001'B) { setverdict(fail, "Mobile Identity must be of type IMSI ('001'B), ", "got: ", mi.typeOfIdentity); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } else if (mi.oddEvenInd_identity.imsi.digits != imsi) { setverdict(fail, "Mobile Identity contains unexpected IMSI, ", "expected: ", imsi, " got: ", mi.oddEvenInd_identity.imsi.digits); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) { +private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) +runs on RAW_PCU_Test_CT { + var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } } @@ -1626,13 +1674,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } @@ -1649,7 +1697,7 @@ /* Make sure that Packet Paging Request contains the same IMSI */ f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } /* Test CS paging over Gb (SGSN->PCU->BTS[PDCH]). @@ -1678,13 +1726,13 @@ ok := f_establish_tbf(rr_imm_ass); if (not ok) { setverdict(fail, "Failed to establish TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not ok) { setverdict(fail, "Immediate Assignment not an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } /* Send paging request with or without TMSI */ @@ -1705,7 +1753,7 @@ f_pkt_paging_match_imsi(dl_block.ctrl.payload.u.paging, imsi); } - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_cs_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { @@ -1749,7 +1797,7 @@ f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } - setverdict(pass); + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { @@ -1778,12 +1826,12 @@ ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); if (not ok) { setverdict(fail, "Failed to establush an Uplink TBF"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); - mtc.stop; + f_shutdown(__BFILE__, __LINE__); } setverdict(pass); @@ -1813,6 +1861,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_egprs_pkt_chan_req_one_phase() runs on RAW_PCU_Test_CT { @@ -1845,6 +1895,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_egprs_pkt_chan_req_two_phase() runs on RAW_PCU_Test_CT { @@ -1875,6 +1927,8 @@ f_TC_egprs_pkt_chan_req(req, imm_ass); } + + f_shutdown(__BFILE__, __LINE__, final := true); } control { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6a859687d9605cc08c51ff44d946c279b79bedfa Gerrit-Change-Number: 18082 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 04:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 04:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor f_imm_ass_verify_{ul, dl}_tbf_ass(): call f_shutdown() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 ) Change subject: PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() ...................................................................... PCU: refactor f_imm_ass_verify_{ul,dl}_tbf_ass(): call f_shutdown() This allows us to reduce code duplication. Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 38 insertions(+), 75 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ac2aaf3..0c61595 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -382,7 +382,7 @@ } private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { +runs on RAW_PCU_Test_CT { /* Make sure we received an UL TBF Assignment */ if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { @@ -391,20 +391,18 @@ setverdict(pass); } else { setverdict(fail, "Failed to match UL TBF Assignment"); - return false; + f_shutdown(__BFILE__, __LINE__); } /* Make sure we have got a TBF with Dynamic Block Allocation */ if (ul_tbf_ass.dynamic == omit) { setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - return false; + f_shutdown(__BFILE__, __LINE__); } - - return true; } private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT return boolean { +runs on RAW_PCU_Test_CT { /* Make sure we received a DL TBF Assignment */ if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { @@ -413,10 +411,8 @@ setverdict(pass); } else { setverdict(fail, "Failed to match DL TBF Assignment"); - return false; + f_shutdown(__BFILE__, __LINE__); } - - return true; } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ @@ -1051,11 +1047,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1140,11 +1133,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1222,11 +1212,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -1292,11 +1279,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); @@ -1340,11 +1324,10 @@ /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); @@ -1401,11 +1384,9 @@ setverdict(fail, "Failed to establish TBF"); f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); if (not istemplatekind(ms_racap, "omit")) { /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS @@ -1432,11 +1413,8 @@ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1498,11 +1476,8 @@ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1518,11 +1493,9 @@ setverdict(fail, "Failed to establish TBF"); f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send one UL block and make sure it is ACKED fine */ f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); @@ -1579,11 +1552,9 @@ /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1593,11 +1564,10 @@ * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - ok := f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not a Downlink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + + /* Make sure we've got a Downlink TBF assignment */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); @@ -1677,12 +1647,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } - + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* build mobile Identity */ mi := valueof(ts_MI_IMSI_LV(imsi)); @@ -1729,11 +1695,8 @@ f_shutdown(__BFILE__, __LINE__); } - ok := f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not ok) { - setverdict(fail, "Immediate Assignment not an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); /* Send paging request with or without TMSI */ if (use_ptmsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib74285177a5d8e3c4a27df1321e7eab3462318bc Gerrit-Change-Number: 18083 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 04:43:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 04:43:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 ) Change subject: PCU: PCU_Tests.default: add 'USER' category to ConsoleMask ...................................................................... PCU: PCU_Tests.default: add 'USER' category to ConsoleMask Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.default 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/pcu/PCU_Tests.default b/pcu/PCU_Tests.default index a58cec2..205327d 100644 --- a/pcu/PCU_Tests.default +++ b/pcu/PCU_Tests.default @@ -4,7 +4,7 @@ [LOGGING] #*.FileMask := LOG_ALL -ConsoleMask := ERROR | WARNING | TESTCASE | TIMEROP_START | DEBUG_ENCDEC +ConsoleMask := ERROR | WARNING | TESTCASE | TIMEROP_START | DEBUG_ENCDEC | USER [MODULE_PARAMETERS] SGSN_Components.mp_gb_cfg := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I12bffab01e52d92d313edddc000b5f3ec62c5139 Gerrit-Change-Number: 18081 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 06:45:25 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Thu, 7 May 2020 06:45:25 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > looks good to me. regarding using the source which i mentioned before, its not available as a pip library to be installed. Could you please let me know how do i go about in order to use that source in pysim? Do i have to import the source into repo or just install that source using pip directly from github (also update the README)? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 07 May 2020 06:45:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu May 7 07:56:41 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 07 May 2020 07:56:41 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb3bf43c4e28_20242ae0456bc6001157221@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 480s] ^~~~~~~~~~~~~~~~~~~ [ 480s] main.c: In function 'main': [ 480s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 480s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 480s] ^~~~~~~~~~~~~~~~~~~ [ 480s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 480s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 480s] ^ [ 480s] cc1: some warnings being treated as errors [ 480s] Makefile:469: recipe for target 'main.o' failed [ 480s] make[3]: *** [main.o] Error 1 [ 480s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 480s] Makefile:402: recipe for target 'all-recursive' failed [ 480s] make[2]: *** [all-recursive] Error 1 [ 480s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 480s] Makefile:349: recipe for target 'all' failed [ 480s] make[1]: *** [all] Error 2 [ 480s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 480s] dh_auto_build: make -j1 returned exit code 2 [ 480s] debian/rules:45: recipe for target 'build' failed [ 480s] make: *** [build] Error 2 [ 480s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 480s] ### VM INTERACTION START ### [ 483s] [ 463.524183] sysrq: SysRq : Power Off [ 483s] [ 463.526026] reboot: Power down [ 483s] ### VM INTERACTION END ### [ 483s] [ 483s] obs-arm-6 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Thu May 7 07:56:26 UTC 2020. [ 483s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 7 09:59:23 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 May 2020 09:59:23 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ The function l1ctl_rx_dm_est_req() explicitly decativates all lchans on the selected timeslot. However, it also runs sched_trx_configure_ts() beforehand which already resets all lchans anyway. This means that the explicit reset of all lchans is not needed, so lets remove it. Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Related: OS#4365 --- M src/host/trxcon/l1ctl.c 1 file changed, 0 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/94/18094/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index e722624..04325bc 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -665,9 +665,6 @@ goto exit; } - /* Deactivate all lchans */ - sched_trx_deactivate_all_lchans(ts); - /* Activate only requested lchans */ rc = sched_trx_set_lchans(ts, chan_nr, 1, est_req->tch_mode); if (rc) { -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 09:59:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 May 2020 09:59:24 +0000 Subject: Change in osmocom-bb[master]: l1ctl: preserve TS configuration for HR channels References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18095 ) Change subject: l1ctl: preserve TS configuration for HR channels ...................................................................... l1ctl: preserve TS configuration for HR channels When L1CTL_DM_EST_REQ is received, the respective timeslot is reconfigured to the requested channel type (TCH/H or TCH/F). The reconfiguration is done every time, an existing timeslot configuration including the lchans is overwritten. This works fine with all channel types that exclusively use the timeslot. But in the case of a TCH/H a single timeslot is shared by two independed channels, so if we see that the timeslot we intend to configure as TCH/H is already configured as TCH/H, we must leave the the configuration as it is in order not to disturb the other TCH/H Change-Id: I3ac0ae22c40e3cb99c44f1156000c6909f739ad4 Related: OS#4365 --- M src/host/trxcon/l1ctl.c 1 file changed, 16 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/95/18095/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 04325bc..17bd698 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -658,11 +658,23 @@ l1l->trx->tsc = est_req->tsc; /* Configure requested TS */ - rc = sched_trx_configure_ts(l1l->trx, tn, config); + /* NOTE: When (re)configuring a timeslot for TCH/H we need to be + * careful not to disturb an already existing HR channel. + * sched_trx_configure_ts() resets the TS configuration, including + * all lchans completely. This is safe for all types uses, except + * for HR, where two independed channels share one timeslot. So + * if we see that the TS is already set up for HR and the channel + * we intend to set up is HR too, we leave the TS configuration + * as it is. */ ts = l1l->trx->ts_list[tn]; - if (rc) { - rc = -EINVAL; - goto exit; + if (ts == NULL || config != GSM_PCHAN_TCH_H + || ts->mf_layout->chan_config != GSM_PCHAN_TCH_H) { + rc = sched_trx_configure_ts(l1l->trx, tn, config); + if (rc) { + rc = -EINVAL; + goto exit; + } + ts = l1l->trx->ts_list[tn]; } /* Activate only requested lchans */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3ac0ae22c40e3cb99c44f1156000c6909f739ad4 Gerrit-Change-Number: 18095 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:05:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 10:05:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 ) Change subject: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line ...................................................................... PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line Change [1] broke the following test cases: - TC_paging_cs_from_sgsn_sign_ptmsi, - TC_paging_cs_from_sgsn_ptp. Let's fix this! Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54 Fixes: [1] I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/18096/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0c61595..32df39e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1604,7 +1604,6 @@ private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) runs on RAW_PCU_Test_CT { - var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54 Gerrit-Change-Number: 18096 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:06:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 10:06:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 ) Change subject: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54 Gerrit-Change-Number: 18096 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 07 May 2020 10:06:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 10:06:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 ) Change subject: PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line ...................................................................... PCU: fix f_pkt_paging_match_tmsi(): drop copy-pasted line Change [1] broke the following test cases: - TC_paging_cs_from_sgsn_sign_ptmsi, - TC_paging_cs_from_sgsn_ptp. Let's fix this! Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54 Fixes: [1] I6a859687d9605cc08c51ff44d946c279b79bedfa Signed-off-by: Vadim Yanitskiy --- M pcu/PCU_Tests.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0c61595..32df39e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1604,7 +1604,6 @@ private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) runs on RAW_PCU_Test_CT { - var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18096 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9ec798e44138570bed726ffcd842448e199c1b54 Gerrit-Change-Number: 18096 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:26:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 10:26:20 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... Patch Set 1: If I remember correctly, removing this line caused some regressions. That's why I marked [1] as WIP. Probably the best way would be to make this behavior configurable by a flag in the L1CTL_DM_EST_REQ message. [1] https://git.osmocom.org/osmocom-bb/commit/?h=fixeria/gprs&id=3d2bd1fdcbfb4864e30f35705321ecd57c8fbb0b -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 07 May 2020 10:26:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:42:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 10:42:35 +0000 Subject: Change in osmocom-bb[master]: l1ctl: preserve TS configuration for HR channels In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18095 ) Change subject: l1ctl: preserve TS configuration for HR channels ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18095/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18095/1/src/host/trxcon/l1ctl.c at 671 PS1, Line 671: || ts->mf_layout->chan_config != GSM_PCHAN_TCH_H) { why both "config" and "ts->mf_layout->chan_config" are checked here? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3ac0ae22c40e3cb99c44f1156000c6909f739ad4 Gerrit-Change-Number: 18095 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 10:42:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:50:04 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 7 May 2020 10:50:04 +0000 Subject: Change in osmocom-bb[master]: l1ctl: preserve TS configuration for HR channels In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18095 ) Change subject: l1ctl: preserve TS configuration for HR channels ...................................................................... Patch Set 1: Code-Review-2 (2 comments) https://gerrit.osmocom.org/c/osmocom-bb/+/18095/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18095/1/src/host/trxcon/l1ctl.c at 661 PS1, Line 661: NOTE: When (re)configuring a timeslot for TCH/H I am sorry, but this is a task-specific (OS#4365) solution, so it would only work for TCH/H, but not for SDCCH/4 or SDCCH/8 where you also have sub-channels. See my comments to your previous change, this may cause regressions. Or, if this does not cause any regressions and all ttcn3-bts-tests would still pass, we can make this behavior default. https://gerrit.osmocom.org/c/osmocom-bb/+/18095/1/src/host/trxcon/l1ctl.c at 677 PS1, Line 677: ts = l1l->trx->ts_list[tn]; Duplicate line. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I3ac0ae22c40e3cb99c44f1156000c6909f739ad4 Gerrit-Change-Number: 18095 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 10:50:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:50:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 10:50:34 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 1: (4 comments) So the idea behind this commit is that dynamic timeslosts should count when calculating total available load, even if they are at pdch at that moment, because they can be turned to TCH at any time when required. Am I correct? please describe something like that in the commit message. https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 40 PS1, Line 40: void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) would be great having documentation for this function... https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 63 PS1, Line 63: * have an lchan's allocated to them */ "an lchan allocated" https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 66 PS1, Line 66: && ( ts->pchan_is == GSM_PCHAN_NONE please fix whitespace in all this if condition. https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 72 PS1, Line 72: * Note: When GSM_PCHAN_TCH_F_TCH_H_PDCH is allocation "is allocation in" doesn't make sense to me, please fix. I'm actually ahving hard time understanding both comments here and above, so I'd be happy if you can give it a bit of rework. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 10:50:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:52:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 10:52:55 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 10:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 10:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 10:59:05 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h at 1557 PS1, Line 1557: enum { can we have a name for this enum? for the sake of being able to refer to it. Everybody deserves having a name! :) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h at 1588 PS1, Line 1588: struct osmo_stat_item_group *bsc_statg; worth adding a comment on top explaining what's used for now that you are adding it. https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/a_reset.c at 75 PS1, Line 75: LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); Ugh, why do we have a connection successed on a "disc" (disconnect?" callback? https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c at 48 PS1, Line 48: { "msc_link", "MSC link status.", "", 16, 0 }, Do we add dots at the end of descriptions? probably not (please check). Last param is a pointer, so NULL fits better. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 10:59:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 11:02:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 11:02:44 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/bsc_init.c at 49 PS1, Line 49: { "num_bts_connected", "Number of currently connected BTS (OML links).", "", 16, 0 }, Same, remove dots. https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/gsm_data.c at 393 PS1, Line 393: { "num_oml_connected", "Number of OML links connected", "", 16, 0 }, Does it make sense to have more than one OML conn to the same BTS? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 11:02:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 11:37:13 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 7 May 2020 11:37:13 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... stream: Attempt to workaround kernel ABI breakage See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/sctp.h?id=b6e6b5f1da7e8d092f86a4351802c27c0170c5a5 and https://marc.info/?l=linux-sctp&m=158729301516157&w=2 A kernel structure changed size, a new field was added at the end. Attempt to submit with the known "old" size. Signed-off-by: Sylvain Munaut Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 --- M src/stream.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/18097/1 diff --git a/src/stream.c b/src/stream.c index 65532d3..669657f 100644 --- a/src/stream.c +++ b/src/stream.c @@ -92,6 +92,11 @@ rc = setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &event, sizeof(event)); + /* Attempt to work around kernel ABI breakage */ + if ((rc < 0) && (sizeof(event) != 13)) + rc = setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, + &event, 13); + if (rc < 0) LOGP(DLINP, LOGL_ERROR, "couldn't activate SCTP events " "on FD %u\n", fd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 11:54:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 11:54:59 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Add manual target to build user manual References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 ) Change subject: Makefile: Add manual target to build user manual ...................................................................... Makefile: Add manual target to build user manual Change-Id: I61ff89db5666248de47cb9752a2aecdd6fd06f02 --- M Makefile 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/98/18098/1 diff --git a/Makefile b/Makefile index eb2f8d8..ee6300e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: deps version check +all: deps version check manual .PHONY: version check @@ -8,8 +8,11 @@ version: ./update_version.sh +manual: + $(MAKE) -C doc/manuals + check: - $(MAKE) -C selftest check + $(MAKE) -C selftest check @echo "make check: success" # vim: noexpandtab tabstop=8 shiftwidth=8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 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: I61ff89db5666248de47cb9752a2aecdd6fd06f02 Gerrit-Change-Number: 18098 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 11:55:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 11:55:00 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Implement clean target References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 ) Change subject: Makefile: Implement clean target ...................................................................... Makefile: Implement clean target Change-Id: Ia21b0f184bfd454b3835774949f581a27860a80a --- M Makefile M selftest/Makefile 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/99/18099/1 diff --git a/Makefile b/Makefile index ee6300e..c36aa9a 100644 --- a/Makefile +++ b/Makefile @@ -15,4 +15,10 @@ $(MAKE) -C selftest check @echo "make check: success" +clean: + $(MAKE) -C selftest clean + $(MAKE) -C doc/manuals clean + @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf + @rm -fv ./src/osmo_gsm_tester/_version.py + @rm -fv ./version # vim: noexpandtab tabstop=8 shiftwidth=8 diff --git a/selftest/Makefile b/selftest/Makefile index f0c8c69..fb8618c 100644 --- a/selftest/Makefile +++ b/selftest/Makefile @@ -9,4 +9,9 @@ set_pythonpath: echo "export PYTHONPATH=\"$(PWD)/../src\"" > set_pythonpath +clean: + @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf + @find . -name "*test_work" -type d -print0 | xargs -0 rm -rvf + @rm -fv ./set_pythonpath + # vim: noexpandtab tabstop=8 shiftwidth=8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 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: Ia21b0f184bfd454b3835774949f581a27860a80a Gerrit-Change-Number: 18099 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:22:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 12:22:46 +0000 Subject: Change in osmo-gsm-tester[master]: Allow suites to dynamically register schemas so tests can receive par... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 to look at the new patch set (#2). Change subject: Allow suites to dynamically register schemas so tests can receive parameters ...................................................................... Allow suites to dynamically register schemas so tests can receive parameters Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad --- M doc/manuals/chapters/config.adoc A selftest/schema_test/_prep.py A selftest/schema_test/schema_case_01.conf A selftest/schema_test/schema_case_02.conf A selftest/schema_test/schema_case_03.conf A selftest/schema_test/schema_case_04.conf A selftest/schema_test/schema_case_05.conf A selftest/schema_test/schema_test.err A selftest/schema_test/schema_test.ok A selftest/schema_test/schema_test.py M selftest/suite_test/suite_test.ok M selftest/suite_test/suite_test.py M selftest/suite_test/test_suite/suite.conf A selftest/suite_test/test_suite/test_suite_params.py M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/core/suite.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/testenv.py 18 files changed, 543 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/18088/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 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: Idbe99a35993d193cd97059feb980e61ff14c67ad Gerrit-Change-Number: 18088 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:36:53 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 12:36:53 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 1: (4 comments) > So the idea behind this commit is that dynamic timeslosts should count when calculating total available load, even if they are at pdch at that moment, because they can be turned to TCH at any time when required. Am I correct? please describe something like that in the commit message. Yes, correct - see the updated comments in the new patch. From the CS perspective, there is no difference whether this is a dynamic TS in NONE/PDCH mode or a static TCH in UNUSED mode since BSC can switch into USED mode at any moment. https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 40 PS1, Line 40: void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) > would be great having documentation for this function... I'll commit a one-liner in a separate commit. https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 63 PS1, Line 63: * have an lchan's allocated to them */ > "an lchan allocated" Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 66 PS1, Line 66: && ( ts->pchan_is == GSM_PCHAN_NONE > please fix whitespace in all this if condition. I'm not completely sure of the Osmocom rules for the muli-line whitespace but I've changed this to look closer to what I see around in the next revision of this patch. https://gerrit.osmocom.org/c/osmo-bsc/+/18090/1/src/osmo-bsc/chan_alloc.c at 72 PS1, Line 72: * Note: When GSM_PCHAN_TCH_F_TCH_H_PDCH is allocation > "is allocation in" doesn't make sense to me, please fix. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 12:36:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 12:44:39 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: Hello daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 to look at the new patch set (#2). Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... ctrs: Correctly count load total for dynamic timeslots. From the CS perspective, there is no difference whether this is a dynamic TS in NONE/PDCH mode or a static TCH in UNUSED mode since BSC can switch into USED mode at any moment. So we should count dynamic timeslots in the "total" count. A bit of a challenge here is that GSM_PCHAN_TCH_F_TCH_H_PDCH timeslots could be either switched to a single TCH/F or to two TCH/H, so the total can't be calculated reliably beforehand. In this code we assume TCH/F since this gives a lower total count. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- M src/osmo-bsc/chan_alloc.c 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18090/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:44:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 12:44:41 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18100 ) Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... chan_alloc: Add comments for the *_chan_load() functions. Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/18100/1 diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 62bb7fa..2c248f6 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -37,6 +37,7 @@ #include +/* Update channel load calculation for the given BTS */ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) { struct gsm_bts_trx *trx; @@ -99,6 +100,7 @@ } } +/* Update channel load calculation for all BTS in the BSC */ void network_chan_load(struct pchan_load *pl, struct gsm_network *net) { struct gsm_bts *bts; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:58:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 12:58:57 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18090/2/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/2/src/osmo-bsc/chan_alloc.c at 76 PS2, Line 76: * Note: When GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 12:58:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 12:59:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 12:59:20 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18100 ) Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 12:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:10:38 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:10:38 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h at 1557 PS1, Line 1557: enum { > can we have a name for this enum? for the sake of being able to refer to it. [?] These enum's are not named in other parts of the code, so I was following the de-facto convention. I can add a name for this if you could suggest one - I'm not sure of Osmocom naming conventions. https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/include/osmocom/bsc/gsm_data.h at 1588 PS1, Line 1588: struct osmo_stat_item_group *bsc_statg; > worth adding a comment on top explaining what's used for now that you are adding it. Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/a_reset.c at 75 PS1, Line 75: LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); > Ugh, why do we have a connection successed on a "disc" (disconnect?" callback? Because this is an "action" callback and the only event which can hit this cb changes the state to "connected". But I agree this is confusing, so I've changed this to be more clear with "onenter" CB in the next patch version. I just didn't know about "onenter" when I was writing this. https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c at 48 PS1, Line 48: { "msc_link", "MSC link status.", "", 16, 0 }, > Do we add dots at the end of descriptions? probably not (please check). Historically there were dots, but I agree this is not correct and I'll remove them from new ones. > Last param is a pointer, so NULL fits better. No, it's a default value: /*! Statistics item description */ struct osmo_stat_item_desc { const char *name; /*!< name of the item */ const char *description;/*!< description of the item */ const char *unit; /*!< unit of a value */ unsigned int num_values;/*!< number of values to store in FIFO */ int32_t default_value; /*!< default value */ }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:10:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:12:08 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:12:08 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/bsc_init.c at 49 PS1, Line 49: { "num_bts_connected", "Number of currently connected BTS (OML links).", "", 16, 0 }, > Same, remove dots. Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/1/src/osmo-bsc/gsm_data.c at 393 PS1, Line 393: { "num_oml_connected", "Number of OML links connected", "", 16, 0 }, > Does it make sense to have more than one OML conn to the same BTS? Not sure but stats item is an integer anyway, so it's a "count" anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:12:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:12:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:12:50 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/1/src/osmo-bsc/bsc_init.c at 48 PS1, Line 48: { "msc_link", "MSC link status.", "", 16, 0 }, > > Do we add dots at the end of descriptions? probably not (please check). [?] Ah indeed, I looked at the wrong structure, sorry for the noise. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:12:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:20:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:20:43 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18090/2/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/2/src/osmo-bsc/chan_alloc.c at 76 PS2, Line 76: * Note: When GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched > A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:20:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:21:37 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:21:37 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: Hello pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 to look at the new patch set (#3). Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... ctrs: Correctly count load total for dynamic timeslots. >From the CS perspective, there is no difference whether this is a dynamic TS in NONE/PDCH mode or a static TCH in UNUSED mode since BSC can switch into USED mode at any moment. So we should count dynamic timeslots in the "total" count. A bit of a challenge here is that GSM_PCHAN_TCH_F_TCH_H_PDCH timeslots could be either switched to a single TCH/F or to two TCH/H, so the total can't be calculated reliably beforehand. In this code we assume TCH/F since this gives a lower total count. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- M src/osmo-bsc/chan_alloc.c 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18090/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:21:37 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:21:37 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 to look at the new patch set (#3). Change subject: stats: Report per channel type load to statsd counters. ...................................................................... stats: Report per channel type load to statsd counters. Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_data.c 3 files changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/18091/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:21:37 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:21:37 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 to look at the new patch set (#3). Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... stats: Add a stats gauge for the MSC link status. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 5 files changed, 66 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:21:38 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:21:38 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18101 ) Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... stats: Remove dots from the end of stats descriptions. Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 --- M src/osmo-bsc/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/18101/1 diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 6d71442..3a97b7a 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -370,7 +370,7 @@ } static const struct osmo_stat_item_desc bts_stat_desc[] = { - { "chanloadavg", "Channel load average.", "%", 16, 0 }, + { "chanloadavg", "Channel load average", "%", 16, 0 }, { "chan_ccch_sdcch4_used", "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, { "chan_ccch_sdcch4_total", "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, { "chan_tch_f_used", "Number of TCH/F channels used", "", 16, 0 }, @@ -387,7 +387,7 @@ { "chan_sdcch8_cbch_total", "Number of SDCCH8+CBCH channels total", "", 16, 0 }, { "chan_tch_f_tch_h_pdch_used", "Number of TCH/F_TCH/H_PDCH channels used", "", 16, 0 }, { "chan_tch_f_tch_h_pdch_total", "Number of TCH/F_TCH/H_PDCH channels total", "", 16, 0 }, - { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, + { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:23:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:23:36 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18090/3/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/3/src/osmo-bsc/chan_alloc.c at 76 PS3, Line 76: * Note: When a GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched Well I meant "Note: A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched to a single TCH/F or to two TCH/H" lol -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:23:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:26:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:26:20 +0000 Subject: Change in osmo-gsm-tester[master]: suites: 4g: Parametrize handover.py test In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 to look at the new patch set (#3). Change subject: suites: 4g: Parametrize handover.py test ...................................................................... suites: 4g: Parametrize handover.py test Change-Id: I7de5acdaa6b905e52655786758bd51490add1d2b --- A sysmocom/scenarios/suite-4g at .conf M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/suite.conf 3 files changed, 47 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/18089/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 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: I7de5acdaa6b905e52655786758bd51490add1d2b Gerrit-Change-Number: 18089 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:27:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:27:50 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Implement clean target In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 ) Change subject: Makefile: Implement clean target ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 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: Ia21b0f184bfd454b3835774949f581a27860a80a Gerrit-Change-Number: 18099 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:27:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:27:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:27:52 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Add manual target to build user manual In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 ) Change subject: Makefile: Add manual target to build user manual ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 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: I61ff89db5666248de47cb9752a2aecdd6fd06f02 Gerrit-Change-Number: 18098 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:27:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:27:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:27:55 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Add manual target to build user manual In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 ) Change subject: Makefile: Add manual target to build user manual ...................................................................... Makefile: Add manual target to build user manual Change-Id: I61ff89db5666248de47cb9752a2aecdd6fd06f02 --- M Makefile 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index eb2f8d8..ee6300e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -all: deps version check +all: deps version check manual .PHONY: version check @@ -8,8 +8,11 @@ version: ./update_version.sh +manual: + $(MAKE) -C doc/manuals + check: - $(MAKE) -C selftest check + $(MAKE) -C selftest check @echo "make check: success" # vim: noexpandtab tabstop=8 shiftwidth=8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18098 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: I61ff89db5666248de47cb9752a2aecdd6fd06f02 Gerrit-Change-Number: 18098 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:27:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 13:27:56 +0000 Subject: Change in osmo-gsm-tester[master]: Makefile: Implement clean target In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 ) Change subject: Makefile: Implement clean target ...................................................................... Makefile: Implement clean target Change-Id: Ia21b0f184bfd454b3835774949f581a27860a80a --- M Makefile M selftest/Makefile 2 files changed, 11 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index ee6300e..c36aa9a 100644 --- a/Makefile +++ b/Makefile @@ -15,4 +15,10 @@ $(MAKE) -C selftest check @echo "make check: success" +clean: + $(MAKE) -C selftest clean + $(MAKE) -C doc/manuals clean + @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf + @rm -fv ./src/osmo_gsm_tester/_version.py + @rm -fv ./version # vim: noexpandtab tabstop=8 shiftwidth=8 diff --git a/selftest/Makefile b/selftest/Makefile index f0c8c69..fb8618c 100644 --- a/selftest/Makefile +++ b/selftest/Makefile @@ -9,4 +9,9 @@ set_pythonpath: echo "export PYTHONPATH=\"$(PWD)/../src\"" > set_pythonpath +clean: + @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf + @find . -name "*test_work" -type d -print0 | xargs -0 rm -rvf + @rm -fv ./set_pythonpath + # vim: noexpandtab tabstop=8 shiftwidth=8 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18099 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: Ia21b0f184bfd454b3835774949f581a27860a80a Gerrit-Change-Number: 18099 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:48:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:48:43 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 to look at the new patch set (#2). Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... stats: Remove dots from the end of stats descriptions. Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 --- M src/osmo-bsc/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/18101/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:48:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:48:43 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 to look at the new patch set (#4). Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... stats: Add a stats gauge for the MSC link status. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_init.c 3 files changed, 50 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:48:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:48:43 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 to look at the new patch set (#3). Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... stats: Export connected OML/RSL links count per BTS and BSC. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 4 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/18093/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:48:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:48:43 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 to look at the new patch set (#3). Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... chan_alloc: Add comments for the *_chan_load() functions. Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/18100/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:51:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:51:41 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18090/3/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18090/3/src/osmo-bsc/chan_alloc.c at 76 PS3, Line 76: * Note: When a GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched > Well I meant "Note: A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched to a single TCH/F or to two TCH/H" [?] Ah, makes sense now. Will update. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 13:51:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 13:53:39 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 13:53:39 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: Hello pespin, daniel, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 to look at the new patch set (#4). Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... ctrs: Correctly count load total for dynamic timeslots. >From the CS perspective, there is no difference whether this is a dynamic TS in NONE/PDCH mode or a static TCH in UNUSED mode since BSC can switch into USED mode at any moment. So we should count dynamic timeslots in the "total" count. A bit of a challenge here is that GSM_PCHAN_TCH_F_TCH_H_PDCH timeslots could be either switched to a single TCH/F or to two TCH/H, so the total can't be calculated reliably beforehand. In this code we assume TCH/F since this gives a lower total count. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- M src/osmo-bsc/chan_alloc.c 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18090/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:05:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:05:51 +0000 Subject: Change in osmo-gsm-tester[master]: Allow suites to dynamically register schemas so tests can receive par... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 ) Change subject: Allow suites to dynamically register schemas so tests can receive parameters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 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: Idbe99a35993d193cd97059feb980e61ff14c67ad Gerrit-Change-Number: 18088 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 15:05:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:05:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:05:53 +0000 Subject: Change in osmo-gsm-tester[master]: suites: 4g: Parametrize handover.py test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 ) Change subject: suites: 4g: Parametrize handover.py test ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 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: I7de5acdaa6b905e52655786758bd51490add1d2b Gerrit-Change-Number: 18089 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 15:05:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:06:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:06:01 +0000 Subject: Change in osmo-gsm-tester[master]: Allow suites to dynamically register schemas so tests can receive par... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 ) Change subject: Allow suites to dynamically register schemas so tests can receive parameters ...................................................................... Allow suites to dynamically register schemas so tests can receive parameters Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad --- M doc/manuals/chapters/config.adoc A selftest/schema_test/_prep.py A selftest/schema_test/schema_case_01.conf A selftest/schema_test/schema_case_02.conf A selftest/schema_test/schema_case_03.conf A selftest/schema_test/schema_case_04.conf A selftest/schema_test/schema_case_05.conf A selftest/schema_test/schema_test.err A selftest/schema_test/schema_test.ok A selftest/schema_test/schema_test.py M selftest/suite_test/suite_test.ok M selftest/suite_test/suite_test.py M selftest/suite_test/test_suite/suite.conf A selftest/suite_test/test_suite/test_suite_params.py M src/osmo_gsm_tester/core/schema.py M src/osmo_gsm_tester/core/suite.py M src/osmo_gsm_tester/core/test.py M src/osmo_gsm_tester/testenv.py 18 files changed, 543 insertions(+), 22 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 4dd90ff..483fd8c 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -305,16 +305,26 @@ This file content is parsed using the <> schema. -It provides -{app-name} with the base restrictions (later to be further filtered by -<> files) to apply when allocating resources. +On the <> section, it provides {app-name} with the base restrictions +(later to be further filtered by <> files) to apply when +allocating resources. It can also override attributes for the allocated resources through the <> section (to be further modified by -<> files later on). Similary it can do the same for +<> files later on). Similarly it can do the same for general configuration options (no per-resource) through the <> section. +The _schema_ section allows defining a suite's own schema used to validate +parameters passed to it later on through <> files (See +<>), and which can be retrieved by tests using the +_tenv.config_suite_specific()_ and _tenv.config_test_specific()_ APIs. The first +one will provide the whole dictionary under schema, while the later will return +the dictionary immediatelly inside the former and matching the test name being +run. For instance, if _tenv.config_test_specific()_ is called from test +_a_suite_test_foo.py_, the method will return the contents under dictionary with +key _a_suite_test_foo_. + .Sample 'suite.conf' file: ---- resources: @@ -337,6 +347,12 @@ codec_list: - fr1 +schema: + some_suite_parameter: 'uint' + a_suite_test_foo: + one_test_parameter_for_test_foo: 'str' + another_test_parameter_for_test_foo: ['bool_str'] + defaults: timeout: 50s ---- @@ -431,6 +447,37 @@ . Generate the final scenario content from the template available in the matched '.conf' file. +[[scenario_suite_params]] +*_Scenario to set suite/test parameters_*: + +First, the suite needs to define its schema in its <> +file. Check <> on how to do so. + +For instance, for a suite named 'mysuite' containing a test 'a_suite_test_foo.py', and containing this schema in its <> file: +---- +schema: + some_suite_parameter: 'uint' + a_suite_test_foo: + one_test_parameter_for_test_foo: 'str' + another_test_parameter_for_test_foo: ['bool_str'] +---- + +One could define a parametrized scenario 'myparamscenario at .conf' like this: +---- +config: + suite: + mysuite: + some_suite_parameter: ${param1} + a_suite_test_foo: + one_test_parameter_for_test_foo: ${param2} + another_test_parameter_for_test_foo: ['true', 'false', 'false', 'true'] +---- + +And use it in {app-name} this way: +---- +mysuite:myparamscenario at 4,hello.conf +---- + [[resources_conf]] ==== 'resources.conf' diff --git a/selftest/schema_test/_prep.py b/selftest/schema_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/schema_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/schema_test/schema_case_01.conf b/selftest/schema_test/schema_case_01.conf new file mode 100644 index 0000000..dacf18a --- /dev/null +++ b/selftest/schema_test/schema_case_01.conf @@ -0,0 +1,43 @@ +schema: + handover: + duration: 'duration' + threshold: 'uint' + +tests: + - foobar: + prefix: + handover: + duration: 3 + threshold: 2 + - foobar: + prefix: + handover: + duration: 22kkk + - foobar: + prefix: + handover: + duration: 22h + - foobar: + wrongprefix: + handover: + duration: 22h + - foobar: + wrongprefix: + handover: + - foobar: + prefix: + handover: + threshold: 1 + - foobar: + prefix: + handover: + threshold: -2 + - foobar: + prefix: + handover: + - threshold: 1 + - foobar: + prefix: + handover: + threshold: + - 1 diff --git a/selftest/schema_test/schema_case_02.conf b/selftest/schema_test/schema_case_02.conf new file mode 100644 index 0000000..ddc02df --- /dev/null +++ b/selftest/schema_test/schema_case_02.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: ['wrongtype'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_03.conf b/selftest/schema_test/schema_case_03.conf new file mode 100644 index 0000000..e06fa24 --- /dev/null +++ b/selftest/schema_test/schema_case_03.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: ['str', 'str'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_04.conf b/selftest/schema_test/schema_case_04.conf new file mode 100644 index 0000000..4148310 --- /dev/null +++ b/selftest/schema_test/schema_case_04.conf @@ -0,0 +1,12 @@ +schema: + hey: + ho: + letsgo: [] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana diff --git a/selftest/schema_test/schema_case_05.conf b/selftest/schema_test/schema_case_05.conf new file mode 100644 index 0000000..ee3d5db --- /dev/null +++ b/selftest/schema_test/schema_case_05.conf @@ -0,0 +1,44 @@ +schema: + hey: + ho: + letsgo: ['str'] + +tests: + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana + - foobar: + prefix: + hey: + ho: + letsgo: [] + - foobar: + prefix: + hey: + ho: + letsgo: + - nanana + - nunu + - foobar: + prefix: + hey: + ho: + letsgo: nanana + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', 'nana', 'nana'] + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', {}, 'nana'] + - foobar: + prefix: + hey: + ho: + letsgo: ['nana', [], 'nana'] diff --git a/selftest/schema_test/schema_test.err b/selftest/schema_test/schema_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/selftest/schema_test/schema_test.err diff --git a/selftest/schema_test/schema_test.ok b/selftest/schema_test/schema_test.ok new file mode 100644 index 0000000..2c4cd6a --- /dev/null +++ b/selftest/schema_test/schema_test.ok @@ -0,0 +1,63 @@ +==== Testing dynamically generated schemas ==== +schema_case_01.conf: +{'foobar.prefix.handover.duration': 'duration', + 'foobar.prefix.handover.threshold': 'uint'} +validating tests[0] +Validation: OK +validating tests[1] +--- foobar.prefix.handover.duration: ERR: ValueError: Invalid duration value: '22kkk' +Validation: Error +validating tests[2] +Validation: OK +validating tests[3] +--- -: ERR: ValueError: config item not known: 'foobar.wrongprefix.handover.duration' +Validation: Error +validating tests[4] +--- -: ERR: ValueError: config item not known: 'foobar.wrongprefix.handover' +Validation: Error +validating tests[5] +Validation: OK +validating tests[6] +--- foobar.prefix.handover.threshold: ERR: ValueError: Positive value expected instead of -2 +Validation: Error +validating tests[7] +--- -: ERR: ValueError: config item not known: 'foobar.prefix.handover[].threshold' +Validation: Error +validating tests[8] +--- -: ERR: ValueError: config item is a list, should be 'uint': 'foobar.prefix.handover.threshold' +Validation: Error +---------------------- +schema_case_02.conf: +{'foobar.prefix.hey.ho.letsgo[]': 'wrongtype'} +validating tests[0] +--- -: ERR: ValueError: unknown type 'wrongtype' at 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +---------------------- +schema_case_03.conf: +--- -: ERR: AssertionError: +config2schema: Error +---------------------- +schema_case_04.conf: +--- -: ERR: AssertionError: +config2schema: Error +---------------------- +schema_case_05.conf: +{'foobar.prefix.hey.ho.letsgo[]': 'str'} +validating tests[0] +Validation: OK +validating tests[1] +Validation: OK +validating tests[2] +Validation: OK +validating tests[3] +--- -: ERR: ValueError: config item not known: 'foobar.prefix.hey.ho.letsgo' +Validation: Error +validating tests[4] +Validation: OK +validating tests[5] +--- -: ERR: ValueError: config item is dict but should be a leaf node of type 'str': 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +validating tests[6] +--- -: ERR: ValueError: config item is a list, should be 'str': 'foobar.prefix.hey.ho.letsgo[]' +Validation: Error +---------------------- diff --git a/selftest/schema_test/schema_test.py b/selftest/schema_test/schema_test.py new file mode 100755 index 0000000..3cf2799 --- /dev/null +++ b/selftest/schema_test/schema_test.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import _prep + +import sys +import os +import io +import pprint +import copy + +from osmo_gsm_tester.core import config, log, schema + +def val(which, test_schema): + try: + schema.validate(which, test_schema) + print('Validation: OK') + except ValueError: + log.log_exn() + print('Validation: Error') + +def get_case_list(dir): + li = [] + for f in os.listdir(dir): + if f.startswith('schema_case'): + li.append(f) + return sorted(li) + +print('==== Testing dynamically generated schemas ====') +for f in get_case_list(_prep.script_dir): + print('%s:' % f) + example_config = os.path.join(_prep.script_dir, f) + cfg = config.read(example_config) + try: + schema_def = schema.config_to_schema_def(cfg['schema'], 'foobar.prefix.') + except AssertionError: + schema_def = None + log.log_exn() + print('config2schema: Error') + + if schema_def is not None: + pprint.pprint(schema_def) + i = 0 + for t in cfg['tests']: + print('validating tests[%d]' % i) + val(t, schema_def) + i += 1 + print('----------------------') + + + + + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index 908f24f..fa38605 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -1,5 +1,5 @@ - non-existing suite dir -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test @@ -25,7 +25,7 @@ - times: '2' - run hello world test -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir --------------------------------------------------------------------- @@ -99,13 +99,14 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - a test with an error @@ -122,13 +123,14 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py FAIL: test_error.py (N.N sec) AssertionError: test_error.py:[LINENR]: assert False skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - a test with a failure @@ -145,13 +147,14 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py (N.N sec) FAIL: test_fail.py (N.N sec) EpicFail: This failure is expected skip: test_fail_raise.py + skip: test_suite_params.py - a test with a raised failure @@ -167,15 +170,16 @@ --------------------------------------------------------------------- trial test_suite FAIL --------------------------------------------------------------------- -FAIL: test_suite (fail: 1, skip: 5) +FAIL: test_suite (fail: 1, skip: 6) skip: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py (N.N sec) skip: test_fail.py (N.N sec) FAIL: test_fail_raise.py (N.N sec) ExpectedFail: This failure is expected + skip: test_suite_params.py - test with half empty scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- @@ -254,15 +258,16 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - test with scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- @@ -341,15 +346,16 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py - test with scenario and modifiers -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in ./suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] @@ -474,12 +480,150 @@ --------------------------------------------------------------------- trial test_suite PASS --------------------------------------------------------------------- -PASS: test_suite (pass: 1, skip: 5) +PASS: test_suite (pass: 1, skip: 6) pass: hello_world.py (N.N sec) skip: mo_mt_sms.py skip: mo_sms.py skip: test_error.py skip: test_fail.py skip: test_fail_raise.py + skip: test_suite_params.py +- test with suite-specific config +cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] +cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] +tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] +tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] +tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{'label': 'sysmoCell 5000'}, {'label': 'sysmoCell 5000'}, {'type': 'sysmo'}], ip_address=[{}], modem=[{}, {}]}} [test_suite?{combining_scenarios='resources'}] [suite.py:[LINENR]] +tst {combining_scenarios='resources', scenario='foo'}: [RESOURCE_DICT] +tst test_suite: DBG: {combining='modifiers'} [suite.py:[LINENR]] +tst {combining_scenarios='modifiers'}: DBG: {definition_conf={}} [test_suite?{combining_scenarios='modifiers'}] [suite.py:[LINENR]] +tst {combining_scenarios='modifiers', scenario='foo'}: DBG: {conf={}, scenario='foo'} [test_suite?{combining_scenarios='modifiers', scenario='foo'}] [suite.py:[LINENR]] +tst test_suite: Reserving 3 x bts (candidates: 6) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: a59640b8ba6a373552b24a6f9f65cadd2347bace + addr: 10.42.42.53 + band: GSM-1800 + ipa_unit_id: '7' + label: sysmoCell 5000 + osmo_trx: + clock_reference: external + launch_trx: 'False' + trx_ip: 10.42.42.112 + trx_list: + - max_power_red: '3' + nominal_power: '10' + - max_power_red: '0' + nominal_power: '12' + type: osmo-bts-trx +- _hash: c2feabd082c36a1cdeccb9a5237dfff7dbadb009 + addr: 10.42.42.53 + band: GSM-1800 + ipa_unit_id: '7' + label: sysmoCell 5000 + osmo_trx: + clock_reference: external + launch_trx: 'False' + trx_ip: 10.42.42.112 + trx_list: + - nominal_power: '10' + - max_power_red: '1' + nominal_power: '12' + type: osmo-bts-trx +- _hash: 07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9 + addr: 10.42.42.114 + band: GSM-1800 + ipa_unit_id: '1' + label: sysmoBTS 1002 + type: sysmo + [resource.py:[LINENR]] +tst test_suite: Reserving 1 x ip_address (candidates: 3) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: cde1debf28f07f94f92c761b4b7c6bf35785ced4 + addr: 10.42.42.1 + [resource.py:[LINENR]] +tst test_suite: Reserving 2 x modem (candidates: 16) [resource.py:[LINENR]] +tst test_suite: DBG: Picked - _hash: 19c69e45aa090fb511446bd00797690aa82ff52f + imsi: '901700000007801' + ki: D620F48487B1B782DA55DF6717F08FF9 + label: m7801 + path: /wavecom_0 +- _hash: e1a46516a1fb493b2617ab14fc1693a9a45ec254 + imsi: '901700000007802' + ki: 47FDB2D55CE6A10A85ABDAD034A5B7B3 + label: m7802 + path: /wavecom_1 + [resource.py:[LINENR]] +resources(test_suite)={'bts': [{'_hash': 'a59640b8ba6a373552b24a6f9f65cadd2347bace', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.53', + 'band': 'GSM-1800', + 'ipa_unit_id': '7', + 'label': 'sysmoCell 5000', + 'osmo_trx': {'clock_reference': 'external', + 'launch_trx': 'False', + 'trx_ip': '10.42.42.112'}, + 'trx_list': [{'max_power_red': '3', 'nominal_power': '10'}, + {'max_power_red': '0', 'nominal_power': '12'}], + 'type': 'osmo-bts-trx'}, + {'_hash': 'c2feabd082c36a1cdeccb9a5237dfff7dbadb009', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.53', + 'band': 'GSM-1800', + 'ipa_unit_id': '7', + 'label': 'sysmoCell 5000', + 'osmo_trx': {'clock_reference': 'external', + 'launch_trx': 'False', + 'trx_ip': '10.42.42.112'}, + 'trx_list': [{'nominal_power': '10'}, + {'max_power_red': '1', 'nominal_power': '12'}], + 'type': 'osmo-bts-trx'}, + {'_hash': '07d9c8aaa940b674efcbbabdd69f58a6ce4e94f9', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.114', + 'band': 'GSM-1800', + 'ipa_unit_id': '1', + 'label': 'sysmoBTS 1002', + 'type': 'sysmo'}], + 'ip_address': [{'_hash': 'cde1debf28f07f94f92c761b4b7c6bf35785ced4', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'addr': '10.42.42.1'}], + 'modem': [{'_hash': '19c69e45aa090fb511446bd00797690aa82ff52f', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'imsi': '901700000007801', + 'ki': 'D620F48487B1B782DA55DF6717F08FF9', + 'label': 'm7801', + 'path': '/wavecom_0'}, + {'_hash': 'e1a46516a1fb493b2617ab14fc1693a9a45ec254', + '_reserved_by': 'test_suite-[ID_NUM]-[ID_NUM]', + 'imsi': '901700000007802', + 'ki': '47FDB2D55CE6A10A85ABDAD034A5B7B3', + 'label': 'm7802', + 'path': '/wavecom_1'}]} + +--------------------------------------------------------------------- +trial test_suite +--------------------------------------------------------------------- + +---------------------------------------------- +trial test_suite test_suite_params.py +---------------------------------------------- +tst test_suite_params.py:[LINENR]: starting test [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite: DBG: {combining='config'} [suite.py:[LINENR]] +tst {combining_scenarios='config'}: DBG: {definition_conf={}} [test_suite?{combining_scenarios='config'}] [suite.py:[LINENR]] +tst {combining_scenarios='config', scenario='foo'}: DBG: {conf={suite={test_suite={some_suite_global_param='heyho', test_suite_params={one_bool_parameter='true', second_list_parameter=['23', '45']}}}}, scenario='foo'} [test_suite?{combining_scenarios='config', scenario='foo'}] [suite.py:[LINENR]] +tst test_suite_params.py:[LINENR]: SPECIFIC SUITE CONFIG: {'some_suite_global_param': 'heyho', [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: 'test_suite_params': {'one_bool_parameter': 'true', [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: 'second_list_parameter': ['23', '45']}} [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR]: SPECIFIC TEST CONFIG: {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']} [test_suite?test_suite_params.py:[LINENR]] [test_suite_params.py:[LINENR]] +tst test_suite_params.py:[LINENR] Test passed (N.N sec) [test_suite?test_suite_params.py] [test.py:[LINENR]] +--------------------------------------------------------------------- +trial test_suite PASS +--------------------------------------------------------------------- +PASS: test_suite (pass: 1, skip: 6) + skip: hello_world.py + skip: mo_mt_sms.py + skip: mo_sms.py + skip: test_error.py + skip: test_fail.py + skip: test_fail_raise.py + pass: test_suite_params.py (N.N sec) - graceful exit. diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index de5c6df..99671c6 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -1,12 +1,13 @@ #!/usr/bin/env python3 import os +import sys import _prep import shutil from osmo_gsm_tester.core import log, config, util, report from osmo_gsm_tester.core import suite -from osmo_gsm_tester.core.schema import generate_schemas +from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.ENV_CONF = './suite_test' +config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0])) example_trial_dir = os.path.join('test_trial_tmp') @@ -90,6 +91,16 @@ results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) +print('- test with suite-specific config') +trial = FakeTrial() +scenario = config.Scenario('foo', 'bar') +scenario['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} +s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +s.reserve_resources() +print(repr(s.reserved_resources)) +results = s.run_tests('test_suite_params.py') +print(report.suite_to_text(s)) + print('\n- graceful exit.') #deleting generated tmp trial dir: shutil.rmtree(example_trial_dir, ignore_errors=True) diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/test_suite/suite.conf index 925dedb..4b70be8 100644 --- a/selftest/suite_test/test_suite/suite.conf +++ b/selftest/suite_test/test_suite/suite.conf @@ -9,5 +9,11 @@ modem: - times: 2 +schema: + some_suite_global_param: 'str' + test_suite_params: + one_bool_parameter: 'bool_str' + second_list_parameter: ['uint'] + defaults: timeout: 60s diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/test_suite/test_suite_params.py new file mode 100644 index 0000000..2cb89d7 --- /dev/null +++ b/selftest/suite_test/test_suite/test_suite_params.py @@ -0,0 +1,25 @@ +from osmo_gsm_tester.testenv import * +import pprint + +print('starting test') + +suite_config = tenv.config_suite_specific() +print('SPECIFIC SUITE CONFIG: ' + pprint.pformat(suite_config)) + +test_config = tenv.config_test_specific() +print('SPECIFIC TEST CONFIG: ' + pprint.pformat(test_config)) + +some_suite_global_param = suite_config.get('some_suite_global_param', '') +assert some_suite_global_param == 'heyho' + +assert suite_config[tenv.test().module_name()] == test_config + +one_bool_parameter = test_config.get('one_bool_parameter', '') +assert one_bool_parameter == 'true' + +second_list_parameter = test_config.get('second_list_parameter', []) +assert len(second_list_parameter) == 2 +assert int(second_list_parameter[0]) == 23 +assert int(second_list_parameter[1]) == 45 + +#print('checks successful') diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 0b21e70..9055c5b 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -325,6 +325,27 @@ nest(None, config, schema) +def config_to_schema_def(src, key_prefix): + 'Converts a yaml parsed config into a schema dictionary used by validate()' + if util.is_dict(src): + out_dict = {} + for key, val in src.items(): + list_token = '' + dict_token = '' + if util.is_list(val): + list_token = '[]' + assert len(val) == 1 + val = val[0] + if util.is_dict(val): + dict_token = '.' + tmp_out = config_to_schema_def(val, "%s%s%s%s" %(key_prefix, key, list_token, dict_token)) + out_dict = {**out_dict, **tmp_out} + return out_dict + + # base case: string + return {key_prefix: str(src)} + + def generate_schemas(): "Generate supported schemas dynamically from objects" obj_dir = '%s/../obj/' % os.path.dirname(os.path.abspath(__file__)) @@ -366,12 +387,13 @@ """Register schema attributes to configure all instances of an object class. For instance: register_resource_schema_attributes('bsc', {'net.codec_list[]': schema.CODEC}) """ - global _CONFIG_SCHEMA + global _CONFIG_SCHEMA, _ALL_SCHEMA tmpdict = {} for key, val in obj_attr_dict.items(): new_key = '%s.%s' % (obj_class_str, key) tmpdict[new_key] = val combine(_CONFIG_SCHEMA, tmpdict) + _ALL_SCHEMA = None # reset _ALL_SCHEMA so it is re-generated next time it's requested. def get_resources_schema(): return _RESOURCES_SCHEMA; diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 1bd6a63..81aab3e 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -38,8 +38,11 @@ CONF_FILENAME = 'suite.conf' def __init__(self, suite_dir): + self._suite_name = os.path.basename(suite_dir) + super().__init__(log.C_CNF, self._suite_name) self.suite_dir = suite_dir - super().__init__(log.C_CNF, os.path.basename(self.suite_dir)) + self.conf = None + self._schema = None self.read_conf() def read_conf(self): @@ -47,8 +50,12 @@ if not os.path.isdir(self.suite_dir): raise RuntimeError('No such directory: %r' % self.suite_dir) self.conf = config.read(os.path.join(self.suite_dir, - SuiteDefinition.CONF_FILENAME), - schema.get_all_schema()) + SuiteDefinition.CONF_FILENAME)) + # Drop schema part since it's dynamically defining content, makes no sense to validate it. + self._schema = self.conf.pop('schema', {}) + sdef = schema.config_to_schema_def(self._schema, "%s." % self._suite_name) + schema.register_config_schema('suite', sdef) + schema.validate(self.conf, schema.get_all_schema()) self.load_test_basenames() def load_test_basenames(self): @@ -58,6 +65,7 @@ continue self.test_basenames.append(basename) + class SuiteRun(log.Origin): UNKNOWN = 'UNKNOWN' PASS = 'PASS' @@ -79,6 +87,10 @@ self.status = SuiteRun.UNKNOWN self.load_tests() + def suite_name(self): + 'Return name of suite without scenarios' + return self.definition.name() + def trial(self): return self._trial @@ -130,6 +142,9 @@ self._config = self.combined('config', False) return self._config + def config_suite_specific(self): + return self.config().get('suite', {}).get(self.suite_name(), {}) + def resource_pool(self): return self.resources_pool diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py index 8ab124b..7e03b6c 100644 --- a/src/osmo_gsm_tester/core/test.py +++ b/src/osmo_gsm_tester/core/test.py @@ -49,6 +49,11 @@ self.log_target = None self._report_stdout = None + def module_name(self): + 'Return test name without trailing .py' + assert self.basename.endswith('.py') + return self.basename[:-3] + def get_run_dir(self): if self._run_dir is None: self._run_dir = util.Dir(self.suite_run.get_run_dir().new_dir(self._name)) diff --git a/src/osmo_gsm_tester/testenv.py b/src/osmo_gsm_tester/testenv.py index 42288aa..789e291 100644 --- a/src/osmo_gsm_tester/testenv.py +++ b/src/osmo_gsm_tester/testenv.py @@ -141,6 +141,12 @@ MainLoop.unregister_poll_func(self.poll) self.test_import_modules_cleanup() + def config_suite_specific(self): + return self.suite_run.config_suite_specific() + + def config_test_specific(self): + return self.suite_run.config_suite_specific().get(self._test.module_name(), {}) + def prompt(self, *msgs, **msg_details): 'ask for user interaction. Do not use in tests that should run automatically!' if msg_details: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18088 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: Idbe99a35993d193cd97059feb980e61ff14c67ad Gerrit-Change-Number: 18088 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:06:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:06:02 +0000 Subject: Change in osmo-gsm-tester[master]: suites: 4g: Parametrize handover.py test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 ) Change subject: suites: 4g: Parametrize handover.py test ...................................................................... suites: 4g: Parametrize handover.py test Change-Id: I7de5acdaa6b905e52655786758bd51490add1d2b --- A sysmocom/scenarios/suite-4g at .conf M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/suite.conf 3 files changed, 47 insertions(+), 19 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sysmocom/scenarios/suite-4g at .conf b/sysmocom/scenarios/suite-4g at .conf new file mode 100644 index 0000000..6c36e4c --- /dev/null +++ b/sysmocom/scenarios/suite-4g at .conf @@ -0,0 +1,6 @@ +config: + suite: + 4g: + handover: + duration: ${param1} + threshold: ${param2} diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index 25b424b..a503465 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -1,10 +1,32 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -epc = suite.epc() -enb = suite.enb() -ue = suite.modem() -iperf3srv = suite.iperf3srv({'addr': epc.tun_addr()}) +import time + +test_config = tenv.config_test_specific() +duration = int(test_config.get('duration', 0)) # 0 = one HO loop +threshold = int(test_config.get('threshold', 2)) + +import pprint +print("TEST_CONFIG:\n" + pprint.pformat(test_config)) + +# attenuation from 0 to 10, then back to 0 +cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) +# attenuation from 10 to 0, then back to 10 +cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) + +def do_one_ho_loop(rfemu_cell1, rfemu_cell2): + step = 0 + while step < len(cell1_att_li): + rfemu_cell1.set_attenuation(cell1_att_li[step]) + rfemu_cell2.set_attenuation(cell2_att_li[step]) + step += 1 + sleep(1) + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) iperf3srv.set_run_node(epc.run_node()) iperf3cli = iperf3srv.create_client() iperf3cli.set_run_node(ue.run_node()) @@ -21,7 +43,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns(), 30) +proc = iperf3cli.prepare_test_proc(False, ue.netns(), duration + 30) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -30,22 +52,17 @@ rfemu_cell1 = enb.get_rfemu(0) rfemu_cell2 = enb.get_rfemu(1) -# attenuation from 0 to 10, then back to 0 -cell1_att_li = list(range(0, 11, 1)) + list(range(9, -1, -1)) -# attenuation from 10 to 0, then back to 10 -cell2_att_li = list(range(10, 0, -1)) + list(range(0, 11, 1)) - +print('Iterating for %d seconds to produce at least %d handovers...' % (duration, threshold)) try: proc.launch() - step = 0 - while step < len(cell1_att_li): - rfemu_cell1.set_attenuation(cell1_att_li[step]) - rfemu_cell2.set_attenuation(cell2_att_li[step]) - step += 1 - sleep(1) + t_end = time.time() + duration + if duration == 0: + t_end += 1 # allow loop to run once + while time.time() < t_end: + do_one_ho_loop(rfemu_cell1, rfemu_cell2) num_handovers = ue.get_counter('handover_success') - if num_handovers != 2: - raise Exception('Wrong number of handovers %d vs expected 2' % num_handovers) + if num_handovers < threshold: + raise Exception('Wrong number of handovers %d < threshold %d during %d seconds' % (num_handovers, threshold, duration)) except Exception as e: try: proc.terminate() # make sure we always terminate the process @@ -53,7 +70,7 @@ print("Exception while terminating process %r" % repr(process)) raise e -rest_str = 'Got %d successful handovers' % num_handovers +rest_str = 'Got %d successful handovers (>= %d) during %d seconds' % (num_handovers, threshold, duration) print(res_str) test.set_report_stdout(res_str) proc.terminate() diff --git a/sysmocom/suites/4g/suite.conf b/sysmocom/suites/4g/suite.conf index e439e99..fbd81b6 100644 --- a/sysmocom/suites/4g/suite.conf +++ b/sysmocom/suites/4g/suite.conf @@ -8,5 +8,10 @@ features: - 4g +schema: + handover: + duration: 'duration' + threshold: 'uint' + defaults: timeout: 180s -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18089 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: I7de5acdaa6b905e52655786758bd51490add1d2b Gerrit-Change-Number: 18089 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:13:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:13:23 +0000 Subject: Change in osmo-gsm-tester[master]: ms_driver: Fix typos after recent refactorings References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 ) Change subject: ms_driver: Fix typos after recent refactorings ...................................................................... ms_driver: Fix typos after recent refactorings Change-Id: Id9709743648d60792ec64c97ab1bc6811c4e3e1e --- M src/osmo_gsm_tester/obj/ms_driver.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/02/18102/1 diff --git a/src/osmo_gsm_tester/obj/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py index c7c1c24..8aecbc8 100644 --- a/src/osmo_gsm_tester/obj/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -67,7 +67,7 @@ """ # Get the base directory for the virtphy/mobile application - inst = util.Dir(os.path.abspath(self._testenv.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self._testenv.suite().trial().get_inst('osmocom-bb'))) # Assume these are dynamically linked and verify there is a lib dir. lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 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: Id9709743648d60792ec64c97ab1bc6811c4e3e1e Gerrit-Change-Number: 18102 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:28:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:28:48 +0000 Subject: Change in osmo-gsm-tester[master]: ms_driver: Fix typos after recent refactorings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 ) Change subject: ms_driver: Fix typos after recent refactorings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 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: Id9709743648d60792ec64c97ab1bc6811c4e3e1e Gerrit-Change-Number: 18102 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 15:28:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:28:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 15:28:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms_driver: Fix typos after recent refactorings In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 ) Change subject: ms_driver: Fix typos after recent refactorings ...................................................................... ms_driver: Fix typos after recent refactorings Change-Id: Id9709743648d60792ec64c97ab1bc6811c4e3e1e --- M src/osmo_gsm_tester/obj/ms_driver.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_driver.py b/src/osmo_gsm_tester/obj/ms_driver.py index c7c1c24..8aecbc8 100644 --- a/src/osmo_gsm_tester/obj/ms_driver.py +++ b/src/osmo_gsm_tester/obj/ms_driver.py @@ -67,7 +67,7 @@ """ # Get the base directory for the virtphy/mobile application - inst = util.Dir(os.path.abspath(self._testenv.trial.get_inst('osmocom-bb'))) + inst = util.Dir(os.path.abspath(self._testenv.suite().trial().get_inst('osmocom-bb'))) # Assume these are dynamically linked and verify there is a lib dir. lib = inst.child('lib') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18102 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: Id9709743648d60792ec64c97ab1bc6811c4e3e1e Gerrit-Change-Number: 18102 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 15:46:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 7 May 2020 15:46:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285 to look at the new patch set (#4). Change subject: bts: Add RTP payload testing to performance tests ...................................................................... bts: Add RTP payload testing to performance tests Add negotiation of RTP Ports for both directions and integrate RTP emulation to simulate actual traffic. Change-Id: I21a610533d5be2e1647cc6a72423e056b39d1217 Related: OS#4365 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_perf.ttcn M bts/gen_links.sh M bts/regen_makefile.sh M library/Misc_Helpers.ttcn 5 files changed, 293 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/17285/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21a610533d5be2e1647cc6a72423e056b39d1217 Gerrit-Change-Number: 17285 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 16:40:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 16:40:42 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 ) Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 76 insertions(+), 108 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/18103/1 diff --git a/contrib/jenkins-run.sh b/contrib/jenkins-run.sh index 4a76c09..3962766 100755 --- a/contrib/jenkins-run.sh +++ b/contrib/jenkins-run.sh @@ -21,7 +21,7 @@ # jenkins build job. # On failure, first clean up below and then return the exit code. exit_code="1" -if python3 -u "$(which osmo-gsm-tester.py)" "$trial_dir" $OSMO_GSM_TESTER_OPTS ; then +if python3 -u "$(which osmo-gsm-tester.py)" -c "$base/../sysmocom " "$trial_dir" $OSMO_GSM_TESTER_OPTS ; then exit_code="0" fi diff --git a/doc/examples/2g_osmocom/README.md b/doc/examples/2g_osmocom/README.md new file mode 100644 index 0000000..47b0737 --- /dev/null +++ b/doc/examples/2g_osmocom/README.md @@ -0,0 +1,22 @@ +This a sample 2G test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/2g_osmocom/README.txt b/doc/examples/2g_osmocom/README.txt deleted file mode 100644 index 4c869ca..0000000 --- a/doc/examples/2g_osmocom/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a sample gsm test suite configured and ready to use. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/README.md b/doc/examples/4g_srsLTE/README.md new file mode 100644 index 0000000..b577035 --- /dev/null +++ b/doc/examples/4g_srsLTE/README.md @@ -0,0 +1,22 @@ +This a sample 4G test suite configured and ready to use srsLTE stack. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/README.txt b/doc/examples/4g_srsLTE/README.txt deleted file mode 100644 index 6840801..0000000 --- a/doc/examples/4g_srsLTE/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a sample 4G test suite configured and ready to use srsLTE stack. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 483fd8c..3f4bde1 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -185,12 +185,13 @@ The osmo-gsm-tester looks for configuration files in various standard directories in this order: +- '.' (Current Working Directory) - '$HOME/.config/osmo-gsm-tester/' - '/usr/local/etc/osmo-gsm-tester/' - '/etc/osmo-gsm-tester/' -The config location can also be set by an environment variable -'$OSMO_GSM_TESTER_CONF', which then overrides the above locations. +The config location can also be set through '-c' command line argument, which +then overrides the above locations. The osmo-gsm-tester expects to find the following configuration files in a configuration directory: diff --git a/selftest/resource_test/resource_test.py b/selftest/resource_test/resource_test.py index 39a7eb6..b74ba2a 100755 --- a/selftest/resource_test/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -13,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0]), 'conf') +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index 99671c6..fc5f9df 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -7,7 +7,7 @@ from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) example_trial_dir = os.path.join('test_trial_tmp') diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 7bd2fd6..1641fcb 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -124,8 +124,7 @@ parser.add_argument('-R', '--source', dest='source', action='store_true', help='Enable stdout logging of source file') parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration dir (overrides -OSMO_GSM_TESTER_CONF env and default locations)''') + help='''Specify configuration directory path (containing paths.conf)''') args = parser.parse_args() if args.version: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 6730807..98d422f 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -58,9 +58,6 @@ from . import schema from .util import is_dict, is_list, Dir, get_tempdir -ENV_PREFIX = 'OSMO_GSM_TESTER_' -ENV_CONF = os.getenv(ENV_PREFIX + 'CONF') - override_conf = None DEFAULT_CONFIG_LOCATIONS = [ @@ -91,7 +88,9 @@ def _get_config_file(basename, fail_if_missing=True): if override_conf: locations = [ override_conf ] - elif ENV_CONF: + elif os.getenv('OSMO_GSM_TESTER_CONF'): + ENV_CONF = os.getenv('OSMO_GSM_TESTER_CONF') + log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s is deprecated. Rather use -c command line argument!' % ENV_CONF) locations = [ ENV_CONF ] else: locations = DEFAULT_CONFIG_LOCATIONS @@ -123,13 +122,6 @@ def get_configured_path(label, allow_unset=False): global PATHS - env_name = ENV_PREFIX + label.upper() - env_path = os.getenv(env_name) - if env_path: - real_env_path = os.path.realpath(env_path) - log.dbg('Found path', label, 'as', env_path, 'in', '$' + env_name, 'which is', real_env_path, _category=log.C_CNF) - return real_env_path - if PATHS is None: paths_file, found_in = _get_config_file(PATHS_CONF) PATHS = read(paths_file, PATHS_SCHEMA) diff --git a/sysmocom/README.md b/sysmocom/README.md new file mode 100644 index 0000000..1b311a0 --- /dev/null +++ b/sysmocom/README.md @@ -0,0 +1,22 @@ +This a real 2G test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/sysmocom/README.txt b/sysmocom/README.txt deleted file mode 100644 index 76567f2..0000000 --- a/sysmocom/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a real gsm test suite configured and ready to use. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 16:46:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 16:46:41 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 to look at the new patch set (#2). Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 76 insertions(+), 108 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/18103/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 16:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 16:49:47 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18104 ) Change subject: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var ...................................................................... osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var As of osmo-gsm-tester.git Change-Id I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, the enviornment variable OSMO_GSM_TESTER_CONF is deprecated in favour of already existing -c cmd line argument. Let's use it while still providing the docker setup with a way (using same env var name) to modify where the conf dir is to be found inside the docker container (for instance, to provide an external conf dir). Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/04/18104/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index b46fe4c..0473f96 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -132,8 +132,6 @@ VOLUME /data COPY resources.conf /tmp/osmo-gsm-tester/sysmocom/resources.conf -ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/sysmocom - WORKDIR /data CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 71ab0f4..89f7116 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,6 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ @@ -90,6 +91,7 @@ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v "${TRIAL_DIR}:/tmp/trial" \ + -e "OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF}" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ -e "HOST_USER_ID=$(id -u)" \ diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index 059fae7..4a32376 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -43,7 +43,7 @@ chown -R jenkins /tmp/trial/ rc=0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins || rc=$? +su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py -c \"$OSMO_GSM_TESTER_CONF\" /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins || rc=$? # Make trial dir again owned by user running the container: chown -R "${HOST_USER_ID}:${HOST_GROUP_ID}" /tmp/trial/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 Gerrit-Change-Number: 18104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 16:52:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 16:52:05 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 to look at the new patch set (#3). Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 76 insertions(+), 108 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/18103/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 16:54:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 16:54:56 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18104 ) Change subject: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 Gerrit-Change-Number: 18104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 16:54:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:02:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:02:10 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 to look at the new patch set (#4). Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 80 insertions(+), 111 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/18103/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:09:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:09:27 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 to look at the new patch set (#5). Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 81 insertions(+), 111 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/03/18103/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:17:18 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default c... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18105 ) Change subject: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir ...................................................................... jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir As of osmo-gsm-tester.git Change-Id I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, jenkins-run.sh script uses the sysmocom value by default, so let's avoid setting it to simplify stuff. Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 --- M jobs/osmo-gsm-tester_run-gerrit.sh M jobs/osmo-gsm-tester_run-prod.sh M jobs/osmo-gsm-tester_run-rnd.sh 3 files changed, 0 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/05/18105/1 diff --git a/jobs/osmo-gsm-tester_run-gerrit.sh b/jobs/osmo-gsm-tester_run-gerrit.sh index aa0c5d9..74eb7b6 100644 --- a/jobs/osmo-gsm-tester_run-gerrit.sh +++ b/jobs/osmo-gsm-tester_run-gerrit.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" diff --git a/jobs/osmo-gsm-tester_run-prod.sh b/jobs/osmo-gsm-tester_run-prod.sh index 7614d10..a0a2d9e 100644 --- a/jobs/osmo-gsm-tester_run-prod.sh +++ b/jobs/osmo-gsm-tester_run-prod.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" diff --git a/jobs/osmo-gsm-tester_run-rnd.sh b/jobs/osmo-gsm-tester_run-rnd.sh index 0bc7fcb..53e9d4a 100644 --- a/jobs/osmo-gsm-tester_run-rnd.sh +++ b/jobs/osmo-gsm-tester_run-rnd.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 Gerrit-Change-Number: 18105 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:18:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:18:28 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18105 ) Change subject: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 Gerrit-Change-Number: 18105 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 17:18:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:23:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:23:31 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 ) Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 17:23:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:23:34 +0000 Subject: Change in osmo-gsm-tester[master]: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 ) Change subject: Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones ...................................................................... Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an error is logged each time it's used. Same feature is available through "-c" command line parameters, so having the envvar only makes things more complex for no good reason. It cannot yet be completely dropped since some environemnt still make use of it. Give some time to users to adapt their setups. Other environment variables setting some config apths can be dropped since they are not being really used in any setup. Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 --- M contrib/jenkins-run.sh A doc/examples/2g_osmocom/README.md D doc/examples/2g_osmocom/README.txt A doc/examples/4g_srsLTE/README.md D doc/examples/4g_srsLTE/README.txt M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py A sysmocom/README.md D sysmocom/README.txt 12 files changed, 81 insertions(+), 111 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-run.sh b/contrib/jenkins-run.sh index 4a76c09..89ff13f 100755 --- a/contrib/jenkins-run.sh +++ b/contrib/jenkins-run.sh @@ -1,6 +1,8 @@ #!/bin/sh set -e -x base="$PWD" +SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) # this file's directory +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/../sysmocom} time_start="$(date '+%F %T')" @@ -21,7 +23,7 @@ # jenkins build job. # On failure, first clean up below and then return the exit code. exit_code="1" -if python3 -u "$(which osmo-gsm-tester.py)" "$trial_dir" $OSMO_GSM_TESTER_OPTS ; then +if python3 -u "$(which osmo-gsm-tester.py)" -c "$OSMO_GSM_TESTER_CONF" "$trial_dir" $OSMO_GSM_TESTER_OPTS ; then exit_code="0" fi diff --git a/doc/examples/2g_osmocom/README.md b/doc/examples/2g_osmocom/README.md new file mode 100644 index 0000000..47b0737 --- /dev/null +++ b/doc/examples/2g_osmocom/README.md @@ -0,0 +1,22 @@ +This a sample 2G test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/2g_osmocom/README.txt b/doc/examples/2g_osmocom/README.txt deleted file mode 100644 index 4c869ca..0000000 --- a/doc/examples/2g_osmocom/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a sample gsm test suite configured and ready to use. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/README.md b/doc/examples/4g_srsLTE/README.md new file mode 100644 index 0000000..b577035 --- /dev/null +++ b/doc/examples/4g_srsLTE/README.md @@ -0,0 +1,22 @@ +This a sample 4G test suite configured and ready to use srsLTE stack. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/README.txt b/doc/examples/4g_srsLTE/README.txt deleted file mode 100644 index 6840801..0000000 --- a/doc/examples/4g_srsLTE/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a sample 4G test suite configured and ready to use srsLTE stack. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 483fd8c..3f4bde1 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -185,12 +185,13 @@ The osmo-gsm-tester looks for configuration files in various standard directories in this order: +- '.' (Current Working Directory) - '$HOME/.config/osmo-gsm-tester/' - '/usr/local/etc/osmo-gsm-tester/' - '/etc/osmo-gsm-tester/' -The config location can also be set by an environment variable -'$OSMO_GSM_TESTER_CONF', which then overrides the above locations. +The config location can also be set through '-c' command line argument, which +then overrides the above locations. The osmo-gsm-tester expects to find the following configuration files in a configuration directory: diff --git a/selftest/resource_test/resource_test.py b/selftest/resource_test/resource_test.py index 39a7eb6..b74ba2a 100755 --- a/selftest/resource_test/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -13,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0]), 'conf') +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index 99671c6..fc5f9df 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -7,7 +7,7 @@ from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.ENV_CONF = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) example_trial_dir = os.path.join('test_trial_tmp') diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 7bd2fd6..84151b8 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -23,9 +23,9 @@ Examples: -./run_once.py ~/my_trial_package/ -s osmo_trx -./run_once.py ~/my_trial_package/ -c sms_tests:dyn_ts+eu_band+bts_sysmo -./run_once.py ~/my_trial_package/ -c sms_tests/mo_mt_sms:bts_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s osmo_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo +./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx (The names for test suite, scenario and series names used in these examples must be defined by the osmo-gsm-tester configuration.) @@ -124,8 +124,7 @@ parser.add_argument('-R', '--source', dest='source', action='store_true', help='Enable stdout logging of source file') parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration dir (overrides -OSMO_GSM_TESTER_CONF env and default locations)''') + help='''Specify configuration directory path (containing paths.conf)''') args = parser.parse_args() if args.version: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 6730807..98d422f 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -58,9 +58,6 @@ from . import schema from .util import is_dict, is_list, Dir, get_tempdir -ENV_PREFIX = 'OSMO_GSM_TESTER_' -ENV_CONF = os.getenv(ENV_PREFIX + 'CONF') - override_conf = None DEFAULT_CONFIG_LOCATIONS = [ @@ -91,7 +88,9 @@ def _get_config_file(basename, fail_if_missing=True): if override_conf: locations = [ override_conf ] - elif ENV_CONF: + elif os.getenv('OSMO_GSM_TESTER_CONF'): + ENV_CONF = os.getenv('OSMO_GSM_TESTER_CONF') + log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s is deprecated. Rather use -c command line argument!' % ENV_CONF) locations = [ ENV_CONF ] else: locations = DEFAULT_CONFIG_LOCATIONS @@ -123,13 +122,6 @@ def get_configured_path(label, allow_unset=False): global PATHS - env_name = ENV_PREFIX + label.upper() - env_path = os.getenv(env_name) - if env_path: - real_env_path = os.path.realpath(env_path) - log.dbg('Found path', label, 'as', env_path, 'in', '$' + env_name, 'which is', real_env_path, _category=log.C_CNF) - return real_env_path - if PATHS is None: paths_file, found_in = _get_config_file(PATHS_CONF) PATHS = read(paths_file, PATHS_SCHEMA) diff --git a/sysmocom/README.md b/sysmocom/README.md new file mode 100644 index 0000000..1b311a0 --- /dev/null +++ b/sysmocom/README.md @@ -0,0 +1,22 @@ +This a real 2G test suite configured and ready to use. +The only thing missing is a trial dir containing binaries. + +You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line +argument, where DIR is the directory path where this README file resides. + +If you have your trial with binary tar archives in ~/my_trial +you can run the suite for example like this: +``` +osmo-gsm-tester.py -c $DIR ~/my_trial +``` + +Alternatively you can setup this example as default config for your user by +doing something like: +``` +mkdir -p ~/.config +ln -s "$DIR" ~/.config/osmo-gsm-tester +``` + +A ./state dir will be created to store the current osmo-gsm-tester state. If +you prefer not to write to $DIR, set up an own configuration pointing at a +different path (see paths.conf: 'state_dir'). diff --git a/sysmocom/README.txt b/sysmocom/README.txt deleted file mode 100644 index 76567f2..0000000 --- a/sysmocom/README.txt +++ /dev/null @@ -1,30 +0,0 @@ -This a real gsm test suite configured and ready to use. -The only thing missing is a trial dir containing binaries. - -You can point osmo-gsm-tester.py at this config using the OSMO_GSM_TESTER_CONF -environment variable: - - export OSMO_GSM_TESTER_CONF="$PWD" - -When there is no OSMO_GSM_TESTER_CONF set, osmo-gsm-tester will instead look -for conf files in several locations like ~/.config/osmo-gsm-tester, -/usr/local/etc/osmo-gsm-tester, /etc/osmo-gsm-tester. - -If you have your trial with binary tar archives in ~/my_trial -you can run the suite for example like this: - - osmo-gsm-tester.py ~/my_trial - -Specifically, from this dir: - - OSMO_GSM_TESTER_CONF="$PWD" ../src/osmo-gsm-tester.py ~/my_trial - -Alternatively you can setup this example as permanent config using something -like: - - mkdir -p ~/.config - ln -s "$PWD" ~/.config/osmo-gsm-tester - -A ./state dir will be created to store the current osmo-gsm-tester state. If -you prefer not to write to $PWD, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18103 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: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862 Gerrit-Change-Number: 18103 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:23:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:23:57 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default c... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18105 ) Change subject: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 Gerrit-Change-Number: 18105 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 17:23:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:24:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:24:01 +0000 Subject: Change in osmo-ci[master]: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default c... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18105 ) Change subject: jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir ...................................................................... jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir As of osmo-gsm-tester.git Change-Id I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, jenkins-run.sh script uses the sysmocom value by default, so let's avoid setting it to simplify stuff. Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 --- M jobs/osmo-gsm-tester_run-gerrit.sh M jobs/osmo-gsm-tester_run-prod.sh M jobs/osmo-gsm-tester_run-rnd.sh 3 files changed, 0 insertions(+), 9 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/jobs/osmo-gsm-tester_run-gerrit.sh b/jobs/osmo-gsm-tester_run-gerrit.sh index aa0c5d9..74eb7b6 100644 --- a/jobs/osmo-gsm-tester_run-gerrit.sh +++ b/jobs/osmo-gsm-tester_run-gerrit.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" diff --git a/jobs/osmo-gsm-tester_run-prod.sh b/jobs/osmo-gsm-tester_run-prod.sh index 7614d10..a0a2d9e 100644 --- a/jobs/osmo-gsm-tester_run-prod.sh +++ b/jobs/osmo-gsm-tester_run-prod.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" diff --git a/jobs/osmo-gsm-tester_run-rnd.sh b/jobs/osmo-gsm-tester_run-rnd.sh index 0bc7fcb..53e9d4a 100644 --- a/jobs/osmo-gsm-tester_run-rnd.sh +++ b/jobs/osmo-gsm-tester_run-rnd.sh @@ -1,9 +1,6 @@ #!/bin/sh set -e -x -# On our hardware, we actually use the sysmocom configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom" - # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85 Gerrit-Change-Number: 18105 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:24:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:24:08 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18104 ) Change subject: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 Gerrit-Change-Number: 18104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 17:24:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:24:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:24:11 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18104 ) Change subject: osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var ...................................................................... osmo-gsm-tester: Pass conf dir through -c cmd line arg instead of env var As of osmo-gsm-tester.git Change-Id I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, the enviornment variable OSMO_GSM_TESTER_CONF is deprecated in favour of already existing -c cmd line argument. Let's use it while still providing the docker setup with a way (using same env var name) to modify where the conf dir is to be found inside the docker container (for instance, to provide an external conf dir). Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index b46fe4c..0473f96 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -132,8 +132,6 @@ VOLUME /data COPY resources.conf /tmp/osmo-gsm-tester/sysmocom/resources.conf -ENV OSMO_GSM_TESTER_CONF /tmp/osmo-gsm-tester/sysmocom - WORKDIR /data CMD ["/bin/sh", "-c", "/data/osmo-gsm-tester-master.sh >/data/osmo-gsm-tester.log 2>&1"] diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 71ab0f4..89f7116 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,6 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ @@ -90,6 +91,7 @@ --ip 172.18.50.2 \ -v $VOL_BASE_DIR/ogt-master:/data \ -v "${TRIAL_DIR}:/tmp/trial" \ + -e "OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF}" \ -e "OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS}" \ -e "SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME}" \ -e "HOST_USER_ID=$(id -u)" \ diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index 059fae7..4a32376 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -43,7 +43,7 @@ chown -R jenkins /tmp/trial/ rc=0 -su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins || rc=$? +su -c "python3 -u /tmp/osmo-gsm-tester/src/osmo-gsm-tester.py -c \"$OSMO_GSM_TESTER_CONF\" /tmp/trial $OSMO_GSM_TESTER_OPTS" -m jenkins || rc=$? # Make trial dir again owned by user running the container: chown -R "${HOST_USER_ID}:${HOST_GROUP_ID}" /tmp/trial/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I54ea9dc4d0bb205debf312f5a37053bc60cfcdb7 Gerrit-Change-Number: 18104 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 17:38:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 7 May 2020 17:38:58 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Update help description and remove old nope cmdli... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 ) Change subject: osmo-gsm-tester.py: Update help description and remove old nope cmdline arg ...................................................................... osmo-gsm-tester.py: Update help description and remove old nope cmdline arg Change-Id: I879a5c30c185905614c2c5a7d54eb33817c94c31 --- M src/osmo-gsm-tester.py 1 file changed, 20 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/06/18106/1 diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 84151b8..fb5574b 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -1,10 +1,11 @@ #!/usr/bin/env python3 -# osmo_gsm_tester: invoke a single test run +# osmo-gsm-tester.py: main program file # -# Copyright (C) 2016-2017 by sysmocom - s.f.m.c. GmbH +# Copyright (C) 2016-2020 sysmocom - s.f.m.c. GmbH # # Author: Neels Hofmeyr +# Author: Pau Espin Pedrol # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as @@ -19,7 +20,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -'''osmo_gsm_tester: invoke a single test run. +'''osmo-gsm-tester.py: invoke a single test run Examples: @@ -27,12 +28,12 @@ ./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo ./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx -(The names for test suite, scenario and series names used in these examples -must be defined by the osmo-gsm-tester configuration.) +(The names for test suites and scenarios used in these examples must be defined +by the osmo-gsm-tester configuration.) -A trial package contains binaries (usually built by a jenkins job) of GSM -software, including the core network programs as well as binaries for the -various BTS models. +A trial package contains binaries (usually built by a jenkins job) of software +to be run by Osmo-Gsm-Tester, like core network programs as well as binaries for +the various BTS models on a 2G network. A test suite defines specific actions to be taken and verifies their outcome. Such a test suite may leave certain aspects of a setup undefined, e.g. it may @@ -50,19 +51,17 @@ strictly defined by a scenario, which will be resolved automatically, e.g. by choosing the first available item that matches the other constraints. -A test run thus needs to define: a trial package containing built binaries, a -combination of scenarios to run a suite in, and a test suite to launch in the -given scenario with the given binaries. +A test run thus needs to define: +* A trial package containing built binaries +* A set of test suites, each with its combinations of scenarios +* A configuration directory specifying sets of resources, default configurations + and paths on where to find suites, scenarios, etc. -The osmo-gsm-tester configuration may define one or more series as a number of -suite:scenario combinations. So instead of a specific suite:scenario -combination, the name of such a series can be passed. - -If neither a combination or series is specified, the default series will be run -as defined in the osmo-gsm-tester configuration. +If no combination of suites and scenarios is provided, the default list of +suites will be run as defined in the osmo-gsm-tester configuration. The scenarios and suites run for a given trial will be recorded in a trial -package's directory: Upon launch, a 'test_package/run.' directory will be +package's directory: Upon launch, a '$trial_dir/run.' directory will be created, which will collect logs and reports. ''' @@ -102,14 +101,13 @@ # is easiest to maintain. parser.add_argument('-V', '--version', action='store_true', help='Show version') + parser.add_argument('-c', '--conf-dir', dest='conf_dir', + help='''Specify configuration directory path (containing paths.conf)''') parser.add_argument('trial_package', help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', help='''A suite-scenarios combination like suite:scenario+scenario''') - parser.add_argument('-S', '--series', dest='series', action='append', - help='''A series of suite-scenarios combinations -as defined in the osmo-gsm-tester configuration''') parser.add_argument('-t', '--test', dest='test', action='append', help='''Run only tests matching this name. Any test name that contains the given string is run. @@ -123,8 +121,6 @@ help='Enable stdout logging of tracebacks') parser.add_argument('-R', '--source', dest='source', action='store_true', help='Enable stdout logging of source file') - parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration directory path (containing paths.conf)''') args = parser.parse_args() if args.version: @@ -132,7 +128,6 @@ exit(0) print('combinations:', repr(args.suite_scenario)) - print('series:', repr(args.series)) print('trial:', repr(args.trial_package)) print('tests:', repr(args.test)) @@ -149,8 +144,6 @@ config.override_conf = args.conf_dir combination_strs = list(args.suite_scenario or []) - # for series in args.series: - # combination_strs.extend(config.get_series(series)) if not combination_strs: combination_strs = config.read_config_file(config.DEFAULT_SUITES_CONF, if_missing_return=[]) @@ -162,7 +155,7 @@ if not combination_strs: - raise RuntimeError('Need at least one suite:scenario or series to run') + raise RuntimeError('Need at least one suite:scenario to run') # Generate supported schemas dynamically from objects: generate_schemas() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 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: I879a5c30c185905614c2c5a7d54eb33817c94c31 Gerrit-Change-Number: 18106 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 21:56:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 21:56:53 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Don't require C99 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18107 ) Change subject: prbs-tool: Don't require C99 ...................................................................... prbs-tool: Don't require C99 from a Debian8 build: [ 256s] prbs-tool.c: In function 'apply_errors_prbs': [ 256s] prbs-tool.c:190:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 256s] for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { [ 256s] ^ Change-Id: I8541fce50405525efffb12210a269e0ab8a687ab --- M utils/prbs-tool.c 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/07/18107/1 diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c index 0211453..664dc98 100644 --- a/utils/prbs-tool.c +++ b/utils/prbs-tool.c @@ -187,7 +187,9 @@ /* apply any intentional errors to the output of the PRBS sequence */ static void apply_errors_prbs(struct pchan_data *pchan) { - for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { + int i; + + for (i = 0; i < sizeof(pchan->prbs_u)-4; i++) { pchan->sim_flip_codec_bits.i++; if (pchan->sim_flip_codec_bits.i == pchan->sim_flip_codec_bits.nth_bit) { pchan->sim_flip_codec_bits.i = 0; @@ -237,7 +239,8 @@ rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); OSMO_ASSERT(rc == 0); #if 0 - for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) + int i; + for (i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); dec(pchan->bursts); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8541fce50405525efffb12210a269e0ab8a687ab Gerrit-Change-Number: 18107 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 21:58:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 21:58:58 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... Patch Set 3: Code-Review+1 leaving the final word up to daniel -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 21:58:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 21:59:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 21:59:13 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18101 ) Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 07 May 2020 21:59:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:00:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:00:26 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC link status. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC link status. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 07 May 2020 22:00:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:00:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:00:39 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18100 ) Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 07 May 2020 22:00:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:01:42 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... Patch Set 1: I'd prefer to have the link and a more explicit comment also in the code -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 07 May 2020 22:01:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:02:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:02:02 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 07 May 2020 22:02:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:02:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:02:32 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Don't require C99 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18107 ) Change subject: prbs-tool: Don't require C99 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8541fce50405525efffb12210a269e0ab8a687ab Gerrit-Change-Number: 18107 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 07 May 2020 22:02:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:02:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 7 May 2020 22:02:36 +0000 Subject: Change in osmo-trx[master]: prbs-tool: Don't require C99 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18107 ) Change subject: prbs-tool: Don't require C99 ...................................................................... prbs-tool: Don't require C99 from a Debian8 build: [ 256s] prbs-tool.c: In function 'apply_errors_prbs': [ 256s] prbs-tool.c:190:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode [ 256s] for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { [ 256s] ^ Change-Id: I8541fce50405525efffb12210a269e0ab8a687ab --- M utils/prbs-tool.c 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/utils/prbs-tool.c b/utils/prbs-tool.c index 0211453..664dc98 100644 --- a/utils/prbs-tool.c +++ b/utils/prbs-tool.c @@ -187,7 +187,9 @@ /* apply any intentional errors to the output of the PRBS sequence */ static void apply_errors_prbs(struct pchan_data *pchan) { - for (int i = 0; i < sizeof(pchan->prbs_u)-4; i++) { + int i; + + for (i = 0; i < sizeof(pchan->prbs_u)-4; i++) { pchan->sim_flip_codec_bits.i++; if (pchan->sim_flip_codec_bits.i == pchan->sim_flip_codec_bits.nth_bit) { pchan->sim_flip_codec_bits.i = 0; @@ -237,7 +239,8 @@ rc = gsm0503_tch_fr_encode(pchan->bursts, pchan->tch_data, GSM_FR_BYTES, 1); OSMO_ASSERT(rc == 0); #if 0 - for (int i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) + int i; + for (i = 0; i < sizeof(pchan->bursts); i += GSM_BURST_BITS) printf("\t%s\n", osmo_ubit_dump(pchan->bursts + i, GSM_BURST_BITS)); dec(pchan->bursts); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18107 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I8541fce50405525efffb12210a269e0ab8a687ab Gerrit-Change-Number: 18107 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 22:42:44 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 7 May 2020 22:42:44 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 to look at the new patch set (#2). Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... stream: Attempt to workaround kernel ABI breakage See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/sctp.h?id=b6e6b5f1da7e8d092f86a4351802c27c0170c5a5 and https://marc.info/?l=linux-sctp&m=158729301516157&w=2 A kernel structure changed size, a new field was added at the end. Attempt to submit with the known "old" size. Signed-off-by: Sylvain Munaut Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 --- M src/stream.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/18097/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:43:58 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: Hello pespin, daniel, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 to look at the new patch set (#4). Change subject: stats: Report per channel type load to statsd counters. ...................................................................... stats: Report per channel type load to statsd counters. Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_data.c 3 files changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/18091/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:43:58 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 to look at the new patch set (#3). Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... stats: Remove dots from the end of stats descriptions. Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 --- M src/osmo-bsc/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/18101/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:43:58 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 to look at the new patch set (#5). Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... stats: Add a stats gauge for the MSC links count. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 73 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:43:58 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 to look at the new patch set (#4). Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... stats: Export connected OML/RSL links count per BTS and BSC. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/18093/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:44:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:44:01 +0000 Subject: Change in osmo-bsc[master]: stats: Fix stat group index for BTS stats. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18108 ) Change subject: stats: Fix stat group index for BTS stats. ...................................................................... stats: Fix stat group index for BTS stats. osmo_stat_item_group_alloc() should be initialized with the BTS number. Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 --- M src/osmo-bsc/gsm_data.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/18108/1 diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 8b4cd4c..23a4e61 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -832,7 +832,7 @@ talloc_free(bts); return NULL; } - bts->bts_statg = osmo_stat_item_group_alloc(bts, &bts_statg_desc, 0); + bts->bts_statg = osmo_stat_item_group_alloc(bts, &bts_statg_desc, bts->nr); /* create our primary TRX */ bts->c0 = gsm_bts_trx_alloc(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 Gerrit-Change-Number: 18108 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:44:02 +0000 Subject: Change in osmo-bsc[master]: stats: report a number of configured BTS to a stats gauge. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18109 ) Change subject: stats: report a number of configured BTS to a stats gauge. ...................................................................... stats: report a number of configured BTS to a stats gauge. It's useful to know how many BTS are actually configured to compare it to a number of connected BTS's. Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c 3 files changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/18109/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 11a4b5f..0d0ce28 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1554,6 +1554,11 @@ bsc_ctr_description, }; +/* Constants for the BSC stats */ +enum { + BSC_STAT_NUM_BTS_TOTAL, +}; + struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ @@ -1580,7 +1585,9 @@ struct osmo_timer_list congestion_check_timer; } hodec2; + /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *bsc_ctrs; + struct osmo_stat_item_group *bsc_statg; unsigned int num_bts; struct llist_head bts_list; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 18776f3..d08e9c8 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -44,6 +44,18 @@ #include #include +static const struct osmo_stat_item_desc bsc_stat_desc[] = { + { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc bsc_statg_desc = { + .group_name_prefix = "bsc", + .group_description = "base station controller", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bsc_stat_desc), + .item_desc = bsc_stat_desc, +}; + int bsc_shutdown_net(struct gsm_network *net) { struct gsm_bts *bts; @@ -268,6 +280,12 @@ talloc_free(net); return NULL; } + net->bsc_statg = osmo_stat_item_group_alloc(net, &bsc_statg_desc, 0); + if (!net->bsc_statg) { + rate_ctr_group_free(net->bsc_ctrs); + talloc_free(net); + return NULL; + } INIT_LLIST_HEAD(&net->bts_rejected); gsm_net_update_ctype(net); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index f8bcee9..0fd462f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2077,6 +2077,7 @@ /* allocate a new one */ bts = bsc_bts_alloc_register(gsmnet, GSM_BTS_TYPE_UNKNOWN, HARDCODED_BSIC); + osmo_stat_item_inc(gsmnet->bsc_statg->items[BSC_STAT_NUM_BTS_TOTAL], 1); /* * Initialize bts->acc_ramp here. Else we could segfault while * processing a configuration file with ACC ramping settings. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c Gerrit-Change-Number: 18109 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:44:02 +0000 Subject: Change in osmo-bsc[master]: Fix a comment for the handle_unitdata_from_msc() function. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18110 ) Change subject: Fix a comment for the handle_unitdata_from_msc() function. ...................................................................... Fix a comment for the handle_unitdata_from_msc() function. Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/10/18110/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 50b03ce..08efae4 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -143,14 +143,14 @@ return NULL; } -/* Send data to MSC, use the connection id which MSC it is */ +/* Received data from MSC, use the connection id which MSC it is */ static int handle_data_from_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { msg->l3h = msgb_l2(msg); return bsc_handle_dt(conn, msg, msgb_l2len(msg)); } -/* Sent unitdata to MSC, use the point code to determine which MSC it is */ +/* Received unitdata from MSC, use the point code to determine which MSC it is */ static int handle_unitdata_from_msc(const struct osmo_sccp_addr *msc_addr, struct msgb *msg, const struct osmo_sccp_user *scu) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 Gerrit-Change-Number: 18110 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:44:02 +0000 Subject: Change in osmo-bsc[master]: Fix indent whitespace and log message. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18111 ) Change subject: Fix indent whitespace and log message. ...................................................................... Fix indent whitespace and log message. Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/11/18111/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 1ba490f..e79ce9d 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1102,14 +1102,14 @@ header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { - LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u\n", sizeof(*header), length); - LOGP(DMSC, LOGL_ERROR, "hex: %s\n", osmo_hexdump(msg->l3h, length)); - return -1; + LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", + sizeof(*header), length, osmo_hexdump(msg->l3h, length)); + return -1; } if (header->length > length - sizeof(*header)) { - LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit: header: %u length: %u\n", header->length, length); - LOGP(DMSC, LOGL_ERROR, "hex: %s\n", osmo_hexdump(msg->l3h, length)); + LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", + header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 Gerrit-Change-Number: 18111 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 7 23:44:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 7 May 2020 23:44:02 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... stats: Add counters for received BSSMAP messages. Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/18112/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index f8fb0f0..e241e59 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -56,6 +56,23 @@ MSC_CON_TYPE_LOCAL, }; +/* Constants for the MSC rate counters */ +enum { + MSC_CTR_BSSMAP_NUM_RX_UDT_RESET_ACKNOWLEDGE, + MSC_CTR_BSSMAP_NUM_RX_UDT_RESET, + MSC_CTR_BSSMAP_NUM_RX_UDT_PAGING, + MSC_CTR_BSSMAP_NUM_RX_UDT_UNKNOWN, + MSC_CTR_BSSMAP_NUM_RX_DT1_CLEAR_CMD, + MSC_CTR_BSSMAP_NUM_RX_DT1_CIPHER_MODE_CMD, + MSC_CTR_BSSMAP_NUM_RX_DT1_ASSIGMENT_RQST, + MSC_CTR_BSSMAP_NUM_RX_DT1_LCLS_CONNECT_CTRL, + MSC_CTR_BSSMAP_NUM_RX_DT1_HANDOVER_CMD, + MSC_CTR_BSSMAP_NUM_RX_DT1_CLASSMARK_RQST, + MSC_CTR_BSSMAP_NUM_RX_DT1_UNKNOWN, + MSC_CTR_BSSMAP_NUM_RX_DTAP_MSG, + MSC_CTR_BSSMAP_NUM_RX_DTAP_ERROR, +}; + /* Constants for the MSC stats */ enum { MSC_STAT_NUM_MSC_LINKS_ACTIVE, diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index e79ce9d..b1db851 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1018,15 +1018,19 @@ switch (msg->l4h[0]) { case BSS_MAP_MSG_RESET_ACKNOWLEDGE: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_RESET_ACKNOWLEDGE]); ret = bssmap_handle_reset_ack(msc, msg, length); break; case BSS_MAP_MSG_RESET: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_RESET]); ret = bssmap_handle_reset(msc, msg, length); break; case BSS_MAP_MSG_PAGING: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_PAGING]); ret = bssmap_handle_paging(msc, msg, length); break; default: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Received unimplemented BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l4h[0])); break; @@ -1050,24 +1054,31 @@ switch (msg->l4h[0]) { case BSS_MAP_MSG_CLEAR_CMD: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_CLEAR_CMD]); ret = bssmap_handle_clear_cmd(conn, msg, length); break; case BSS_MAP_MSG_CIPHER_MODE_CMD: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_CIPHER_MODE_CMD]); ret = bssmap_handle_cipher_mode(conn, msg, length); break; case BSS_MAP_MSG_ASSIGMENT_RQST: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_ASSIGMENT_RQST]); ret = bssmap_handle_assignm_req(conn, msg, length); break; case BSS_MAP_MSG_LCLS_CONNECT_CTRL: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_LCLS_CONNECT_CTRL]); ret = bssmap_handle_lcls_connect_ctrl(conn, msg, length); break; case BSS_MAP_MSG_HANDOVER_CMD: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_HANDOVER_CMD]); ret = bssmap_handle_handover_cmd(conn, msg, length); break; case BSS_MAP_MSG_CLASSMARK_RQST: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_CLASSMARK_RQST]); ret = gsm48_send_rr_classmark_enquiry(conn->lchan); break; default: + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DT1_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n", gsm0808_bssmap_name(msg->l4h[0])); break; @@ -1102,17 +1113,20 @@ header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", sizeof(*header), length, osmo_hexdump(msg->l3h, length)); return -1; } if (header->length > length - sizeof(*header)) { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_DTAP_MSG]); LOGP(DMSC, LOGL_INFO, "Rx MSC DTAP, SAPI: %u CHAN: %u\n", header->link_id & 0x07, header->link_id & 0xC0); /* forward the data */ diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index c9052cb..9588a1a 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,6 +44,19 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { + [MSC_CTR_BSSMAP_NUM_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:num_rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_NUM_RX_UDT_RESET] = {"bssmap:num_rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_NUM_RX_UDT_PAGING] = {"bssmap:num_rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, + [MSC_CTR_BSSMAP_NUM_RX_UDT_UNKNOWN] = {"bssmap:num_rx_udt_unknown", "Number of received BSSMAP unknown UDT messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_CLEAR_CMD] = {"bssmap:num_rx_dt1_clear_cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:num_rx_dt1_cipher_mode_cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_ASSIGMENT_RQST] = {"bssmap:num_rx_dt1_assignment_rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:num_rx_dt1_lcls_connect_ctrl", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_HANDOVER_CMD] = {"bssmap:num_rx_dt1_handover_cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_CLASSMARK_RQST] = {"bssmap:num_rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DT1_UNKNOWN] = {"bssmap:num_rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DTAP_MSG] = {"bssmap:num_rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, + [MSC_CTR_BSSMAP_NUM_RX_DTAP_ERROR] = {"bssmap:num_rx_dtap_error", "Number of received BSSMAP DATP messages with errors"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 8 01:43:09 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 08 May 2020 01:43:09 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb4b93b18a4c_74d52afc610165fc401431@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 727s] | ## Running config.status. ## [ 727s] | ## ---------------------- ## [ 727s] | [ 727s] | This file was extended by libosmocore config.status 1.3.0.76-3a6b, which was [ 727s] | generated by GNU Autoconf 2.69. Invocation command line was [ 727s] | [ 727s] | CONFIG_FILES = [ 727s] | CONFIG_HEADERS = [ 727s] | CONFIG_LINKS = [ 727s] | CONFIG_COMMANDS = [ 727s] | $ ./config.status Doxyfile.core [ 727s] | [ 727s] | on obs-arm-5 [ 727s] | [ 727s] | config.status:1341: creating Doxyfile.core [ 727s] [ 727s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 727s] make[1]: *** [override_dh_auto_test] Error 1 [ 727s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 727s] debian/rules:15: recipe for target 'build' failed [ 727s] make: *** [build] Error 2 [ 727s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 727s] ### VM INTERACTION START ### [ 730s] [ 712.409892] sysrq: SysRq : Power Off [ 730s] [ 712.432323] reboot: Power down [ 731s] ### VM INTERACTION END ### [ 731s] [ 731s] obs-arm-5 failed "build libosmocore_1.3.0.76.3a6b.dsc" at Fri May 8 01:42:53 UTC 2020. [ 731s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 8 05:10:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 8 May 2020 05:10:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: Add RTP payload testing to performance tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285 ) Change subject: bts: Add RTP payload testing to performance tests ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/4/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285/4/bts/BTS_Tests.ttcn at 568 PS4, Line 568: setverdict If you want to abort here, rather use Misc_Helpers.f_shutdown(), because setverdict() does not break the execution (thus the test case will crash in the for loop below). Alternatively you can just print a warning and override it to 14. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I21a610533d5be2e1647cc6a72423e056b39d1217 Gerrit-Change-Number: 17285 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 08 May 2020 05:10:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 07:45:05 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 07:45:05 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to unset the pcap fd References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to unset the pcap fd ...................................................................... e1_input: Allow to unset the pcap fd Note that this only affects lines that are create _after_ the call. Existing ones will keep their current fd and that's also why we can't just close it since it's still in use. Signed-off-by: Sylvain Munaut Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 --- M src/e1_input.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/13/18113/1 diff --git a/src/e1_input.c b/src/e1_input.c index ad4e25c..c6ca2a3 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -153,7 +153,7 @@ }; pcap_fd = fd; - return write(pcap_fd, &header, sizeof(header)); + return (pcap_fd < 0) ? 0 : write(pcap_fd, &header, sizeof(header)); } /* This currently only works for the D-Channel */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 07:45:05 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 07:45:05 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output The command must be put first, since only lines created after it are affected. This limits the usefulness of changing at runtime or of the 'no' command except to set it up properly before a 'write config'. Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/18114/1 diff --git a/src/e1_input_vty.c b/src/e1_input_vty.c index 8d89d04..cdee672 100644 --- a/src/e1_input_vty.c +++ b/src/e1_input_vty.c @@ -20,9 +20,12 @@ */ #include "internal.h" +#include #include #include #include +#include +#include #include #include @@ -232,6 +235,39 @@ return CMD_SUCCESS; } +static char *pcap_filename = NULL; + +DEFUN(cfg_e1_pcap, cfg_e1_pcap_cmd, + "pcap .FILE", + "Setup a pcap recording of all E1 traffic\n" + "Filename to save the packets to\n") +{ + int fd; + + fd = open(argv[0], O_WRONLY | O_CREAT | O_TRUNC, 0660); + if (fd < 0) { + vty_out(vty, "Failed to setup E1 pcap recording to %s.%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + + talloc_free(pcap_filename); + pcap_filename = talloc_strdup(NULL, argv[0]); + + e1_set_pcap_fd(fd); + + return CMD_SUCCESS; +} + +DEFUN(cfg_e1_no_pcap, cfg_e1_no_pcap_cmd, + NO_STR "pcap", + "Disable pcap recording of all E1 traffic\n") +{ + talloc_free(pcap_filename); + pcap_filename = NULL; + e1_set_pcap_fd(-1); + return CMD_SUCCESS; +} + DEFUN(cfg_e1inp, cfg_e1inp_cmd, "e1_input", "Configure E1/T1/J1 TDM input\n") @@ -261,6 +297,9 @@ vty_out(vty, "e1_input%s", VTY_NEWLINE); + if (pcap_filename) + vty_out(vty, " pcap %s%s", pcap_filename, VTY_NEWLINE); + llist_for_each_entry(line, &e1inp_line_list, list) { vty_out(vty, " e1_line %u driver %s%s", line->num, line->driver->name, VTY_NEWLINE); @@ -436,6 +475,9 @@ install_element(CONFIG_NODE, &cfg_e1inp_cmd); install_node(&e1inp_node, e1inp_config_write); + install_element(L_E1INP_NODE, &cfg_e1_pcap_cmd); + install_element(L_E1INP_NODE, &cfg_e1_no_pcap_cmd); + install_element(L_E1INP_NODE, &cfg_e1_line_driver_cmd); install_element(L_E1INP_NODE, &cfg_e1_line_port_cmd); install_element(L_E1INP_NODE, &cfg_e1_line_socket_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 09:16:24 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 09:16:24 +0000 Subject: Change in osmo-e1-recorder[master]: make e1cap format portable In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 ) Change subject: make e1cap format portable ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I0d22ad8f772d173c2252c2f6c562faee2e578806 Gerrit-Change-Number: 16186 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 09:16:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 8 10:57:00 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 08 May 2020 10:57:00 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb53b1575809_74d52afc610165fc491249@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 731s] ^~~~~~~~~~~~~~~~~~~ [ 731s] main.c: In function 'main': [ 731s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 731s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 731s] ^~~~~~~~~~~~~~~~~~~ [ 731s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 731s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 731s] ^ [ 732s] cc1: some warnings being treated as errors [ 732s] Makefile:469: recipe for target 'main.o' failed [ 732s] make[3]: *** [main.o] Error 1 [ 732s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 732s] Makefile:402: recipe for target 'all-recursive' failed [ 732s] make[2]: *** [all-recursive] Error 1 [ 732s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 732s] Makefile:349: recipe for target 'all' failed [ 732s] make[1]: *** [all] Error 2 [ 732s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 732s] dh_auto_build: make -j1 returned exit code 2 [ 732s] debian/rules:45: recipe for target 'build' failed [ 732s] make: *** [build] Error 2 [ 732s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 732s] ### VM INTERACTION START ### [ 735s] [ 680.519379] sysrq: SysRq : Power Off [ 735s] [ 680.615284] reboot: Power down [ 737s] ### VM INTERACTION END ### [ 737s] [ 737s] obs-arm-6 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Fri May 8 10:56:43 UTC 2020. [ 737s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 8 11:06:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:06:46 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/18097/2/src/stream.c File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/18097/2/src/stream.c at 96 PS2, Line 96: /* In kernel commit b6e6b5f1da7e8d092f86a4351802c27c0170c5a5, the this extra indentation looks wrong. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 08 May 2020 11:06:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:07:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:07:49 +0000 Subject: Change in osmo-bsc[master]: stats: Fix stat group index for BTS stats. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18108 ) Change subject: stats: Fix stat group index for BTS stats. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 Gerrit-Change-Number: 18108 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:07:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:10:44 +0000 Subject: Change in osmo-bsc[master]: stats: report a number of configured BTS to a stats gauge. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18109 ) Change subject: stats: report a number of configured BTS to a stats gauge. ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18109/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18109/1/src/osmo-bsc/bsc_init.c at 288 PS1, Line 288: } Not blocking, but this function is starting to have many return paths deallocating stuff. I'd better change it to use goto for error handling. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c Gerrit-Change-Number: 18109 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:10:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:11:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:11:31 +0000 Subject: Change in osmo-bsc[master]: Fix a comment for the handle_unitdata_from_msc() function. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18110 ) Change subject: Fix a comment for the handle_unitdata_from_msc() function. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 Gerrit-Change-Number: 18110 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:11:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:14:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:14:59 +0000 Subject: Change in osmo-bsc[master]: Fix indent whitespace and log message. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18111 ) Change subject: Fix indent whitespace and log message. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 Gerrit-Change-Number: 18111 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:14:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:18:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:18:23 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18112/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18112/1/src/osmo-bsc/osmo_bsc_bssap.c at 1021 PS1, Line 1021: rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_RESET_ACKNOWLEDGE]); What about assigning long pointer dereference chain into a signle pointer and using it in all cases? It would certainly clean up a bit lots of long lines. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:18:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:19:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:19:12 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS and BSC. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS and BSC. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:19:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:21:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:21:51 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to unset the pcap fd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to unset the pcap fd ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18113/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-abis/+/18113/1//COMMIT_MSG at 9 PS1, Line 9: Note that this only affects lines that are create _after_ the call. created -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:21:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:25:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:25:36 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c File src/e1_input_vty.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 249 PS1, Line 249: vty_out(vty, "Failed to setup E1 pcap recording to %s.%s", argv[1], VTY_NEWLINE); argv[0] https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 254 PS1, Line 254: pcap_filename = talloc_strdup(NULL, argv[0]); We try not to allocated on NULL ctx. Can you try finding a talloc context available? https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 267 PS1, Line 267: e1_set_pcap_fd(-1); Don't you need to close the previous fd? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:25:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:27:40 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:27:40 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: tnt has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... bts_nokia_site: Fix LAPD segfault during reset procedure The existing Nokia *Site code destroyed the LAPD SAP instance for OML while processing an OML message. Once the stack frame returned back to the LAPD code, the LAPD SAP was gone -> segfault. Let's work around this by moving deletion of the LAPD SAP out-of-line by starting a timer 0ms in the future. Not particularly nice, but effective. Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Closes: OS#1761 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_nokia_site.c 2 files changed, 32 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/18009/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:30:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:30:04 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 to look at the new patch set (#3). Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... stream: Attempt to workaround kernel ABI breakage See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/sctp.h?id=b6e6b5f1da7e8d092f86a4351802c27c0170c5a5 and https://marc.info/?l=linux-sctp&m=158729301516157&w=2 A kernel structure changed size, a new field was added at the end. Attempt to submit with the known "old" size. Signed-off-by: Sylvain Munaut Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 --- M src/stream.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/18097/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:32:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:32:47 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Update help description and remove old nope cmdli... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 ) Change subject: osmo-gsm-tester.py: Update help description and remove old nope cmdline arg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 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: I879a5c30c185905614c2c5a7d54eb33817c94c31 Gerrit-Change-Number: 18106 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:32:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:32:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:32:49 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester.py: Update help description and remove old nope cmdli... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 ) Change subject: osmo-gsm-tester.py: Update help description and remove old nope cmdline arg ...................................................................... osmo-gsm-tester.py: Update help description and remove old nope cmdline arg Change-Id: I879a5c30c185905614c2c5a7d54eb33817c94c31 --- M src/osmo-gsm-tester.py 1 file changed, 20 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 84151b8..fb5574b 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -1,10 +1,11 @@ #!/usr/bin/env python3 -# osmo_gsm_tester: invoke a single test run +# osmo-gsm-tester.py: main program file # -# Copyright (C) 2016-2017 by sysmocom - s.f.m.c. GmbH +# Copyright (C) 2016-2020 sysmocom - s.f.m.c. GmbH # # Author: Neels Hofmeyr +# Author: Pau Espin Pedrol # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as @@ -19,7 +20,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -'''osmo_gsm_tester: invoke a single test run. +'''osmo-gsm-tester.py: invoke a single test run Examples: @@ -27,12 +28,12 @@ ./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo ./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx -(The names for test suite, scenario and series names used in these examples -must be defined by the osmo-gsm-tester configuration.) +(The names for test suites and scenarios used in these examples must be defined +by the osmo-gsm-tester configuration.) -A trial package contains binaries (usually built by a jenkins job) of GSM -software, including the core network programs as well as binaries for the -various BTS models. +A trial package contains binaries (usually built by a jenkins job) of software +to be run by Osmo-Gsm-Tester, like core network programs as well as binaries for +the various BTS models on a 2G network. A test suite defines specific actions to be taken and verifies their outcome. Such a test suite may leave certain aspects of a setup undefined, e.g. it may @@ -50,19 +51,17 @@ strictly defined by a scenario, which will be resolved automatically, e.g. by choosing the first available item that matches the other constraints. -A test run thus needs to define: a trial package containing built binaries, a -combination of scenarios to run a suite in, and a test suite to launch in the -given scenario with the given binaries. +A test run thus needs to define: +* A trial package containing built binaries +* A set of test suites, each with its combinations of scenarios +* A configuration directory specifying sets of resources, default configurations + and paths on where to find suites, scenarios, etc. -The osmo-gsm-tester configuration may define one or more series as a number of -suite:scenario combinations. So instead of a specific suite:scenario -combination, the name of such a series can be passed. - -If neither a combination or series is specified, the default series will be run -as defined in the osmo-gsm-tester configuration. +If no combination of suites and scenarios is provided, the default list of +suites will be run as defined in the osmo-gsm-tester configuration. The scenarios and suites run for a given trial will be recorded in a trial -package's directory: Upon launch, a 'test_package/run.' directory will be +package's directory: Upon launch, a '$trial_dir/run.' directory will be created, which will collect logs and reports. ''' @@ -102,14 +101,13 @@ # is easiest to maintain. parser.add_argument('-V', '--version', action='store_true', help='Show version') + parser.add_argument('-c', '--conf-dir', dest='conf_dir', + help='''Specify configuration directory path (containing paths.conf)''') parser.add_argument('trial_package', help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', help='''A suite-scenarios combination like suite:scenario+scenario''') - parser.add_argument('-S', '--series', dest='series', action='append', - help='''A series of suite-scenarios combinations -as defined in the osmo-gsm-tester configuration''') parser.add_argument('-t', '--test', dest='test', action='append', help='''Run only tests matching this name. Any test name that contains the given string is run. @@ -123,8 +121,6 @@ help='Enable stdout logging of tracebacks') parser.add_argument('-R', '--source', dest='source', action='store_true', help='Enable stdout logging of source file') - parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration directory path (containing paths.conf)''') args = parser.parse_args() if args.version: @@ -132,7 +128,6 @@ exit(0) print('combinations:', repr(args.suite_scenario)) - print('series:', repr(args.series)) print('trial:', repr(args.trial_package)) print('tests:', repr(args.test)) @@ -149,8 +144,6 @@ config.override_conf = args.conf_dir combination_strs = list(args.suite_scenario or []) - # for series in args.series: - # combination_strs.extend(config.get_series(series)) if not combination_strs: combination_strs = config.read_config_file(config.DEFAULT_SUITES_CONF, if_missing_return=[]) @@ -162,7 +155,7 @@ if not combination_strs: - raise RuntimeError('Need at least one suite:scenario or series to run') + raise RuntimeError('Need at least one suite:scenario to run') # Generate supported schemas dynamically from objects: generate_schemas() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18106 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: I879a5c30c185905614c2c5a7d54eb33817c94c31 Gerrit-Change-Number: 18106 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:38:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:38:07 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 11:38:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:38:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:38:34 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmo-netif/+/18097/3/src/stream.c File src/stream.c: https://gerrit.osmocom.org/c/libosmo-netif/+/18097/3/src/stream.c at 95 PS3, Line 95: /* trailing whitespace -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 08 May 2020 11:38:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:41:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:41:04 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to unset the pcap fd In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 to look at the new patch set (#2). Change subject: e1_input: Allow to unset the pcap fd ...................................................................... e1_input: Allow to unset the pcap fd Note that this only affects lines that are created _after_ the call. Existing ones will keep their current fd and that's also why we can't just close it since it's still in use. Signed-off-by: Sylvain Munaut Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 --- M src/e1_input.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/13/18113/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:41:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:41:04 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 to look at the new patch set (#2). Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output The command must be put first, since only lines created after it are affected. This limits the usefulness of changing at runtime or of the 'no' command except to set it up properly before a 'write config'. Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/18114/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:42:50 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 to look at the new patch set (#4). Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... stream: Attempt to workaround kernel ABI breakage See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/sctp.h?id=b6e6b5f1da7e8d092f86a4351802c27c0170c5a5 and https://marc.info/?l=linux-sctp&m=158729301516157&w=2 A kernel structure changed size, a new field was added at the end. Attempt to submit with the known "old" size. Signed-off-by: Sylvain Munaut Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 --- M src/stream.c 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/97/18097/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:44:00 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:44:00 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 to look at the new patch set (#3). Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output The command must be put first, since only lines created after it are affected. This limits the usefulness of changing at runtime or of the 'no' command except to set it up properly before a 'write config'. Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/18114/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:44:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 11:44:12 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:44:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:44:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 11:44:54 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to unset the pcap fd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to unset the pcap fd ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:44:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:45:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 11:45:52 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 11:45:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:50:17 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:50:17 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 11:50:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:50:23 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:50:23 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fix LAPD segfault during reset procedure In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18009 ) Change subject: bts_nokia_site: Fix LAPD segfault during reset procedure ...................................................................... bts_nokia_site: Fix LAPD segfault during reset procedure The existing Nokia *Site code destroyed the LAPD SAP instance for OML while processing an OML message. Once the stack frame returned back to the LAPD code, the LAPD SAP was gone -> segfault. Let's work around this by moving deletion of the LAPD SAP out-of-line by starting a timer 0ms in the future. Not particularly nice, but effective. Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Closes: OS#1761 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_nokia_site.c 2 files changed, 32 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve tnt: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 6996905..1d02e39 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1143,7 +1143,7 @@ no_loc_rel_cnf:1, /* don't wait for RSL REL CONF */ bts_reset_timer_cnf, /* timer for BTS RESET */ did_reset:1, /* we received a RESET ACK */ - wait_reset:1; /* we are waiting for reset to complete */ + wait_reset:2; /* we are waiting for reset to complete */ struct osmo_timer_list reset_timer; } nokia; }; diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index 66972c2..cde0afa 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -41,6 +41,12 @@ #include +enum reset_timer_state { + RESET_T_NONE = 0, + RESET_T_STOP_LAPD = 1, /* first timer expiration: stop LAPD SAP */ + RESET_T_RESTART_LAPD = 2, /* second timer expiration: restart LAPD SAP */ +}; + /* TODO: put in a separate file ? */ extern int abis_nm_sendmsg(struct gsm_bts *bts, struct msgb *msg); @@ -1461,18 +1467,28 @@ struct gsm_e1_subslot *e1_link = &bts->oml_e1_link; struct e1inp_line *line; - bts->nokia.wait_reset = 0; - /* OML link */ line = e1inp_line_find(e1_link->e1_nr); if (!line) { - LOGP(DLINP, LOGL_ERROR, "BTS %u OML link referring to " - "non-existing E1 line %u\n", bts->nr, e1_link->e1_nr); + LOGP(DLINP, LOGL_ERROR, "BTS %u OML link referring to non-existing E1 line %u\n", + bts->nr, e1_link->e1_nr); return; } - start_sabm_in_line(line, 0, -1); /* stop all first */ - start_sabm_in_line(line, 1, SAPI_OML); /* start only OML */ + switch (bts->nokia.wait_reset) { + case RESET_T_NONE: /* shouldn't happen */ + break; + case RESET_T_STOP_LAPD: + start_sabm_in_line(line, 0, -1); /* stop all first */ + bts->nokia.wait_reset = RESET_T_RESTART_LAPD; + osmo_timer_schedule(&bts->nokia.reset_timer, bts->nokia.bts_reset_timer_cnf, 0); + break; + case RESET_T_RESTART_LAPD: + bts->nokia.wait_reset = 0; + start_sabm_in_line(line, 0, -1); /* stop all first */ + start_sabm_in_line(line, 1, SAPI_OML); /* start only OML */ + break; + } } /* TODO: put in a separate file ? */ @@ -1574,25 +1590,16 @@ (function handle_ts1_read()) and ignoring the received data. It seems to be necessary for the MetroSite too. */ - bts->nokia.wait_reset = 1; - osmo_timer_setup(&bts->nokia.reset_timer, - reset_timer_cb, bts); - osmo_timer_schedule(&bts->nokia.reset_timer, bts->nokia.bts_reset_timer_cnf, 0); - - struct gsm_e1_subslot *e1_link = &bts->oml_e1_link; - struct e1inp_line *line; - /* OML link */ - line = e1inp_line_find(e1_link->e1_nr); - if (!line) { - LOGP(DLINP, LOGL_ERROR, - "BTS %u OML link referring to " - "non-existing E1 line %u\n", bts->nr, - e1_link->e1_nr); - return -ENOMEM; - } - - start_sabm_in_line(line, 0, -1); /* stop all first */ + /* we cannot delete / stop the OML LAPD SAP right here, as we are in + * the middle of processing an LAPD I frame and are subsequently returning + * back to the LAPD I frame processing code that assumes the SAP is still + * active. So we first schedule the timer at 0ms in the future, where we + * kill all LAPD SAP and re-arm the timer for the reset duration, after which + * we re-create them */ + bts->nokia.wait_reset = RESET_T_STOP_LAPD; + osmo_timer_setup(&bts->nokia.reset_timer, reset_timer_cb, bts); + osmo_timer_schedule(&bts->nokia.reset_timer, 0, 0); } /* ACK for CONF DATA message ? */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18009 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6270c7210f600e53f845561898245d2fd30a368d Gerrit-Change-Number: 18009 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:55:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 11:55:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Avoid crash: don't set TBF window size if setup failed References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18115 ) Change subject: tbf: Avoid crash: don't set TBF window size if setup failed ...................................................................... tbf: Avoid crash: don't set TBF window size if setup failed Should fix assertion triggered due to the tbf not set up properly beforehand. Fixes: OS#4524 Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 --- M src/tbf.cpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/15/18115/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 73d7ea9..fb985d4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1014,15 +1014,15 @@ rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); - if (tbf->is_egprs_enabled()) - tbf->set_window_size(); - /* if no resource */ if (rc < 0) { talloc_free(tbf); return NULL; } + if (tbf->is_egprs_enabled()) + tbf->set_window_size(); + tbf->m_ul_egprs_ctrs = rate_ctr_group_alloc(tbf, &tbf_ul_egprs_ctrg_desc, tbf->m_ctrs->idx); tbf->m_ul_gprs_ctrs = rate_ctr_group_alloc(tbf, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 Gerrit-Change-Number: 18115 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:57 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:57 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18116 ) Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... om2k: Properly name message 0x0136, found to be MCTR Statistics Report Signed-off-by: Sylvain Munaut Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/16/18116/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index c32a5fa..e1c143f 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -226,6 +226,10 @@ OM2K_MSGT_MCTR_CONFIG_RES_ACK = 0x0130, OM2K_MSGT_MCTR_CONFIG_RES_NACK = 0x0131, OM2K_MSGT_MCTR_CONFIG_RES = 0x0132, + + OM2K_MSGT_MCTR_STATS_REP_ACK = 0x0134, + OM2K_MSGT_MCTR_STATS_REP_NACK = 0x0135, + OM2K_MSGT_MCTR_STATS_REP = 0x0136, }; enum abis_om2k_dei { @@ -558,6 +562,9 @@ { 0x0130, "MCTR Configuration Result ACK" }, { 0x0131, "MCTR Configuration Result NACK" }, { 0x0132, "MCTR Configuration Result" }, + { 0x0134, "MCTR Statistics report ACK" }, + { 0x0135, "MCTR Statistics report NACK" }, + { 0x0136, "MCTR Statistics report " }, { 0, NULL } }; @@ -2740,8 +2747,8 @@ case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; - case 0x0136: /* Unknown ... something for MCTR */ - rc = abis_om2k_tx_simple(bts, &o2h->mo, 0x0134); + case OM2K_MSGT_MCTR_STATS_REP: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_MCTR_STATS_REP_ACK); break; /* ERrors */ case OM2K_MSGT_START_REQ_REJ: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:58 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:58 +0000 Subject: Change in osmo-bsc[master]: om2k: Use the "from config" TS config to setup OM objects References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18117 ) Change subject: om2k: Use the "from config" TS config to setup OM objects ...................................................................... om2k: Use the "from config" TS config to setup OM objects During the configuration of the TS object through OML we must use pchan_from_config since it's too early to use anything else. Signed-off-by: Sylvain Munaut Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/18117/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index e1c143f..304f873 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1375,7 +1375,7 @@ * message for it. Rather fail completely right now: */ return 0; } - return pchan2comb(ts->pchan_is); + return pchan2comb(ts->pchan_from_config); } static int put_freq_list(uint8_t *buf, uint16_t arfcn) @@ -1438,7 +1438,7 @@ msgb_tv_put(msg, OM2K_DEI_EXT_RANGE, 0); /* Off */ /* Optional: Interference Rejection Combining */ msgb_tv_put(msg, OM2K_DEI_INTERF_REJ_COMB, 0x00); - switch (ts->pchan_is) { + switch (ts->pchan_from_config) { case GSM_PCHAN_CCCH: msgb_tv_put(msg, OM2K_DEI_BA_PA_MFRMS, 0x06); msgb_tv_put(msg, OM2K_DEI_BS_AG_BKS_RES, 0x01); @@ -1482,7 +1482,7 @@ msgb_tv_fixed_put(msg, OM2K_DEI_ICM_BOUND_PARAMS, sizeof(icm_bound_params), icm_bound_params); msgb_tv_put(msg, OM2K_DEI_TTA, 10); /* Timer for Time Alignment */ - if (ts->pchan_is == GSM_PCHAN_TCH_H) + if (ts->pchan_from_config == GSM_PCHAN_TCH_H) msgb_tv_put(msg, OM2K_DEI_ICM_CHAN_RATE, 1); /* TCH/H */ else msgb_tv_put(msg, OM2K_DEI_ICM_CHAN_RATE, 0); /* TCH/F */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 Gerrit-Change-Number: 18117 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:58 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:58 +0000 Subject: Change in osmo-bsc[master]: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18118 ) Change subject: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready ...................................................................... om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready Signed-off-by: Sylvain Munaut Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/18118/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 304f873..c75732c 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2019,7 +2019,7 @@ struct om2k_trx_fsm_priv { struct gsm_bts_trx *trx; - uint8_t next_ts_nr; + uint8_t cur_ts_nr; }; static void om2k_trx_s_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -2063,8 +2063,8 @@ /* Initialize Timeslots after TX */ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TS, TRX_FSM_TIMEOUT, 0); - otfp->next_ts_nr = 0; - ts = &otfp->trx->ts[otfp->next_ts_nr++]; + otfp->cur_ts_nr = 0; + ts = &otfp->trx->ts[otfp->cur_ts_nr]; om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo); } @@ -2074,9 +2074,14 @@ struct om2k_trx_fsm_priv *otfp = fi->priv; struct gsm_bts_trx_ts *ts; - if (otfp->next_ts_nr < 8) { + /* notify TS is ready */ + ts = &otfp->trx->ts[otfp->cur_ts_nr]; + osmo_fsm_inst_dispatch(ts->fi, TS_EV_OML_READY, NULL); + + /* next ? */ + if (++otfp->cur_ts_nr < 8) { /* iterate to the next timeslot */ - ts = &otfp->trx->ts[otfp->next_ts_nr++]; + ts = &otfp->trx->ts[otfp->cur_ts_nr]; om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo); } else { @@ -2820,7 +2825,6 @@ om2k_mo_init(&ts->rbs2000.om2k_mo, OM2K_MO_CLS_TS, bts->nr, trx->nr, i); OSMO_ASSERT(ts->fi); - osmo_fsm_inst_dispatch(ts->fi, TS_EV_OML_READY, NULL); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 Gerrit-Change-Number: 18118 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:59 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... om2k: Fix the frequency specifier for TX/RX/TS conf requests * OM2K_DEI_FREQ_SPEC_RX: (hop << 15) | (rx_addr << 10) | arfcn . hop Hopping marker . rx_addr is not really the TRX number, it's just a sequential number different for all TRX, doesn't need to be 'in-order' of TRX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_SPEC_TX: (hop << 15) | (tx_id << 10) | arfcn tx_id Pretty much same as rx_id except here we know that the order doesn't have to match TRX order. It seems to even vary from one reboot to another on some real-world capture we got. . hop Hopping marker . tx_addr Same as 'rx_addr' above but for TX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_LIST: Groups of 3 bytes (24 bits), 1 per frequency used. (tx_addr << 20) | (rx_addr << 16) | (is_c0 << 10) | arfcn . tx_addr See above . rx_addr See above . is_c0 Must be 1 if that ARFCN hosts the C0. (first TRX of a MCTR) . arfcn The ARFCN number (Note MAIO must also be set properly on the different TRX/TS sharing a frequency ... ) The way we generate theses here is what we gathered from real-world traces: - Each 'TX' of each TRX is set to the ARFCN set in that TRX config - Each 'RX' of each TRX is configures as 'hopping' (which I assume means it will just pick the appropriate freq ?) - For each TS, we use : . tx_addr of the TRX that has the ARFCN we want to TX on . rx_addr of the TRX where the TS we're configuring is . arfcn The actual ARFCN we want to add to the list This is incomplete but will work for the 1 MCTR case. Config for multiple MCTR or multiple virtual-bts still need to be handled but it's not yet known exactly how those need to be configured. Signed-off-by: Sylvain Munaut Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 38 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/18119/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index c75732c..f0b989d 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1285,7 +1285,8 @@ o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); fill_om2k_hdr(o2k, &mo, OM2K_MSGT_RX_CONF_REQ); - msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, trx->arfcn); + /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ + msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, 0x8000 | ((uint16_t)trx->nr << 10)); msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ return abis_om2k_sendmsg(trx->bts, msg); @@ -1303,9 +1304,10 @@ o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); fill_om2k_hdr(o2k, &mo, OM2K_MSGT_TX_CONF_REQ); - msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_TX, trx->arfcn); + /* OM2K_DEI_FREQ_SPEC_TX: Using trx_nr as "TX address" only works for single MCTR case */ + msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_TX, trx->arfcn | ((uint16_t)trx->nr << 10)); msgb_tv_put(msg, OM2K_DEI_POWER, trx->nominal_power-trx->max_power_red); - msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, 0); /* Filling enabled */ + msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, trx->nr != 0); /* Filling enabled for C0 only */ msgb_tv_put(msg, OM2K_DEI_BCC, trx->bts->bsic & 0x7); /* Dedication Information is optional */ @@ -1378,12 +1380,41 @@ return pchan2comb(ts->pchan_from_config); } -static int put_freq_list(uint8_t *buf, uint16_t arfcn) +static int put_freq_list(uint8_t *buf, struct gsm_bts_trx_ts *ts, uint16_t arfcn) { - buf[0] = 0x00; /* TX/RX address */ + struct gsm_bts_trx *trx; + + /* Find the TRX that's configured for that ARFCN */ + llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) + if (trx->arfcn == arfcn) + break; + + if (!trx || (trx->arfcn != arfcn)) { + LOGP(DNM, LOGL_ERROR, "Trying to use ARFCN %d for hopping with no TRX configured for it", arfcn); + return 0; + } + + /* + * [7:4] - TX address + * This must be the same number that was used when configuring the TX + * MO object with that target arfcn + * + * [3:0] - RX address + * The logical TRX number we're configuring the hopping sequence for + * This must basically match the MO object instance number + * + * ATM since we only support 1 MCTR, we use trx->nr + */ + buf[0] = (trx->nr << 4) | ts->trx->nr; + + /* ARFCN Number */ buf[1] = (arfcn >> 8); buf[2] = (arfcn & 0xff); + /* C0 marker */ + if (trx->nr == 0) + buf[1] |= 0x04; + return 3; } @@ -1397,10 +1428,10 @@ unsigned int i; for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { if (bitvec_get_bit_pos(&ts->hopping.arfcns, i)) - cur += put_freq_list(cur, i); + cur += put_freq_list(cur, ts, i); } } else - cur += put_freq_list(cur, ts->trx->arfcn); + cur += put_freq_list(cur, ts, ts->trx->arfcn); len = cur - list; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:59 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Init all the TRX, not just C0 References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18120 ) Change subject: bts_ericsson_rbs2000: Init all the TRX, not just C0 ...................................................................... bts_ericsson_rbs2000: Init all the TRX, not just C0 Signed-off-by: Sylvain Munaut Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 --- M src/osmo-bsc/bts_ericsson_rbs2000.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/20/18120/1 diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index 4d1e91b..f98c647 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -34,11 +34,15 @@ static void bootstrap_om_bts(struct gsm_bts *bts) { + struct gsm_bts_trx *trx; + LOGP(DNM, LOGL_NOTICE, "bootstrapping OML for BTS %u\n", bts->nr); - /* FIXME: this is global init, not bootstrapping */ + /* Global init (not bootstrapping) */ abis_om2k_bts_init(bts); - abis_om2k_trx_init(bts->c0); + + llist_for_each_entry(trx, &bts->trx_list, list) + abis_om2k_trx_init(trx); /* TODO: Should we wait for a Failure report? */ om2k_bts_fsm_start(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 Gerrit-Change-Number: 18120 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:59 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Whitelist the E1d input driver References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18121 ) Change subject: bts_ericsson_rbs2000: Whitelist the E1d input driver ...................................................................... bts_ericsson_rbs2000: Whitelist the E1d input driver Signed-off-by: Sylvain Munaut Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc --- M src/osmo-bsc/bts_ericsson_rbs2000.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/21/18121/1 diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index f98c647..02ef463 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -153,14 +153,16 @@ case S_L_INP_LINE_NOALARM: if (strcasecmp(isd->line->driver->name, "DAHDI") && strcasecmp(isd->line->driver->name, "MISDN_LAPD") - && strcasecmp(isd->line->driver->name, "UNIXSOCKET")) + && strcasecmp(isd->line->driver->name, "UNIXSOCKET") + && strcasecmp(isd->line->driver->name, "E1D")) break; start_sabm_in_line(isd->line, 1); break; case S_L_INP_LINE_ALARM: if (strcasecmp(isd->line->driver->name, "DAHDI") && strcasecmp(isd->line->driver->name, "MISDN_LAPD") - && strcasecmp(isd->line->driver->name, "UNIXSOCKET")) + && strcasecmp(isd->line->driver->name, "UNIXSOCKET") + && strcasecmp(isd->line->driver->name, "E1D")) break; start_sabm_in_line(isd->line, 0); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc Gerrit-Change-Number: 18121 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:58:59 +0000 Subject: Change in osmo-bsc[master]: om2k: Add option to limit OML version during negotiation References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18122 ) Change subject: om2k: Add option to limit OML version during negotiation ...................................................................... om2k: Add option to limit OML version during negotiation Starting from G12R13 the MCTR swiches to BSC controlled mode. And although we think we know how to configure it (via MCTR Conf Req), something doesn't work right and the timeslot configuration is not accepted. (TS Conf Result shows "Data not according to request"). So as a workaround for now, we use this version of the protocol where we don't configure the MCTR (it's in "BTS controlled mode") and with this protocol, the BTS accepts our timeslot config and we can bring the system up. This commit add a generic option to limit either OML or RSL IWD version to any value. It also keeps track of the actual negotation version so we can react to it in other places of the code. Signed-off-by: Sylvain Munaut Change-Id: I8f0b0ba72056ea4250fe490e7a38630c77c04f65 better version limit Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 90 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/18122/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1d02e39..c2115a6 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1135,6 +1135,10 @@ struct gsm_abis_mo mo; } tf; uint32_t use_superchannel:1; + struct { + uint16_t limit; + uint16_t active; + } om2k_version[16]; } rbs2000; struct { uint8_t bts_type; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index f0b989d..0175535 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2447,8 +2447,8 @@ } struct iwd_version { - uint8_t gen_char[3+1]; - uint8_t rev_char[3+1]; + char gen_char[3+1]; + char rev_char[3+1]; }; struct iwd_type { @@ -2459,11 +2459,13 @@ static int om2k_rx_negot_req(struct msgb *msg) { struct e1inp_sign_link *sign_link = (struct e1inp_sign_link *)msg->dst; + struct gsm_bts *bts = sign_link->trx->bts; struct abis_om2k_hdr *o2h = msgb_l2(msg); struct iwd_type iwd_types[16]; uint8_t num_iwd_types = o2h->data[2]; uint8_t *cur = o2h->data+3; - unsigned int i, v; + unsigned int i; + int v; uint8_t out_buf[1024]; uint8_t *out_cur = out_buf+1; @@ -2494,25 +2496,59 @@ /* Select the last version for each IWD type */ for (i = 0; i < ARRAY_SIZE(iwd_types); i++) { struct iwd_type *type = &iwd_types[i]; - struct iwd_version *last_v; + struct iwd_version *sel_v = NULL, *alt_v = NULL; + uint16_t sel_ver, alt_ver = 0; + int gen, rev; if (type->num_vers == 0) continue; out_num_types++; - last_v = &type->v[type->num_vers-1]; + for (v = type->num_vers-1; v >= 0; v--) { + if ((sscanf(type->v[v].gen_char, "G%2d", &gen) != 1) || + (sscanf(type->v[v].rev_char, "R%2d", &rev) != 1)) + continue; + sel_ver = (gen << 8) | rev; + + if (!alt_v) { + alt_ver = sel_ver; + alt_v = &type->v[v]; + } + + if ((bts->rbs2000.om2k_version[i].limit != 0) && + (bts->rbs2000.om2k_version[i].limit < sel_ver)) + continue; + + sel_v = &type->v[v]; + break; + } + if (!sel_v) { + if (!alt_v) { + LOGP(DNM, LOGL_ERROR, "Couldn't find valid version for IWD Type %u." + "Skipping IWD ... this will most likely fail\n", i); + continue; + } else { + sel_v = alt_v; + sel_ver = alt_ver; + LOGP(DNM, LOGL_ERROR, "Couldn't find suitable version for IWD Type %u." + "Fallback to Gen %s Rev %s\n", i, + sel_v->gen_char, sel_v->rev_char); + } + } + + bts->rbs2000.om2k_version[i].active = sel_ver; *out_cur++ = i; - memcpy(out_cur, last_v->gen_char, 3); + memcpy(out_cur, sel_v->gen_char, 3); out_cur += 3; - memcpy(out_cur, last_v->rev_char, 3); + memcpy(out_cur, sel_v->rev_char, 3); out_cur += 3; } out_buf[0] = out_num_types; - return abis_om2k_tx_negot_req_ack(sign_link->trx->bts, &o2h->mo, out_buf, out_cur - out_buf); + return abis_om2k_tx_negot_req_ack(bts, &o2h->mo, out_buf, out_cur - out_buf); } diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 972fff0..becae3f 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -467,6 +467,39 @@ return CMD_SUCCESS; } +DEFUN(cfg_bts_om2k_version_limit, cfg_bts_om2k_version_limit_cmd, + "om2000 version-limit (oml|rsl) gen <0-99> rev <0-99>", + "Configure OM2K specific parameters\n" + "Configure optional maximum protocol version to negotiate\n" + "Limit OML IWD version\n" + "Limit RSL IWD version\n" + "Generation limit\n" + "Revision limit\n") +{ + struct gsm_bts *bts = vty->index; + int iwd; + + if (bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "oml")) + iwd = 0; + else if (!strcmp(argv[0], "rsl")) + iwd = 1; + else { + vty_out(vty, "%% Invalid IWD%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + bts->rbs2000.om2k_version[iwd].limit = (atoi(argv[1]) << 8) | atoi(argv[2]); + + return CMD_SUCCESS; +} + DEFUN(cfg_bts_is_conn_list, cfg_bts_is_conn_list_cmd, "is-connection-list (add|del) <0-2047> <0-2047> <0-255>", "Interface Switch Connection List\n" @@ -591,6 +624,7 @@ { struct is_conn_group *igrp; struct con_group *cgrp; + unsigned int i; llist_for_each_entry(igrp, &bts->rbs2000.is.conn_groups, list) vty_out(vty, " is-connection-list add %u %u %u%s", @@ -604,6 +638,13 @@ if (bts->rbs2000.use_superchannel) vty_out(vty, " abis-lower-transport super-channel%s", VTY_NEWLINE); + for (i = 0; i < 2; i++) + if (bts->rbs2000.om2k_version[i].limit) + vty_out(vty, " om2000 version-limit %s gen %02d rev %02d%s", + i ? "rsl" : "oml", + (bts->rbs2000.om2k_version[i].limit >> 8), + (bts->rbs2000.om2k_version[i].limit & 0xff), + VTY_NEWLINE); } int abis_om2k_vty_init(void) @@ -631,6 +672,7 @@ install_element(BTS_NODE, &cfg_bts_is_conn_list_cmd); install_element(BTS_NODE, &cfg_bts_alt_mode_cmd); + install_element(BTS_NODE, &cfg_bts_om2k_version_limit_cmd); install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 Gerrit-Change-Number: 18122 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:00 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:00 +0000 Subject: Change in osmo-bsc[master]: om2k: Rename MCTR config request constants for consistency References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18123 ) Change subject: om2k: Rename MCTR config request constants for consistency ...................................................................... om2k: Rename MCTR config request constants for consistency Signed-off-by: Sylvain Munaut Change-Id: I776b0016837e018500ef69acb2f30a274008818e --- M src/osmo-bsc/abis_om2000.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/18123/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 0175535..42b0d6f 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -219,13 +219,13 @@ OM2K_MSGT_FEATURE_CTRL_COMPL = 0x011a, OM2K_MSGT_FEATURE_CTRL_REJ = 0x011b, - OM2K_MSGT_MCTR_CONFIG_REQ = 0x012c, - OM2K_MSGT_MCTR_CONFIG_REQ_ACK = 0x012e, - OM2K_MSGT_MCTR_CONFIG_REQ_REJ = 0x012f, + OM2K_MSGT_MCTR_CONF_REQ = 0x012c, + OM2K_MSGT_MCTR_CONF_REQ_ACK = 0x012e, + OM2K_MSGT_MCTR_CONF_REQ_REJ = 0x012f, - OM2K_MSGT_MCTR_CONFIG_RES_ACK = 0x0130, - OM2K_MSGT_MCTR_CONFIG_RES_NACK = 0x0131, - OM2K_MSGT_MCTR_CONFIG_RES = 0x0132, + OM2K_MSGT_MCTR_CONF_RES_ACK = 0x0130, + OM2K_MSGT_MCTR_CONF_RES_NACK = 0x0131, + OM2K_MSGT_MCTR_CONF_RES = 0x0132, OM2K_MSGT_MCTR_STATS_REP_ACK = 0x0134, OM2K_MSGT_MCTR_STATS_REP_NACK = 0x0135, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I776b0016837e018500ef69acb2f30a274008818e Gerrit-Change-Number: 18123 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:00 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:00 +0000 Subject: Change in osmo-bsc[master]: om2k: Add support for MCTR configuration References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18124 ) Change subject: om2k: Add support for MCTR configuration ...................................................................... om2k: Add support for MCTR configuration Currently only supports a single MCTR with fixed configuration Signed-off-by: Sylvain Munaut Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_om2000.c 2 files changed, 83 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/18124/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c2115a6..3fd466c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1134,6 +1134,10 @@ struct om2k_mo om2k_mo; struct gsm_abis_mo mo; } tf; + struct { + struct om2k_mo om2k_mo; + struct gsm_abis_mo mo; + } mctr; uint32_t use_superchannel:1; struct { uint16_t limit; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 42b0d6f..41b2317 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -30,6 +30,7 @@ #include +#include #include #include #include @@ -778,6 +779,9 @@ case OM2K_MO_CLS_TF: mo = &bts->rbs2000.tf.om2k_mo; break; + case OM2K_MO_CLS_MCTR: + mo = &bts->rbs2000.mctr.om2k_mo; + break; case OM2K_MO_CLS_TRXC: trx = gsm_bts_trx_num(bts, abis_mo->inst); @@ -1254,6 +1258,35 @@ return abis_om2k_sendmsg(bts, msg); } +int abis_om2k_tx_mctr_conf_req(struct gsm_bts *bts) +{ + struct msgb *msg = om2k_msgb_alloc(); + struct abis_om2k_hdr *o2k; + struct gsm_bts_trx *trx; + uint8_t trxc_list = 0; + const uint8_t features[] = { 0x00 }; + + /* build trxc list */ + llist_for_each_entry(trx, &bts->trx_list, list) + trxc_list |= (1 << trx->nr); + + /* fill message */ + msgb_tv16_put(msg, OM2K_DEI_TRXC_LIST, osmo_swab16(trxc_list)); /* Read as LE by the BTS ... */ + msgb_tv_put (msg, OM2K_DEI_MAX_ALLOWED_POWER, 0x31); + msgb_tv_put (msg, OM2K_DEI_MAX_ALLOWED_NUM_TRXCS, 0x08); + msgb_tlv_put (msg, OM2K_DEI_MCTR_FEAT_STATUS_BMAP, 1, features); + + /* pre-pend the OM2K header */ + o2k = (struct abis_om2k_hdr *) msgb_push(msg, sizeof(*o2k)); + fill_om2k_hdr(o2k, &bts->rbs2000.mctr.om2k_mo.addr, + OM2K_MSGT_MCTR_CONF_REQ); + DEBUGP(DNM, "Tx MO=%s %s\n", + om2k_mo_name(&bts->rbs2000.mctr.om2k_mo.addr), + get_value_string(om2k_msgcode_vals, OM2K_MSGT_MCTR_CONF_REQ)); + + return abis_om2k_sendmsg(bts, msg); +} + static void om2k_trx_to_mo(struct abis_om2k_mo *mo, const struct gsm_bts_trx *trx, enum abis_om2k_mo_cls cls) @@ -1708,6 +1741,9 @@ case OM2K_MO_CLS_CON: abis_om2k_tx_con_conf_req(omfp->trx->bts); break; + case OM2K_MO_CLS_MCTR: + abis_om2k_tx_mctr_conf_req(omfp->trx->bts); + break; case OM2K_MO_CLS_TX: abis_om2k_tx_tx_conf_req(omfp->trx); break; @@ -1975,6 +2011,7 @@ case OM2K_MSGT_CON_CONF_REQ_ACK: case OM2K_MSGT_IS_CONF_REQ_ACK: + case OM2K_MSGT_MCTR_CONF_REQ_ACK: case OM2K_MSGT_RX_CONF_REQ_ACK: case OM2K_MSGT_TF_CONF_REQ_ACK: case OM2K_MSGT_TS_CONF_REQ_ACK: @@ -1985,6 +2022,7 @@ case OM2K_MSGT_CON_CONF_RES: case OM2K_MSGT_IS_CONF_RES: + case OM2K_MSGT_MCTR_CONF_RES: case OM2K_MSGT_RX_CONF_RES: case OM2K_MSGT_TF_CONF_RES: case OM2K_MSGT_TS_CONF_RES: @@ -2222,6 +2260,7 @@ OM2K_BTS_EVT_IS_DONE, OM2K_BTS_EVT_CON_DONE, OM2K_BTS_EVT_TF_DONE, + OM2K_BTS_EVT_MCTR_DONE, OM2K_BTS_EVT_TRX_DONE, OM2K_BTS_EVT_STOP, }; @@ -2232,6 +2271,7 @@ { OM2K_BTS_EVT_IS_DONE, "IS-DONE" }, { OM2K_BTS_EVT_CON_DONE, "CON-DONE" }, { OM2K_BTS_EVT_TF_DONE, "TF-DONE" }, + { OM2K_BTS_EVT_MCTR_DONE, "MCTR-DONE" }, { OM2K_BTS_EVT_TRX_DONE, "TRX-DONE" }, { OM2K_BTS_EVT_STOP, "STOP" }, { 0, NULL } @@ -2243,6 +2283,7 @@ OM2K_BTS_S_WAIT_IS, OM2K_BTS_S_WAIT_CON, OM2K_BTS_S_WAIT_TF, + OM2K_BTS_S_WAIT_MCTR, OM2K_BTS_S_WAIT_TRX, OM2K_BTS_S_DONE, OM2K_BTS_S_ERROR, @@ -2306,10 +2347,33 @@ static void om2k_bts_s_wait_is(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct om2k_bts_fsm_priv *obfp = fi->priv; - struct gsm_bts_trx *trx; + struct gsm_bts *bts = obfp->bts; OSMO_ASSERT(event == OM2K_BTS_EVT_IS_DONE); + /* If we're running OML >= G12R13, start MCTR, else skip directly to TRX */ + if (bts->rbs2000.om2k_version[0].active >= 0x0c0d) { + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_MCTR, + BTS_FSM_TIMEOUT, 0); + om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0, + &bts->rbs2000.mctr.om2k_mo); + } else { + struct gsm_bts_trx *trx; + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, + BTS_FSM_TIMEOUT, 0); + obfp->next_trx_nr = 0; + trx = gsm_bts_trx_num(obfp->bts, obfp->next_trx_nr++); + om2k_trx_fsm_start(fi, trx, OM2K_BTS_EVT_TRX_DONE); + } +} + +static void om2k_bts_s_wait_mctr(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct om2k_bts_fsm_priv *obfp = fi->priv; + struct gsm_bts_trx *trx; + + OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, BTS_FSM_TIMEOUT, 0); obfp->next_trx_nr = 0; @@ -2368,10 +2432,18 @@ [OM2K_BTS_S_WAIT_IS] = { .in_event_mask = S(OM2K_BTS_EVT_IS_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | + S(OM2K_BTS_S_WAIT_MCTR) | S(OM2K_BTS_S_WAIT_TRX), .name = "WAIT-IS", .action = om2k_bts_s_wait_is, }, + [OM2K_BTS_S_WAIT_MCTR] = { + .in_event_mask = S(OM2K_BTS_EVT_MCTR_DONE), + .out_state_mask = S(OM2K_BTS_S_ERROR) | + S(OM2K_BTS_S_WAIT_TRX), + .name = "WAIT-MCTR", + .action = om2k_bts_s_wait_mctr, + }, [OM2K_BTS_S_WAIT_TRX] = { .in_event_mask = S(OM2K_BTS_EVT_TRX_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | @@ -2792,6 +2864,9 @@ case OM2K_MSGT_CON_CONF_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CON_CONF_RES_ACK); break; + case OM2K_MSGT_MCTR_CONF_RES: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_MCTR_CONF_RES_ACK); + break; case OM2K_MSGT_TX_CONF_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_TX_CONF_RES_ACK); break; @@ -2830,6 +2905,7 @@ case OM2K_MSGT_TEST_REQ_REJ: case OM2K_MSGT_CON_CONF_REQ_REJ: case OM2K_MSGT_IS_CONF_REQ_REJ: + case OM2K_MSGT_MCTR_CONF_REQ_REJ: case OM2K_MSGT_TX_CONF_REQ_REJ: case OM2K_MSGT_RX_CONF_REQ_REJ: case OM2K_MSGT_TS_CONF_REQ_REJ: @@ -2910,6 +2986,8 @@ bts->nr, 0xFF, 0); om2k_mo_init(&bts->rbs2000.tf.om2k_mo, OM2K_MO_CLS_TF, bts->nr, 0xFF, 0); + om2k_mo_init(&bts->rbs2000.mctr.om2k_mo, OM2K_MO_CLS_MCTR, + bts->nr, 0xFF, 0); // FIXME: There can be multiple MCTRs ... } static __attribute__((constructor)) void abis_om2k_init(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee Gerrit-Change-Number: 18124 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:00 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:00 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly update the 'fake' 12.21 states using OM2000 status References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18125 ) Change subject: om2k: Properly update the 'fake' 12.21 states using OM2000 status ...................................................................... om2k: Properly update the 'fake' 12.21 states using OM2000 status Signed-off-by: Sylvain Munaut Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 39 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/18125/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 41b2317..72aa04c 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -310,6 +310,13 @@ OM2K_DEI_MCTR_FEAT_STATUS_BMAP = 0xab, }; +enum abis_om2k_mostate { + OM2K_MOSTATE_RESET = 0x00, + OM2K_MOSTATE_STARTED = 0x01, + OM2K_MOSTATE_ENABLED = 0x02, + OM2K_MOSTATE_DISABLED = 0x03, +}; + const struct tlv_definition om2k_att_tlvdef = { .def = { [OM2K_DEI_ACCORDANCE_IND] = { TLV_TYPE_TV }, @@ -782,7 +789,6 @@ case OM2K_MO_CLS_MCTR: mo = &bts->rbs2000.mctr.om2k_mo; break; - case OM2K_MO_CLS_TRXC: trx = gsm_bts_trx_num(bts, abis_mo->inst); if (!trx) @@ -874,6 +880,9 @@ return NULL; nm_state = &trx->ts[mo->inst].mo.nm_state; break; + case OM2K_MO_CLS_MCTR: + nm_state = &bts->rbs2000.mctr.mo.nm_state; + break; case OM2K_MO_CLS_TF: nm_state = &bts->rbs2000.tf.mo.nm_state; break; @@ -922,6 +931,7 @@ if (mo->inst >= ARRAY_SIZE(trx->ts)) return NULL; return &trx->ts[mo->inst]; + case OM2K_MO_CLS_MCTR: case OM2K_MO_CLS_TF: case OM2K_MO_CLS_IS: case OM2K_MO_CLS_CON: @@ -939,13 +949,39 @@ struct gsm_nm_state *nm_state = mo2nm_state(bts, mo); struct gsm_nm_state new_state; struct nm_statechg_signal_data nsd; + bool has_enabled_state; if (!nm_state) return; + switch (mo->class) { + case OM2K_MO_CLS_CF: + case OM2K_MO_CLS_TRXC: + has_enabled_state = false; + break; + default: + has_enabled_state = true; + break; + } + new_state = *nm_state; - /* NOTICE: 12.21 Availability state values != OM2000 */ - new_state.availability = mo_state; + switch (mo_state) { + case OM2K_MOSTATE_RESET: + new_state.availability = NM_AVSTATE_POWER_OFF; + break; + case OM2K_MOSTATE_STARTED: + new_state.availability = has_enabled_state ? NM_AVSTATE_OFF_LINE : NM_AVSTATE_OK; + break; + case OM2K_MOSTATE_ENABLED: + new_state.availability = NM_AVSTATE_OK; + break; + case OM2K_MOSTATE_DISABLED: + new_state.availability = NM_AVSTATE_POWER_OFF; + break; + default: + new_state.availability = NM_AVSTATE_DEGRADED; + break; + } memset(&nsd, 0, sizeof(nsd)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 Gerrit-Change-Number: 18125 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:00 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:00 +0000 Subject: Change in osmo-bsc[master]: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18126 ) Change subject: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX ...................................................................... om2k: Wait for OM TRX links to stabilize before trying to bring up TRX The OM2K link "per-trx" only comes up after MCTR is setup. So that means we need to wait for it before trying to boot the TRX itself. He we simply apply a "dumb" 5 sec timeout as this is the most reliable way I found to get this working reliably. Tracking the link state proved difficult and unreliable: - Multiple TRX can be present with their link coming up in random order. - They can already be up at the start (BTS already initialized from a previous boot) and so the link may actually come up, down, and up again. - All of theses transitions might happens before/after we get to the OM2K_BTS_S_WAIT_TRX state depending on how the LAPD timeout expire, if the BTS config was actually changed or not and how much time it takes to apply the new config. So all in all, what we must do is wait for the link to stabilize ... hence just waiting 5 second. Signed-off-by: Sylvain Munaut Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 31 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/18126/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 72aa04c..bcd4e8f 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -76,6 +76,7 @@ #define OM_HEADROOM_SIZE 128 #define OM2K_TIMEOUT 10 +#define TRX_LAPD_TIMEOUT 5 #define TRX_FSM_TIMEOUT 60 #define BTS_FSM_TIMEOUT 60 @@ -2297,6 +2298,7 @@ OM2K_BTS_EVT_CON_DONE, OM2K_BTS_EVT_TF_DONE, OM2K_BTS_EVT_MCTR_DONE, + OM2K_BTS_EVT_TRX_LAPD_UP, OM2K_BTS_EVT_TRX_DONE, OM2K_BTS_EVT_STOP, }; @@ -2308,6 +2310,7 @@ { OM2K_BTS_EVT_CON_DONE, "CON-DONE" }, { OM2K_BTS_EVT_TF_DONE, "TF-DONE" }, { OM2K_BTS_EVT_MCTR_DONE, "MCTR-DONE" }, + { OM2K_BTS_EVT_TRX_LAPD_UP, "TRX-LAPD-UP" }, { OM2K_BTS_EVT_TRX_DONE, "TRX-DONE" }, { OM2K_BTS_EVT_STOP, "STOP" }, { 0, NULL } @@ -2320,6 +2323,7 @@ OM2K_BTS_S_WAIT_CON, OM2K_BTS_S_WAIT_TF, OM2K_BTS_S_WAIT_MCTR, + OM2K_BTS_S_WAIT_TRX_LAPD, OM2K_BTS_S_WAIT_TRX, OM2K_BTS_S_DONE, OM2K_BTS_S_ERROR, @@ -2394,21 +2398,25 @@ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0, &bts->rbs2000.mctr.om2k_mo); } else { - struct gsm_bts_trx *trx; - osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, - BTS_FSM_TIMEOUT, 0); - obfp->next_trx_nr = 0; - trx = gsm_bts_trx_num(obfp->bts, obfp->next_trx_nr++); - om2k_trx_fsm_start(fi, trx, OM2K_BTS_EVT_TRX_DONE); + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, + TRX_LAPD_TIMEOUT, 0); } } static void om2k_bts_s_wait_mctr(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, + TRX_LAPD_TIMEOUT, 0); +} + +static void om2k_bts_s_wait_trx_lapd(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ struct om2k_bts_fsm_priv *obfp = fi->priv; struct gsm_bts_trx *trx; - OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + OSMO_ASSERT(event == OM2K_BTS_EVT_TRX_LAPD_UP); osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, BTS_FSM_TIMEOUT, 0); @@ -2469,17 +2477,23 @@ .in_event_mask = S(OM2K_BTS_EVT_IS_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | S(OM2K_BTS_S_WAIT_MCTR) | - S(OM2K_BTS_S_WAIT_TRX), + S(OM2K_BTS_S_WAIT_TRX_LAPD), .name = "WAIT-IS", .action = om2k_bts_s_wait_is, }, [OM2K_BTS_S_WAIT_MCTR] = { .in_event_mask = S(OM2K_BTS_EVT_MCTR_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | - S(OM2K_BTS_S_WAIT_TRX), + S(OM2K_BTS_S_WAIT_TRX_LAPD), .name = "WAIT-MCTR", .action = om2k_bts_s_wait_mctr, }, + [OM2K_BTS_S_WAIT_TRX_LAPD] = { + .in_event_mask = S(OM2K_BTS_EVT_TRX_LAPD_UP), + .out_state_mask = S(OM2K_BTS_S_WAIT_TRX), + .name = "WAIT-TRX-LAPD", + .action = om2k_bts_s_wait_trx_lapd, + }, [OM2K_BTS_S_WAIT_TRX] = { .in_event_mask = S(OM2K_BTS_EVT_TRX_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | @@ -2498,7 +2512,14 @@ static int om2k_bts_timer_cb(struct osmo_fsm_inst *fi) { - osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_ERROR, 0, 0); + switch (fi->state) { + case OM2K_BTS_S_WAIT_TRX_LAPD: + osmo_fsm_inst_dispatch(fi, OM2K_BTS_EVT_TRX_LAPD_UP, NULL); + break; + default: + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_ERROR, 0, 0); + break; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 Gerrit-Change-Number: 18126 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:01 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:01 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Don't re-invent trx_is_usable and use existing helper References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18127 ) Change subject: chan_alloc: Don't re-invent trx_is_usable and use existing helper ...................................................................... chan_alloc: Don't re-invent trx_is_usable and use existing helper Signed-off-by: Sylvain Munaut Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/18127/1 diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 669eb8e..8f4d018 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -45,8 +45,7 @@ int i; /* skip administratively deactivated tranxsceivers */ - if (!nm_is_running(&trx->mo.nm_state) || - !nm_is_running(&trx->bb_transc.mo.nm_state)) + if (!trx_is_usable(trx)) continue; for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 Gerrit-Change-Number: 18127 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 11:59:01 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 11:59:01 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... gsm_data: Update trx_is_usable for ericsson BTS There is no bb_transc oject. Signed-off-by: Sylvain Munaut Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c 2 files changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/18128/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3fd466c..c7c4c49 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1703,6 +1703,18 @@ return 0; } +static inline int is_ericsson_bts(struct gsm_bts *bts) +{ + switch (bts->type) { + case GSM_BTS_TYPE_RBS2000: + return 1; + default: + break; + } + + return 0; +} + static inline int is_e1_bts(struct gsm_bts *bts) { switch (bts->type) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index fe421a4..5b5cfb8 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1383,6 +1383,9 @@ if (!nm_is_running(&trx->mo.nm_state) || !nm_is_running(&trx->bb_transc.mo.nm_state)) return false; + } else if (is_ericsson_bts(trx->bts)) { + if (!nm_is_running(&trx->mo.nm_state)) + return false; } return true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:13:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 12:13:04 +0000 Subject: Change in osmo-bsc[master]: om2k: Add option to limit OML version during negotiation In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 to look at the new patch set (#2). Change subject: om2k: Add option to limit OML version during negotiation ...................................................................... om2k: Add option to limit OML version during negotiation Starting from G12R13 the MCTR swiches to BSC controlled mode. And although we think we know how to configure it (via MCTR Conf Req), something doesn't work right and the timeslot configuration is not accepted. (TS Conf Result shows "Data not according to request"). So as a workaround for now, we use this version of the protocol where we don't configure the MCTR (it's in "BTS controlled mode") and with this protocol, the BTS accepts our timeslot config and we can bring the system up. This commit add a generic option to limit either OML or RSL IWD version to any value. It also keeps track of the actual negotation version so we can react to it in other places of the code. Signed-off-by: Sylvain Munaut Change-Id: I8f0b0ba72056ea4250fe490e7a38630c77c04f65 better version limit Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 91 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/18122/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 Gerrit-Change-Number: 18122 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:22:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:22:20 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... bts: Rename mslot_class_from_ra Ther function is actually returning an EGPRS multislot class, os let's update naming. The variable using the return value was already being passed as egprs_ms_class to tbf_alloc_ul_tbf(). Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 --- M src/bts.cpp 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/18129/1 diff --git a/src/bts.cpp b/src/bts.cpp index 5e1725c..be0c61e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -664,12 +664,13 @@ return fn; } -static inline uint16_t mslot_class_from_ra(uint16_t ra, bool is_11bit) +/* 3GPP TS 44.060 Table 11.2.5a.3: EGPRS PACKET CHANNEL REQUEST */ +static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) return (ra & 0x3e0) >> 5; - /* set multislot class to 0 for 8-bit RACH, since we don't know it yet */ + /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ return 0; } @@ -741,7 +742,7 @@ int plen; uint8_t usf = 7; uint8_t tsc = 0, ta = qta2ta(qta); - uint16_t ms_class = mslot_class_from_ra(ra, is_11bit); + uint16_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; rach_frame(); @@ -784,8 +785,7 @@ } else { // Create new TBF /* FIXME: Copy and paste with other routines.. */ - - tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, ms_class, true); + tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, egprs_ms_class, true); if (!tbf) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:25:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:25:57 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:25:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:27:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:27:26 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to unset the pcap fd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to unset the pcap fd ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:27:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:27:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:27:48 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: Waiting for answer regarding close of fd. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:27:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:28:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:28:47 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18116 ) Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18116/1/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18116/1/src/osmo-bsc/abis_om2000.c at 567 PS1, Line 567: { 0x0136, "MCTR Statistics report " }, trailing space in string -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:28:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:29:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:29:43 +0000 Subject: Change in osmo-bsc[master]: om2k: Use the "from config" TS config to setup OM objects In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18117 ) Change subject: om2k: Use the "from config" TS config to setup OM objects ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 Gerrit-Change-Number: 18117 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:29:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:31:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:31:53 +0000 Subject: Change in osmo-bsc[master]: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18118 ) Change subject: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 Gerrit-Change-Number: 18118 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:31:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:37:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:37:34 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1288 PS1, Line 1288: /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ wrong indent https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1307 PS1, Line 1307: /* OM2K_DEI_FREQ_SPEC_TX: Using trx_nr as "TX address" only works for single MCTR case */ wrong indent https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1310 PS1, Line 1310: msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, trx->nr != 0); /* Filling enabled for C0 only */ I think the correct check here should be: trx != trx->bts->c0 Otherwise you assume C0 is on TRX0 (which I'm not sure if it's really required). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:37:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:38:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:38:54 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Init all the TRX, not just C0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18120 ) Change subject: bts_ericsson_rbs2000: Init all the TRX, not just C0 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18120/1/src/osmo-bsc/bts_ericsson_rbs2000.c File src/osmo-bsc/bts_ericsson_rbs2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18120/1/src/osmo-bsc/bts_ericsson_rbs2000.c at 41 PS1, Line 41: /* Global init (not bootstrapping) */ This is confusing. function is named bootstrap but then first comment is we do something different? A better explanation would be welcome here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 Gerrit-Change-Number: 18120 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:38:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:39:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:39:13 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Whitelist the E1d input driver In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18121 ) Change subject: bts_ericsson_rbs2000: Whitelist the E1d input driver ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc Gerrit-Change-Number: 18121 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:39:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:42:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:42:10 +0000 Subject: Change in osmo-bsc[master]: om2k: Add option to limit OML version during negotiation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18122 ) Change subject: om2k: Add option to limit OML version during negotiation ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 Gerrit-Change-Number: 18122 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:42:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:42:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:42:27 +0000 Subject: Change in osmo-bsc[master]: om2k: Rename MCTR config request constants for consistency In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18123 ) Change subject: om2k: Rename MCTR config request constants for consistency ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I776b0016837e018500ef69acb2f30a274008818e Gerrit-Change-Number: 18123 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:42:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:43:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:43:55 +0000 Subject: Change in osmo-bsc[master]: om2k: Add support for MCTR configuration In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18124 ) Change subject: om2k: Add support for MCTR configuration ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee Gerrit-Change-Number: 18124 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:43:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:46:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:46:01 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly update the 'fake' 12.21 states using OM2000 status In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18125 ) Change subject: om2k: Properly update the 'fake' 12.21 states using OM2000 status ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18125/2/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18125/2/src/osmo-bsc/abis_om2000.c at 957 PS2, Line 957: switch (mo->class) { This is only used in OM2K_MOSTATE_STARTED so it could be move inside that case, but fine anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 Gerrit-Change-Number: 18125 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:46:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:48:06 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 12:48:06 +0000 Subject: Change in libosmo-netif[master]: stream: Attempt to workaround kernel ABI breakage In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18097 ) Change subject: stream: Attempt to workaround kernel ABI breakage ...................................................................... stream: Attempt to workaround kernel ABI breakage See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/include/uapi/linux/sctp.h?id=b6e6b5f1da7e8d092f86a4351802c27c0170c5a5 and https://marc.info/?l=linux-sctp&m=158729301516157&w=2 A kernel structure changed size, a new field was added at the end. Attempt to submit with the known "old" size. Signed-off-by: Sylvain Munaut Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 --- M src/stream.c 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/stream.c b/src/stream.c index 65532d3..5887bf9 100644 --- a/src/stream.c +++ b/src/stream.c @@ -92,6 +92,22 @@ rc = setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &event, sizeof(event)); + /* + * Attempt to work around kernel ABI breakage + * + * In kernel commit b6e6b5f1da7e8d092f86a4351802c27c0170c5a5, the + * struct sctp_event_subscribe had a u8 field added to it at the end, thus + * breaking ABI. + * See https://marc.info/?l=linux-sctp&m=158729301516157&w=2 for discussion. + * + * We attempt to work around the issue where the kernel header are new + * and running kernel is old, by forcing the size of the struct to 13 which + * is the "old" size + */ + if ((rc < 0) && (sizeof(event) != 13)) + rc = setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, + &event, 13); + if (rc < 0) LOGP(DLINP, LOGL_ERROR, "couldn't activate SCTP events " "on FD %u\n", fd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ia95dd1f9ffed9f743c049e05797b1a6f1f9f8c69 Gerrit-Change-Number: 18097 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:48:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:48:41 +0000 Subject: Change in osmo-bsc[master]: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18126 ) Change subject: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18126/2/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18126/2/src/osmo-bsc/abis_om2000.c at 2408 PS2, Line 2408: OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); That's not needed, the FSM already protects you from its fsm definition. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 Gerrit-Change-Number: 18126 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:48:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:49:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:49:23 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Don't re-invent trx_is_usable and use existing helper In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18127 ) Change subject: chan_alloc: Don't re-invent trx_is_usable and use existing helper ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18127/2/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18127/2/src/osmo-bsc/chan_alloc.c at 47 PS2, Line 47: /* skip administratively deactivated tranxsceivers */ feel free to fix the typo immediatelly above "transceivers" if you want :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 Gerrit-Change-Number: 18127 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:49:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 12:50:28 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 to look at the new patch set (#2). Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... om2k: Properly name message 0x0136, found to be MCTR Statistics Report Signed-off-by: Sylvain Munaut Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/16/18116/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:50:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:50:58 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c at 1387 PS2, Line 1387: if (!nm_is_running(&trx->mo.nm_state)) Probably adding a comment here explaining that MO object doesn't exist for ericsson would make sense, to avoid somebody putting it back. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:50:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:51:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 12:51:40 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18116 ) Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 12:51:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 12:57:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 12:57:59 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: (3 comments) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c File src/e1_input_vty.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 249 PS1, Line 249: vty_out(vty, "Failed to setup E1 pcap recording to %s.%s", argv[1], VTY_NEWLINE); > argv[0] Oops. Will fix that. https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 254 PS1, Line 254: pcap_filename = talloc_strdup(NULL, argv[0]); > We try not to allocated on NULL ctx. [?] It's in e1_input.c but limited to that file, I'd need to bring it to the global namespace just for that :/ At that point I'd rather just not keep the filename at all and the 'write' config would just no include the filename. This is just a debug feature anyway. https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 267 PS1, Line 267: e1_set_pcap_fd(-1); > Don't you need to close the previous fd? We can't. It's explained in the commit logs, but this only affects the fd of _future_ lines, the active ones will continue to use whatever was set previously, so you can't close the fd since it's still being used. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 12:57:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:02:49 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:02:49 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1288 PS1, Line 1288: /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ > wrong indent Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1307 PS1, Line 1307: /* OM2K_DEI_FREQ_SPEC_TX: Using trx_nr as "TX address" only works for single MCTR case */ > wrong indent well wrong is relative, it's on purpose to indicate the comment refers just to the next line and not the entire block, but fine, I'll change it. https://gerrit.osmocom.org/c/osmo-bsc/+/18119/1/src/osmo-bsc/abis_om2000.c at 1310 PS1, Line 1310: msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, trx->nr != 0); /* Filling enabled for C0 only */ > I think the correct check here should be: [?] Mmm, it's definitely required at the moment and other parts of the code use trx->nr checks, but I agress the compare to c0 is probably better, so I'll change it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 13:02:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:02:58 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:02:58 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 to look at the new patch set (#3). Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... om2k: Fix the frequency specifier for TX/RX/TS conf requests * OM2K_DEI_FREQ_SPEC_RX: (hop << 15) | (rx_addr << 10) | arfcn . hop Hopping marker . rx_addr is not really the TRX number, it's just a sequential number different for all TRX, doesn't need to be 'in-order' of TRX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_SPEC_TX: (hop << 15) | (tx_id << 10) | arfcn tx_id Pretty much same as rx_id except here we know that the order doesn't have to match TRX order. It seems to even vary from one reboot to another on some real-world capture we got. . hop Hopping marker . tx_addr Same as 'rx_addr' above but for TX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_LIST: Groups of 3 bytes (24 bits), 1 per frequency used. (tx_addr << 20) | (rx_addr << 16) | (is_c0 << 10) | arfcn . tx_addr See above . rx_addr See above . is_c0 Must be 1 if that ARFCN hosts the C0. (first TRX of a MCTR) . arfcn The ARFCN number (Note MAIO must also be set properly on the different TRX/TS sharing a frequency ... ) The way we generate theses here is what we gathered from real-world traces: - Each 'TX' of each TRX is set to the ARFCN set in that TRX config - Each 'RX' of each TRX is configures as 'hopping' (which I assume means it will just pick the appropriate freq ?) - For each TS, we use : . tx_addr of the TRX that has the ARFCN we want to TX on . rx_addr of the TRX where the TS we're configuring is . arfcn The actual ARFCN we want to add to the list This is incomplete but will work for the 1 MCTR case. Config for multiple MCTR or multiple virtual-bts still need to be handled but it's not yet known exactly how those need to be configured. Signed-off-by: Sylvain Munaut Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 38 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/18119/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:09:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 13:09:21 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 to look at the new patch set (#2). Change subject: bts: Rename mslot_class_from_ra ...................................................................... bts: Rename mslot_class_from_ra Ther function is actually returning an EGPRS multislot class, os let's update naming. The variable using the return value was already being passed as egprs_ms_class to tbf_alloc_ul_tbf(). Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 --- M src/bts.cpp 1 file changed, 13 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/18129/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:16:49 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:16:49 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 to look at the new patch set (#4). Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... om2k: Fix the frequency specifier for TX/RX/TS conf requests * OM2K_DEI_FREQ_SPEC_RX: (hop << 15) | (rx_addr << 10) | arfcn . hop Hopping marker . rx_addr is not really the TRX number, it's just a sequential number different for all TRX, doesn't need to be 'in-order' of TRX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_SPEC_TX: (hop << 15) | (tx_id << 10) | arfcn tx_id Pretty much same as rx_id except here we know that the order doesn't have to match TRX order. It seems to even vary from one reboot to another on some real-world capture we got. . hop Hopping marker . tx_addr Same as 'rx_addr' above but for TX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_LIST: Groups of 3 bytes (24 bits), 1 per frequency used. (tx_addr << 20) | (rx_addr << 16) | (is_c0 << 10) | arfcn . tx_addr See above . rx_addr See above . is_c0 Must be 1 if that ARFCN hosts the C0. (first TRX of a MCTR) . arfcn The ARFCN number (Note MAIO must also be set properly on the different TRX/TS sharing a frequency ... ) The way we generate theses here is what we gathered from real-world traces: - Each 'TX' of each TRX is set to the ARFCN set in that TRX config - Each 'RX' of each TRX is configures as 'hopping' (which I assume means it will just pick the appropriate freq ?) - For each TS, we use : . tx_addr of the TRX that has the ARFCN we want to TX on . rx_addr of the TRX where the TS we're configuring is . arfcn The actual ARFCN we want to add to the list This is incomplete but will work for the 1 MCTR case. Config for multiple MCTR or multiple virtual-bts still need to be handled but it's not yet known exactly how those need to be configured. Signed-off-by: Sylvain Munaut Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 38 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/19/18119/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:18:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 13:18:21 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18130 ) Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST In osmo-pcu datatructures, the variables holding multislot classes simply contain an integer referring to the multislot class number, instead of coding from 3GPP TS 44.060 Table 11.2.5.3 and Table 11.2.5a.3. So coding Multislot class 3 is stored as 0x03 in osmo-pcu variables, while in 3GPP TS 44.060 coding it's coded as 0x02 (N-1). This allows us using value 0x00 to designate a "yet unknown (EGPRS) Multislot class". Hence, we need to add 1 to the decoded value to match our data structures. Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/18130/1 diff --git a/src/bts.cpp b/src/bts.cpp index 8edde23..a43613e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -676,7 +676,7 @@ static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) - return (ra & 0x3e0) >> 5; + return ((ra & 0x3e0) >> 5) + 1; /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 8 May 2020 13:19:42 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... Patch Set 2: Code-Review+2 (5 comments) I left some comments, mostly unrelated to this change. https://gerrit.osmocom.org/c/osmo-pcu/+/18129/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/18129/2//COMMIT_MSG at 9 PS2, Line 9: Ther This? https://gerrit.osmocom.org/c/osmo-pcu/+/18129/2//COMMIT_MSG at 9 PS2, Line 9: os BCD-encoding? ;) https://gerrit.osmocom.org/c/osmo-pcu/+/18129/1/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18129/1/src/bts.cpp at 668 PS1, Line 668: uint16_t BTW, EGPRS Multi-Slot Class is 5 bit long (see table 11.2.5a.5), so we don't really need uint16_t here. https://gerrit.osmocom.org/c/osmo-pcu/+/18129/1/src/bts.cpp at 671 PS1, Line 671: return (ra & 0x3e0) >> 5; We should add a FIXME here, because this is only valid for One Phase Access Request. https://gerrit.osmocom.org/c/osmo-pcu/+/18129/1/src/bts.cpp at 674 PS1, Line 674: 0 This is a valid value for "multislot class 1". -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 13:19:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:21:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 13:21:46 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c File src/e1_input_vty.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 267 PS1, Line 267: e1_set_pcap_fd(-1); > We can't. [?] will it be closed when all the lines using it become inactive? (can that ever happen?) In that we'd need to haver some sort of reference counting applied here (we have APIs for reference counting in libosmocore). -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 13:21:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: tnt Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:22:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 13:22:34 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 13:22:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 13:29:18 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 to look at the new patch set (#2). Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... stats: Add counters for received BSSMAP messages. Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/18112/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:32:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 8 May 2020 13:32:25 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18130 ) Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 08 May 2020 13:32:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:34:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 13:34:01 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18112/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18112/1/src/osmo-bsc/osmo_bsc_bssap.c at 1021 PS1, Line 1021: rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_NUM_RX_UDT_RESET_ACKNOWLEDGE]); > What about assigning long pointer dereference chain into a signle pointer and using it in all cases? [?] aMakes sense and fixed in the new patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 13:34:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:37:22 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:37:22 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: (1 comment) > Patch Set 3: Code-Review+1 > > (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c File src/e1_input_vty.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/1/src/e1_input_vty.c at 267 PS1, Line 267: e1_set_pcap_fd(-1); > will it be closed when all the lines using it become inactive? (can that ever happen?) [?] No it won't be closed. But in anycase that's not the job of the VTY to deal with that. e1_set_pcap_fd itself should deal with that but IMHO it's not worth the trouble. This is a barlely used debug feature that's been disabled for years and nobody cared ... I'm not even sure the 'no' command makes any sense and if there was an easy way to make the 'set' command to _only_ be usable at boot and at no other point, I'd do that. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 13:37:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: tnt Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:40:29 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:40:29 +0000 Subject: Change in osmo-bsc[master]: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18126 ) Change subject: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18126/2/src/osmo-bsc/abis_om2000.c File src/osmo-bsc/abis_om2000.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18126/2/src/osmo-bsc/abis_om2000.c at 2408 PS2, Line 2408: OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); > That's not needed, the FSM already protects you from its fsm definition. That's for consistency for every other FSM in that file ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 Gerrit-Change-Number: 18126 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 13:40:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:41:36 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 13:41:36 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 to look at the new patch set (#6). Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... stats: Export connected OML/RSL links count per BTS. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/18093/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:41:36 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 13:41:36 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 to look at the new patch set (#6). Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... chan_alloc: Add comments for the *_chan_load() functions. Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/18100/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 13:42:06 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 13:42:06 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c at 1387 PS2, Line 1387: if (!nm_is_running(&trx->mo.nm_state)) > Probably adding a comment here explaining that MO object doesn't exist for ericsson would make sense [?] Note that it's not "putting it back". Before this, it would return "true" always for ericsson, no matter the state of any of the NM objects. the check above is conditionned on "is_ipaccess_bts". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 13:42:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:10:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:10:53 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 14:10:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:11:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:11:23 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 14:11:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:12:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:12:19 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 14:12:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:13:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:13:41 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18128/2/src/osmo-bsc/gsm_data.c at 1387 PS2, Line 1387: if (!nm_is_running(&trx->mo.nm_state)) > Note that it's not "putting it back". [?] Yeah ok, it's not putting it back, call it "putting it there for first time" then :P -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 14:13:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: tnt Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:38:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:38:19 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 to look at the new patch set (#3). Change subject: bts: Rename mslot_class_from_ra ...................................................................... bts: Rename mslot_class_from_ra This function is actually returning an EGPRS multislot class, so let's update naming. The variable using the return value was already being passed as egprs_ms_class to tbf_alloc_ul_tbf(). Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 --- M src/bts.cpp 1 file changed, 13 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/18129/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:38:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:38:19 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 to look at the new patch set (#2). Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST In osmo-pcu datatructures, the variables holding multislot classes simply contain an integer referring to the multislot class number, instead of coding from 3GPP TS 44.060 Table 11.2.5.3 and Table 11.2.5a.3. So coding Multislot class 3 is stored as 0x03 in osmo-pcu variables, while in 3GPP TS 44.060 coding it's coded as 0x02 (N-1). This allows us using value 0x00 to designate a "yet unknown (EGPRS) Multislot class". Hence, we need to add 1 to the decoded value to match our data structures. Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/18130/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 14:38:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 14:38:20 +0000 Subject: Change in osmo-pcu[master]: bts: Return uint8_t in egprs_mslot_class_from_ra() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18131 ) Change subject: bts: Return uint8_t in egprs_mslot_class_from_ra() ...................................................................... bts: Return uint8_t in egprs_mslot_class_from_ra() MultislotClass is 5 bit long, so an uint8_t is enough. In most places we are already storing multislot class as uint8_t. Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f --- M src/bts.cpp 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/18131/1 diff --git a/src/bts.cpp b/src/bts.cpp index a43613e..6578e06 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -673,7 +673,7 @@ * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL * REQUEST. */ -static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) +static inline uint8_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) return ((ra & 0x3e0) >> 5) + 1; @@ -750,7 +750,7 @@ int plen; uint8_t usf = 7; uint8_t tsc = 0, ta = qta2ta(qta); - uint16_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); + uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; rach_frame(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f Gerrit-Change-Number: 18131 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:57:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:57:22 +0000 Subject: Change in osmo-pcu[master]: tbf: Avoid crash: don't set TBF window size if setup failed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18115 ) Change subject: tbf: Avoid crash: don't set TBF window size if setup failed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 Gerrit-Change-Number: 18115 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 15:57:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:58:00 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 15:58:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:58:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:58:30 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18130 ) Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 15:58:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:58:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:58:44 +0000 Subject: Change in osmo-pcu[master]: bts: Return uint8_t in egprs_mslot_class_from_ra() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18131 ) Change subject: bts: Return uint8_t in egprs_mslot_class_from_ra() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f Gerrit-Change-Number: 18131 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 08 May 2020 15:58:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:59:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:59:17 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18116 ) Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 15:59:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 15:59:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 15:59:36 +0000 Subject: Change in osmo-bsc[master]: om2k: Use the "from config" TS config to setup OM objects In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18117 ) Change subject: om2k: Use the "from config" TS config to setup OM objects ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 Gerrit-Change-Number: 18117 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 15:59:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:00:13 +0000 Subject: Change in osmo-bsc[master]: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18118 ) Change subject: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 Gerrit-Change-Number: 18118 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:00:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:00:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:00:59 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 4: interestingly both 0 and 1023 are valid GSM ARFCN numbers, AFAICT -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 08 May 2020 16:00:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:01:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:01:41 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 16:01:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:02:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:02:04 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Init all the TRX, not just C0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18120 ) Change subject: bts_ericsson_rbs2000: Init all the TRX, not just C0 ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 Gerrit-Change-Number: 18120 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:02:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:02:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:02:17 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Whitelist the E1d input driver In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18121 ) Change subject: bts_ericsson_rbs2000: Whitelist the E1d input driver ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc Gerrit-Change-Number: 18121 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:02:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:03:04 +0000 Subject: Change in osmo-bsc[master]: om2k: Add option to limit OML version during negotiation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18122 ) Change subject: om2k: Add option to limit OML version during negotiation ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 Gerrit-Change-Number: 18122 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:03:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:03:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:03:21 +0000 Subject: Change in osmo-bsc[master]: om2k: Rename MCTR config request constants for consistency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18123 ) Change subject: om2k: Rename MCTR config request constants for consistency ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I776b0016837e018500ef69acb2f30a274008818e Gerrit-Change-Number: 18123 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:03:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:03:28 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 16:03:28 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... Patch Set 4: > Patch Set 4: > > interestingly both 0 and 1023 are valid GSM ARFCN numbers, AFAICT Yeah, I think you need the 'hop' marker (possibly not super well named) to be 1 for the 0 and 1023 meanings to apply. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 16:03:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:05:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:05:17 +0000 Subject: Change in osmo-bsc[master]: om2k: Add support for MCTR configuration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18124 ) Change subject: om2k: Add support for MCTR configuration ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee Gerrit-Change-Number: 18124 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:05:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:05:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:05:54 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly update the 'fake' 12.21 states using OM2000 status In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18125 ) Change subject: om2k: Properly update the 'fake' 12.21 states using OM2000 status ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 Gerrit-Change-Number: 18125 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:05:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:06:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:06:59 +0000 Subject: Change in osmo-bsc[master]: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18126 ) Change subject: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 Gerrit-Change-Number: 18126 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:06:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:20 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly name message 0x0136, found to be MCTR Statistics Report In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18116 ) Change subject: om2k: Properly name message 0x0136, found to be MCTR Statistics Report ...................................................................... om2k: Properly name message 0x0136, found to be MCTR Statistics Report Signed-off-by: Sylvain Munaut Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 9 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index c32a5fa..936fd67 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -226,6 +226,10 @@ OM2K_MSGT_MCTR_CONFIG_RES_ACK = 0x0130, OM2K_MSGT_MCTR_CONFIG_RES_NACK = 0x0131, OM2K_MSGT_MCTR_CONFIG_RES = 0x0132, + + OM2K_MSGT_MCTR_STATS_REP_ACK = 0x0134, + OM2K_MSGT_MCTR_STATS_REP_NACK = 0x0135, + OM2K_MSGT_MCTR_STATS_REP = 0x0136, }; enum abis_om2k_dei { @@ -558,6 +562,9 @@ { 0x0130, "MCTR Configuration Result ACK" }, { 0x0131, "MCTR Configuration Result NACK" }, { 0x0132, "MCTR Configuration Result" }, + { 0x0134, "MCTR Statistics report ACK" }, + { 0x0135, "MCTR Statistics report NACK" }, + { 0x0136, "MCTR Statistics report" }, { 0, NULL } }; @@ -2740,8 +2747,8 @@ case OM2K_MSGT_CAPA_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CAPA_RES_ACK); break; - case 0x0136: /* Unknown ... something for MCTR */ - rc = abis_om2k_tx_simple(bts, &o2h->mo, 0x0134); + case OM2K_MSGT_MCTR_STATS_REP: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_MCTR_STATS_REP_ACK); break; /* ERrors */ case OM2K_MSGT_START_REQ_REJ: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b4389fd2e7bf0b3078b8ff60f6ea109114a4475 Gerrit-Change-Number: 18116 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:21 +0000 Subject: Change in osmo-bsc[master]: om2k: Use the "from config" TS config to setup OM objects In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18117 ) Change subject: om2k: Use the "from config" TS config to setup OM objects ...................................................................... om2k: Use the "from config" TS config to setup OM objects During the configuration of the TS object through OML we must use pchan_from_config since it's too early to use anything else. Signed-off-by: Sylvain Munaut Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 936fd67..b99fbc5 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1375,7 +1375,7 @@ * message for it. Rather fail completely right now: */ return 0; } - return pchan2comb(ts->pchan_is); + return pchan2comb(ts->pchan_from_config); } static int put_freq_list(uint8_t *buf, uint16_t arfcn) @@ -1438,7 +1438,7 @@ msgb_tv_put(msg, OM2K_DEI_EXT_RANGE, 0); /* Off */ /* Optional: Interference Rejection Combining */ msgb_tv_put(msg, OM2K_DEI_INTERF_REJ_COMB, 0x00); - switch (ts->pchan_is) { + switch (ts->pchan_from_config) { case GSM_PCHAN_CCCH: msgb_tv_put(msg, OM2K_DEI_BA_PA_MFRMS, 0x06); msgb_tv_put(msg, OM2K_DEI_BS_AG_BKS_RES, 0x01); @@ -1482,7 +1482,7 @@ msgb_tv_fixed_put(msg, OM2K_DEI_ICM_BOUND_PARAMS, sizeof(icm_bound_params), icm_bound_params); msgb_tv_put(msg, OM2K_DEI_TTA, 10); /* Timer for Time Alignment */ - if (ts->pchan_is == GSM_PCHAN_TCH_H) + if (ts->pchan_from_config == GSM_PCHAN_TCH_H) msgb_tv_put(msg, OM2K_DEI_ICM_CHAN_RATE, 1); /* TCH/H */ else msgb_tv_put(msg, OM2K_DEI_ICM_CHAN_RATE, 0); /* TCH/F */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iecdc911a79b66d8f3d746347710ad697cb288174 Gerrit-Change-Number: 18117 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:22 +0000 Subject: Change in osmo-bsc[master]: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18118 ) Change subject: om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready ...................................................................... om2k: Dispatch TS_EV_OML_READY to TS FSM only when it's actually ready Signed-off-by: Sylvain Munaut Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 10 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index b99fbc5..9ae5a26 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2019,7 +2019,7 @@ struct om2k_trx_fsm_priv { struct gsm_bts_trx *trx; - uint8_t next_ts_nr; + uint8_t cur_ts_nr; }; static void om2k_trx_s_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -2063,8 +2063,8 @@ /* Initialize Timeslots after TX */ osmo_fsm_inst_state_chg(fi, OM2K_TRX_S_WAIT_TS, TRX_FSM_TIMEOUT, 0); - otfp->next_ts_nr = 0; - ts = &otfp->trx->ts[otfp->next_ts_nr++]; + otfp->cur_ts_nr = 0; + ts = &otfp->trx->ts[otfp->cur_ts_nr]; om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo); } @@ -2074,9 +2074,14 @@ struct om2k_trx_fsm_priv *otfp = fi->priv; struct gsm_bts_trx_ts *ts; - if (otfp->next_ts_nr < 8) { + /* notify TS is ready */ + ts = &otfp->trx->ts[otfp->cur_ts_nr]; + osmo_fsm_inst_dispatch(ts->fi, TS_EV_OML_READY, NULL); + + /* next ? */ + if (++otfp->cur_ts_nr < 8) { /* iterate to the next timeslot */ - ts = &otfp->trx->ts[otfp->next_ts_nr++]; + ts = &otfp->trx->ts[otfp->cur_ts_nr]; om2k_mo_fsm_start(fi, OM2K_TRX_EVT_TS_DONE, otfp->trx, &ts->rbs2000.om2k_mo); } else { @@ -2820,7 +2825,6 @@ om2k_mo_init(&ts->rbs2000.om2k_mo, OM2K_MO_CLS_TS, bts->nr, trx->nr, i); OSMO_ASSERT(ts->fi); - osmo_fsm_inst_dispatch(ts->fi, TS_EV_OML_READY, NULL); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic2a84ea406e9a39332313d63b27d73f334d4e0a0 Gerrit-Change-Number: 18118 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:23 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix the frequency specifier for TX/RX/TS conf requests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18119 ) Change subject: om2k: Fix the frequency specifier for TX/RX/TS conf requests ...................................................................... om2k: Fix the frequency specifier for TX/RX/TS conf requests * OM2K_DEI_FREQ_SPEC_RX: (hop << 15) | (rx_addr << 10) | arfcn . hop Hopping marker . rx_addr is not really the TRX number, it's just a sequential number different for all TRX, doesn't need to be 'in-order' of TRX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_SPEC_TX: (hop << 15) | (tx_id << 10) | arfcn tx_id Pretty much same as rx_id except here we know that the order doesn't have to match TRX order. It seems to even vary from one reboot to another on some real-world capture we got. . hop Hopping marker . tx_addr Same as 'rx_addr' above but for TX . arfcn The ARFCN number (0 for hopping and 1023 for 'no frequency') * OM2K_DEI_FREQ_LIST: Groups of 3 bytes (24 bits), 1 per frequency used. (tx_addr << 20) | (rx_addr << 16) | (is_c0 << 10) | arfcn . tx_addr See above . rx_addr See above . is_c0 Must be 1 if that ARFCN hosts the C0. (first TRX of a MCTR) . arfcn The ARFCN number (Note MAIO must also be set properly on the different TRX/TS sharing a frequency ... ) The way we generate theses here is what we gathered from real-world traces: - Each 'TX' of each TRX is set to the ARFCN set in that TRX config - Each 'RX' of each TRX is configures as 'hopping' (which I assume means it will just pick the appropriate freq ?) - For each TS, we use : . tx_addr of the TRX that has the ARFCN we want to TX on . rx_addr of the TRX where the TS we're configuring is . arfcn The actual ARFCN we want to add to the list This is incomplete but will work for the 1 MCTR case. Config for multiple MCTR or multiple virtual-bts still need to be handled but it's not yet known exactly how those need to be configured. Signed-off-by: Sylvain Munaut Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 38 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 9ae5a26..e20d9a6 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1285,7 +1285,8 @@ o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); fill_om2k_hdr(o2k, &mo, OM2K_MSGT_RX_CONF_REQ); - msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, trx->arfcn); + /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ + msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, 0x8000 | ((uint16_t)trx->nr << 10)); msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ return abis_om2k_sendmsg(trx->bts, msg); @@ -1303,9 +1304,10 @@ o2k = (struct abis_om2k_hdr *) msgb_put(msg, sizeof(*o2k)); fill_om2k_hdr(o2k, &mo, OM2K_MSGT_TX_CONF_REQ); - msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_TX, trx->arfcn); + /* OM2K_DEI_FREQ_SPEC_TX: Using trx_nr as "TX address" only works for single MCTR case */ + msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_TX, trx->arfcn | ((uint16_t)trx->nr << 10)); msgb_tv_put(msg, OM2K_DEI_POWER, trx->nominal_power-trx->max_power_red); - msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, 0); /* Filling enabled */ + msgb_tv_put(msg, OM2K_DEI_FILLING_MARKER, trx != trx->bts->c0); /* Filling enabled for C0 only */ msgb_tv_put(msg, OM2K_DEI_BCC, trx->bts->bsic & 0x7); /* Dedication Information is optional */ @@ -1378,12 +1380,41 @@ return pchan2comb(ts->pchan_from_config); } -static int put_freq_list(uint8_t *buf, uint16_t arfcn) +static int put_freq_list(uint8_t *buf, struct gsm_bts_trx_ts *ts, uint16_t arfcn) { - buf[0] = 0x00; /* TX/RX address */ + struct gsm_bts_trx *trx; + + /* Find the TRX that's configured for that ARFCN */ + llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) + if (trx->arfcn == arfcn) + break; + + if (!trx || (trx->arfcn != arfcn)) { + LOGP(DNM, LOGL_ERROR, "Trying to use ARFCN %d for hopping with no TRX configured for it", arfcn); + return 0; + } + + /* + * [7:4] - TX address + * This must be the same number that was used when configuring the TX + * MO object with that target arfcn + * + * [3:0] - RX address + * The logical TRX number we're configuring the hopping sequence for + * This must basically match the MO object instance number + * + * ATM since we only support 1 MCTR, we use trx->nr + */ + buf[0] = (trx->nr << 4) | ts->trx->nr; + + /* ARFCN Number */ buf[1] = (arfcn >> 8); buf[2] = (arfcn & 0xff); + /* C0 marker */ + if (trx == trx->bts->c0) + buf[1] |= 0x04; + return 3; } @@ -1397,10 +1428,10 @@ unsigned int i; for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { if (bitvec_get_bit_pos(&ts->hopping.arfcns, i)) - cur += put_freq_list(cur, i); + cur += put_freq_list(cur, ts, i); } } else - cur += put_freq_list(cur, ts->trx->arfcn); + cur += put_freq_list(cur, ts, ts->trx->arfcn); len = cur - list; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie39a857543adaa11d1822346d8563ce3718412c8 Gerrit-Change-Number: 18119 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:23 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Init all the TRX, not just C0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18120 ) Change subject: bts_ericsson_rbs2000: Init all the TRX, not just C0 ...................................................................... bts_ericsson_rbs2000: Init all the TRX, not just C0 Signed-off-by: Sylvain Munaut Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 --- M src/osmo-bsc/bts_ericsson_rbs2000.c 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index 4d1e91b..f98c647 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -34,11 +34,15 @@ static void bootstrap_om_bts(struct gsm_bts *bts) { + struct gsm_bts_trx *trx; + LOGP(DNM, LOGL_NOTICE, "bootstrapping OML for BTS %u\n", bts->nr); - /* FIXME: this is global init, not bootstrapping */ + /* Global init (not bootstrapping) */ abis_om2k_bts_init(bts); - abis_om2k_trx_init(bts->c0); + + llist_for_each_entry(trx, &bts->trx_list, list) + abis_om2k_trx_init(trx); /* TODO: Should we wait for a Failure report? */ om2k_bts_fsm_start(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9417f433f759ce21b8b6e0b74cd686df5388f8c5 Gerrit-Change-Number: 18120 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:23 +0000 Subject: Change in osmo-bsc[master]: bts_ericsson_rbs2000: Whitelist the E1d input driver In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18121 ) Change subject: bts_ericsson_rbs2000: Whitelist the E1d input driver ...................................................................... bts_ericsson_rbs2000: Whitelist the E1d input driver Signed-off-by: Sylvain Munaut Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc --- M src/osmo-bsc/bts_ericsson_rbs2000.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index f98c647..02ef463 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -153,14 +153,16 @@ case S_L_INP_LINE_NOALARM: if (strcasecmp(isd->line->driver->name, "DAHDI") && strcasecmp(isd->line->driver->name, "MISDN_LAPD") - && strcasecmp(isd->line->driver->name, "UNIXSOCKET")) + && strcasecmp(isd->line->driver->name, "UNIXSOCKET") + && strcasecmp(isd->line->driver->name, "E1D")) break; start_sabm_in_line(isd->line, 1); break; case S_L_INP_LINE_ALARM: if (strcasecmp(isd->line->driver->name, "DAHDI") && strcasecmp(isd->line->driver->name, "MISDN_LAPD") - && strcasecmp(isd->line->driver->name, "UNIXSOCKET")) + && strcasecmp(isd->line->driver->name, "UNIXSOCKET") + && strcasecmp(isd->line->driver->name, "E1D")) break; start_sabm_in_line(isd->line, 0); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief9093706d6ca20f8162ca541dcc4669c13e2cbc Gerrit-Change-Number: 18121 Gerrit-PatchSet: 4 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:23 +0000 Subject: Change in osmo-bsc[master]: om2k: Add option to limit OML version during negotiation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18122 ) Change subject: om2k: Add option to limit OML version during negotiation ...................................................................... om2k: Add option to limit OML version during negotiation Starting from G12R13 the MCTR swiches to BSC controlled mode. And although we think we know how to configure it (via MCTR Conf Req), something doesn't work right and the timeslot configuration is not accepted. (TS Conf Result shows "Data not according to request"). So as a workaround for now, we use this version of the protocol where we don't configure the MCTR (it's in "BTS controlled mode") and with this protocol, the BTS accepts our timeslot config and we can bring the system up. This commit add a generic option to limit either OML or RSL IWD version to any value. It also keeps track of the actual negotation version so we can react to it in other places of the code. Signed-off-by: Sylvain Munaut Change-Id: I8f0b0ba72056ea4250fe490e7a38630c77c04f65 better version limit Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 3 files changed, 91 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1d02e39..c2115a6 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1135,6 +1135,10 @@ struct gsm_abis_mo mo; } tf; uint32_t use_superchannel:1; + struct { + uint16_t limit; + uint16_t active; + } om2k_version[16]; } rbs2000; struct { uint8_t bts_type; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index e20d9a6..f5d8095 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -2447,8 +2447,8 @@ } struct iwd_version { - uint8_t gen_char[3+1]; - uint8_t rev_char[3+1]; + char gen_char[3+1]; + char rev_char[3+1]; }; struct iwd_type { @@ -2459,11 +2459,13 @@ static int om2k_rx_negot_req(struct msgb *msg) { struct e1inp_sign_link *sign_link = (struct e1inp_sign_link *)msg->dst; + struct gsm_bts *bts = sign_link->trx->bts; struct abis_om2k_hdr *o2h = msgb_l2(msg); struct iwd_type iwd_types[16]; uint8_t num_iwd_types = o2h->data[2]; uint8_t *cur = o2h->data+3; - unsigned int i, v; + unsigned int i; + int v; uint8_t out_buf[1024]; uint8_t *out_cur = out_buf+1; @@ -2494,25 +2496,59 @@ /* Select the last version for each IWD type */ for (i = 0; i < ARRAY_SIZE(iwd_types); i++) { struct iwd_type *type = &iwd_types[i]; - struct iwd_version *last_v; + struct iwd_version *sel_v = NULL, *alt_v = NULL; + uint16_t sel_ver, alt_ver = 0; + int gen, rev; if (type->num_vers == 0) continue; out_num_types++; - last_v = &type->v[type->num_vers-1]; + for (v = type->num_vers-1; v >= 0; v--) { + if ((sscanf(type->v[v].gen_char, "G%2d", &gen) != 1) || + (sscanf(type->v[v].rev_char, "R%2d", &rev) != 1)) + continue; + sel_ver = (gen << 8) | rev; + + if (!alt_v) { + alt_ver = sel_ver; + alt_v = &type->v[v]; + } + + if ((bts->rbs2000.om2k_version[i].limit != 0) && + (bts->rbs2000.om2k_version[i].limit < sel_ver)) + continue; + + sel_v = &type->v[v]; + break; + } + if (!sel_v) { + if (!alt_v) { + LOGP(DNM, LOGL_ERROR, "Couldn't find valid version for IWD Type %u." + "Skipping IWD ... this will most likely fail\n", i); + continue; + } else { + sel_v = alt_v; + sel_ver = alt_ver; + LOGP(DNM, LOGL_ERROR, "Couldn't find suitable version for IWD Type %u." + "Fallback to Gen %s Rev %s\n", i, + sel_v->gen_char, sel_v->rev_char); + } + } + + bts->rbs2000.om2k_version[i].active = sel_ver; *out_cur++ = i; - memcpy(out_cur, last_v->gen_char, 3); + memcpy(out_cur, sel_v->gen_char, 3); out_cur += 3; - memcpy(out_cur, last_v->rev_char, 3); + memcpy(out_cur, sel_v->rev_char, 3); out_cur += 3; } out_buf[0] = out_num_types; - return abis_om2k_tx_negot_req_ack(sign_link->trx->bts, &o2h->mo, out_buf, out_cur - out_buf); + return abis_om2k_tx_negot_req_ack(bts, &o2h->mo, out_buf, out_cur - out_buf); } diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 972fff0..222546f 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -467,6 +467,40 @@ return CMD_SUCCESS; } +DEFUN(cfg_bts_om2k_version_limit, cfg_bts_om2k_version_limit_cmd, + "om2000 version-limit (oml|rsl) gen <0-99> rev <0-99>", + "Configure OM2K specific parameters\n" + "Configure optional maximum protocol version to negotiate\n" + "Limit OML IWD version\n" "Limit RSL IWD version\n" + "Generation limit\n" + "Generation number to limit to (inclusive)\n" + "Revision limit\n" + "Revision number to limit to (inclusive)\n") +{ + struct gsm_bts *bts = vty->index; + int iwd; + + if (bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "oml")) + iwd = 0; + else if (!strcmp(argv[0], "rsl")) + iwd = 1; + else { + vty_out(vty, "%% Invalid IWD%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + bts->rbs2000.om2k_version[iwd].limit = (atoi(argv[1]) << 8) | atoi(argv[2]); + + return CMD_SUCCESS; +} + DEFUN(cfg_bts_is_conn_list, cfg_bts_is_conn_list_cmd, "is-connection-list (add|del) <0-2047> <0-2047> <0-255>", "Interface Switch Connection List\n" @@ -591,6 +625,7 @@ { struct is_conn_group *igrp; struct con_group *cgrp; + unsigned int i; llist_for_each_entry(igrp, &bts->rbs2000.is.conn_groups, list) vty_out(vty, " is-connection-list add %u %u %u%s", @@ -604,6 +639,13 @@ if (bts->rbs2000.use_superchannel) vty_out(vty, " abis-lower-transport super-channel%s", VTY_NEWLINE); + for (i = 0; i < 2; i++) + if (bts->rbs2000.om2k_version[i].limit) + vty_out(vty, " om2000 version-limit %s gen %02d rev %02d%s", + i ? "rsl" : "oml", + (bts->rbs2000.om2k_version[i].limit >> 8), + (bts->rbs2000.om2k_version[i].limit & 0xff), + VTY_NEWLINE); } int abis_om2k_vty_init(void) @@ -631,6 +673,7 @@ install_element(BTS_NODE, &cfg_bts_is_conn_list_cmd); install_element(BTS_NODE, &cfg_bts_alt_mode_cmd); + install_element(BTS_NODE, &cfg_bts_om2k_version_limit_cmd); install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia789f8ede3eab7eeca6c759da0109e0b53398f60 Gerrit-Change-Number: 18122 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Rename MCTR config request constants for consistency In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18123 ) Change subject: om2k: Rename MCTR config request constants for consistency ...................................................................... om2k: Rename MCTR config request constants for consistency Signed-off-by: Sylvain Munaut Change-Id: I776b0016837e018500ef69acb2f30a274008818e --- M src/osmo-bsc/abis_om2000.c 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index f5d8095..dc233c6 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -219,13 +219,13 @@ OM2K_MSGT_FEATURE_CTRL_COMPL = 0x011a, OM2K_MSGT_FEATURE_CTRL_REJ = 0x011b, - OM2K_MSGT_MCTR_CONFIG_REQ = 0x012c, - OM2K_MSGT_MCTR_CONFIG_REQ_ACK = 0x012e, - OM2K_MSGT_MCTR_CONFIG_REQ_REJ = 0x012f, + OM2K_MSGT_MCTR_CONF_REQ = 0x012c, + OM2K_MSGT_MCTR_CONF_REQ_ACK = 0x012e, + OM2K_MSGT_MCTR_CONF_REQ_REJ = 0x012f, - OM2K_MSGT_MCTR_CONFIG_RES_ACK = 0x0130, - OM2K_MSGT_MCTR_CONFIG_RES_NACK = 0x0131, - OM2K_MSGT_MCTR_CONFIG_RES = 0x0132, + OM2K_MSGT_MCTR_CONF_RES_ACK = 0x0130, + OM2K_MSGT_MCTR_CONF_RES_NACK = 0x0131, + OM2K_MSGT_MCTR_CONF_RES = 0x0132, OM2K_MSGT_MCTR_STATS_REP_ACK = 0x0134, OM2K_MSGT_MCTR_STATS_REP_NACK = 0x0135, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I776b0016837e018500ef69acb2f30a274008818e Gerrit-Change-Number: 18123 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Add support for MCTR configuration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18124 ) Change subject: om2k: Add support for MCTR configuration ...................................................................... om2k: Add support for MCTR configuration Currently only supports a single MCTR with fixed configuration Signed-off-by: Sylvain Munaut Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_om2000.c 2 files changed, 83 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index c2115a6..3fd466c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1134,6 +1134,10 @@ struct om2k_mo om2k_mo; struct gsm_abis_mo mo; } tf; + struct { + struct om2k_mo om2k_mo; + struct gsm_abis_mo mo; + } mctr; uint32_t use_superchannel:1; struct { uint16_t limit; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index dc233c6..2380f5c 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -30,6 +30,7 @@ #include +#include #include #include #include @@ -778,6 +779,9 @@ case OM2K_MO_CLS_TF: mo = &bts->rbs2000.tf.om2k_mo; break; + case OM2K_MO_CLS_MCTR: + mo = &bts->rbs2000.mctr.om2k_mo; + break; case OM2K_MO_CLS_TRXC: trx = gsm_bts_trx_num(bts, abis_mo->inst); @@ -1254,6 +1258,35 @@ return abis_om2k_sendmsg(bts, msg); } +int abis_om2k_tx_mctr_conf_req(struct gsm_bts *bts) +{ + struct msgb *msg = om2k_msgb_alloc(); + struct abis_om2k_hdr *o2k; + struct gsm_bts_trx *trx; + uint8_t trxc_list = 0; + const uint8_t features[] = { 0x00 }; + + /* build trxc list */ + llist_for_each_entry(trx, &bts->trx_list, list) + trxc_list |= (1 << trx->nr); + + /* fill message */ + msgb_tv16_put(msg, OM2K_DEI_TRXC_LIST, osmo_swab16(trxc_list)); /* Read as LE by the BTS ... */ + msgb_tv_put (msg, OM2K_DEI_MAX_ALLOWED_POWER, 0x31); + msgb_tv_put (msg, OM2K_DEI_MAX_ALLOWED_NUM_TRXCS, 0x08); + msgb_tlv_put (msg, OM2K_DEI_MCTR_FEAT_STATUS_BMAP, 1, features); + + /* pre-pend the OM2K header */ + o2k = (struct abis_om2k_hdr *) msgb_push(msg, sizeof(*o2k)); + fill_om2k_hdr(o2k, &bts->rbs2000.mctr.om2k_mo.addr, + OM2K_MSGT_MCTR_CONF_REQ); + DEBUGP(DNM, "Tx MO=%s %s\n", + om2k_mo_name(&bts->rbs2000.mctr.om2k_mo.addr), + get_value_string(om2k_msgcode_vals, OM2K_MSGT_MCTR_CONF_REQ)); + + return abis_om2k_sendmsg(bts, msg); +} + static void om2k_trx_to_mo(struct abis_om2k_mo *mo, const struct gsm_bts_trx *trx, enum abis_om2k_mo_cls cls) @@ -1708,6 +1741,9 @@ case OM2K_MO_CLS_CON: abis_om2k_tx_con_conf_req(omfp->trx->bts); break; + case OM2K_MO_CLS_MCTR: + abis_om2k_tx_mctr_conf_req(omfp->trx->bts); + break; case OM2K_MO_CLS_TX: abis_om2k_tx_tx_conf_req(omfp->trx); break; @@ -1975,6 +2011,7 @@ case OM2K_MSGT_CON_CONF_REQ_ACK: case OM2K_MSGT_IS_CONF_REQ_ACK: + case OM2K_MSGT_MCTR_CONF_REQ_ACK: case OM2K_MSGT_RX_CONF_REQ_ACK: case OM2K_MSGT_TF_CONF_REQ_ACK: case OM2K_MSGT_TS_CONF_REQ_ACK: @@ -1985,6 +2022,7 @@ case OM2K_MSGT_CON_CONF_RES: case OM2K_MSGT_IS_CONF_RES: + case OM2K_MSGT_MCTR_CONF_RES: case OM2K_MSGT_RX_CONF_RES: case OM2K_MSGT_TF_CONF_RES: case OM2K_MSGT_TS_CONF_RES: @@ -2222,6 +2260,7 @@ OM2K_BTS_EVT_IS_DONE, OM2K_BTS_EVT_CON_DONE, OM2K_BTS_EVT_TF_DONE, + OM2K_BTS_EVT_MCTR_DONE, OM2K_BTS_EVT_TRX_DONE, OM2K_BTS_EVT_STOP, }; @@ -2232,6 +2271,7 @@ { OM2K_BTS_EVT_IS_DONE, "IS-DONE" }, { OM2K_BTS_EVT_CON_DONE, "CON-DONE" }, { OM2K_BTS_EVT_TF_DONE, "TF-DONE" }, + { OM2K_BTS_EVT_MCTR_DONE, "MCTR-DONE" }, { OM2K_BTS_EVT_TRX_DONE, "TRX-DONE" }, { OM2K_BTS_EVT_STOP, "STOP" }, { 0, NULL } @@ -2243,6 +2283,7 @@ OM2K_BTS_S_WAIT_IS, OM2K_BTS_S_WAIT_CON, OM2K_BTS_S_WAIT_TF, + OM2K_BTS_S_WAIT_MCTR, OM2K_BTS_S_WAIT_TRX, OM2K_BTS_S_DONE, OM2K_BTS_S_ERROR, @@ -2306,10 +2347,33 @@ static void om2k_bts_s_wait_is(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct om2k_bts_fsm_priv *obfp = fi->priv; - struct gsm_bts_trx *trx; + struct gsm_bts *bts = obfp->bts; OSMO_ASSERT(event == OM2K_BTS_EVT_IS_DONE); + /* If we're running OML >= G12R13, start MCTR, else skip directly to TRX */ + if (bts->rbs2000.om2k_version[0].active >= 0x0c0d) { + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_MCTR, + BTS_FSM_TIMEOUT, 0); + om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0, + &bts->rbs2000.mctr.om2k_mo); + } else { + struct gsm_bts_trx *trx; + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, + BTS_FSM_TIMEOUT, 0); + obfp->next_trx_nr = 0; + trx = gsm_bts_trx_num(obfp->bts, obfp->next_trx_nr++); + om2k_trx_fsm_start(fi, trx, OM2K_BTS_EVT_TRX_DONE); + } +} + +static void om2k_bts_s_wait_mctr(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct om2k_bts_fsm_priv *obfp = fi->priv; + struct gsm_bts_trx *trx; + + OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, BTS_FSM_TIMEOUT, 0); obfp->next_trx_nr = 0; @@ -2368,10 +2432,18 @@ [OM2K_BTS_S_WAIT_IS] = { .in_event_mask = S(OM2K_BTS_EVT_IS_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | + S(OM2K_BTS_S_WAIT_MCTR) | S(OM2K_BTS_S_WAIT_TRX), .name = "WAIT-IS", .action = om2k_bts_s_wait_is, }, + [OM2K_BTS_S_WAIT_MCTR] = { + .in_event_mask = S(OM2K_BTS_EVT_MCTR_DONE), + .out_state_mask = S(OM2K_BTS_S_ERROR) | + S(OM2K_BTS_S_WAIT_TRX), + .name = "WAIT-MCTR", + .action = om2k_bts_s_wait_mctr, + }, [OM2K_BTS_S_WAIT_TRX] = { .in_event_mask = S(OM2K_BTS_EVT_TRX_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | @@ -2792,6 +2864,9 @@ case OM2K_MSGT_CON_CONF_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_CON_CONF_RES_ACK); break; + case OM2K_MSGT_MCTR_CONF_RES: + rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_MCTR_CONF_RES_ACK); + break; case OM2K_MSGT_TX_CONF_RES: rc = abis_om2k_tx_simple(bts, &o2h->mo, OM2K_MSGT_TX_CONF_RES_ACK); break; @@ -2830,6 +2905,7 @@ case OM2K_MSGT_TEST_REQ_REJ: case OM2K_MSGT_CON_CONF_REQ_REJ: case OM2K_MSGT_IS_CONF_REQ_REJ: + case OM2K_MSGT_MCTR_CONF_REQ_REJ: case OM2K_MSGT_TX_CONF_REQ_REJ: case OM2K_MSGT_RX_CONF_REQ_REJ: case OM2K_MSGT_TS_CONF_REQ_REJ: @@ -2910,6 +2986,8 @@ bts->nr, 0xFF, 0); om2k_mo_init(&bts->rbs2000.tf.om2k_mo, OM2K_MO_CLS_TF, bts->nr, 0xFF, 0); + om2k_mo_init(&bts->rbs2000.mctr.om2k_mo, OM2K_MO_CLS_MCTR, + bts->nr, 0xFF, 0); // FIXME: There can be multiple MCTRs ... } static __attribute__((constructor)) void abis_om2k_init(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I96b8bb2c01c05bf153fc924f62bd6aafa96725ee Gerrit-Change-Number: 18124 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Properly update the 'fake' 12.21 states using OM2000 status In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18125 ) Change subject: om2k: Properly update the 'fake' 12.21 states using OM2000 status ...................................................................... om2k: Properly update the 'fake' 12.21 states using OM2000 status Signed-off-by: Sylvain Munaut Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 39 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 2380f5c..ae36ff2 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -310,6 +310,13 @@ OM2K_DEI_MCTR_FEAT_STATUS_BMAP = 0xab, }; +enum abis_om2k_mostate { + OM2K_MOSTATE_RESET = 0x00, + OM2K_MOSTATE_STARTED = 0x01, + OM2K_MOSTATE_ENABLED = 0x02, + OM2K_MOSTATE_DISABLED = 0x03, +}; + const struct tlv_definition om2k_att_tlvdef = { .def = { [OM2K_DEI_ACCORDANCE_IND] = { TLV_TYPE_TV }, @@ -782,7 +789,6 @@ case OM2K_MO_CLS_MCTR: mo = &bts->rbs2000.mctr.om2k_mo; break; - case OM2K_MO_CLS_TRXC: trx = gsm_bts_trx_num(bts, abis_mo->inst); if (!trx) @@ -874,6 +880,9 @@ return NULL; nm_state = &trx->ts[mo->inst].mo.nm_state; break; + case OM2K_MO_CLS_MCTR: + nm_state = &bts->rbs2000.mctr.mo.nm_state; + break; case OM2K_MO_CLS_TF: nm_state = &bts->rbs2000.tf.mo.nm_state; break; @@ -922,6 +931,7 @@ if (mo->inst >= ARRAY_SIZE(trx->ts)) return NULL; return &trx->ts[mo->inst]; + case OM2K_MO_CLS_MCTR: case OM2K_MO_CLS_TF: case OM2K_MO_CLS_IS: case OM2K_MO_CLS_CON: @@ -939,13 +949,39 @@ struct gsm_nm_state *nm_state = mo2nm_state(bts, mo); struct gsm_nm_state new_state; struct nm_statechg_signal_data nsd; + bool has_enabled_state; if (!nm_state) return; + switch (mo->class) { + case OM2K_MO_CLS_CF: + case OM2K_MO_CLS_TRXC: + has_enabled_state = false; + break; + default: + has_enabled_state = true; + break; + } + new_state = *nm_state; - /* NOTICE: 12.21 Availability state values != OM2000 */ - new_state.availability = mo_state; + switch (mo_state) { + case OM2K_MOSTATE_RESET: + new_state.availability = NM_AVSTATE_POWER_OFF; + break; + case OM2K_MOSTATE_STARTED: + new_state.availability = has_enabled_state ? NM_AVSTATE_OFF_LINE : NM_AVSTATE_OK; + break; + case OM2K_MOSTATE_ENABLED: + new_state.availability = NM_AVSTATE_OK; + break; + case OM2K_MOSTATE_DISABLED: + new_state.availability = NM_AVSTATE_POWER_OFF; + break; + default: + new_state.availability = NM_AVSTATE_DEGRADED; + break; + } memset(&nsd, 0, sizeof(nsd)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1caafa2e87c6198bf3b1a77f0fa1edc774deeef9 Gerrit-Change-Number: 18125 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:07:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:07:24 +0000 Subject: Change in osmo-bsc[master]: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18126 ) Change subject: om2k: Wait for OM TRX links to stabilize before trying to bring up TRX ...................................................................... om2k: Wait for OM TRX links to stabilize before trying to bring up TRX The OM2K link "per-trx" only comes up after MCTR is setup. So that means we need to wait for it before trying to boot the TRX itself. He we simply apply a "dumb" 5 sec timeout as this is the most reliable way I found to get this working reliably. Tracking the link state proved difficult and unreliable: - Multiple TRX can be present with their link coming up in random order. - They can already be up at the start (BTS already initialized from a previous boot) and so the link may actually come up, down, and up again. - All of theses transitions might happens before/after we get to the OM2K_BTS_S_WAIT_TRX state depending on how the LAPD timeout expire, if the BTS config was actually changed or not and how much time it takes to apply the new config. So all in all, what we must do is wait for the link to stabilize ... hence just waiting 5 second. Signed-off-by: Sylvain Munaut Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 --- M src/osmo-bsc/abis_om2000.c 1 file changed, 31 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index ae36ff2..c696557 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -76,6 +76,7 @@ #define OM_HEADROOM_SIZE 128 #define OM2K_TIMEOUT 10 +#define TRX_LAPD_TIMEOUT 5 #define TRX_FSM_TIMEOUT 60 #define BTS_FSM_TIMEOUT 60 @@ -2297,6 +2298,7 @@ OM2K_BTS_EVT_CON_DONE, OM2K_BTS_EVT_TF_DONE, OM2K_BTS_EVT_MCTR_DONE, + OM2K_BTS_EVT_TRX_LAPD_UP, OM2K_BTS_EVT_TRX_DONE, OM2K_BTS_EVT_STOP, }; @@ -2308,6 +2310,7 @@ { OM2K_BTS_EVT_CON_DONE, "CON-DONE" }, { OM2K_BTS_EVT_TF_DONE, "TF-DONE" }, { OM2K_BTS_EVT_MCTR_DONE, "MCTR-DONE" }, + { OM2K_BTS_EVT_TRX_LAPD_UP, "TRX-LAPD-UP" }, { OM2K_BTS_EVT_TRX_DONE, "TRX-DONE" }, { OM2K_BTS_EVT_STOP, "STOP" }, { 0, NULL } @@ -2320,6 +2323,7 @@ OM2K_BTS_S_WAIT_CON, OM2K_BTS_S_WAIT_TF, OM2K_BTS_S_WAIT_MCTR, + OM2K_BTS_S_WAIT_TRX_LAPD, OM2K_BTS_S_WAIT_TRX, OM2K_BTS_S_DONE, OM2K_BTS_S_ERROR, @@ -2394,21 +2398,25 @@ om2k_mo_fsm_start(fi, OM2K_BTS_EVT_MCTR_DONE, bts->c0, &bts->rbs2000.mctr.om2k_mo); } else { - struct gsm_bts_trx *trx; - osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, - BTS_FSM_TIMEOUT, 0); - obfp->next_trx_nr = 0; - trx = gsm_bts_trx_num(obfp->bts, obfp->next_trx_nr++); - om2k_trx_fsm_start(fi, trx, OM2K_BTS_EVT_TRX_DONE); + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, + TRX_LAPD_TIMEOUT, 0); } } static void om2k_bts_s_wait_mctr(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX_LAPD, + TRX_LAPD_TIMEOUT, 0); +} + +static void om2k_bts_s_wait_trx_lapd(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ struct om2k_bts_fsm_priv *obfp = fi->priv; struct gsm_bts_trx *trx; - OSMO_ASSERT(event == OM2K_BTS_EVT_MCTR_DONE); + OSMO_ASSERT(event == OM2K_BTS_EVT_TRX_LAPD_UP); osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_WAIT_TRX, BTS_FSM_TIMEOUT, 0); @@ -2469,17 +2477,23 @@ .in_event_mask = S(OM2K_BTS_EVT_IS_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | S(OM2K_BTS_S_WAIT_MCTR) | - S(OM2K_BTS_S_WAIT_TRX), + S(OM2K_BTS_S_WAIT_TRX_LAPD), .name = "WAIT-IS", .action = om2k_bts_s_wait_is, }, [OM2K_BTS_S_WAIT_MCTR] = { .in_event_mask = S(OM2K_BTS_EVT_MCTR_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | - S(OM2K_BTS_S_WAIT_TRX), + S(OM2K_BTS_S_WAIT_TRX_LAPD), .name = "WAIT-MCTR", .action = om2k_bts_s_wait_mctr, }, + [OM2K_BTS_S_WAIT_TRX_LAPD] = { + .in_event_mask = S(OM2K_BTS_EVT_TRX_LAPD_UP), + .out_state_mask = S(OM2K_BTS_S_WAIT_TRX), + .name = "WAIT-TRX-LAPD", + .action = om2k_bts_s_wait_trx_lapd, + }, [OM2K_BTS_S_WAIT_TRX] = { .in_event_mask = S(OM2K_BTS_EVT_TRX_DONE), .out_state_mask = S(OM2K_BTS_S_ERROR) | @@ -2498,7 +2512,14 @@ static int om2k_bts_timer_cb(struct osmo_fsm_inst *fi) { - osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_ERROR, 0, 0); + switch (fi->state) { + case OM2K_BTS_S_WAIT_TRX_LAPD: + osmo_fsm_inst_dispatch(fi, OM2K_BTS_EVT_TRX_LAPD_UP, NULL); + break; + default: + osmo_fsm_inst_state_chg(fi, OM2K_BTS_S_ERROR, 0, 0); + break; + } return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I55a06e08b9c52ff6e97e8c72f2d55770809eba51 Gerrit-Change-Number: 18126 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:09:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:09:42 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:09:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:10:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:10:18 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:10:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:10:32 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18101 ) Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 08 May 2020 16:10:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:10:58 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 16:10:58 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to change the pcap fd and/or unset it In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 to look at the new patch set (#3). Change subject: e1_input: Allow to change the pcap fd and/or unset it ...................................................................... e1_input: Allow to change the pcap fd and/or unset it This will update the pcap fd in all open lines and close the previous one (if applicable). Signed-off-by: Sylvain Munaut Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 --- M src/e1_input.c 1 file changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/13/18113/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:11:43 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 16:11:43 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to change the pcap fd and/or unset it In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to change the pcap fd and/or unset it ...................................................................... Patch Set 3: Ok, I actually updated the whole logic to properly update the pcap fd in all open lines and close the old one. Please re-check if this makes sense to you. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 16:11:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:12:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:12:05 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:12:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:12:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:12:25 +0000 Subject: Change in osmo-bsc[master]: stats: Fix stat group index for BTS stats. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18108 ) Change subject: stats: Fix stat group index for BTS stats. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 Gerrit-Change-Number: 18108 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:12:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:13:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:13:15 +0000 Subject: Change in osmo-bsc[master]: Fix a comment for the handle_unitdata_from_msc() function. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18110 ) Change subject: Fix a comment for the handle_unitdata_from_msc() function. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 Gerrit-Change-Number: 18110 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:13:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:14:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 16:14:04 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 to look at the new patch set (#6). Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... gsm_data: Update trx_is_usable for ericsson BTS There is no bb_transc oject. Signed-off-by: Sylvain Munaut Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c 2 files changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/18128/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:14:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:14:05 +0000 Subject: Change in osmo-bsc[master]: Fix indent whitespace and log message. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18111 ) Change subject: Fix indent whitespace and log message. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 Gerrit-Change-Number: 18111 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:14:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:14:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:14:50 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:14:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:16:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:16:42 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 6: Code-Review-1 I think this will be broken on multi-TRX setups, when the BTS doesn't respawn completely (like nanoBTS but also like possible future osmo-bts). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:16:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:18:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:18:26 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c File src/osmo-bsc/bts_ipaccess_nanobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c at 400 PS6, Line 400: osm specifically here is a problem. Just because on RSL connection (= TRX in most cases) disconnected, doesn't mean that all of them are gone. You'd have to actuall subtract the count by one, not set it to zero. https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c at 591 PS6, Line 591: osm equally here, you'd have to increment, not set to one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:18:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:18:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:18:56 +0000 Subject: Change in osmo-e1-recorder[master]: make e1cap format portable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 ) Change subject: make e1cap format portable ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I0d22ad8f772d173c2252c2f6c562faee2e578806 Gerrit-Change-Number: 16186 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 16:18:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:19:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:19:10 +0000 Subject: Change in osmo-e1-recorder[master]: make e1cap format portable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 ) Change subject: make e1cap format portable ...................................................................... make e1cap format portable The original format included a 'struct timeval' into the packet header, which unfortunately is non-potrable between e.g. i386 and amd64. Change-Id: I0d22ad8f772d173c2252c2f6c562faee2e578806 --- M src/storage.h 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/storage.h b/src/storage.h index c7c1890..0ea9937 100644 --- a/src/storage.h +++ b/src/storage.h @@ -11,7 +11,10 @@ /* header for each frame we store */ struct osmo_e1cap_pkthdr { /* Timestamp at which frame was received */ - struct timeval ts; + struct { + uint32_t tv_sec; + uint32_t tv_usec; + } ts; /* length of frame data after this header */ uint32_t len; /* line/span number on which frame was received */ -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-recorder/+/16186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-recorder Gerrit-Branch: master Gerrit-Change-Id: I0d22ad8f772d173c2252c2f6c562faee2e578806 Gerrit-Change-Number: 16186 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:21:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 16:21:15 +0000 Subject: Change in osmo-hlr[master]: db v6: determine 3G AUC IND from VLR name In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16764 ) Change subject: db v6: determine 3G AUC IND from VLR name ...................................................................... Patch Set 13: (1 comment) https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c File src/db_hlr.c: https://gerrit.osmocom.org/c/osmo-hlr/+/16764/11/src/db_hlr.c at 936 PS11, Line 936: sqlite3_column_int64 > should we somehow check for the IND value not being larger tha n the number of IND bits? I didn't see any change so far, or any statement claiming this is not a problem. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16764 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I6f0a6bbef3a27507605c3b4a0e1a89bdfd468374 Gerrit-Change-Number: 16764 Gerrit-PatchSet: 13 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 16:21:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 16:22:27 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 16:22:27 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 to look at the new patch set (#5). Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output The command must be put first, since only lines created after it are affected. This limits the usefulness of changing at runtime or of the 'no' command except to set it up properly before a 'write config'. Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/18114/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:15:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:15:01 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to change the pcap fd and/or unset it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to change the pcap fd and/or unset it ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 17:15:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:15:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:15:57 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 08 May 2020 17:15:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:16:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:16:37 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 17:16:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:17:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:17:09 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 17:17:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:17:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:17:42 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18101 ) Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 17:17:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:19:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 17:19:58 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 17:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 17:59:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 17:59:39 +0000 Subject: Change in docker-playground[master]: cgit: change URL for gerrit change-ids References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18132 ) Change subject: cgit: change URL for gerrit change-ids ...................................................................... cgit: change URL for gerrit change-ids Change-Id: Ifda98d8081b976194a9fafcfdcdb6f6340df6844 Related:OS#4529 --- M cgit/osmo-commit-filter.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/32/18132/1 diff --git a/cgit/osmo-commit-filter.py b/cgit/osmo-commit-filter.py index ebc2cb0..7488bb5 100755 --- a/cgit/osmo-commit-filter.py +++ b/cgit/osmo-commit-filter.py @@ -5,7 +5,7 @@ # cgit. It recognizes certain patterns (such as a gerrit Change-Id, or # Related/Closed redmine issues. -GERRIT_URL = 'https://gerrit.osmocom.org/r/%s' +GERRIT_URL = 'https://gerrit.osmocom.org/q/%s' REDMINE_OS_URL = 'https://osmocom.org/issues/%s' REDMINE_SYS_URL = 'https://projects.sysmocom.de/redmine/issues/%s' RT_URL = 'https://rt.sysmocom.de/TicketDisplay.html?id=%s' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifda98d8081b976194a9fafcfdcdb6f6340df6844 Gerrit-Change-Number: 18132 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 18:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 18:01:42 +0000 Subject: Change in docker-playground[master]: cgit: change URL for gerrit change-ids In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18132 ) Change subject: cgit: change URL for gerrit change-ids ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifda98d8081b976194a9fafcfdcdb6f6340df6844 Gerrit-Change-Number: 18132 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 08 May 2020 18:01:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 18:01:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 8 May 2020 18:01:45 +0000 Subject: Change in docker-playground[master]: cgit: change URL for gerrit change-ids In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18132 ) Change subject: cgit: change URL for gerrit change-ids ...................................................................... cgit: change URL for gerrit change-ids Change-Id: Ifda98d8081b976194a9fafcfdcdb6f6340df6844 Related:OS#4529 --- M cgit/osmo-commit-filter.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/cgit/osmo-commit-filter.py b/cgit/osmo-commit-filter.py index ebc2cb0..7488bb5 100755 --- a/cgit/osmo-commit-filter.py +++ b/cgit/osmo-commit-filter.py @@ -5,7 +5,7 @@ # cgit. It recognizes certain patterns (such as a gerrit Change-Id, or # Related/Closed redmine issues. -GERRIT_URL = 'https://gerrit.osmocom.org/r/%s' +GERRIT_URL = 'https://gerrit.osmocom.org/q/%s' REDMINE_OS_URL = 'https://osmocom.org/issues/%s' REDMINE_SYS_URL = 'https://projects.sysmocom.de/redmine/issues/%s' RT_URL = 'https://rt.sysmocom.de/TicketDisplay.html?id=%s' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ifda98d8081b976194a9fafcfdcdb6f6340df6844 Gerrit-Change-Number: 18132 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 18:10:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 18:10:44 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_ul_tbf() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18133 ) Change subject: Expect ms object to exist before calling tbf_alloc_ul_tbf() ...................................................................... Expect ms object to exist before calling tbf_alloc_ul_tbf() It's really non-sense from architectural point of view to pass an optional pointer to the MS holding the TBF and creating it otherwise. TBFs shouldn't be creating MS they belong too. This simple change requiring so many code line changes really exhibits how badly entangled the object relationship is. Another commit will follow doing the same for dl tbf. Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c --- M src/bts.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M tests/alloc/AllocTest.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 8 files changed, 105 insertions(+), 103 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/18133/1 diff --git a/src/bts.cpp b/src/bts.cpp index 6578e06..990845c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -752,6 +752,7 @@ uint8_t tsc = 0, ta = qta2ta(qta); uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; + GprsMs *ms; rach_frame(); @@ -791,9 +792,10 @@ "Uplink (AGCH)\n"); } } else { + ms = ms_alloc(0, egprs_ms_class); // Create new TBF /* FIXME: Copy and paste with other routines.. */ - tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, egprs_ms_class, true); + tbf = tbf_alloc_ul_tbf(&m_bts, ms, -1, true); if (!tbf) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending " diff --git a/src/pdch.cpp b/src/pdch.cpp index 77be1b5..149ca1f 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -118,8 +118,7 @@ bts->channel_request_description(); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->trx->trx_no, tbf->ms_class(), - tbf->ms()->egprs_ms_class(), tbf->tlli(), tbf->ta(), tbf->ms()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli(), tbf->ta()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -552,19 +551,17 @@ struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; struct gprs_rlcmac_dl_tbf *dl_tbf = NULL; uint32_t tlli = request->ID.u.TLLI; - uint8_t ms_class = 0; - uint8_t egprs_ms_class = 0; uint8_t ta = GSM48_TA_INVALID; GprsMs *ms = bts()->ms_by_tlli(tlli); + if (!ms) + ms = bts()->ms_alloc(0, 0); /* ms class updated later */ + /* Keep the ms, even if it gets idle temporarily */ GprsMs::Guard guard(ms); - - if (ms) { - ul_tbf = ms->ul_tbf(); - dl_tbf = ms->dl_tbf(); - ta = ms->ta(); - } + ul_tbf = ms->ul_tbf(); + dl_tbf = ms->dl_tbf(); + ta = ms->ta(); /* We got a RACH so the MS was in packet idle mode and thus * didn't have any active TBFs */ @@ -597,20 +594,23 @@ bts()->sba()->free_sba(sba); } if (request->Exist_MS_Radio_Access_capability2) { + uint8_t ms_class, egprs_ms_class; ms_class = Decoding::get_ms_class_by_capability( &request->MS_Radio_Access_capability2); + ms->set_ms_class(ms_class); egprs_ms_class = Decoding::get_egprs_ms_class_by_capability( &request->MS_Radio_Access_capability2); + ms->set_egprs_ms_class(egprs_ms_class); } - if (!ms_class) + if (!ms->ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); - if (egprs_ms_class) + if (ms->egprs_ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS supports EGPRS multislot class %d.\n", - egprs_ms_class); - ul_tbf = tbf_alloc_ul(bts_data(), trx_no(), ms_class, - egprs_ms_class, tlli, ta, ms); + ms->egprs_ms_class()); + + ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, @@ -626,10 +626,6 @@ /* schedule uplink assignment */ TBF_SET_ASS_STATE_UL(ul_tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS); - /* get capabilities */ - if (ul_tbf->ms()) - ul_tbf->ms()->set_egprs_ms_class(egprs_ms_class); - /* get measurements */ if (ul_tbf->ms()) { get_meas(meas, request); diff --git a/src/tbf.cpp b/src/tbf.cpp index fb985d4..e41ed9f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -415,17 +415,15 @@ ms()->confirm_tlli(tlli); } -gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, - int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, - uint32_t tlli, uint8_t ta, GprsMs *ms) +gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, + uint32_t tlli, uint8_t ta) { struct gprs_rlcmac_ul_tbf *tbf; /* FIXME: Copy and paste with tbf_new_dl_assignment */ /* create new TBF, use same TRX as DL TBF */ /* use multislot class of downlink TBF */ - tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, - false); + tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, false); if (!tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); /* FIXME: send reject */ @@ -979,13 +977,14 @@ } } -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot) +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot) { struct gprs_rlcmac_ul_tbf *tbf; int rc; - if (egprs_ms_class == 0 && bts->egprs_enabled) { + OSMO_ASSERT(ms != NULL); + + if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); bts->bts->tbf_failed_egprs_only(); return NULL; @@ -993,26 +992,21 @@ LOGP(DTBF, LOGL_DEBUG, "********** UL-TBF starts here **********\n"); LOGP(DTBF, LOGL_INFO, "Allocating UL TBF: MS_CLASS=%d/%d\n", - ms_class, egprs_ms_class); + ms->ms_class(), ms->egprs_ms_class()); tbf = talloc(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - if (!tbf) return NULL; - talloc_set_destructor(tbf, ul_tbf_dtor); new (tbf) gprs_rlcmac_ul_tbf(bts->bts); - if (!ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); - - if (egprs_ms_class > 0 && bts->egprs_enabled) { + if (ms->egprs_ms_class() > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } - rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); + rc = setup_tbf(tbf, ms, use_trx, ms->ms_class(), ms->egprs_ms_class(), single_slot); /* if no resource */ if (rc < 0) { diff --git a/src/tbf.h b/src/tbf.h index 9545385..33d996f 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -346,12 +346,10 @@ }; -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, - int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, - uint32_t tlli, uint8_t ta, GprsMs *ms); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, + int8_t use_trx, uint32_t tlli, uint8_t ta); -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 2fdee3f..abd5d22 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -44,9 +44,11 @@ uint8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot) { + if (dir == GPRS_RLCMAC_UL_TBF && !ms) + ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); + if (dir == GPRS_RLCMAC_UL_TBF) - return tbf_alloc_ul_tbf(bts, ms, use_trx, - ms_class, egprs_ms_class, single_slot); + return tbf_alloc_ul_tbf(bts, ms, use_trx, single_slot); else return tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, single_slot); @@ -205,6 +207,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_dl_tbf *dl_tbf; @@ -215,7 +218,8 @@ enable_ts_on_bts(bts, ts0, ts1, ts2, ts3, ts4, ts5, ts6, ts7); - ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true); + ms = the_bts.ms_alloc(ms_class, 0); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); if (!ul_tbf) return false; @@ -247,6 +251,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_dl_tbf *dl_tbf; @@ -262,14 +267,14 @@ return false; dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF); - + ms = dl_tbf->ms(); OSMO_ASSERT(dl_tbf->ms()); OSMO_ASSERT(dl_tbf->ms()->current_trx()); + ms->set_ms_class(ms_class); dump_assignment(dl_tbf, "DL", verbose); - ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), dl_tbf->ms()->current_trx()->trx_no, ms_class, 0, - false); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, ms->current_trx()->trx_no, false); if (!ul_tbf) return false; @@ -297,6 +302,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; int tfi; uint8_t trx_no; gprs_rlcmac_tbf *ul_tbf, *dl_tbf; @@ -309,7 +315,8 @@ tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1); OSMO_ASSERT(tfi >= 0); - ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, false); + ms = the_bts.ms_alloc(ms_class, 0); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, -1, false); if (!ul_tbf) return false; @@ -455,6 +462,8 @@ struct gprs_rlcmac_bts *bts; uint8_t trx_no = -1; + OSMO_ASSERT(ms != NULL); + bts = the_bts->bts_data(); gprs_rlcmac_tbf *tbf = NULL; @@ -471,7 +480,8 @@ case TEST_MODE_UL_AND_DL: if (ms && ms->ul_tbf()) tbf_free(ms->ul_tbf()); - tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, ms_class, 0, false); + ms->set_ms_class(ms_class); + tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; break; @@ -549,6 +559,8 @@ uint32_t tlli = counter + 0xc0000000; ms = the_bts->ms_by_tlli(tlli); + if (!ms) + ms = the_bts->ms_alloc(0, 0); ms = alloc_tbfs(the_bts, ms, ms_class, mode); if (!ms) diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 6420aca..0a979e5 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -95,8 +95,7 @@ dl_tbf->set_ta(4); gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), - dl_tbf->ms(), - 0, 0, 0, false); + dl_tbf->ms(), 0, false); OSMO_ASSERT(ul_tbf != NULL); ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 47146dd..3f72266 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1444,9 +1444,9 @@ Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1524,11 +1524,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1606,11 +1606,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1736,11 +1736,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) No downlink ACK received yet +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1803,11 +1803,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1975,11 +1975,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2059,9 +2059,9 @@ Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654275 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2126,11 +2126,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3146,13 +3146,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -3238,13 +3238,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -5877,13 +5877,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -6042,13 +6042,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -6180,9 +6180,9 @@ === end test_tbf_epdan_out_of_rx_window === === start test_immediate_assign_rej_multi_block === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6205,9 +6205,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6230,9 +6230,9 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6255,9 +6255,9 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6280,9 +6280,9 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6305,9 +6305,9 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6330,9 +6330,9 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6355,9 +6355,9 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests UL TBF on RACH, so we provide one: ra=0x7f Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6387,13 +6387,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -7810,9 +7810,9 @@ === end test_packet_access_rej_epdan === === start test_packet_access_rej_prr === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7835,9 +7835,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7860,9 +7860,9 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7885,9 +7885,9 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7910,9 +7910,9 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7935,9 +7935,9 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7960,9 +7960,9 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7986,14 +7986,14 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: MS requests UL TBF in packet resource request of single block, but there is no resource request scheduled! +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 MS supports EGPRS multislot class 11. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 [UL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8005,7 +8005,6 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available No PDCH resource -Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) @@ -8014,7 +8013,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) === end test_packet_access_rej_prr === -Destroying MS object, TLLI = 0x00000000 === start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index aa0a366..8469d60 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -674,7 +674,8 @@ the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[4].enable(); - struct gprs_rlcmac_ul_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, true); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_ul_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, true); struct crbb_test crbb_test = {0}; bitvec *rbb = NULL; unsigned int rbb_size; @@ -779,7 +780,8 @@ the_bts.bts_data()->trx[0].pdch[4].enable(); the_bts.bts_data()->trx[0].pdch[5].enable(); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x10, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ @@ -819,7 +821,8 @@ the_bts.bts_data()->trx[0].pdch[1].enable(); the_bts.bts_data()->trx[0].pdch[2].enable(); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x10, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c Gerrit-Change-Number: 18133 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 18:10:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 18:10:46 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Expect ms object to exist before calling tbf_alloc_dl_tbf() Same as previous commit, this time for the DL counterpart. Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/alloc/AllocTest.cpp M tests/app_info/AppInfoTest.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 8 files changed, 221 insertions(+), 221 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/18134/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index e41ed9f..ec45015 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1049,24 +1049,23 @@ return 0; } -struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot) +struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot) { struct gprs_rlcmac_dl_tbf *tbf; int rc; - if (egprs_ms_class == 0 && bts->egprs_enabled) { - if (ms_class > 0) { + if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { + if (ms->ms_class() > 0) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); bts->bts->tbf_failed_egprs_only(); return NULL; } - egprs_ms_class = 1; + ms->set_egprs_ms_class(1); } LOGP(DTBF, LOGL_DEBUG, "********** DL-TBF starts here **********\n"); LOGP(DTBF, LOGL_INFO, "Allocating DL TBF: MS_CLASS=%d/%d\n", - ms_class, egprs_ms_class); + ms->ms_class(), ms->egprs_ms_class()); tbf = talloc(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); @@ -1075,17 +1074,13 @@ talloc_set_destructor(tbf, dl_tbf_dtor); new (tbf) gprs_rlcmac_dl_tbf(bts->bts); - - if (!ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); - - if (egprs_ms_class > 0 && bts->egprs_enabled) { + if (ms->egprs_ms_class() > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } - rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot); + rc = setup_tbf(tbf, ms, use_trx, ms->ms_class(), 0, single_slot); /* if no resource */ if (rc < 0) { talloc_free(tbf); @@ -1430,8 +1425,7 @@ bts->tbf_reused(); new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), - this->trx->trx_no, ms_class(), - ms() ? ms()->egprs_ms_class() : 0, false); + this->trx->trx_no, false); if (!new_tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); diff --git a/src/tbf.h b/src/tbf.h index 33d996f..5ebd2e8 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -351,8 +351,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); -struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot); +struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); void tbf_free(struct gprs_rlcmac_tbf *tbf); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 4e8966e..591f460 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -146,10 +146,12 @@ /* check for uplink data, so we copy our informations */ ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi); - if (ms) { - ul_tbf = ms->ul_tbf(); - ta = ms->ta(); - } + if (!ms) + ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); /* ms class updated later */ + + ul_tbf = ms->ul_tbf(); + ta = ms->ta(); + /* TODO: if (!ms) create MS before tbf_alloc is called? */ if (ul_tbf && ul_tbf->m_contention_resolution_done @@ -166,7 +168,7 @@ // Create new TBF (any TRX) /* FIXME: Copy and paste with alloc_ul_tbf */ /* set number of downlink slots according to multislot class */ - dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ss); if (!dl_tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index abd5d22..fec2c31 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -41,17 +41,14 @@ static gprs_rlcmac_tbf *tbf_alloc(struct gprs_rlcmac_bts *bts, GprsMs *ms, gprs_rlcmac_tbf_direction dir, - uint8_t use_trx, - uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot) + uint8_t use_trx, bool single_slot) { - if (dir == GPRS_RLCMAC_UL_TBF && !ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); + OSMO_ASSERT(ms != NULL); if (dir == GPRS_RLCMAC_UL_TBF) return tbf_alloc_ul_tbf(bts, ms, use_trx, single_slot); else - return tbf_alloc_dl_tbf(bts, ms, use_trx, - ms_class, egprs_ms_class, single_slot); + return tbf_alloc_dl_tbf(bts, ms, use_trx, single_slot); } static void check_tfi_usage(BTS *the_bts) @@ -116,6 +113,7 @@ int i; uint8_t used_trx, tmp_trx; BTS the_bts; + GprsMs *ms; struct gprs_rlcmac_bts *bts; struct gprs_rlcmac_tbf *tbfs[32*8+1] = { 0, }; @@ -138,7 +136,8 @@ * least this part is working okay. */ for (i = 0; i < (int)ARRAY_SIZE(tbfs); ++i) { - tbfs[i] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0); + ms = bts->bts->ms_alloc(0, 0); + tbfs[i] = tbf_alloc(bts, ms, dir, -1, 0); if (tbfs[i] == NULL) break; @@ -155,7 +154,8 @@ if (tbfs[i]) tbf_free(tbfs[i]); - tbfs[0] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0); + ms = bts->bts->ms_alloc(0, 0); + tbfs[0] = tbf_alloc(bts, ms, dir, -1, 0); OSMO_ASSERT(tbfs[0]); tbf_free(tbfs[0]); } @@ -229,8 +229,7 @@ dump_assignment(ul_tbf, "UL", verbose); /* assume final ack has not been sent */ - dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), ul_tbf->ms()->current_trx()->trx_no, ms_class, 0, - false); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, ms->current_trx()->trx_no, false); if (!dl_tbf) return false; @@ -262,15 +261,14 @@ enable_ts_on_bts(bts, ts0, ts1, ts2, ts3, ts4, ts5, ts6, ts7); - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true); + ms = the_bts.ms_alloc(ms_class, 0); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, -1, true); if (!dl_tbf) return false; dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF); - ms = dl_tbf->ms(); - OSMO_ASSERT(dl_tbf->ms()); + OSMO_ASSERT(dl_tbf->ms() == ms); OSMO_ASSERT(dl_tbf->ms()->current_trx()); - ms->set_ms_class(ms_class); dump_assignment(dl_tbf, "DL", verbose); @@ -320,14 +318,13 @@ if (!ul_tbf) return false; - OSMO_ASSERT(ul_tbf->ms()); + OSMO_ASSERT(ul_tbf->ms() == ms); OSMO_ASSERT(ul_tbf->ms()->current_trx()); - trx_no = ul_tbf->ms()->current_trx()->trx_no; + trx_no = ms->current_trx()->trx_no; dump_assignment(ul_tbf, "UL", true); /* assume final ack has not been sent */ - dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, - false); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false); if (!dl_tbf) return false; @@ -456,8 +453,7 @@ } } -static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, unsigned ms_class, - enum test_mode mode) +static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, enum test_mode mode) { struct gprs_rlcmac_bts *bts; uint8_t trx_no = -1; @@ -478,9 +474,8 @@ case TEST_MODE_UL_ONLY: case TEST_MODE_DL_AFTER_UL: case TEST_MODE_UL_AND_DL: - if (ms && ms->ul_tbf()) + if (ms->ul_tbf()) tbf_free(ms->ul_tbf()); - ms->set_ms_class(ms_class); tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; @@ -488,9 +483,9 @@ case TEST_MODE_DL_ONLY: case TEST_MODE_UL_AFTER_DL: case TEST_MODE_DL_AND_UL: - if (ms && ms->dl_tbf()) + if (ms->dl_tbf()) tbf_free(ms->dl_tbf()); - tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0, false); + tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; } @@ -511,12 +506,12 @@ case TEST_MODE_DL_AFTER_UL: case TEST_MODE_UL_AND_DL: - ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_DL_ONLY); + ms = alloc_tbfs(the_bts, ms, TEST_MODE_DL_ONLY); break; case TEST_MODE_UL_AFTER_DL: case TEST_MODE_DL_AND_UL: - ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_UL_ONLY); + ms = alloc_tbfs(the_bts, ms, TEST_MODE_UL_ONLY); break; } @@ -561,8 +556,8 @@ ms = the_bts->ms_by_tlli(tlli); if (!ms) ms = the_bts->ms_alloc(0, 0); - - ms = alloc_tbfs(the_bts, ms, ms_class, mode); + ms->set_ms_class(ms_class); + ms = alloc_tbfs(the_bts, ms, mode); if (!ms) break; @@ -754,6 +749,7 @@ static void test_2_consecutive_dl_tbfs() { BTS the_bts; + GprsMs *ms; struct gprs_rlcmac_bts *bts; struct gprs_rlcmac_trx *trx; uint8_t ms_class = 11; @@ -772,8 +768,8 @@ trx->pdch[6].enable(); trx->pdch[7].enable(); - dl_tbf1 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, - false); + ms = the_bts.ms_alloc(ms_class, egprs_ms_class); + dl_tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, false); OSMO_ASSERT(dl_tbf1); for (int i = 0; i < 8; i++) { @@ -783,8 +779,8 @@ OSMO_ASSERT(numTs1 == 4); printf("TBF1: numTs(%d)\n", numTs1); - dl_tbf2 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, - false); + ms = the_bts.ms_alloc(ms_class, egprs_ms_class); + dl_tbf2 = tbf_alloc_dl_tbf(bts, ms, 0, false); OSMO_ASSERT(dl_tbf2); for (int i = 0; i < 8; i++) { diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index ca2c59e..cd4454d 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -93,9 +93,9 @@ trx->pdch[7].enable(); ms1 = bts->ms_alloc(10, 11); - tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, 10, 11, false); + tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, false); ms2 = bts->ms_alloc(12, 13); - tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, 12, 13, false); + tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, false); fprintf(stderr, "\n"); } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 0a979e5..36f9ced 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -87,23 +87,23 @@ /* * Make a uplink and downlink allocation */ + ms = the_bts.ms_alloc(0, 0); gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), - NULL, - 0, 0, 0, false); + ms, 0, false); OSMO_ASSERT(dl_tbf != NULL); dl_tbf->update_ms(0x2342, GPRS_RLCMAC_DL_TBF); dl_tbf->set_ta(4); + OSMO_ASSERT(ms->dl_tbf() == dl_tbf); + OSMO_ASSERT(dl_tbf->ms() == ms); gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), - dl_tbf->ms(), 0, false); + ms, 0, false); OSMO_ASSERT(ul_tbf != NULL); ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF); - - ms = the_bts.ms_by_tlli(0x2342); - - OSMO_ASSERT(ms != NULL); - OSMO_ASSERT(ms->dl_tbf() == dl_tbf); OSMO_ASSERT(ms->ul_tbf() == ul_tbf); + OSMO_ASSERT(ul_tbf->ms() == ms); + + OSMO_ASSERT(the_bts.ms_by_tlli(0x2342) == ms); /* * Now check.. that DL changes and that the timing advance @@ -172,15 +172,15 @@ gprs_rlcmac_bts *bts; int tfi; uint8_t trx_no; - + GprsMs *ms; gprs_rlcmac_dl_tbf *dl_tbf; bts = the_bts->bts_data(); + ms = the_bts->ms_alloc(ms_class, egprs_ms_class); tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1); OSMO_ASSERT(tfi >= 0); - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, egprs_ms_class, - true); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, true); dl_tbf->set_ta(0); check_tbf(dl_tbf); @@ -2232,6 +2232,7 @@ { BTS the_bts; gprs_rlcmac_bts *bts; + GprsMs *ms; uint8_t ts_no = 4; uint8_t ms_class = 12; gprs_rlcmac_dl_tbf *dl_tbf; @@ -2258,7 +2259,8 @@ gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 4234, 4234, 4234, 1, 1, false, 0, 0, 0); /* Does no support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false); + ms = the_bts.ms_alloc(ms_class, 0); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false); ws_check(dl_tbf, __func__, 4, 64, true, false); @@ -2266,7 +2268,8 @@ bts->egprs_enabled = 1; /* Does support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, false); + ms = the_bts.ms_alloc(ms_class, ms_class); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false); ws_check(dl_tbf, __func__, 4, 128 + 4 * 64, true, true); } @@ -2275,6 +2278,7 @@ { BTS the_bts; gprs_rlcmac_bts *bts; + GprsMs *ms; uint8_t ts_no = 4; uint8_t ms_class = 11; gprs_rlcmac_dl_tbf *dl_tbf; @@ -2304,7 +2308,8 @@ bts->egprs_enabled = 1; /* Does support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, true); + ms = the_bts.ms_alloc(ms_class, ms_class); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, true); ws_check(dl_tbf, __func__, 1, 128 + 1 * 64, false, false); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3f72266..6019def 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1,9 +1,9 @@ === start test_tbf_base === === end test_tbf_base === === start test_tbf_tlli_update === +Creating MS object, TLLI = 0x00000000 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -40,12 +40,12 @@ Modifying MS object, TLLI = 0x00004232, TA 4 -> 6 === end test_tbf_tlli_update === === start test_tbf_final_ack === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -130,12 +130,12 @@ Destroying MS object, TLLI = 0xffeeddcc === end test_tbf_final_ack === === start test_tbf_final_ack === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -220,12 +220,12 @@ Destroying MS object, TLLI = 0xffeeddcc === end test_tbf_final_ack === === start test_tbf_delayed_release === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -475,12 +475,12 @@ ********** DL-TBF ends here ********** === end test_tbf_delayed_release === === start test_tbf_imsi === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -497,12 +497,12 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=1. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -542,10 +542,10 @@ ********** DL-TBF ends here ********** === end test_tbf_imsi === === start test_tbf_exhaustion === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -567,10 +567,10 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -592,10 +592,10 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -617,10 +617,10 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -642,10 +642,10 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -667,10 +667,10 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -692,10 +692,10 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -717,10 +717,10 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -742,10 +742,10 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -767,10 +767,10 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -792,10 +792,10 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -817,10 +817,10 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -842,10 +842,10 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -867,10 +867,10 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -892,10 +892,10 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -917,10 +917,10 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -942,10 +942,10 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -967,10 +967,10 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -992,10 +992,10 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1017,10 +1017,10 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1042,10 +1042,10 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1067,10 +1067,10 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1092,10 +1092,10 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1117,10 +1117,10 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1142,10 +1142,10 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1167,10 +1167,10 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1192,10 +1192,10 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1217,10 +1217,10 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1242,10 +1242,10 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1267,10 +1267,10 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1292,10 +1292,10 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1317,10 +1317,10 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1342,20 +1342,20 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 [DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) No PDCH resource === end test_tbf_exhaustion === Destroying MS object, TLLI = 0x00000000 === start test_tbf_dl_llc_loss === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3053,14 +3053,17 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 === end test_tbf_dl_reuse === === start test_tbf_gprs_egprs === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource === end test_tbf_gprs_egprs === +Destroying MS object, TLLI = 0x00000000 === start test_tbf_ws === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=12/0 Searching for first unallocated TFI: TRX=0 Found TFI=0. Slot Allocation (Algorithm B) for class 12 @@ -3094,11 +3097,11 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=12/12 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 12 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=12/12 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS Searching for first unallocated TFI: TRX=0 Found TFI=0. @@ -3452,13 +3455,13 @@ === end test_tbf_egprs_two_phase_spb === === start test_tbf_egprs_dl === Testing MCS-1 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -3759,13 +3762,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-2 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4016,13 +4019,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4235,13 +4238,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-4 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4422,13 +4425,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-5 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4589,13 +4592,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4738,13 +4741,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-7 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4882,13 +4885,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-8 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5015,13 +5018,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5150,13 +5153,13 @@ === end test_tbf_egprs_dl === === start test_tbf_egprs_retx_dl === Testing retx for MCS 6 - 6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5206,13 +5209,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 1 - 9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5262,13 +5265,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 2 - 8 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5318,13 +5321,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 5 - 7 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5390,13 +5393,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 6 - 9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5462,13 +5465,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 7 - 5 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5534,13 +5537,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 9 - 6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5608,13 +5611,13 @@ === end test_tbf_egprs_retx_dl === === start test_tbf_egprs_spb_dl === Testing retx for MCS 6 to reseg_mcs 3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5671,13 +5674,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 5 to reseg_mcs 2 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5734,13 +5737,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 4 to reseg_mcs 1 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5797,13 +5800,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 6 to reseg_mcs 3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5979,11 +5982,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_puan_urbb_len === === start test_tbf_update_ws === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS Searching for first unallocated TFI: TRX=0 Found TFI=0. @@ -6138,13 +6141,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_li_decoding === === start test_tbf_epdan_out_of_rx_window === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -7781,13 +7784,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase_puan === === start test_packet_access_rej_epdan === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 [DL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 8469d60..e3c0991 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -756,8 +756,9 @@ the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[2].enable(); the_bts.bts_data()->trx[0].pdch[3].enable(); + GprsMs *ms = the_bts.ms_alloc(1, 1); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x30, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 18:55:18 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 8 May 2020 18:55:18 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18135 ) Change subject: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done ...................................................................... bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done Parts of Osmo-BSC want to see the NM state as valid ... Signed-off-by: Sylvain Munaut Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf --- M src/osmo-bsc/bts_nokia_site.c 1 file changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/35/18135/1 diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index cde0afa..8047682 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -1436,6 +1436,39 @@ return 0; } +static void mo_ok(struct gsm_abis_mo *mo) +{ + mo->nm_state.operational = NM_OPSTATE_ENABLED; + mo->nm_state.administrative = NM_STATE_UNLOCKED; + mo->nm_state.availability = NM_AVSTATE_OK; +} + +static void nokia_abis_nm_fake_1221_ok(struct gsm_bts *bts) +{ + /* + * The Nokia BTS don't follow the 12.21 model and we don't have OM objects + * for the various elements. However some of the BSC code depends on seeing + * those object "up & running", so when the Nokia init is done, we fake + * a "good" state + */ + struct gsm_bts_trx *trx; + + mo_ok(&bts->mo); + mo_ok(&bts->site_mgr.mo); + + llist_for_each_entry(trx, &bts->trx_list, list) { + int i; + + mo_ok(&trx->mo); + mo_ok(&trx->bb_transc.mo); + + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + mo_ok(&ts->mo); + } + } +} + /* TODO: put in a separate file ? */ /* taken from abis_nm.c */ @@ -1633,6 +1666,8 @@ case NOKIA_MSG_CONF_COMPLETE: /* send ACK */ abis_nm_ack(bts, ref); + /* fake 12.21 OM */ + nokia_abis_nm_fake_1221_ok(bts); break; case NOKIA_MSG_BLOCK_CTRL_REQ: /* seems to be send when something goes wrong !? */ /* send ACK (do we have to send an ACK ?) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf Gerrit-Change-Number: 18135 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 19:38:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 19:38:35 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18135 ) Change subject: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf Gerrit-Change-Number: 18135 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 19:38:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 19:52:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 19:52:55 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 6: > Patch Set 6: Code-Review-1 > > I think this will be broken on multi-TRX setups, when the BTS doesn't respawn completely (like nanoBTS but also like possible future osmo-bts). Great catch thank you! I've changed everything to inc/dec for both OML and RSL links in the new patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 19:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 19:58:11 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 19:58:11 +0000 Subject: Change in libosmocore[master]: stats: Move cfg_stats_interval_cmd() function. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18136 ) Change subject: stats: Move cfg_stats_interval_cmd() function. ...................................................................... stats: Move cfg_stats_interval_cmd() function. cfg_stats_interval_cmd() function was (probably mistakenly) inserted between cfg_stats_reporter_statsd_cmd() and cfg_no_stats_reporter_statsd_cmd() function which makes no sense. Move it below the cfg_no_stats_reporter_log_cmd() to follow the order of the osmo_stats_vty_add_cmds() function calls. Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 --- M src/vty/stats_vty.c 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/36/18136/1 diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 296519c..a512703 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -269,24 +269,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_stats_interval, cfg_stats_interval_cmd, - "stats interval <1-65535>", - CFG_STATS_STR "Set the reporting interval\n" - "Interval in seconds\n") -{ - int rc; - int interval = atoi(argv[0]); - rc = osmo_stats_set_interval(interval); - if (rc < 0) { - vty_out(vty, "%% Unable to set interval: %s%s", - strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - - DEFUN(cfg_no_stats_reporter_statsd, cfg_no_stats_reporter_statsd_cmd, "no stats reporter statsd", NO_STR CFG_STATS_STR CFG_REPORTER_STR "Report to a STATSD server\n") @@ -347,6 +329,23 @@ return CMD_SUCCESS; } +DEFUN(cfg_stats_interval, cfg_stats_interval_cmd, + "stats interval <1-65535>", + CFG_STATS_STR "Set the reporting interval\n" + "Interval in seconds\n") +{ + int rc; + int interval = atoi(argv[0]); + rc = osmo_stats_set_interval(interval); + if (rc < 0) { + vty_out(vty, "%% Unable to set interval: %s%s", + strerror(-rc), VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + DEFUN(show_stats, show_stats_cmd, "show stats", -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 Gerrit-Change-Number: 18136 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 19:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 19:58:12 +0000 Subject: Change in libosmocore[master]: stats: Fix documentation for osmo_stats_set_interval() References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18137 ) Change subject: stats: Fix documentation for osmo_stats_set_interval() ...................................................................... stats: Fix documentation for osmo_stats_set_interval() Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 --- M src/stats.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/37/18137/1 diff --git a/src/stats.c b/src/stats.c index b5adbf2..61b7df8 100644 --- a/src/stats.c +++ b/src/stats.c @@ -326,8 +326,7 @@ return 0; } -/*! Set the reporting interval of a given stats_reporter (in seconds). - * \param[in] srep stats_reporter whose remote address is to be set +/*! Set the reporting interval (common for all reporters) * \param[in] interval Reporting interval in seconds * \returns 0 on success; negative on error */ int osmo_stats_set_interval(int interval) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 Gerrit-Change-Number: 18137 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 19:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 19:58:12 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... stats: Support regular stats flush Reliable monitoring requires regular flush of all stat values, even if they have not changed. Otherwise (1) the monitoring app has to maintain state and (2) can go out of sync if it's restarted while the app is still running. Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad --- M include/osmocom/core/stats.h M src/stats.c M src/vty/stats_vty.c 3 files changed, 62 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/18138/1 diff --git a/include/osmocom/core/stats.h b/include/osmocom/core/stats.h index e01016d..0691847 100644 --- a/include/osmocom/core/stats.h +++ b/include/osmocom/core/stats.h @@ -73,6 +73,7 @@ char *bind_addr_str; /*!< local bind IP address */ int dest_port; /*!< destination (UDP) port */ int mtu; /*!< Maximum Transmission Unit */ + int flush_period; /*!< period between regular flushes */ /*! Maximum class/index to report. FIXME: More details! */ enum osmo_stats_class max_class; @@ -87,7 +88,8 @@ int fd; /*!< file descriptor of socket */ struct msgb *buffer; /*!< message buffer for log output */ int agg_enabled; /*!< is aggregation enabled? */ - int force_single_flush; + int force_single_flush; /*!< set to 1 to force a flush (send even unchanged stats values) */ + int flush_period_counter; /*!< count sends between forced flushes */ struct llist_head list; int (*open)(struct osmo_stats_reporter *srep); @@ -129,6 +131,7 @@ int osmo_stats_reporter_set_name_prefix(struct osmo_stats_reporter *srep, const char *prefix); int osmo_stats_reporter_enable(struct osmo_stats_reporter *srep); int osmo_stats_reporter_disable(struct osmo_stats_reporter *srep); +int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, int period); /* reporter creation */ struct osmo_stats_reporter *osmo_stats_reporter_create_log(const char *name); diff --git a/src/stats.c b/src/stats.c index 61b7df8..027b231 100644 --- a/src/stats.c +++ b/src/stats.c @@ -341,6 +341,28 @@ return 0; } +/*! Set the regular flush period for a given stats_reporter + * + * Send all stats even if they have not changed (i.e. force the flush) + * every N-th reporting interval. Set to 0 to disable regular flush, + * set to 1 to flush every time, set to 2 to flush every 2nd time, etc. + * \param[in] srep stats_reporter to set flush period for + * \param[in] period Reporting interval in seconds + * \returns 0 on success; negative on error */ +int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, int period) +{ + if (period < 0) + return -EINVAL; + + srep->flush_period = period; + srep->flush_period_counter = 0; + /* force the flush now if it's not disabled by period=0 */ + if (period > 0) + srep->force_single_flush = 1; + + return 0; +} + /*! Set the name prefix of a given stats_reporter. * \param[in] srep stats_reporter whose name prefix is to be set * \param[in] prefix NAme perfix to pre-pend for any reported value @@ -706,7 +728,17 @@ continue; osmo_stats_reporter_send_buffer(srep); + + /* reset force_single_flush first */ srep->force_single_flush = 0; + /* and schedule a new flush if it's time for it */ + if (srep->flush_period > 0) { + if (srep->flush_period_counter == srep->flush_period) { + srep->force_single_flush = 1; + srep->flush_period_counter = 0; + } else + srep->flush_period_counter++; + } } } diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index a512703..c1ea3dc 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -245,6 +245,27 @@ return CMD_SUCCESS; } +DEFUN(cfg_stats_reporter_flush_period, cfg_stats_reporter_flush_period_cmd, + "flush-period <0-65535>", + CFG_STATS_STR "Send all stats even if they have not changed (i.e. force the flush)" + "every N-th reporting interval. Set to 0 to disable regular flush (default).\n" + "0 to disable regular flush (default), 1 to flush every time, 2 to flush every 2nd time, etc\n") +{ + int rc; + int period = atoi(argv[0]); + struct osmo_stats_reporter *srep = osmo_stats_vty2srep(vty); + OSMO_ASSERT(srep); + + rc = osmo_stats_reporter_set_flush_period(srep, period); + if (rc < 0) { + vty_out(vty, "%% Unable to set force flush period: %s%s", + strerror(-rc), VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + DEFUN(cfg_stats_reporter_statsd, cfg_stats_reporter_statsd_cmd, "stats reporter statsd", CFG_STATS_STR CFG_REPORTER_STR "Report to a STATSD server\n") @@ -588,6 +609,10 @@ else vty_out(vty, " no prefix%s", VTY_NEWLINE); + if (srep->flush_period > 0) + vty_out(vty, " flush-period %d%s", + srep->flush_period, VTY_NEWLINE); + if (srep->enabled) vty_out(vty, " enable%s", VTY_NEWLINE); @@ -637,6 +662,7 @@ install_element(CFG_STATS_NODE, &cfg_stats_reporter_level_cmd); install_element(CFG_STATS_NODE, &cfg_stats_reporter_enable_cmd); install_element(CFG_STATS_NODE, &cfg_stats_reporter_disable_cmd); + install_element(CFG_STATS_NODE, &cfg_stats_reporter_flush_period_cmd); install_element_ve(&show_stats_asciidoc_table_cmd); install_element_ve(&show_rate_counters_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:23:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:23:55 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 to look at the new patch set (#6). Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... stats: Add a stats gauge for the MSC links count. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 78 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:23:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:23:55 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 to look at the new patch set (#3). Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... stats: Add counters for received BSSMAP messages. Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/18112/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:23:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:23:55 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 to look at the new patch set (#7). Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... stats: Export connected OML/RSL links count per BTS. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/93/18093/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:23:57 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:23:57 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18139 ) Change subject: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment ...................................................................... osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/18139/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 08efae4..e4530bf 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -215,7 +215,7 @@ return rc; } -/* Callback function, called by the SSCP stack when data arrives */ +/* Callback function, called by the SCCP stack when data arrives */ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu) { struct osmo_scu_prim *scu_prim = (struct osmo_scu_prim *)oph; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1 Gerrit-Change-Number: 18139 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:25:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:25:55 +0000 Subject: Change in osmo-bsc[master]: ctrs: Correctly count load total for dynamic timeslots. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18090 ) Change subject: ctrs: Correctly count load total for dynamic timeslots. ...................................................................... ctrs: Correctly count load total for dynamic timeslots. >From the CS perspective, there is no difference whether this is a dynamic TS in NONE/PDCH mode or a static TCH in UNUSED mode since BSC can switch into USED mode at any moment. So we should count dynamic timeslots in the "total" count. A bit of a challenge here is that GSM_PCHAN_TCH_F_TCH_H_PDCH timeslots could be either switched to a single TCH/F or to two TCH/H, so the total can't be calculated reliably beforehand. In this code we assume TCH/F since this gives a lower total count. Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b --- M src/osmo-bsc/chan_alloc.c 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 669eb8e..ac246e0 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -58,6 +58,28 @@ if (!nm_is_running(&ts->mo.nm_state)) continue; + /* Dynamic timeslots have to be counted separately + * when not in TCH/F or TCH/H mode because they don't + * have an lchan's allocated to them. At the same time, + * dynamic timeslots in NONE and PDCH modes are same + * as in UNUSED mode from the CS channel load perspective + * beause they can be switched to TCH mode at any moment. + * I.e. they are "available" for TCH. */ + if ((ts->pchan_on_init == GSM_PCHAN_TCH_F_TCH_H_PDCH || + ts->pchan_on_init == GSM_PCHAN_TCH_F_PDCH) && + (ts->pchan_is == GSM_PCHAN_NONE || + ts->pchan_is == GSM_PCHAN_PDCH)) { + pl->total++; + } + + /* Count allocated logical channels. + * Note: A GSM_PCHAN_TCH_F_TCH_H_PDCH can be switched + * to a single TCH/F or to two TCH/H. So when it's in + * the TCH/H mode, total number of available channels + * is 1 more than when it's in the TCH/F mode. + * I.e. "total" count will fluctuate depending on + * whether GSM_PCHAN_TCH_F_TCH_H_PDCH timeslot is + * in TCH/F or TCH/H (or in NONE/PDCH) mode. */ ts_for_each_lchan(lchan, ts) { /* don't even count CBCH slots in total */ if (lchan->type == GSM_LCHAN_CBCH) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iabd70e8adbf15eb3b7a7be597281ea99b352317b Gerrit-Change-Number: 18090 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:25:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:25:55 +0000 Subject: Change in osmo-bsc[master]: stats: Report per channel type load to statsd counters. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18091 ) Change subject: stats: Report per channel type load to statsd counters. ...................................................................... stats: Report per channel type load to statsd counters. Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/gsm_data.c 3 files changed, 82 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 3fd466c..ecc1f0a 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1453,6 +1453,22 @@ enum { BTS_STAT_CHAN_LOAD_AVERAGE, + BTS_STAT_CHAN_CCCH_SDCCH4_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL, + BTS_STAT_CHAN_TCH_F_USED, + BTS_STAT_CHAN_TCH_F_TOTAL, + BTS_STAT_CHAN_TCH_H_USED, + BTS_STAT_CHAN_TCH_H_TOTAL, + BTS_STAT_CHAN_SDCCH8_USED, + BTS_STAT_CHAN_SDCCH8_TOTAL, + BTS_STAT_CHAN_TCH_F_PDCH_USED, + BTS_STAT_CHAN_TCH_F_PDCH_TOTAL, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL, + BTS_STAT_CHAN_SDCCH8_CBCH_USED, + BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL, + BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED, + BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL, BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index ac246e0..b2fbac8 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -109,6 +109,53 @@ bts_chan_load(pl, bts); } +static void chan_load_stat_set(enum gsm_phys_chan_config pchan, + struct gsm_bts *bts, + struct load_counter *lc) +{ + switch (pchan) { + case GSM_PCHAN_NONE: + case GSM_PCHAN_CCCH: + case GSM_PCHAN_PDCH: + case GSM_PCHAN_UNKNOWN: + break; + case GSM_PCHAN_CCCH_SDCCH4: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_H: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_H_TOTAL], lc->total); + break; + case GSM_PCHAN_SDCCH8_SACCH8C: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F_PDCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_PDCH_TOTAL], lc->total); + break; + case GSM_PCHAN_CCCH_SDCCH4_CBCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL], lc->total); + break; + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL], lc->total); + break; + case GSM_PCHAN_TCH_F_TCH_H_PDCH: + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED], lc->used); + osmo_stat_item_set(bts->bts_statg->items[BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL], lc->total); + break; + default: + LOG_BTS(bts, DRLL, LOGL_NOTICE, "Unknown channel type %d\n", pchan); + } +} + /* Update T3122 wait indicator based on samples of BTS channel load. */ void bts_update_t3122_chan_load(struct gsm_bts *bts) @@ -133,6 +180,9 @@ for (i = 0; i < ARRAY_SIZE(pl.pchan); i++) { struct load_counter *lc = &pl.pchan[i]; + /* Export channel load to stats gauges */ + chan_load_stat_set(i, bts, lc); + /* Ignore samples too large for fixed-point calculations (shouldn't happen). */ if (lc->used > UINT16_MAX || lc->total > UINT16_MAX) { LOG_BTS(bts, DRLL, LOGL_NOTICE, "numbers in channel load sample " diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index fe421a4..8852efa 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -371,6 +371,22 @@ static const struct osmo_stat_item_desc bts_stat_desc[] = { { "chanloadavg", "Channel load average.", "%", 16, 0 }, + { "chan_ccch_sdcch4:used", "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, + { "chan_ccch_sdcch4:total", "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, + { "chan_tch_f:used", "Number of TCH/F channels used", "", 16, 0 }, + { "chan_tch_f:total", "Number of TCH/F channels total", "", 16, 0 }, + { "chan_tch_h:used", "Number of TCH/H channels used", "", 16, 0 }, + { "chan_tch_h:total", "Number of TCH/H channels total", "", 16, 0 }, + { "chan_sdcch8:used", "Number of SDCCH8 channels used", "", 16, 0 }, + { "chan_sdcch8:total", "Number of SDCCH8 channels total", "", 16, 0 }, + { "chan_tch_f_pdch:used", "Number of TCH/F_PDCH channels used", "", 16, 0 }, + { "chan_tch_f_pdch:total", "Number of TCH/F_PDCH channels total", "", 16, 0 }, + { "chan_ccch_sdcch4_cbch:used", "Number of CCCH+SDCCH4+CBCH channels used", "", 16, 0 }, + { "chan_ccch_sdcch4_cbch:total", "Number of CCCH+SDCCH4+CBCH channels total", "", 16, 0 }, + { "chan_sdcch8_cbch:used", "Number of SDCCH8+CBCH channels used", "", 16, 0 }, + { "chan_sdcch8_cbch:total", "Number of SDCCH8+CBCH channels total", "", 16, 0 }, + { "chan_tch_f_tch_h_pdch:used", "Number of TCH/F_TCH/H_PDCH channels used", "", 16, 0 }, + { "chan_tch_f_tch_h_pdch:total", "Number of TCH/F_TCH/H_PDCH channels total", "", 16, 0 }, { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156 Gerrit-Change-Number: 18091 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:25:56 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:25:56 +0000 Subject: Change in osmo-bsc[master]: stats: Remove dots from the end of stats descriptions. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18101 ) Change subject: stats: Remove dots from the end of stats descriptions. ...................................................................... stats: Remove dots from the end of stats descriptions. Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 --- M src/osmo-bsc/gsm_data.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 8852efa..8b4cd4c 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -370,7 +370,7 @@ } static const struct osmo_stat_item_desc bts_stat_desc[] = { - { "chanloadavg", "Channel load average.", "%", 16, 0 }, + { "chanloadavg", "Channel load average", "%", 16, 0 }, { "chan_ccch_sdcch4:used", "Number of CCCH+SDCCH4 channels used", "", 16, 0 }, { "chan_ccch_sdcch4:total", "Number of CCCH+SDCCH4 channels total", "", 16, 0 }, { "chan_tch_f:used", "Number of TCH/F channels used", "", 16, 0 }, @@ -387,7 +387,7 @@ { "chan_sdcch8_cbch:total", "Number of SDCCH8+CBCH channels total", "", 16, 0 }, { "chan_tch_f_tch_h_pdch:used", "Number of TCH/F_TCH/H_PDCH channels used", "", 16, 0 }, { "chan_tch_f_tch_h_pdch:total", "Number of TCH/F_TCH/H_PDCH channels total", "", 16, 0 }, - { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator.", "s", 16, GSM_T3122_DEFAULT }, + { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2 Gerrit-Change-Number: 18101 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:31:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:31:02 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 6: This new patchset: 1) Fixes a bug with double-counting because FSM states can be entered multiple times, e.g. ST_DISC state leads to another ST_DISC state if MSC doesn't respond. So we need to count only "true" state changes. 2) Implements the "total" counter. 3) Removes "num" from the counter name to make it look better on the graphs. This should be the final revision, ready for the merge. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 20:31:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:35:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:35:02 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 to look at the new patch set (#7). Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... stats: Add a stats gauge for the MSC links count. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 78 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18092/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:40:15 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:40:15 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 4: This patchset just removes "num" from the counter names to make the named closer to other counters. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 20:40:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 20:41:47 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 20:41:47 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 8: This patchset: 1) Addresses Harald's comment 2) Remove "num" from counters' names like in other places. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 20:41:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:13:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:13:36 +0000 Subject: Change in libosmocore[master]: stats: Move cfg_stats_interval_cmd() function. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18136 ) Change subject: stats: Move cfg_stats_interval_cmd() function. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 Gerrit-Change-Number: 18136 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:14:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:14:25 +0000 Subject: Change in libosmocore[master]: stats: Fix documentation for osmo_stats_set_interval() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18137 ) Change subject: stats: Fix documentation for osmo_stats_set_interval() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 Gerrit-Change-Number: 18137 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:14:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:18:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:18:54 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h File include/osmocom/core/stats.h: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h at 92 PS1, Line 92: int flush_period_counter; /*!< count sends between forced flushes */ unsigned int https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h at 134 PS1, Line 134: int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, int period); unsigned int https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/stats.c at 354 PS1, Line 354: if (period < 0) Not needed if you use an unsigned ;) https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/vty/stats_vty.c File src/vty/stats_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/vty/stats_vty.c at 255 PS1, Line 255: int period = atoi(argv[0]); no need to check here even if we receive an int since VTY protects us from receiveing something out of range. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:18:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:19:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:19:38 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18139 ) Change subject: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1 Gerrit-Change-Number: 18139 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:19:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:25:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:25:05 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 7: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h File include/osmocom/bsc/bsc_msc_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h at 61 PS7, Line 61: MSC_STAT_MSC_LINKS_ACTIVE, why repeating MSC twice in naming? https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/src/osmo-bsc/a_reset.c at 188 PS7, Line 188: osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_TOTAL], 1); afaiu this is never decreased, is that fine? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:25:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:25:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:25:56 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:25:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 21:28:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 8 May 2020 21:28:50 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 21:28:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 23:58:24 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 23:58:24 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... Patch Set 1: (4 comments) Good point, this will be fixed in the next patchset https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h File include/osmocom/core/stats.h: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h at 92 PS1, Line 92: int flush_period_counter; /*!< count sends between forced flushes */ > unsigned int Ack https://gerrit.osmocom.org/c/libosmocore/+/18138/1/include/osmocom/core/stats.h at 134 PS1, Line 134: int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, int period); > unsigned int Ack https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/stats.c at 354 PS1, Line 354: if (period < 0) > Not needed if you use an unsigned ;) Ack https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/vty/stats_vty.c File src/vty/stats_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/18138/1/src/vty/stats_vty.c at 255 PS1, Line 255: int period = atoi(argv[0]); > no need to check here even if we receive an int since VTY protects us from receiveing something out [?] Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 08 May 2020 23:58:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 23:58:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 23:58:55 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18138 to look at the new patch set (#2). Change subject: stats: Support regular stats flush ...................................................................... stats: Support regular stats flush Reliable monitoring requires regular flush of all stat values, even if they have not changed. Otherwise (1) the monitoring app has to maintain state and (2) can go out of sync if it's restarted while the app is still running. Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad --- M include/osmocom/core/stats.h M src/stats.c M src/vty/stats_vty.c 3 files changed, 59 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/38/18138/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 23:58:55 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 23:58:55 +0000 Subject: Change in libosmocore[master]: select: Fix typo in a comment Osmcoom->Osmocom References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18140 ) Change subject: select: Fix typo in a comment Osmcoom->Osmocom ...................................................................... select: Fix typo in a comment Osmcoom->Osmocom Change-Id: I6fb4d20d149abc724d477420b5eba482a0b63259 --- M src/select.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/18140/1 diff --git a/src/select.c b/src/select.c index 8e31205..774056a 100644 --- a/src/select.c +++ b/src/select.c @@ -334,7 +334,7 @@ return timerfd_settime(ofd->fd, 0, &its_null, NULL); } -/*! schedule the osmcoom-wrapped timerfd to occur first at \a first, then periodically at \a interval +/*! schedule the osmocom-wrapped timerfd to occur first at \a first, then periodically at \a interval * \param[in] ofd Osmocom wrapped timerfd * \param[in] first Relative time at which the timer should first execute (NULL = \a interval) * \param[in] interval Time interval at which subsequent timer shall fire -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6fb4d20d149abc724d477420b5eba482a0b63259 Gerrit-Change-Number: 18140 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 8 23:58:56 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 8 May 2020 23:58:56 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... stats: Change timer to timerfd to make it a true interval timer. Previously the interval between stats flushes would slowly increase which would lead to reporting time jitter and confuse a timescale database. Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 --- M src/stats.c 1 file changed, 32 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/18141/1 diff --git a/src/stats.c b/src/stats.c index 5954167..8cccf67 100644 --- a/src/stats.c +++ b/src/stats.c @@ -85,7 +85,7 @@ #include #include #include -#include +#include #include #include @@ -102,7 +102,7 @@ }; struct osmo_stats_config *osmo_stats_config = &s_stats_config; -static struct osmo_timer_list osmo_stats_timer; +static struct osmo_fd osmo_stats_timer = {.fd=-1}; static int osmo_stats_reporter_log_send_counter(struct osmo_stats_reporter *srep, const struct rate_ctr_group *ctrg, @@ -140,23 +140,48 @@ return rc; } -static void osmo_stats_timer_cb(void *data) +static int osmo_stats_timer_cb(struct osmo_fd *ofd, unsigned int what) { - int interval = osmo_stats_config->interval; + uint64_t expire_count; + int rc; + + /* check that the timer has actually expired */ + if (!(what & BSC_FD_READ)) + return 0; + + /* read from timerfd: number of expirations of periodic timer */ + rc = read(ofd->fd, (void *) &expire_count, sizeof(expire_count)); + if (rc < 0 && errno == EAGAIN) + return 0; + OSMO_ASSERT(rc == sizeof(expire_count)); if (!llist_empty(&osmo_stats_reporter_list)) osmo_stats_report(); - osmo_timer_schedule(&osmo_stats_timer, interval, 0); + return 0; } static int start_timer() { + int rc; + int interval = osmo_stats_config->interval; + if (!is_initialised) return -ESRCH; - osmo_timer_setup(&osmo_stats_timer, osmo_stats_timer_cb, NULL); - osmo_timer_schedule(&osmo_stats_timer, 0, 1); + struct timespec ts_first = {.tv_sec=0, .tv_nsec=1000}; + struct timespec ts_interval = {.tv_sec=interval, .tv_nsec=0}; + + rc = osmo_timerfd_setup(&osmo_stats_timer, osmo_stats_timer_cb, NULL); + if (rc < 0) + LOGP(DLSTATS, LOGL_ERROR, "Failed to setup the timer with error code %d (fd=%d)\n", + rc, osmo_stats_timer.fd); + rc = osmo_timerfd_schedule(&osmo_stats_timer, &ts_first, &ts_interval); + if (rc < 0) + LOGP(DLSTATS, LOGL_ERROR, "Failed to schedule the timer with error code %d (fd=%d, interval %d sec)\n", + rc, osmo_stats_timer.fd, interval); + + LOGP(DLSTATS, LOGL_INFO, "Stats timer started with interval %d sec\n", interval); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:05:16 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:05:16 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 7: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h File include/osmocom/bsc/bsc_msc_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h at 61 PS7, Line 61: MSC_STAT_MSC_LINKS_ACTIVE, > why repeating MSC twice in naming? It's MSC stat, representing a number of MSC links. It might have some other links, so it's worth specifying. See also https://en.wikipedia.org/wiki/Buffalo_buffalo_Buffalo_buffalo_buffalo_buffalo_Buffalo_buffalo https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/src/osmo-bsc/a_reset.c at 188 PS7, Line 188: osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_TOTAL], 1); > afaiu this is never decreased, is that fine? Yes. We don't have a method to remove MSC links from the configuration, at least AFAIU. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:05:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:07:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 00:07:23 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:07:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:07:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 00:07:41 +0000 Subject: Change in libosmocore[master]: select: Fix typo in a comment Osmcoom->Osmocom In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18140 ) Change subject: select: Fix typo in a comment Osmcoom->Osmocom ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6fb4d20d149abc724d477420b5eba482a0b63259 Gerrit-Change-Number: 18140 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:07:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:18:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 00:18:39 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 105 PS1, Line 105: static struct osmo_fd osmo_stats_timer = {.fd=-1}; = { .fd = -1 }; https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 149 PS1, Line 149: if (!(what & BSC_FD_READ)) BSC_FD_ is only available for backward compat. Use OSMO_FD_READ instead. https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 156 PS1, Line 156: OSMO_ASSERT(rc == sizeof(expire_count)); osmo_panic() printing rc value would be more valuable if this ever happens. https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 157 PS1, Line 157: I would also add a print NOTICE if expire_count > 1 (or a counter too if you want). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:18:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:27:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 00:27:35 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h File include/osmocom/bsc/bsc_msc_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18092/7/include/osmocom/bsc/bsc_msc_data.h at 61 PS7, Line 61: MSC_STAT_MSC_LINKS_ACTIVE, > It's MSC stat, representing a number of MSC links. [?] Heh funny, a similar one has been on social networks over last days: https://translate.google.com/#view=home&op=translate&sl=es&tl=ca&text=%22en%20ninguna%20cabeza%20jefe%20cabe%20ning%C3%BAn%20jefe%22 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:27:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:33:47 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:33:47 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 105 PS1, Line 105: static struct osmo_fd osmo_stats_timer = {.fd=-1}; > = { . [?] Ack https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 149 PS1, Line 149: if (!(what & BSC_FD_READ)) > BSC_FD_ is only available for backward compat. Use OSMO_FD_READ instead. Well, this whole piece is a verbatim copy-paste from osmo-bts-trx. I'm frankly thinking that all this machinery should be hidden in the Osmocom wrapper since it's completely boilerplate. The expiry counter could then be passed to the callback instead of "what". https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 157 PS1, Line 157: > I would also add a print NOTICE if expire_count > 1 (or a counter too if you want). Makes sense, I'll add. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:33:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:35:29 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:35:29 +0000 Subject: Change in osmo-bsc[master]: Fix indent whitespace and log message. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18111 ) Change subject: Fix indent whitespace and log message. ...................................................................... Fix indent whitespace and log message. Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 1ba490f..e79ce9d 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1102,14 +1102,14 @@ header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { - LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u\n", sizeof(*header), length); - LOGP(DMSC, LOGL_ERROR, "hex: %s\n", osmo_hexdump(msg->l3h, length)); - return -1; + LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", + sizeof(*header), length, osmo_hexdump(msg->l3h, length)); + return -1; } if (header->length > length - sizeof(*header)) { - LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit: header: %u length: %u\n", header->length, length); - LOGP(DMSC, LOGL_ERROR, "hex: %s\n", osmo_hexdump(msg->l3h, length)); + LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", + header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652 Gerrit-Change-Number: 18111 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:35:46 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:35:46 +0000 Subject: Change in osmo-bsc[master]: stats: Fix stat group index for BTS stats. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18108 ) Change subject: stats: Fix stat group index for BTS stats. ...................................................................... stats: Fix stat group index for BTS stats. osmo_stat_item_group_alloc() should be initialized with the BTS number. Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 --- M src/osmo-bsc/gsm_data.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 8b4cd4c..23a4e61 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -832,7 +832,7 @@ talloc_free(bts); return NULL; } - bts->bts_statg = osmo_stat_item_group_alloc(bts, &bts_statg_desc, 0); + bts->bts_statg = osmo_stat_item_group_alloc(bts, &bts_statg_desc, bts->nr); /* create our primary TRX */ bts->c0 = gsm_bts_trx_alloc(bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7 Gerrit-Change-Number: 18108 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:36:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:36:02 +0000 Subject: Change in osmo-bsc[master]: Fix a comment for the handle_unitdata_from_msc() function. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18110 ) Change subject: Fix a comment for the handle_unitdata_from_msc() function. ...................................................................... Fix a comment for the handle_unitdata_from_msc() function. Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 50b03ce..08efae4 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -143,14 +143,14 @@ return NULL; } -/* Send data to MSC, use the connection id which MSC it is */ +/* Received data from MSC, use the connection id which MSC it is */ static int handle_data_from_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { msg->l3h = msgb_l2(msg); return bsc_handle_dt(conn, msg, msgb_l2len(msg)); } -/* Sent unitdata to MSC, use the point code to determine which MSC it is */ +/* Received unitdata from MSC, use the point code to determine which MSC it is */ static int handle_unitdata_from_msc(const struct osmo_sccp_addr *msc_addr, struct msgb *msg, const struct osmo_sccp_user *scu) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64 Gerrit-Change-Number: 18110 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:36:21 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:36:21 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Add comments for the *_chan_load() functions. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18100 ) Change subject: chan_alloc: Add comments for the *_chan_load() functions. ...................................................................... chan_alloc: Add comments for the *_chan_load() functions. Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index b2fbac8..75cea71 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -37,6 +37,7 @@ #include +/* Update channel load calculation for the given BTS */ void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts) { struct gsm_bts_trx *trx; @@ -99,6 +100,7 @@ } } +/* Update channel load calculation for all BTS in the BSC */ void network_chan_load(struct pchan_load *pl, struct gsm_network *net) { struct gsm_bts *bts; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78 Gerrit-Change-Number: 18100 Gerrit-PatchSet: 10 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:36:22 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:36:22 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18139 ) Change subject: osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment ...................................................................... osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a comment Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1 --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 08efae4..e4530bf 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -215,7 +215,7 @@ return rc; } -/* Callback function, called by the SSCP stack when data arrives */ +/* Callback function, called by the SCCP stack when data arrives */ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu) { struct osmo_scu_prim *scu_prim = (struct osmo_scu_prim *)oph; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1 Gerrit-Change-Number: 18139 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:40:19 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:40:19 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 8: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c File src/osmo-bsc/bts_ipaccess_nanobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c at 400 PS6, Line 400: osm > specifically here is a problem. [?] Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18093/6/src/osmo-bsc/bts_ipaccess_nanobts.c at 591 PS6, Line 591: osm > equally here, you'd have to increment, not set to one. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 00:40:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 00:50:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 00:50:43 +0000 Subject: Change in libosmocore[master]: select: Fix typo in a comment Osmcoom->Osmocom In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18140 ) Change subject: select: Fix typo in a comment Osmcoom->Osmocom ...................................................................... select: Fix typo in a comment Osmcoom->Osmocom Change-Id: I6fb4d20d149abc724d477420b5eba482a0b63259 --- M src/select.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/select.c b/src/select.c index 8e31205..774056a 100644 --- a/src/select.c +++ b/src/select.c @@ -334,7 +334,7 @@ return timerfd_settime(ofd->fd, 0, &its_null, NULL); } -/*! schedule the osmcoom-wrapped timerfd to occur first at \a first, then periodically at \a interval +/*! schedule the osmocom-wrapped timerfd to occur first at \a first, then periodically at \a interval * \param[in] ofd Osmocom wrapped timerfd * \param[in] first Relative time at which the timer should first execute (NULL = \a interval) * \param[in] interval Time interval at which subsequent timer shall fire -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6fb4d20d149abc724d477420b5eba482a0b63259 Gerrit-Change-Number: 18140 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 01:41:51 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 9 May 2020 01:41:51 +0000 Subject: Change in osmo-pcu[master]: tbf: Avoid crash: don't set TBF window size if setup failed In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18115 ) Change subject: tbf: Avoid crash: don't set TBF window size if setup failed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 Gerrit-Change-Number: 18115 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 01:41:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat May 9 01:46:18 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 09 May 2020 01:46:18 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb60b6f7eee5_75f52b2179c985e02472b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 846s] | CONFIG_LINKS = [ 846s] | CONFIG_COMMANDS = [ 846s] | $ ./config.status Doxyfile.core [ 846s] | [ 846s] | on obs-arm-5 [ 846s] | [ 846s] | config.status:1341: creating Doxyfile.core [ 846s] [ 846s] # -*- compilation -*- [ 846s] 59. testsuite.at:372: testing exec ... [ 846s] ./testsuite.at:376: $abs_top_builddir/tests/exec/exec_test [ 846s] --- experr 2020-05-09 01:46:01.220000000 +0000 [ 846s] +++ /usr/src/packages/BUILD/tests/testsuite.dir/at-groups/59/stderr 2020-05-09 01:46:01.220000000 +0000 [ 846s] @@ -1 +0,0 @@ [ 846s] -MAHLZEIT=spaet [ 846s] 59. testsuite.at:372: 59. exec (testsuite.at:372): FAILED (testsuite.at:376) [ 846s] debian/rules:26: recipe for target 'override_dh_auto_test' failed [ 846s] make[1]: *** [override_dh_auto_test] Error 1 [ 846s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 846s] debian/rules:15: recipe for target 'build' failed [ 846s] make: *** [build] Error 2 [ 846s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 846s] ### VM INTERACTION START ### [ 848s] [ 826.131702] sysrq: SysRq : Power Off [ 848s] [ 826.135111] reboot: Power down [ 849s] ### VM INTERACTION END ### [ 849s] [ 849s] obs-arm-5 failed "build libosmocore_1.3.0.77.e8ec.dsc" at Sat May 9 01:46:07 UTC 2020. [ 849s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 9 01:51:17 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 9 May 2020 01:51:17 +0000 Subject: Change in osmo-pcu[master]: bts: Return uint8_t in egprs_mslot_class_from_ra() In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18131 ) Change subject: bts: Return uint8_t in egprs_mslot_class_from_ra() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f Gerrit-Change-Number: 18131 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 01:51:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 01:51:28 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 9 May 2020 01:51:28 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18130 ) Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 01:51:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 01:54:52 2020 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 9 May 2020 01:54:52 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 01:54:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 04:07:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 04:07:06 +0000 Subject: Change in osmo-pcu[master]: bts: Return uint8_t in egprs_mslot_class_from_ra() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18131 ) Change subject: bts: Return uint8_t in egprs_mslot_class_from_ra() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f Gerrit-Change-Number: 18131 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 04:07:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 06:04:56 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 06:04:56 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix invalid use of linked list when building hopping freq list References: Message-ID: tnt has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18142 ) Change subject: om2k: Fix invalid use of linked list when building hopping freq list ...................................................................... om2k: Fix invalid use of linked list when building hopping freq list I originally assumed that after a complete scan with llist_for_each_entry the loop counter would be either NULL or a valid entry. That's just not the case. Fixes: CID#210256 Signed-off-by: Sylvain Munaut Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e --- M src/osmo-bsc/abis_om2000.c 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/42/18142/1 diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index c696557..0aea684 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1452,14 +1452,16 @@ static int put_freq_list(uint8_t *buf, struct gsm_bts_trx_ts *ts, uint16_t arfcn) { - struct gsm_bts_trx *trx; + struct gsm_bts_trx *t, *trx = NULL; /* Find the TRX that's configured for that ARFCN */ - llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) - if (trx->arfcn == arfcn) + llist_for_each_entry(t, &ts->trx->bts->trx_list, list) + if (t->arfcn == arfcn) { + trx = t; break; + } - if (!trx || (trx->arfcn != arfcn)) { + if (!trx) { LOGP(DNM, LOGL_ERROR, "Trying to use ARFCN %d for hopping with no TRX configured for it", arfcn); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e Gerrit-Change-Number: 18142 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 07:53:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 07:53:28 +0000 Subject: Change in osmo-e1d[master]: port to new libosmousb In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/16645 ) Change subject: port to new libosmousb ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/16645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I3f3b61dfa217d6ef8c17970b2cf1cc627bb13bbe Gerrit-Change-Number: 16645 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 07:53:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:03:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:03:38 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Don't re-invent trx_is_usable and use existing helper In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18127 ) Change subject: chan_alloc: Don't re-invent trx_is_usable and use existing helper ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 Gerrit-Change-Number: 18127 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:03:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:04:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:04:39 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:04:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:05:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:05:18 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix invalid use of linked list when building hopping freq list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18142 ) Change subject: om2k: Fix invalid use of linked list when building hopping freq list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e Gerrit-Change-Number: 18142 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 08:05:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:05:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:05:22 +0000 Subject: Change in osmo-bsc[master]: chan_alloc: Don't re-invent trx_is_usable and use existing helper In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18127 ) Change subject: chan_alloc: Don't re-invent trx_is_usable and use existing helper ...................................................................... chan_alloc: Don't re-invent trx_is_usable and use existing helper Signed-off-by: Sylvain Munaut Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 75cea71..27c49cd 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -46,8 +46,7 @@ int i; /* skip administratively deactivated tranxsceivers */ - if (!nm_is_running(&trx->mo.nm_state) || - !nm_is_running(&trx->bb_transc.mo.nm_state)) + if (!trx_is_usable(trx)) continue; for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5 Gerrit-Change-Number: 18127 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:05:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:05:22 +0000 Subject: Change in osmo-bsc[master]: gsm_data: Update trx_is_usable for ericsson BTS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18128 ) Change subject: gsm_data: Update trx_is_usable for ericsson BTS ...................................................................... gsm_data: Update trx_is_usable for ericsson BTS There is no bb_transc oject. Signed-off-by: Sylvain Munaut Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c 2 files changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ecc1f0a..545019b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1719,6 +1719,18 @@ return 0; } +static inline int is_ericsson_bts(struct gsm_bts *bts) +{ + switch (bts->type) { + case GSM_BTS_TYPE_RBS2000: + return 1; + default: + break; + } + + return 0; +} + static inline int is_e1_bts(struct gsm_bts *bts) { switch (bts->type) { diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 23a4e61..d3c58f5 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1399,6 +1399,10 @@ if (!nm_is_running(&trx->mo.nm_state) || !nm_is_running(&trx->bb_transc.mo.nm_state)) return false; + } else if (is_ericsson_bts(trx->bts)) { + /* The OM2000 -> 12.21 mapping we do doesn't have separate bb_transc MO */ + if (!nm_is_running(&trx->mo.nm_state)) + return false; } return true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f Gerrit-Change-Number: 18128 Gerrit-PatchSet: 7 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:05:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:05:22 +0000 Subject: Change in osmo-bsc[master]: om2k: Fix invalid use of linked list when building hopping freq list In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18142 ) Change subject: om2k: Fix invalid use of linked list when building hopping freq list ...................................................................... om2k: Fix invalid use of linked list when building hopping freq list I originally assumed that after a complete scan with llist_for_each_entry the loop counter would be either NULL or a valid entry. That's just not the case. Fixes: CID#210256 Signed-off-by: Sylvain Munaut Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e --- M src/osmo-bsc/abis_om2000.c 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index c696557..0aea684 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1452,14 +1452,16 @@ static int put_freq_list(uint8_t *buf, struct gsm_bts_trx_ts *ts, uint16_t arfcn) { - struct gsm_bts_trx *trx; + struct gsm_bts_trx *t, *trx = NULL; /* Find the TRX that's configured for that ARFCN */ - llist_for_each_entry(trx, &ts->trx->bts->trx_list, list) - if (trx->arfcn == arfcn) + llist_for_each_entry(t, &ts->trx->bts->trx_list, list) + if (t->arfcn == arfcn) { + trx = t; break; + } - if (!trx || (trx->arfcn != arfcn)) { + if (!trx) { LOGP(DNM, LOGL_ERROR, "Trying to use ARFCN %d for hopping with no TRX configured for it", arfcn); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e Gerrit-Change-Number: 18142 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat May 9 08:06:01 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 09 May 2020 08:06:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb6647c32670_75f52b2179c985e03184a5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 533s] ^~~~~~~~~~~~~~~~~~~ [ 533s] main.c: In function 'main': [ 533s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 533s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 533s] ^~~~~~~~~~~~~~~~~~~ [ 533s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 533s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 533s] ^ [ 533s] cc1: some warnings being treated as errors [ 533s] Makefile:469: recipe for target 'main.o' failed [ 533s] make[3]: *** [main.o] Error 1 [ 533s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 533s] Makefile:402: recipe for target 'all-recursive' failed [ 533s] make[2]: *** [all-recursive] Error 1 [ 533s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 533s] Makefile:349: recipe for target 'all' failed [ 533s] make[1]: *** [all] Error 2 [ 533s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 533s] dh_auto_build: make -j1 returned exit code 2 [ 533s] debian/rules:45: recipe for target 'build' failed [ 533s] make: *** [build] Error 2 [ 533s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 533s] ### VM INTERACTION START ### [ 536s] [ 506.869174] sysrq: SysRq : Power Off [ 536s] [ 506.909861] reboot: Power down [ 537s] ### VM INTERACTION END ### [ 537s] [ 537s] obs-arm-5 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Sat May 9 08:05:49 UTC 2020. [ 537s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 9 08:06:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:06:32 +0000 Subject: Change in libosmocore[master]: stats: Move cfg_stats_interval_cmd() function. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18136 ) Change subject: stats: Move cfg_stats_interval_cmd() function. ...................................................................... Patch Set 1: Code-Review+2 I'm not aware we follow any constraints for sorting/ordering here, but well, it doesn't hurt... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 Gerrit-Change-Number: 18136 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:06:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:07:08 +0000 Subject: Change in libosmocore[master]: stats: Fix documentation for osmo_stats_set_interval() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18137 ) Change subject: stats: Fix documentation for osmo_stats_set_interval() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 Gerrit-Change-Number: 18137 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:07:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:08:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:08:47 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:08:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:08:54 +0000 Subject: Change in libosmocore[master]: stats: Move cfg_stats_interval_cmd() function. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18136 ) Change subject: stats: Move cfg_stats_interval_cmd() function. ...................................................................... stats: Move cfg_stats_interval_cmd() function. cfg_stats_interval_cmd() function was (probably mistakenly) inserted between cfg_stats_reporter_statsd_cmd() and cfg_no_stats_reporter_statsd_cmd() function which makes no sense. Move it below the cfg_no_stats_reporter_log_cmd() to follow the order of the osmo_stats_vty_add_cmds() function calls. Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 --- M src/vty/stats_vty.c 1 file changed, 17 insertions(+), 18 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index 296519c..a512703 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -269,24 +269,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_stats_interval, cfg_stats_interval_cmd, - "stats interval <1-65535>", - CFG_STATS_STR "Set the reporting interval\n" - "Interval in seconds\n") -{ - int rc; - int interval = atoi(argv[0]); - rc = osmo_stats_set_interval(interval); - if (rc < 0) { - vty_out(vty, "%% Unable to set interval: %s%s", - strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - - DEFUN(cfg_no_stats_reporter_statsd, cfg_no_stats_reporter_statsd_cmd, "no stats reporter statsd", NO_STR CFG_STATS_STR CFG_REPORTER_STR "Report to a STATSD server\n") @@ -347,6 +329,23 @@ return CMD_SUCCESS; } +DEFUN(cfg_stats_interval, cfg_stats_interval_cmd, + "stats interval <1-65535>", + CFG_STATS_STR "Set the reporting interval\n" + "Interval in seconds\n") +{ + int rc; + int interval = atoi(argv[0]); + rc = osmo_stats_set_interval(interval); + if (rc < 0) { + vty_out(vty, "%% Unable to set interval: %s%s", + strerror(-rc), VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + DEFUN(show_stats, show_stats_cmd, "show stats", -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1ecec7025e95cf5ffc21ae3b1c75cf6da8c58de2 Gerrit-Change-Number: 18136 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:08:54 +0000 Subject: Change in libosmocore[master]: stats: Fix documentation for osmo_stats_set_interval() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18137 ) Change subject: stats: Fix documentation for osmo_stats_set_interval() ...................................................................... stats: Fix documentation for osmo_stats_set_interval() Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 --- M src/stats.c 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/stats.c b/src/stats.c index b5adbf2..61b7df8 100644 --- a/src/stats.c +++ b/src/stats.c @@ -326,8 +326,7 @@ return 0; } -/*! Set the reporting interval of a given stats_reporter (in seconds). - * \param[in] srep stats_reporter whose remote address is to be set +/*! Set the reporting interval (common for all reporters) * \param[in] interval Reporting interval in seconds * \returns 0 on success; negative on error */ int osmo_stats_set_interval(int interval) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie07a03251d6fe9d40b62815feb51ec8af9ed7c95 Gerrit-Change-Number: 18137 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:08:54 +0000 Subject: Change in libosmocore[master]: stats: Support regular stats flush In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18138 ) Change subject: stats: Support regular stats flush ...................................................................... stats: Support regular stats flush Reliable monitoring requires regular flush of all stat values, even if they have not changed. Otherwise (1) the monitoring app has to maintain state and (2) can go out of sync if it's restarted while the app is still running. Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad --- M include/osmocom/core/stats.h M src/stats.c M src/vty/stats_vty.c 3 files changed, 59 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/core/stats.h b/include/osmocom/core/stats.h index e01016d..b9edac2 100644 --- a/include/osmocom/core/stats.h +++ b/include/osmocom/core/stats.h @@ -73,6 +73,7 @@ char *bind_addr_str; /*!< local bind IP address */ int dest_port; /*!< destination (UDP) port */ int mtu; /*!< Maximum Transmission Unit */ + unsigned int flush_period; /*!< period between regular flushes */ /*! Maximum class/index to report. FIXME: More details! */ enum osmo_stats_class max_class; @@ -87,7 +88,8 @@ int fd; /*!< file descriptor of socket */ struct msgb *buffer; /*!< message buffer for log output */ int agg_enabled; /*!< is aggregation enabled? */ - int force_single_flush; + int force_single_flush; /*!< set to 1 to force a flush (send even unchanged stats values) */ + unsigned int flush_period_counter; /*!< count sends between forced flushes */ struct llist_head list; int (*open)(struct osmo_stats_reporter *srep); @@ -129,6 +131,7 @@ int osmo_stats_reporter_set_name_prefix(struct osmo_stats_reporter *srep, const char *prefix); int osmo_stats_reporter_enable(struct osmo_stats_reporter *srep); int osmo_stats_reporter_disable(struct osmo_stats_reporter *srep); +int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, unsigned int period); /* reporter creation */ struct osmo_stats_reporter *osmo_stats_reporter_create_log(const char *name); diff --git a/src/stats.c b/src/stats.c index 61b7df8..5954167 100644 --- a/src/stats.c +++ b/src/stats.c @@ -341,6 +341,25 @@ return 0; } +/*! Set the regular flush period for a given stats_reporter + * + * Send all stats even if they have not changed (i.e. force the flush) + * every N-th reporting interval. Set to 0 to disable regular flush, + * set to 1 to flush every time, set to 2 to flush every 2nd time, etc. + * \param[in] srep stats_reporter to set flush period for + * \param[in] period Reporting interval in seconds + * \returns 0 on success; negative on error */ +int osmo_stats_reporter_set_flush_period(struct osmo_stats_reporter *srep, unsigned int period) +{ + srep->flush_period = period; + srep->flush_period_counter = 0; + /* force the flush now if it's not disabled by period=0 */ + if (period > 0) + srep->force_single_flush = 1; + + return 0; +} + /*! Set the name prefix of a given stats_reporter. * \param[in] srep stats_reporter whose name prefix is to be set * \param[in] prefix NAme perfix to pre-pend for any reported value @@ -706,7 +725,17 @@ continue; osmo_stats_reporter_send_buffer(srep); + + /* reset force_single_flush first */ srep->force_single_flush = 0; + /* and schedule a new flush if it's time for it */ + if (srep->flush_period > 0) { + srep->flush_period_counter++; + if (srep->flush_period_counter >= srep->flush_period) { + srep->force_single_flush = 1; + srep->flush_period_counter = 0; + } + } } } diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index a512703..4628281 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -245,6 +245,27 @@ return CMD_SUCCESS; } +DEFUN(cfg_stats_reporter_flush_period, cfg_stats_reporter_flush_period_cmd, + "flush-period <0-65535>", + CFG_STATS_STR "Send all stats even if they have not changed (i.e. force the flush)" + "every N-th reporting interval. Set to 0 to disable regular flush (default).\n" + "0 to disable regular flush (default), 1 to flush every time, 2 to flush every 2nd time, etc\n") +{ + int rc; + unsigned int period = atoi(argv[0]); + struct osmo_stats_reporter *srep = osmo_stats_vty2srep(vty); + OSMO_ASSERT(srep); + + rc = osmo_stats_reporter_set_flush_period(srep, period); + if (rc < 0) { + vty_out(vty, "%% Unable to set force flush period: %s%s", + strerror(-rc), VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + DEFUN(cfg_stats_reporter_statsd, cfg_stats_reporter_statsd_cmd, "stats reporter statsd", CFG_STATS_STR CFG_REPORTER_STR "Report to a STATSD server\n") @@ -588,6 +609,10 @@ else vty_out(vty, " no prefix%s", VTY_NEWLINE); + if (srep->flush_period > 0) + vty_out(vty, " flush-period %d%s", + srep->flush_period, VTY_NEWLINE); + if (srep->enabled) vty_out(vty, " enable%s", VTY_NEWLINE); @@ -637,6 +662,7 @@ install_element(CFG_STATS_NODE, &cfg_stats_reporter_level_cmd); install_element(CFG_STATS_NODE, &cfg_stats_reporter_enable_cmd); install_element(CFG_STATS_NODE, &cfg_stats_reporter_disable_cmd); + install_element(CFG_STATS_NODE, &cfg_stats_reporter_flush_period_cmd); install_element_ve(&show_stats_asciidoc_table_cmd); install_element_ve(&show_rate_counters_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I04f1e7bdf0d6f20e4f15571e94191de61c47ddad Gerrit-Change-Number: 18138 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:12:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:12:45 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18141/1/src/stats.c at 149 PS1, Line 149: if (!(what & BSC_FD_READ)) > I'm frankly thinking that all this machinery should be hidden in the Osmocom wrapper since it's completely boilerplate. The expiry counter could then be passed to the callback instead of "what". Well, it is still a file-descriptor, and it would be somewhat awkward to change the semantics of the callback depending on what kind of fd it is. But one could probably turn the whole body of this function into a library utility function like "expire_count = osmo_timerd_handle(struct osmo_fd *);" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 09 May 2020 08:12:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:05 +0000 Subject: Change in osmo-pcu[master]: tbf: Avoid crash: don't set TBF window size if setup failed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18115 ) Change subject: tbf: Avoid crash: don't set TBF window size if setup failed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 Gerrit-Change-Number: 18115 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:14:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:12 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 08:14:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:24 +0000 Subject: Change in osmo-pcu[master]: tbf: Avoid crash: don't set TBF window size if setup failed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18115 ) Change subject: tbf: Avoid crash: don't set TBF window size if setup failed ...................................................................... tbf: Avoid crash: don't set TBF window size if setup failed Should fix assertion triggered due to the tbf not set up properly beforehand. Fixes: OS#4524 Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 --- M src/tbf.cpp 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified keith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index 73d7ea9..fb985d4 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1014,15 +1014,15 @@ rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); - if (tbf->is_egprs_enabled()) - tbf->set_window_size(); - /* if no resource */ if (rc < 0) { talloc_free(tbf); return NULL; } + if (tbf->is_egprs_enabled()) + tbf->set_window_size(); + tbf->m_ul_egprs_ctrs = rate_ctr_group_alloc(tbf, &tbf_ul_egprs_ctrg_desc, tbf->m_ctrs->idx); tbf->m_ul_gprs_ctrs = rate_ctr_group_alloc(tbf, -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I267b147520ef5a50f40ad4bc19e7b5fb3e708127 Gerrit-Change-Number: 18115 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:24 +0000 Subject: Change in osmo-pcu[master]: bts: Rename mslot_class_from_ra In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18129 ) Change subject: bts: Rename mslot_class_from_ra ...................................................................... bts: Rename mslot_class_from_ra This function is actually returning an EGPRS multislot class, so let's update naming. The variable using the return value was already being passed as egprs_ms_class to tbf_alloc_ul_tbf(). Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 --- M src/bts.cpp 1 file changed, 13 insertions(+), 5 deletions(-) Approvals: keith: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 5e1725c..8edde23 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -664,12 +664,21 @@ return fn; } -static inline uint16_t mslot_class_from_ra(uint16_t ra, bool is_11bit) +/* 3GPP TS 44.060: + * Table 11.2.5.3: PACKET CHANNEL REQUEST + * Table 11.2.5a.3: EGPRS PACKET CHANNEL REQUEST + * Both GPRS and EGPRS use same MultislotClass coding, but since use of PCCCH is + * deprecated, no PACKET CHANNEL REQUEST exists, which means for GPRS we will + * receive CCCH RACH which doesn't contain any mslot class. Hence in the end we + * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL + * REQUEST. + */ +static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) return (ra & 0x3e0) >> 5; - /* set multislot class to 0 for 8-bit RACH, since we don't know it yet */ + /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ return 0; } @@ -741,7 +750,7 @@ int plen; uint8_t usf = 7; uint8_t tsc = 0, ta = qta2ta(qta); - uint16_t ms_class = mslot_class_from_ra(ra, is_11bit); + uint16_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; rach_frame(); @@ -784,8 +793,7 @@ } else { // Create new TBF /* FIXME: Copy and paste with other routines.. */ - - tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, ms_class, true); + tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, egprs_ms_class, true); if (!tbf) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending " -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idb51836c8c9dd4e865bf2cb0b0c24155662f2ae8 Gerrit-Change-Number: 18129 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:25 +0000 Subject: Change in osmo-pcu[master]: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANN... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18130 ) Change subject: bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST ...................................................................... bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST In osmo-pcu datatructures, the variables holding multislot classes simply contain an integer referring to the multislot class number, instead of coding from 3GPP TS 44.060 Table 11.2.5.3 and Table 11.2.5a.3. So coding Multislot class 3 is stored as 0x03 in osmo-pcu variables, while in 3GPP TS 44.060 coding it's coded as 0x02 (N-1). This allows us using value 0x00 to designate a "yet unknown (EGPRS) Multislot class". Hence, we need to add 1 to the decoded value to match our data structures. Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 8edde23..a43613e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -676,7 +676,7 @@ static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) - return (ra & 0x3e0) >> 5; + return ((ra & 0x3e0) >> 5) + 1; /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id3b121272bb7e84c0542ae9b4ce09598c6054edd Gerrit-Change-Number: 18130 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:14:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:14:25 +0000 Subject: Change in osmo-pcu[master]: bts: Return uint8_t in egprs_mslot_class_from_ra() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18131 ) Change subject: bts: Return uint8_t in egprs_mslot_class_from_ra() ...................................................................... bts: Return uint8_t in egprs_mslot_class_from_ra() MultislotClass is 5 bit long, so an uint8_t is enough. In most places we are already storing multislot class as uint8_t. Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f --- M src/bts.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved keith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index a43613e..6578e06 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -673,7 +673,7 @@ * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL * REQUEST. */ -static inline uint16_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) +static inline uint8_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { if (is_11bit) return ((ra & 0x3e0) >> 5) + 1; @@ -750,7 +750,7 @@ int plen; uint8_t usf = 7; uint8_t tsc = 0, ta = qta2ta(qta); - uint16_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); + uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; rach_frame(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1dcaff9d69379453a0b794e5f36b820f5f78531f Gerrit-Change-Number: 18131 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:16:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:16:25 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_ul_tbf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18133 ) Change subject: Expect ms object to exist before calling tbf_alloc_ul_tbf() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c Gerrit-Change-Number: 18133 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 08:16:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:17:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:17:37 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 08:17:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:18:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:18:36 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to change the pcap fd and/or unset it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to change the pcap fd and/or unset it ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 08:18:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:20:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 08:20:38 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/5//COMMIT_MSG at 10 PS5, Line 10: affected. I thought your previous patch just adresses that? I.e. iterate over all open lines and set the file descriptor? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 08:20:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:43:40 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 08:43:40 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18114/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmo-abis/+/18114/5//COMMIT_MSG at 10 PS5, Line 10: affected. > I thought your previous patch just adresses that? I.e. [?] Ah yeah, I updated the previous patch without updating the commit message of this one ... -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 5 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 08:43:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:44:33 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 08:44:33 +0000 Subject: Change in osmo-e1d[master]: port to new libosmousb In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/16645 ) Change subject: port to new libosmousb ...................................................................... Patch Set 4: Looks good, I'll actually make sure it works this morning. -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/16645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I3f3b61dfa217d6ef8c17970b2cf1cc627bb13bbe Gerrit-Change-Number: 16645 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 08:44:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 08:46:22 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 08:46:22 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 to look at the new patch set (#6). Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output This command is also usable at run-time to dynamically enable / disable e1 tracing on all active lines Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/14/18114/6 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 09:42:48 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 09:42:48 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18141 to look at the new patch set (#2). Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... stats: Change timer to timerfd to make it a true interval timer. Previously the interval between stats flushes would slowly increase which would lead to reporting time jitter and confuse a timescale database. Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 --- M src/stats.c 1 file changed, 36 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/18141/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 09:45:49 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 09:45:49 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18141 to look at the new patch set (#3). Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... stats: Change timer to timerfd to make it a true interval timer. Previously the interval between stats flushes would slowly increase which would lead to reporting time jitter and confuse a timescale database. Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 --- M src/stats.c 1 file changed, 37 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/18141/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 10:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 10:02:40 +0000 Subject: Change in osmo-e1d[master]: port to new libosmousb In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/16645 ) Change subject: port to new libosmousb ...................................................................... Patch Set 4: Code-Review+1 Works fine -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/16645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I3f3b61dfa217d6ef8c17970b2cf1cc627bb13bbe Gerrit-Change-Number: 16645 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 10:02:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 10:02:44 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 10:02:44 +0000 Subject: Change in osmo-e1d[master]: port to new libosmousb In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/16645 ) Change subject: port to new libosmousb ...................................................................... port to new libosmousb libosmousb, recently introduced to libosmocore.git, is taking care of main loop integration of libusb into osmo_select_main(). This means we don't need to do any polling here anymore. Change-Id: I3f3b61dfa217d6ef8c17970b2cf1cc627bb13bbe --- M configure.ac M src/Makefile.am M src/osmo-e1d.c M src/usb.c 4 files changed, 6 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 91d34e8..c0508eb 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,7 @@ PKG_CHECK_MODULES(TALLOC, [talloc >= 2.0.1]) PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.0.1.120) +PKG_CHECK_MODULES(LIBOSMOUSB, libosmousb) PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.21) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am index fd9ec35..2890554 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ LIBVERSION=0:0:0 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir) -AM_CFLAGS=-Wall -Wno-unused-result $(LIBOSMOCORE_CFLAGS) $(LIBUSB_CFLAGS) +AM_CFLAGS=-Wall -Wno-unused-result $(LIBOSMOCORE_CFLAGS) $(LIBOSMOUSB_LIBS) $(LIBUSB_CFLAGS) lib_LTLIBRARIES = libosmo-e1d.la @@ -35,4 +35,4 @@ usb.c \ $(NULL) -osmo_e1d_LDADD = $(LIBOSMOCORE_LIBS) $(LIBUSB_LIBS) libosmo-e1d.la +osmo_e1d_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOUSB_LIBS) $(LIBUSB_LIBS) libosmo-e1d.la diff --git a/src/osmo-e1d.c b/src/osmo-e1d.c index fa3fc6c..92d98d3 100644 --- a/src/osmo-e1d.c +++ b/src/osmo-e1d.c @@ -42,7 +42,6 @@ extern struct osmo_e1dp_server_handler e1d_ctl_handlers[]; extern int e1_usb_probe(struct e1_daemon *e1d); -extern int e1_usb_poll(void); @@ -122,8 +121,7 @@ /* main loop */ while (!g_shutdown) { - osmo_select_main(1); - e1_usb_poll(); + osmo_select_main(0); } /* cleanup */ diff --git a/src/usb.c b/src/usb.c index 18e3053..19855f8 100644 --- a/src/usb.c +++ b/src/usb.c @@ -30,6 +30,7 @@ #include #include +#include #include @@ -572,7 +573,7 @@ int i, ret; if (!g_usb) { - ret = libusb_init(&g_usb); + ret = osmo_libusb_init(&g_usb); if (ret) { LOGP(DE1D, LOGL_ERROR, "Failed to initialize libusb\n"); return -EIO; @@ -602,15 +603,3 @@ return 0; } - -int -e1_usb_poll(void) -{ - int rv; - - rv = libusb_handle_events(g_usb); - if (rv != LIBUSB_SUCCESS) - return -EIO; - - return 0; -} -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/16645 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I3f3b61dfa217d6ef8c17970b2cf1cc627bb13bbe Gerrit-Change-Number: 16645 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 10:20:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 10:20:46 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... fix egprs_mslot_class_from_ra(): multislot class may not be present For more details, see 3GPP TS 44.060, table 11.2.5a.2. Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Signed-off-by: Vadim Yanitskiy --- M src/bts.cpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/18157/1 diff --git a/src/bts.cpp b/src/bts.cpp index 6578e06..2c9ec69 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -675,7 +675,8 @@ */ static inline uint8_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { - if (is_11bit) + /* EGPRS multislot class is only present in One Phase Access Request */ + if (is_11bit && (ra >> 10) == 0x00) /* 0xxx xxxx xxx */ return ((ra & 0x3e0) >> 5) + 1; /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 10:21:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 10:21:21 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... fix egprs_mslot_class_from_ra(): multislot class may not be present For more details, see 3GPP TS 44.060, table 11.2.5a.2. Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Signed-off-by: Vadim Yanitskiy Related: OS#1548 --- M src/bts.cpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/18157/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 10:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 10:31:13 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 to look at the new patch set (#3). Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... fix egprs_mslot_class_from_ra(): multislot class may not be present For more details, see 3GPP TS 44.060, table 11.2.5a.2. Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Signed-off-by: Vadim Yanitskiy Related: OS#1548 --- M src/bts.cpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/18157/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 13:01:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 13:01:11 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c at 158 PS3, Line 158: trailing whitespace https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c at 160 PS3, Line 160: LOGP(DLSTATS, LOGL_NOTICE, "Stats timer expire_count=%"PRIu64": We missed %"PRIu64" timers\n", In general it's better to leave a space between a string literal and PRIu64 (which is another string literal). Some compilers don't like that, I have seen it. In essence: printf("hello""howareyou") -> printf("hello" "howareyou") -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 09 May 2020 13:01:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 13:05:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 13:05:21 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18157/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18157/3/src/bts.cpp at 679 PS3, Line 679: if (is_11bit && (ra >> 10) == 0x00) /* .0xx xxx. .... */ I'd love at some point having data strctures and macros to handle all "ra" related stuff... it would be easier to follow and also to easily check what's in there and learn about it... Probably have thtat in libosmogsm: RA_IS_ONE_PHASE_ACCESS_REQUEST(ra) or RA_GET_TYPE(ra) == RA_TYPE_ONE_PHASE_ACCESS. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 13:05:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 13:21:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 13:21:26 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18157/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18157/3/src/bts.cpp at 679 PS3, Line 679: if (is_11bit && (ra >> 10) == 0x00) /* .0xx xxx. .... */ > I'd love at some point having data strctures and macros to handle all "ra" related stuff... [?] Well, in case of EGPRS Packet Channel Request it makes sense to use the CSN.1 decoder. I already have a patch, just need to find some time to clean it up: https://gerrit.osmocom.org/c/osmo-pcu/+/17718. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 13:21:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 13:26:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 13:26:02 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18141 to look at the new patch set (#4). Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... stats: Change timer to timerfd to make it a true interval timer. Previously the interval between stats flushes would slowly increase which would lead to reporting time jitter and confuse a timescale database. Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 --- M src/stats.c 1 file changed, 37 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/18141/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 13:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 13:26:59 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c at 158 PS3, Line 158: > trailing whitespace Ack https://gerrit.osmocom.org/c/libosmocore/+/18141/3/src/stats.c at 160 PS3, Line 160: LOGP(DLSTATS, LOGL_NOTICE, "Stats timer expire_count=%"PRIu64": We missed %"PRIu64" timers\n", > In general it's better to leave a space between a string literal and PRIu64 (which is another string [?] Fixed. But someone should fix the same in the osmo-bts-trx as well - I've literally copy-pasted from there. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 09 May 2020 13:26:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:02:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 14:02:14 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 8: I would appreciate a follow-up patch that fixes "SIGTRAN connection" to "BSSMAP MSC assocation" or whatever. This is a bug in the original code, but let's not perpetuate it. There are plenty of things that can happen above the bare SCTP/M3UA connection which can happen, such as SCCP or MTP level routing problems. The fact that a MSC responds to a BSSMAP reset tells us that all of the underlying SS7 transport network is operational and the MSC responds to us. Go draw an IP analogy: Saying "SIGTAN connection up" here is like saying "Ethernet link up" when you get an ICMP response. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:02:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:03:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 14:03:05 +0000 Subject: Change in osmo-bsc[master]: stats: report a number of configured BTS to a stats gauge. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18109 ) Change subject: stats: report a number of configured BTS to a stats gauge. ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c Gerrit-Change-Number: 18109 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:03:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:04:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 14:04:20 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:04:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:05:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 14:05:00 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 9 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:05:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:06:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 14:06:09 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:06:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:48:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 14:48:41 +0000 Subject: Change in osmo-bsc[master]: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log me... References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18158 ) Change subject: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages ...................................................................... a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages Explanation from Harald: There are plenty of things that can happen above the bare SCTP/M3UA connection which can happen, such as SCCP or MTP level routing problems. The fact that a MSC responds to a BSSMAP reset tells us that all of the underlying SS7 transport network is operational and the MSC responds to us. Go draw an IP analogy: Saying "SIGTAN connection up" here is like saying "Ethernet link up" when you get an ICMP response. Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db --- M src/osmo-bsc/a_reset.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/18158/1 diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 63273e9..f990e63 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -82,7 +82,7 @@ struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; struct bsc_msc_data *msc = reset_ctx->priv; - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); + LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is down, reconnecting...\n"); if (prev_state != ST_DISC) osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); } @@ -112,7 +112,7 @@ struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; struct bsc_msc_data *msc = reset_ctx->priv; - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); + LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is up.\n"); if (prev_state != ST_CONN) osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db Gerrit-Change-Number: 18158 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 14:49:28 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 14:49:28 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 8: > I would appreciate a follow-up patch that fixes "SIGTRAN connection" to "BSSMAP MSC assocation" or whatever. This is a bug in the original code, but let's not perpetuate it. See a new patch -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 14:49:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:04:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:04:24 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 15:04:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:12:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 15:12:54 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18159 ) Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Implement Generic SIM Access interface as per 3GPP TS 27.007 According to 3GPP TS 27.007, sections 8.17 and 8.18, the modem may *optionally* provide Generic and/or Restricted SIM Access to the TE (Terminal Equipment) by means of the AT commands. This basically means that a modem can act as a card reader. Generic SIM Access allows the TE to send raw PDUs in the format as described in 3GPP TS 51.011 directly to the SIM card, while Restricted SIM Access is more limited, and thus is not really interesting to us. This change implements a new transport called ModemATCommandLink, so using it a SIM card can be read and/or programmed without the need to remove it from the modem's socket. A downside of this approach is relatively slow I/O speed compared to PC/SC readers. Tested with Quectel EC20: $ ./pySim-read.py --modem-dev /dev/ttyUSB2 Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Signed-off-by: Vadim Yanitskiy --- M pySim-prog.py M pySim-read.py A pySim/transport/modem_atcmd.py 3 files changed, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/18159/1 diff --git a/pySim-prog.py b/pySim-prog.py index e3045a6..892a565 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -61,6 +61,14 @@ help="Which PC/SC reader number for SIM access", default=None, ) + parser.add_option("--modem-device", dest="modem_dev", metavar="DEV", + help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)", + default=None, + ) + parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD", + help="Baudrate used for modem's port [default: %default]", + default=115200, + ) parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH", help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", default=None, @@ -693,6 +701,11 @@ % opts.osmocon_sock) from pySim.transport.calypso import CalypsoSimLink sl = CalypsoSimLink(sock_path=opts.osmocon_sock) + elif opts.modem_dev is not None: + print("Using modem (dev=%s, speed=%d) for Generic SIM Access (3GPP TS 27.007)" + % (opts.modem_dev, opts.modem_baud)) + from pySim.transport.modem_atcmd import ModemATCommandLink + sl = ModemATCommandLink(device=opts.modem_dev, baudrate=opts.modem_baud) else: # Serial reader is default print("Using serial reader (port=%s, baudrate=%d) interface" % (opts.device, opts.baudrate)) diff --git a/pySim-read.py b/pySim-read.py index 33e93a7..9713fb9 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -53,6 +53,14 @@ help="Which PC/SC reader number for SIM access", default=None, ) + parser.add_option("--modem-device", dest="modem_dev", metavar="DEV", + help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)", + default=None, + ) + parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD", + help="Baudrate used for modem's port [default: %default]", + default=115200, + ) parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH", help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", default=None, @@ -82,6 +90,11 @@ % opts.osmocon_sock) from pySim.transport.calypso import CalypsoSimLink sl = CalypsoSimLink(sock_path=opts.osmocon_sock) + elif opts.modem_dev is not None: + print("Using modem (dev=%s, speed=%d) for Generic SIM Access (3GPP TS 27.007)" + % (opts.modem_dev, opts.modem_baud)) + from pySim.transport.modem_atcmd import ModemATCommandLink + sl = ModemATCommandLink(device=opts.modem_dev, baudrate=opts.modem_baud) else: # Serial reader is default print("Using serial reader (port=%s, baudrate=%d) interface" % (opts.device, opts.baudrate)) diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py new file mode 100644 index 0000000..4594325 --- /dev/null +++ b/pySim/transport/modem_atcmd.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" pySim: Transport Link for 3GPP TS 27.007 compliant modems +""" + +# Copyright (C) 2020 Vadim Yanitskiy +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +from __future__ import absolute_import + +import logging as log +import serial +import time +import re + +from pySim.transport import LinkBase +from pySim.exceptions import * + +class ModemATCommandLink(LinkBase): + def __init__(self, device='/dev/ttyUSB0', baudrate=115200): + self._sl = serial.Serial(device, baudrate, timeout=5) + self._device = device + self._atr = None + + # HACK: if somebody needs to debug this thing + # log.root.setLevel(log.DEBUG) + + def __del__(self): + self._sl.close() + + def send_at_cmd(self, cmd): + # Convert from string to bytes, if needed + if type(cmd) is str: + bcmd = str.encode(cmd) + bcmd += b'\r' + + # Send command to the modem + log.debug('Sending AT command: %s' % cmd) + try: + wlen = self._sl.write(bcmd) + assert(wlen == len(bcmd)) + except: + raise ReaderError('Failed to sent AT command: %s' % cmd) + + # Give the modem some time... + time.sleep(0.3) + + # Read the response + try: + # Skip characters sent back + self._sl.read(wlen) + # Read the rest + rsp = self._sl.read_all() + + # Strip '\r\n' + rsp = rsp.strip() + # Split into a list + rsp = rsp.split(b'\r\n\r\n') + except: + raise ReaderError('Failed parse response to AT command: %s' % cmd) + + log.debug('Got response from modem: %s' % rsp) + return rsp + + def connect(self): + # Make sure that we can talk to the modem + if self.send_at_cmd('AT') != [b'OK']: + raise ReaderError('Failed to connect to modem') + + # Reset the modem, just to be sure + if self.send_at_cmd('ATZ') != [b'OK']: + raise ReaderError('Failed to reset the modem') + + # Make sure that generic SIM access is supported + if self.send_at_cmd('AT+CSIM=?') != [b'OK']: + raise ReaderError('The modem does not seem to support SIM access') + + log.info('Modem at \'%s\' is ready!' % device) + + def disconnect(self): + pass # Nothing to do really ... + + def wait_for_card(self, timeout=None, newcardonly=False): + pass # Nothing to do really ... + + def send_apdu_raw(self, pdu): + # Prepare the command as described in 8.17 + cmd = 'AT+CSIM=%d,\"%s\"' % (len(pdu), pdu) + + # Send AT+CSIM command to the modem + # TODO: also handle +CME ERROR: + rsp = self.send_at_cmd(cmd) + if len(rsp) != 2 or rsp[-1] != b'OK': + raise ReaderError('APDU transfer failed: %s' % str(rsp)) + rsp = rsp[0] # Get rid of b'OK' + + # Make sure that the response has format: b'+CSIM: %d,\"%s\"' + try: + result = re.match(b'\+CSIM: (\d+),\"([0-9A-F]+)\"', rsp) + (rsp_pdu_len, rsp_pdu) = result.groups() + except: + raise ReaderError('Failed to parse response from modem: %s' % rsp) + + # TODO: make sure we have at least SW + data = rsp_pdu[:-4].decode() + sw = rsp_pdu[-4:].decode() + return data, sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:21:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 15:21:24 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18073 ) Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:21:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:25:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:25:49 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18073 ) Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Patch Set 4: Code-Review-1 This should be merged with https://gerrit.osmocom.org/c/pysim/+/18051 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:25:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:26:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:26:51 +0000 Subject: Change in pysim[master]: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18051 to look at the new patch set (#2). Change subject: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ...................................................................... Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Closes: OS#4532 --- M pySim/cards.py M pysim-testdata/sysmoISIM-SJA2.ok 2 files changed, 16 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/51/18051/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Gerrit-Change-Number: 18051 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:31:21 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 15:31:21 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sat, 09 May 2020 15:31:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:31:28 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 15:31:28 +0000 Subject: Change in libosmo-abis[master]: e1_input: Allow to change the pcap fd and/or unset it In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18113 ) Change subject: e1_input: Allow to change the pcap fd and/or unset it ...................................................................... e1_input: Allow to change the pcap fd and/or unset it This will update the pcap fd in all open lines and close the previous one (if applicable). Signed-off-by: Sylvain Munaut Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 --- M src/e1_input.c 1 file changed, 27 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/e1_input.c b/src/e1_input.c index ad4e25c..379cc53 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -142,7 +142,7 @@ int e1_set_pcap_fd(int fd) { - struct pcap_hdr header = { + const struct pcap_hdr header = { .magic_number = 0xa1b2c3d4, .version_major = 2, .version_minor = 4, @@ -151,9 +151,34 @@ .snaplen = 65535, .network = DLT_LINUX_LAPD, }; + struct e1inp_line *line; + int i; + /* write header */ + if (fd >= 0) { + int rc = write(fd, &header, sizeof(header)); + if (rc < 0) + return rc; + } + + /* update fd in all lines in our global list of e1 lines */ + llist_for_each_entry(line, &e1inp_line_list, list) { + /* Set the PCAP file descriptor for all timeslots that have + * software LAPD instances, to ensure the osmo_lapd_pcap code is + * used to write PCAP files (if requested) */ + for (i = 0; i < ARRAY_SIZE(line->ts); i++) { + struct e1inp_ts *e1i_ts = &line->ts[i]; + if (e1i_ts->lapd) + e1i_ts->lapd->pcap_fd = fd; + } + } + + /* close previous and update global */ + if (pcap_fd >= 0) + close(pcap_fd); pcap_fd = fd; - return write(pcap_fd, &header, sizeof(header)); + + return 0; } /* This currently only works for the D-Channel */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5c7dd740ba0a90b40c69a53b3dcc9d6d6a98f660 Gerrit-Change-Number: 18113 Gerrit-PatchSet: 3 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:31:29 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sat, 9 May 2020 15:31:29 +0000 Subject: Change in libosmo-abis[master]: e1_input: Add VTY command to enable PCAP debug output In-Reply-To: References: Message-ID: tnt has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18114 ) Change subject: e1_input: Add VTY command to enable PCAP debug output ...................................................................... e1_input: Add VTY command to enable PCAP debug output This command is also usable at run-time to dynamically enable / disable e1 tracing on all active lines Signed-off-by: Sylvain Munaut Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 --- M src/e1_input_vty.c 1 file changed, 32 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve tnt: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/e1_input_vty.c b/src/e1_input_vty.c index 8d89d04..15f325f 100644 --- a/src/e1_input_vty.c +++ b/src/e1_input_vty.c @@ -20,9 +20,12 @@ */ #include "internal.h" +#include #include #include #include +#include +#include #include #include @@ -232,6 +235,32 @@ return CMD_SUCCESS; } +DEFUN(cfg_e1_pcap, cfg_e1_pcap_cmd, + "pcap .FILE", + "Setup a pcap recording of all E1 traffic\n" + "Filename to save the packets to\n") +{ + int fd; + + fd = open(argv[0], O_WRONLY | O_CREAT | O_TRUNC, 0660); + if (fd < 0) { + vty_out(vty, "Failed to setup E1 pcap recording to %s.%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + e1_set_pcap_fd(fd); + + return CMD_SUCCESS; +} + +DEFUN(cfg_e1_no_pcap, cfg_e1_no_pcap_cmd, + "no pcap", + NO_STR "Disable pcap recording of all E1 traffic\n") +{ + e1_set_pcap_fd(-1); + return CMD_SUCCESS; +} + DEFUN(cfg_e1inp, cfg_e1inp_cmd, "e1_input", "Configure E1/T1/J1 TDM input\n") @@ -436,6 +465,9 @@ install_element(CONFIG_NODE, &cfg_e1inp_cmd); install_node(&e1inp_node, e1inp_config_write); + install_element(L_E1INP_NODE, &cfg_e1_pcap_cmd); + install_element(L_E1INP_NODE, &cfg_e1_no_pcap_cmd); + install_element(L_E1INP_NODE, &cfg_e1_line_driver_cmd); install_element(L_E1INP_NODE, &cfg_e1_line_port_cmd); install_element(L_E1INP_NODE, &cfg_e1_line_socket_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I0b4251702aecd6721b9d63c320351ef6cb513454 Gerrit-Change-Number: 18114 Gerrit-PatchSet: 6 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:47:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 15:47:40 +0000 Subject: Change in pysim[master]: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18051 ) Change subject: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Gerrit-Change-Number: 18051 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 15:47:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:47:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 15:47:49 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18159 ) Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 15:47:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:51:03 +0000 Subject: Change in pysim[master]: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18051 ) Change subject: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Gerrit-Change-Number: 18051 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:51:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:51:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:51:06 +0000 Subject: Change in pysim[master]: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18051 ) Change subject: Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 ...................................................................... Fix writing of EF.HPLMNwAcT on sysmoISIM-SJA2 Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Closes: OS#4532 --- M pySim/cards.py M pysim-testdata/sysmoISIM-SJA2.ok 2 files changed, 16 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index d2f1057..8937ee8 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1107,6 +1107,12 @@ if sw != '9000': print("Programming OPLMNwAcT failed with code %s"%sw) + # EF.HPLMNwAcT + if p.get('mcc') and p.get('mnc'): + sw = self.update_hplmn_act(p['mcc'], p['mnc']) + if sw != '9000': + print("Programming HPLMNwAcT failed with code %s"%sw) + # EF.AD if p.get('mcc') and p.get('mnc'): sw = self.update_ad(p['mnc']) diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index afc4491..57500eb 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=0) interface +Using PC/SC reader (dev=4) interface Reading ... Autodetected card type: sysmoISIM-SJA2 ICCID: 8988211900000000004 @@ -39,17 +39,17 @@ ffffff0000 # unused HPLMNAcT: + fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused - ffffffffff # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused + ffffff0000 # unused ffffff0000 # unused ACC: 0001 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9372a1a1f10fbe916659a8a50fe0e164987b2d5d Gerrit-Change-Number: 18051 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:51:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:51:30 +0000 Subject: Change in pysim[master]: Adjust the test output for sysmoISIM-SJA2 ISIM In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/18073 ) Change subject: Adjust the test output for sysmoISIM-SJA2 ISIM ...................................................................... Abandoned merged into 18051 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I97100c4acc2f1b2e407268de7a2f952ec34ed2c2 Gerrit-Change-Number: 18073 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:52:59 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18159 ) Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:55:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:55:19 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/17883/1/pySim/utils.py at 365 PS1, Line 365: if o > regarding using the source which i mentioned before, its not available as a pip library to be instal [?] With such small utility code: If possible, I would suggest to copy the relevant parts (single file or parts of a file/) to pySim. Make sure to note the exact git commit version of the source and put it in the commitlog. this way it's possible to later see if upstream has any relevant changes. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:55:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: herlesupreeth Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:57:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:57:53 +0000 Subject: Change in osmo-bsc[master]: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log me... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18158 ) Change subject: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db Gerrit-Change-Number: 18158 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 09 May 2020 15:57:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:12 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 15:58:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:19 +0000 Subject: Change in osmo-bsc[master]: stats: Add a stats gauge for the MSC links count. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18092 ) Change subject: stats: Add a stats gauge for the MSC links count. ...................................................................... stats: Add a stats gauge for the MSC links count. Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 78 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index b9df4ba..7d797eb 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -56,6 +56,12 @@ MSC_CON_TYPE_LOCAL, }; +/* Constants for the MSC stats */ +enum { + MSC_STAT_MSC_LINKS_ACTIVE, + MSC_STAT_MSC_LINKS_TOTAL, +}; + /*! /brief Information on a remote MSC for libbsc. */ struct bsc_msc_data { @@ -99,6 +105,10 @@ char *acc_lst_name; + /* structures for keeping rate counters and gauge stats */ + struct rate_ctr_group *msc_ctrs; + struct osmo_stat_item_group *msc_statg; + /* Sigtran connection data */ struct { uint32_t cs7_instance; diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 3f51278..63273e9 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -66,18 +66,28 @@ {0, NULL} }; -/* Disconnected state */ +/* Disconnected state event handler */ static void fsm_disc_cb(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; OSMO_ASSERT(reset_ctx); - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); reset_ctx->conn_loss_counter = 0; osmo_fsm_inst_state_chg(fi, ST_CONN, 0, 0); } -/* Connected state */ +/* Called when entering Disconnected state */ +static void fsm_disc_onenter_cb(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; + struct bsc_msc_data *msc = reset_ctx->priv; + + LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); + if (prev_state != ST_DISC) + osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); +} + +/* Connected state event handler */ static void fsm_conn_cb(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; @@ -85,10 +95,9 @@ switch (event) { case EV_N_DISCONNECT: - if (reset_ctx->conn_loss_counter >= BAD_CONNECTION_THRESOLD) { - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); + if (reset_ctx->conn_loss_counter >= BAD_CONNECTION_THRESOLD) osmo_fsm_inst_state_chg(fi, ST_DISC, RESET_RESEND_INTERVAL, RESET_RESEND_TIMER_NO); - } else + else reset_ctx->conn_loss_counter++; break; case EV_N_CONNECT: @@ -97,6 +106,17 @@ } } +/* Called when entering Connected state */ +static void fsm_conn_onenter_cb(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; + struct bsc_msc_data *msc = reset_ctx->priv; + + LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); + if (prev_state != ST_CONN) + osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); +} + /* Timer callback to retransmit the reset signal */ static int fsm_reset_ack_timeout_cb(struct osmo_fsm_inst *fi) { @@ -117,12 +137,14 @@ .out_state_mask = (1 << ST_DISC) | (1 << ST_CONN), .name = "DISC", .action = fsm_disc_cb, + .onenter = fsm_disc_onenter_cb, }, [ST_CONN] = { .in_event_mask = (1 << EV_N_DISCONNECT) | (1 << EV_N_CONNECT), .out_state_mask = (1 << ST_DISC) | (1 << ST_CONN), .name = "CONN", .action = fsm_conn_cb, + .onenter = fsm_conn_onenter_cb, }, }; @@ -161,6 +183,9 @@ /* Immediately (1ms) kick off reset sending mechanism */ osmo_fsm_inst_state_chg_ms(reset_fsm, ST_DISC, 1, RESET_RESEND_TIMER_NO); + + /* Count the new MSC link */ + osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_TOTAL], 1); } /* Confirm that we successfully received a reset acknowledge message */ diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 24c8c6d..1704a73 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -43,6 +43,30 @@ #include #include +static const struct rate_ctr_desc msc_ctr_description[] = { +}; + +static const struct rate_ctr_group_desc msc_ctrg_desc = { + "msc", + "mobile switching center", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(msc_ctr_description), + msc_ctr_description, +}; + +static const struct osmo_stat_item_desc msc_stat_desc[] = { + { "msc_links:active", "Number of active MSC links", "", 16, 0 }, + { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc msc_statg_desc = { + .group_name_prefix = "msc", + .group_description = "mobile switching center", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(msc_stat_desc), + .item_desc = msc_stat_desc, +}; + int osmo_bsc_msc_init(struct bsc_msc_data *msc) { struct gsm_network *net = msc->network; @@ -91,6 +115,19 @@ if (!msc_data) return NULL; + /* init statistics */ + msc_data->msc_ctrs = rate_ctr_group_alloc(net, &msc_ctrg_desc, nr); + if (!msc_data->msc_ctrs) { + talloc_free(msc_data); + return NULL; + } + msc_data->msc_statg = osmo_stat_item_group_alloc(net, &msc_statg_desc, nr); + if (!msc_data->msc_statg) { + rate_ctr_group_free(msc_data->msc_ctrs); + talloc_free(msc_data); + return NULL; + } + llist_add_tail(&msc_data->entry, &net->bsc_data->mscs); /* Init back pointer */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428 Gerrit-Change-Number: 18092 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:19 +0000 Subject: Change in osmo-bsc[master]: stats: report a number of configured BTS to a stats gauge. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18109 ) Change subject: stats: report a number of configured BTS to a stats gauge. ...................................................................... stats: report a number of configured BTS to a stats gauge. It's useful to know how many BTS are actually configured to compare it to a number of connected BTS's. Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c 3 files changed, 26 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 545019b..8173506 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1562,6 +1562,11 @@ bsc_ctr_description, }; +/* Constants for the BSC stats */ +enum { + BSC_STAT_NUM_BTS_TOTAL, +}; + struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ @@ -1588,7 +1593,9 @@ struct osmo_timer_list congestion_check_timer; } hodec2; + /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *bsc_ctrs; + struct osmo_stat_item_group *bsc_statg; unsigned int num_bts; struct llist_head bts_list; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 18776f3..d08e9c8 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -44,6 +44,18 @@ #include #include +static const struct osmo_stat_item_desc bsc_stat_desc[] = { + { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, +}; + +static const struct osmo_stat_item_group_desc bsc_statg_desc = { + .group_name_prefix = "bsc", + .group_description = "base station controller", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bsc_stat_desc), + .item_desc = bsc_stat_desc, +}; + int bsc_shutdown_net(struct gsm_network *net) { struct gsm_bts *bts; @@ -268,6 +280,12 @@ talloc_free(net); return NULL; } + net->bsc_statg = osmo_stat_item_group_alloc(net, &bsc_statg_desc, 0); + if (!net->bsc_statg) { + rate_ctr_group_free(net->bsc_ctrs); + talloc_free(net); + return NULL; + } INIT_LLIST_HEAD(&net->bts_rejected); gsm_net_update_ctype(net); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index f8bcee9..0fd462f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -2077,6 +2077,7 @@ /* allocate a new one */ bts = bsc_bts_alloc_register(gsmnet, GSM_BTS_TYPE_UNKNOWN, HARDCODED_BSIC); + osmo_stat_item_inc(gsmnet->bsc_statg->items[BSC_STAT_NUM_BTS_TOTAL], 1); /* * Initialize bts->acc_ramp here. Else we could segfault while * processing a configuration file with ACC ramping settings. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c Gerrit-Change-Number: 18109 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:19 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for received BSSMAP messages. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18112 ) Change subject: stats: Add counters for received BSSMAP messages. ...................................................................... stats: Add counters for received BSSMAP messages. Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 47 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 7d797eb..dc9628b 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -56,6 +56,23 @@ MSC_CON_TYPE_LOCAL, }; +/* Constants for the MSC rate counters */ +enum { + MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE, + MSC_CTR_BSSMAP_RX_UDT_RESET, + MSC_CTR_BSSMAP_RX_UDT_PAGING, + MSC_CTR_BSSMAP_RX_UDT_UNKNOWN, + MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD, + MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD, + MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST, + MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL, + MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, + MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, + MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, + MSC_CTR_BSSMAP_RX_DTAP_MSG, + MSC_CTR_BSSMAP_RX_DTAP_ERROR, +}; + /* Constants for the MSC stats */ enum { MSC_STAT_MSC_LINKS_ACTIVE, diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index e79ce9d..f1e43be 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1007,6 +1007,7 @@ struct msgb *msg, unsigned int length) { int ret = 0; + struct rate_ctr *ctrs = msc->msc_ctrs->ctr; if (length < 1) { LOGP(DMSC, LOGL_ERROR, "Not enough room: %d\n", length); @@ -1018,15 +1019,19 @@ switch (msg->l4h[0]) { case BSS_MAP_MSG_RESET_ACKNOWLEDGE: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE]); ret = bssmap_handle_reset_ack(msc, msg, length); break; case BSS_MAP_MSG_RESET: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_UDT_RESET]); ret = bssmap_handle_reset(msc, msg, length); break; case BSS_MAP_MSG_PAGING: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_UDT_PAGING]); ret = bssmap_handle_paging(msc, msg, length); break; default: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_UDT_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Received unimplemented BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l4h[0])); break; @@ -1039,6 +1044,7 @@ struct msgb *msg, unsigned int length) { int ret = 0; + struct rate_ctr *ctrs = conn->sccp.msc->msc_ctrs->ctr; if (length < 1) { LOGP(DMSC, LOGL_ERROR, "Not enough room: %d\n", length); @@ -1050,24 +1056,31 @@ switch (msg->l4h[0]) { case BSS_MAP_MSG_CLEAR_CMD: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD]); ret = bssmap_handle_clear_cmd(conn, msg, length); break; case BSS_MAP_MSG_CIPHER_MODE_CMD: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD]); ret = bssmap_handle_cipher_mode(conn, msg, length); break; case BSS_MAP_MSG_ASSIGMENT_RQST: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST]); ret = bssmap_handle_assignm_req(conn, msg, length); break; case BSS_MAP_MSG_LCLS_CONNECT_CTRL: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL]); ret = bssmap_handle_lcls_connect_ctrl(conn, msg, length); break; case BSS_MAP_MSG_HANDOVER_CMD: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD]); ret = bssmap_handle_handover_cmd(conn, msg, length); break; case BSS_MAP_MSG_CLASSMARK_RQST: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST]); ret = gsm48_send_rr_classmark_enquiry(conn->lchan); break; default: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n", gsm0808_bssmap_name(msg->l4h[0])); break; @@ -1091,6 +1104,7 @@ struct msgb *gsm48; uint8_t *data; int rc, dtap_rc; + struct rate_ctr *ctrs = conn->sccp.msc->msc_ctrs->ctr; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", osmo_hexdump(msg->l3h, length)); @@ -1102,17 +1116,20 @@ header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", sizeof(*header), length, osmo_hexdump(msg->l3h, length)); return -1; } if (header->length > length - sizeof(*header)) { + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_MSG]); LOGP(DMSC, LOGL_INFO, "Rx MSC DTAP, SAPI: %u CHAN: %u\n", header->link_id & 0x07, header->link_id & 0xC0); /* forward the data */ diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 1704a73..d4d7bec 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,6 +44,19 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { + [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, + [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx_udt_unknown", "Number of received BSSMAP unknown UDT messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx_dt1_clear_cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx_dt1_cipher_mode_cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx_dt1_assignment_rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx_dt1_lcls_connect_ctrl", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, + [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx_dt1_handover_cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, + [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, + [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DATP messages with errors"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43 Gerrit-Change-Number: 18112 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:19 +0000 Subject: Change in osmo-bsc[master]: stats: Export connected OML/RSL links count per BTS. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18093 ) Change subject: stats: Export connected OML/RSL links count per BTS. ...................................................................... stats: Export connected OML/RSL links count per BTS. Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/gsm_data.c 3 files changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 8173506..17da79d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1472,6 +1472,8 @@ BTS_STAT_T3122, BTS_STAT_RACH_BUSY, BTS_STAT_RACH_ACCESS, + BTS_STAT_OML_CONNECTED, + BTS_STAT_RSL_CONNECTED, }; enum { diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index a5e697b..f004c15 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -397,6 +397,7 @@ LOG_TRX(trx, DLINP, LOGL_NOTICE, "Dropping RSL link: %s\n", reason); e1inp_sign_link_destroy(trx->rsl_link); trx->rsl_link = NULL; + osmo_stat_item_dec(trx->bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); if (trx->bts->c0 == trx) paging_flush_bts(trx->bts, NULL); @@ -417,6 +418,7 @@ e1inp_sign_link_destroy(bts->oml_link); bts->oml_link = NULL; bts->uptime = 0; + osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); /* we have issues reconnecting RSL, drop everything. */ llist_for_each_entry(trx, &bts->trx_list, list) @@ -558,6 +560,7 @@ sign_link->tei, sign_link->sapi); sign_link->trx->bts->ip_access.flags |= OML_UP; } + osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_OML_CONNECTED], 1); break; case E1INP_SIGN_RSL: { struct e1inp_ts *ts; @@ -585,6 +588,7 @@ sign_link->trx->bts->ip_access.flags |= (RSL_UP << sign_link->trx->nr); } + osmo_stat_item_inc(bts->bts_statg->items[BTS_STAT_RSL_CONNECTED], 1); break; } default: diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index d3c58f5..2847f38 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -390,6 +390,8 @@ { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", "s", 16, GSM_T3122_DEFAULT }, { "rach_busy", "RACH slots with signal above threshold", "%", 16, 0 }, { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, + { "oml_connected", "Number of OML links connected", "", 16, 0 }, + { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bts_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325 Gerrit-Change-Number: 18093 Gerrit-PatchSet: 9 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:41 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18135 ) Change subject: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf Gerrit-Change-Number: 18135 Gerrit-PatchSet: 1 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 15:58:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 15:58:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 15:58:44 +0000 Subject: Change in osmo-bsc[master]: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18135 ) Change subject: bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done ...................................................................... bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is done Parts of Osmo-BSC want to see the NM state as valid ... Signed-off-by: Sylvain Munaut Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf --- M src/osmo-bsc/bts_nokia_site.c 1 file changed, 35 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bts_nokia_site.c b/src/osmo-bsc/bts_nokia_site.c index cde0afa..8047682 100644 --- a/src/osmo-bsc/bts_nokia_site.c +++ b/src/osmo-bsc/bts_nokia_site.c @@ -1436,6 +1436,39 @@ return 0; } +static void mo_ok(struct gsm_abis_mo *mo) +{ + mo->nm_state.operational = NM_OPSTATE_ENABLED; + mo->nm_state.administrative = NM_STATE_UNLOCKED; + mo->nm_state.availability = NM_AVSTATE_OK; +} + +static void nokia_abis_nm_fake_1221_ok(struct gsm_bts *bts) +{ + /* + * The Nokia BTS don't follow the 12.21 model and we don't have OM objects + * for the various elements. However some of the BSC code depends on seeing + * those object "up & running", so when the Nokia init is done, we fake + * a "good" state + */ + struct gsm_bts_trx *trx; + + mo_ok(&bts->mo); + mo_ok(&bts->site_mgr.mo); + + llist_for_each_entry(trx, &bts->trx_list, list) { + int i; + + mo_ok(&trx->mo); + mo_ok(&trx->bb_transc.mo); + + for (i = 0; i < ARRAY_SIZE(trx->ts); i++) { + struct gsm_bts_trx_ts *ts = &trx->ts[i]; + mo_ok(&ts->mo); + } + } +} + /* TODO: put in a separate file ? */ /* taken from abis_nm.c */ @@ -1633,6 +1666,8 @@ case NOKIA_MSG_CONF_COMPLETE: /* send ACK */ abis_nm_ack(bts, ref); + /* fake 12.21 OM */ + nokia_abis_nm_fake_1221_ok(bts); break; case NOKIA_MSG_BLOCK_CTRL_REQ: /* seems to be send when something goes wrong !? */ /* send ACK (do we have to send an ACK ?) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf Gerrit-Change-Number: 18135 Gerrit-PatchSet: 2 Gerrit-Owner: tnt Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:00:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 16:00:29 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... Removed Code-Review+1 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:03:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 9 May 2020 16:03:02 +0000 Subject: Change in osmocom-bb[master]: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18094 ) Change subject: l1ctl: do not explicitly decativate all lchans on L1CTL_DM_EST_REQ ...................................................................... Patch Set 1: I think I only now understand where this is intent to go: To have multiple concurrently active dedicated channels in a single L1 instance. Sorry, but I just think that's wrong. A L1 is for a single MS/UE, and that has only a single dedicated channel at any given point in time (exception: HSCSD with channel bundling, whcih we don't aim to support). If you have a use case where you need to simulate multiple MS, then there must be one virtual "layer 1 instance" per MS. In osmo-bts-virtual, I implemented this by being able to accept multiple connections to the L1CTL unix domain socket, where eahc connection represents one virtual MS. Not sure if the same is possibel in trxcon [yet]? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad309b7aacdead986a7a5ad52bf712b6c6197b66 Gerrit-Change-Number: 18094 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 16:03:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:46:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 16:46:35 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 16:46:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:48:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 16:48:27 +0000 Subject: Change in osmo-bsc[master]: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log me... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18158 ) Change subject: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db Gerrit-Change-Number: 18158 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 16:48:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:53:17 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 16:53:17 +0000 Subject: Change in osmo-bsc[master]: stats: Fix Rx DTAP error stat description References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18160 ) Change subject: stats: Fix Rx DTAP error stat description ...................................................................... stats: Fix Rx DTAP error stat description Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/18160/1 diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index d4d7bec..544341b 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -56,7 +56,7 @@ [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DATP messages with errors"}, + [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 Gerrit-Change-Number: 18160 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 16:53:18 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix a typo in the comment life->live References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18161 ) Change subject: bsc_subscr_conn_fsm: Fix a typo in the comment life->live ...................................................................... bsc_subscr_conn_fsm: Fix a typo in the comment life->live Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/61/18161/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index a96adb3..77d5d1a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -117,7 +117,7 @@ return -ENOMEM; /* Make sure that we only attempt to send SCCP messages if we have - * a life SCCP connection. Otherwise drop the message. */ + * a live SCCP connection. Otherwise drop the message. */ if (conn->fi->state == ST_INIT || conn->fi->state == ST_WAIT_CC) { LOGPFSML(conn->fi, LOGL_ERROR, "No active SCCP connection, dropping message\n"); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de Gerrit-Change-Number: 18161 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:55:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 16:55:12 +0000 Subject: Change in osmo-trx[master]: Use OSMO_FD_READ instead of deprecated BSC_FD_READ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18162 ) Change subject: Use OSMO_FD_READ instead of deprecated BSC_FD_READ ...................................................................... Use OSMO_FD_READ instead of deprecated BSC_FD_READ New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_READ symbol when copy-pasting somewhere else. Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/62/18162/1 diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 9f625eb..9fcbda5 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -236,7 +236,7 @@ exit(EXIT_FAILURE); } - osmo_fd_setup(&signal_ofd, sfd, BSC_FD_READ, signalfd_callback, NULL, 0); + osmo_fd_setup(&signal_ofd, sfd, OSMO_FD_READ, signalfd_callback, NULL, 0); if (osmo_fd_register(&signal_ofd) < 0) { fprintf(stderr, "osmo_fd_register() failed.\n"); exit(EXIT_FAILURE); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 Gerrit-Change-Number: 18162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:59:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 16:59:40 +0000 Subject: Change in osmo-bts[master]: Use OSMO_FD_READ instead of deprecated BSC_FD_READ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18163 ) Change subject: Use OSMO_FD_READ instead of deprecated BSC_FD_READ ...................................................................... Use OSMO_FD_READ instead of deprecated BSC_FD_READ New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_READ symbol when copy-pasting somewhere else. Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e --- M src/common/pcu_sock.c M src/osmo-bts-litecell15/l1_transp_hw.c M src/osmo-bts-litecell15/oml_router.c M src/osmo-bts-oc2g/l1_transp_hw.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c M src/osmo-bts-oc2g/oml_router.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_fwd_main.c M src/osmo-bts-sysmo/l1_transp_fwd.c M src/osmo-bts-sysmo/l1_transp_hw.c M src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c M src/osmo-bts-sysmo/oml_router.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/osmo_mcast_sock.c M src/osmo-bts-virtual/virtual_um.c 15 files changed, 49 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/63/18163/1 diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 579f8cc..7ced69c 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -742,7 +742,7 @@ return -EIO; } msgb_enqueue(&state->upqueue, msg); - conn_bfd->when |= BSC_FD_WRITE; + conn_bfd->when |= OSMO_FD_WRITE; return 0; } @@ -772,7 +772,7 @@ regenerate_si3_restoctets(bts); /* re-enable the generation of ACCEPT for new connections */ - state->listen_bfd.when |= BSC_FD_READ; + state->listen_bfd.when |= OSMO_FD_READ; #if 0 /* remove si13, ... */ @@ -862,7 +862,7 @@ msg = llist_entry(state->upqueue.next, struct msgb, list); pcu_prim = (struct gsm_pcu_if *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -877,7 +877,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -901,12 +901,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = pcu_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = pcu_sock_write(bfd); return rc; @@ -932,13 +932,13 @@ LOGP(DPCU, LOGL_NOTICE, "PCU connects but we already have " "another active connection ?!?\n"); /* We already have one PCU connected, this is all we support */ - state->listen_bfd.when &= ~BSC_FD_READ; + state->listen_bfd.when &= ~OSMO_FD_READ; close(rc); return 0; } conn_bfd->fd = rc; - conn_bfd->when = BSC_FD_READ; + conn_bfd->when = OSMO_FD_READ; conn_bfd->cb = pcu_sock_cb; conn_bfd->data = state; @@ -983,7 +983,7 @@ return -1; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = pcu_sock_accept; bfd->data = state; diff --git a/src/osmo-bts-litecell15/l1_transp_hw.c b/src/osmo-bts-litecell15/l1_transp_hw.c index c8972be..c353f43 100644 --- a/src/osmo-bts-litecell15/l1_transp_hw.c +++ b/src/osmo-bts-litecell15/l1_transp_hw.c @@ -88,18 +88,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -117,7 +117,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -125,7 +125,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -144,7 +144,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -269,7 +269,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -292,7 +292,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-litecell15/oml_router.c b/src/osmo-bts-litecell15/oml_router.c index 198d5e3..e20ce5b 100644 --- a/src/osmo-bts-litecell15/oml_router.c +++ b/src/osmo-bts-litecell15/oml_router.c @@ -122,7 +122,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-oc2g/l1_transp_hw.c b/src/osmo-bts-oc2g/l1_transp_hw.c index e1d4658..f9d4510 100644 --- a/src/osmo-bts-oc2g/l1_transp_hw.c +++ b/src/osmo-bts-oc2g/l1_transp_hw.c @@ -88,18 +88,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -117,7 +117,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -125,7 +125,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -144,7 +144,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -269,7 +269,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -292,7 +292,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c index 3ddf0e8..bb2984e 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c @@ -222,7 +222,7 @@ mgr->gps.gpsfd.data = mgr; mgr->gps.gpsfd.cb = mgr_gps_read; - mgr->gps.gpsfd.when = BSC_FD_READ | BSC_FD_EXCEPT; + mgr->gps.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; mgr->gps.gpsfd.fd = mgr->gps.gpsdata.gps_fd; if (osmo_fd_register(&mgr->gps.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); @@ -607,7 +607,7 @@ select_led_pattern(mgr); /* The connection failures are to be expected during boot */ - mgr->oc2gbts_ctrl.bts_conn->ofd->when |= BSC_FD_WRITE; + mgr->oc2gbts_ctrl.bts_conn->ofd->when |= OSMO_FD_WRITE; rc = ipa_client_conn_open(mgr->oc2gbts_ctrl.bts_conn); if (rc < 0) { LOGP(DLCTRL, LOGL_NOTICE, "Failed to connect to BTS.\n"); diff --git a/src/osmo-bts-oc2g/oml_router.c b/src/osmo-bts-oc2g/oml_router.c index 198d5e3..e20ce5b 100644 --- a/src/osmo-bts-oc2g/oml_router.c +++ b/src/osmo-bts-oc2g/oml_router.c @@ -122,7 +122,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index bdf85ca..fb62f8b 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -1826,7 +1826,7 @@ fl1h->phy_wq.write_cb = octphy_write_cb; fl1h->phy_wq.read_cb = octphy_read_cb; fl1h->phy_wq.bfd.fd = sfd; - fl1h->phy_wq.bfd.when = BSC_FD_READ; + fl1h->phy_wq.bfd.when = OSMO_FD_READ; fl1h->phy_wq.bfd.cb = osmo_wqueue_bfd_cb; fl1h->phy_wq.bfd.data = fl1h; rc = osmo_fd_register(&fl1h->phy_wq.bfd); diff --git a/src/osmo-bts-sysmo/l1_fwd_main.c b/src/osmo-bts-sysmo/l1_fwd_main.c index bc9fc21..8e8bd83 100644 --- a/src/osmo-bts-sysmo/l1_fwd_main.c +++ b/src/osmo-bts-sysmo/l1_fwd_main.c @@ -213,7 +213,7 @@ wq->write_cb = udp_write_cb; wq->read_cb = udp_read_cb; - wq->bfd.when |= BSC_FD_READ; + wq->bfd.when |= OSMO_FD_READ; wq->bfd.data = l1fh; wq->bfd.priv_nr = i; rc = osmo_sock_init_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, diff --git a/src/osmo-bts-sysmo/l1_transp_fwd.c b/src/osmo-bts-sysmo/l1_transp_fwd.c index 87c230b..97200ce 100644 --- a/src/osmo-bts-sysmo/l1_transp_fwd.c +++ b/src/osmo-bts-sysmo/l1_transp_fwd.c @@ -128,7 +128,7 @@ ofd->data = fl1h; ofd->priv_nr = q; - ofd->when |= BSC_FD_READ; + ofd->when |= OSMO_FD_READ; rc = osmo_sock_init_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, bts_host, fwd_udp_ports[q], diff --git a/src/osmo-bts-sysmo/l1_transp_hw.c b/src/osmo-bts-sysmo/l1_transp_hw.c index 01bc200..45f4a07 100644 --- a/src/osmo-bts-sysmo/l1_transp_hw.c +++ b/src/osmo-bts-sysmo/l1_transp_hw.c @@ -95,18 +95,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -124,7 +124,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -132,7 +132,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -151,7 +151,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -275,7 +275,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -295,7 +295,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c index d769ce7..2fbdfa6 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c @@ -169,7 +169,7 @@ #endif mgr->calib.gpsfd.data = mgr; mgr->calib.gpsfd.cb = mgr_gps_read; - mgr->calib.gpsfd.when = BSC_FD_READ | BSC_FD_EXCEPT; + mgr->calib.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; mgr->calib.gpsfd.fd = mgr->calib.gpsdata->gps_fd; if (osmo_fd_register(&mgr->calib.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); @@ -459,7 +459,7 @@ struct sysmobts_mgr_instance *mgr = data; /* The connection failures are to be expected during boot */ - mgr->calib.bts_conn->ofd->when |= BSC_FD_WRITE; + mgr->calib.bts_conn->ofd->when |= OSMO_FD_WRITE; rc = ipa_client_conn_open(mgr->calib.bts_conn); if (rc < 0) { LOGP(DLCTRL, LOGL_NOTICE, "Failed to connect to BTS.\n"); diff --git a/src/osmo-bts-sysmo/oml_router.c b/src/osmo-bts-sysmo/oml_router.c index f3d0837..faaf1b5 100644 --- a/src/osmo-bts-sysmo/oml_router.c +++ b/src/osmo-bts-sysmo/oml_router.c @@ -119,7 +119,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8c3dd64..e5c5519 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1719,7 +1719,7 @@ int64_t elapsed_us, error_us; int rc, i; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; /* read from timerfd: number of expirations of periodic timer */ diff --git a/src/osmo-bts-virtual/osmo_mcast_sock.c b/src/osmo-bts-virtual/osmo_mcast_sock.c index c0f0af5..91203b7 100644 --- a/src/osmo-bts-virtual/osmo_mcast_sock.c +++ b/src/osmo-bts-virtual/osmo_mcast_sock.c @@ -44,7 +44,7 @@ unsigned int flags = OSMO_SOCK_F_BIND | OSMO_SOCK_F_NO_MCAST_ALL | OSMO_SOCK_F_UDP_REUSEADDR; ofd->cb = fd_rx_cb; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; ofd->data = osmo_fd_data; /* Create mcast client socket */ diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index 280ba79..de32e49 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -39,7 +39,7 @@ { struct virt_um_inst *vui = ofd->data; - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, "Virtual UM Rx"); int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e Gerrit-Change-Number: 18163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 16:59:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 16:59:58 +0000 Subject: Change in osmo-bts[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/18163 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_READ symbol when copy-pasting somewhere else. Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e --- M src/common/pcu_sock.c M src/osmo-bts-litecell15/l1_transp_hw.c M src/osmo-bts-litecell15/oml_router.c M src/osmo-bts-oc2g/l1_transp_hw.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c M src/osmo-bts-oc2g/oml_router.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_fwd_main.c M src/osmo-bts-sysmo/l1_transp_fwd.c M src/osmo-bts-sysmo/l1_transp_hw.c M src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c M src/osmo-bts-sysmo/oml_router.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/osmo_mcast_sock.c M src/osmo-bts-virtual/virtual_um.c 15 files changed, 49 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/63/18163/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e Gerrit-Change-Number: 18163 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:00:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:00:22 +0000 Subject: Change in osmo-bsc[master]: stats: Fix Rx DTAP error stat description In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18160 ) Change subject: stats: Fix Rx DTAP error stat description ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 Gerrit-Change-Number: 18160 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 09 May 2020 17:00:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:01:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:01:49 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix a typo in the comment life->live In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18161 ) Change subject: bsc_subscr_conn_fsm: Fix a typo in the comment life->live ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de Gerrit-Change-Number: 18161 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 09 May 2020 17:01:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:15:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:15:11 +0000 Subject: Change in libosmo-netif[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18164 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: I269690c1c9e4d19b5b69eef206b95e71f7931188 --- M examples/rs232-write.c M examples/stream-client.c M examples/stream-server.c M src/datagram.c M src/rs232.c M src/stream.c 6 files changed, 29 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/64/18164/1 diff --git a/examples/rs232-write.c b/examples/rs232-write.c index dfe1bd5..508c64a 100644 --- a/examples/rs232-write.c +++ b/examples/rs232-write.c @@ -377,7 +377,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = NULL; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff --git a/examples/stream-client.c b/examples/stream-client.c index f590f25..fd1a517 100644 --- a/examples/stream-client.c +++ b/examples/stream-client.c @@ -142,7 +142,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = conn; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff --git a/examples/stream-server.c b/examples/stream-server.c index f3ee315..4946e13 100644 --- a/examples/stream-server.c +++ b/examples/stream-server.c @@ -166,7 +166,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = srv; kbd_ofd->cb = kbd_cb; osmo_fd_register(kbd_ofd); diff --git a/src/datagram.c b/src/datagram.c index 634e702..d2233d5 100644 --- a/src/datagram.c +++ b/src/datagram.c @@ -95,7 +95,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = conn->tx_queue.next; @@ -115,7 +115,7 @@ { struct osmo_dgram_tx *conn = ofd->data; - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { LOGP(DLINP, LOGL_DEBUG, "write\n"); osmo_dgram_tx_write(conn); } @@ -136,7 +136,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.priv_nr = 0; /* XXX */ conn->ofd.cb = osmo_dgram_tx_fd_cb; conn->ofd.data = conn; @@ -240,7 +240,7 @@ struct msgb *msg) { msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /* @@ -290,7 +290,7 @@ struct osmo_dgram_rx *conn = ofd->data; LOGP(DLINP, LOGL_DEBUG, "read\n"); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) osmo_dgram_rx_read(conn); return 0; @@ -310,7 +310,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.cb = osmo_dgram_rx_cb; conn->ofd.data = conn; diff --git a/src/rs232.c b/src/rs232.c index 28f1ba0..4ebc7b9 100644 --- a/src/rs232.c +++ b/src/rs232.c @@ -62,7 +62,7 @@ struct osmo_rs232 *r = ptr; /* we're again ready to transmit. */ - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } static int handle_ser_write(struct osmo_fd *bfd) @@ -75,7 +75,7 @@ LOGP(DLINP, LOGL_DEBUG, "writing data to rs232\n"); if (llist_empty(&r->tx_queue)) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = r->tx_queue.next; @@ -92,7 +92,7 @@ /* We've got more data to write, but we have to wait to make it. */ if (!llist_empty(&r->tx_queue) && r->cfg.delay_us) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; osmo_timer_schedule(&r->tx_timer, 0, r->cfg.delay_us); } return 0; @@ -114,13 +114,13 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_ser_read(bfd); if (rc < 0) return rc; - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_ser_write(bfd); return rc; @@ -223,7 +223,7 @@ return rc; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = serial_fd_cb; bfd->data = r; @@ -257,7 +257,7 @@ void osmo_rs232_write(struct osmo_rs232 *r, struct msgb *msg) { msgb_enqueue(&r->tx_queue, msg); - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } void osmo_rs232_close(struct osmo_rs232 *r) diff --git a/src/stream.c b/src/stream.c index 5887bf9..6e4c461 100644 --- a/src/stream.c +++ b/src/stream.c @@ -258,7 +258,7 @@ int ret; if (llist_empty(&cli->tx_queue)) { - cli->ofd.when &= ~BSC_FD_WRITE; + cli->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = cli->tx_queue.next; @@ -314,7 +314,7 @@ /* If messages got enqueued while 'connecting', keep WRITE flag up to dispatch them upon next main loop step */ if (llist_empty(&cli->tx_queue)) - cli->ofd.when &= ~BSC_FD_WRITE; + cli->ofd.when &= ~OSMO_FD_WRITE; LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; @@ -332,11 +332,11 @@ cli->connect_cb(cli); break; case STREAM_CLI_STATE_CONNECTED: - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { LOGSCLI(cli, LOGL_DEBUG, "connected read\n"); osmo_stream_cli_read(cli); } - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { LOGSCLI(cli, LOGL_DEBUG, "connected write\n"); osmo_stream_cli_write(cli); } @@ -601,7 +601,7 @@ return ret; } cli->ofd.fd = ret; - cli->ofd.when = BSC_FD_READ | BSC_FD_WRITE; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); @@ -673,7 +673,7 @@ return ret; } cli->ofd.fd = ret; - cli->ofd.when = BSC_FD_READ | BSC_FD_WRITE; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); @@ -708,7 +708,7 @@ void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg) { msgb_enqueue(&cli->tx_queue, msg); - cli->ofd.when |= BSC_FD_WRITE; + cli->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via an Osmocom stream client @@ -815,7 +815,7 @@ link->proto = IPPROTO_TCP; link->ofd.fd = -1; - link->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; + link->ofd.when |= OSMO_FD_READ | OSMO_FD_WRITE; link->ofd.cb = osmo_stream_srv_fd_cb; link->ofd.data = link; @@ -1053,7 +1053,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return; } lh = conn->tx_queue.next; @@ -1090,9 +1090,9 @@ int rc = 0; LOGP(DLINP, LOGL_DEBUG, "connected read/write\n"); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = osmo_stream_srv_read(conn); - if (rc != -EBADF && (what & BSC_FD_WRITE)) + if (rc != -EBADF && (what & OSMO_FD_WRITE)) osmo_stream_srv_write(conn); return rc; @@ -1120,7 +1120,7 @@ conn->ofd.fd = fd; conn->ofd.data = conn; conn->ofd.cb = osmo_stream_srv_cb; - conn->ofd.when = BSC_FD_READ; + conn->ofd.when = OSMO_FD_READ; conn->cb = cb; conn->closed_cb = closed_cb; conn->data = data; @@ -1206,7 +1206,7 @@ } msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via Osmocom stream server -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I269690c1c9e4d19b5b69eef206b95e71f7931188 Gerrit-Change-Number: 18164 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:16:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:16:14 +0000 Subject: Change in osmo-mgw[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18165 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.1.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: I9b6463af713f76c06a144bdbf202c0d91eef4d21 --- M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c 3 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/65/18165/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index b6bf43b..74bdf4d 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -829,7 +829,7 @@ mgcp->remote_addr = htonl(addr.sin_addr.s_addr); osmo_wqueue_init(wq, 1024); - wq->bfd.when = BSC_FD_READ; + wq->bfd.when = OSMO_FD_READ; wq->bfd.data = mgcp; wq->read_cb = mgcp_do_read; wq->write_cb = mgcp_do_write; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index cd60ce2..fc15ad2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1462,7 +1462,7 @@ mgcp_set_ip_tos(rtp_end->rtp.fd, cfg->endp_dscp); mgcp_set_ip_tos(rtp_end->rtcp.fd, cfg->endp_dscp); - rtp_end->rtp.when = BSC_FD_READ; + rtp_end->rtp.when = OSMO_FD_READ; if (osmo_fd_register(&rtp_end->rtp) != 0) { LOGPENDP(endp, DRTP, LOGL_ERROR, "failed to register RTP port %d\n", @@ -1470,7 +1470,7 @@ goto cleanup2; } - rtp_end->rtcp.when = BSC_FD_READ; + rtp_end->rtcp.when = OSMO_FD_READ; if (osmo_fd_register(&rtp_end->rtcp) != 0) { LOGPENDP(endp, DRTP, LOGL_ERROR, "failed to register RTCP port %d\n", diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index 72d3b91..a1121de 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -406,7 +406,7 @@ return ret; } mgcp_set_ip_tos(osmux_fd.fd, cfg->endp_dscp); - osmux_fd.when |= BSC_FD_READ; + osmux_fd.when |= OSMO_FD_READ; ret = osmo_fd_register(&osmux_fd); if (ret < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9b6463af713f76c06a144bdbf202c0d91eef4d21 Gerrit-Change-Number: 18165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:18:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:18:16 +0000 Subject: Change in osmo-pcu[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18166 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Ida8fd3bd7347163567acde34ad67aefee913b0ea --- M src/osmo-bts-litecell15/lc15_l1_hw.c M src/osmo-bts-oc2g/oc2g_l1_hw.c M src/osmo-bts-sysmo/sysmo_l1_fwd.c M src/osmo-bts-sysmo/sysmo_l1_hw.c M src/osmobts_sock.cpp 5 files changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/66/18166/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_hw.c b/src/osmo-bts-litecell15/lc15_l1_hw.c index 051dc5c..41dd72d 100644 --- a/src/osmo-bts-litecell15/lc15_l1_hw.c +++ b/src/osmo-bts-litecell15/lc15_l1_hw.c @@ -157,7 +157,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -179,7 +179,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c index e96df89..b23282a 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_hw.c +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -157,7 +157,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -179,7 +179,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-sysmo/sysmo_l1_fwd.c b/src/osmo-bts-sysmo/sysmo_l1_fwd.c index 535a7f0..cfb2b95 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_fwd.c +++ b/src/osmo-bts-sysmo/sysmo_l1_fwd.c @@ -121,7 +121,7 @@ ofd->data = fl1h; ofd->priv_nr = q; - ofd->when |= BSC_FD_READ; + ofd->when |= OSMO_FD_READ; rc = osmo_sock_init_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, bts_host, fwd_udp_ports[q], diff --git a/src/osmo-bts-sysmo/sysmo_l1_hw.c b/src/osmo-bts-sysmo/sysmo_l1_hw.c index 8351d68..a67e875 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_hw.c +++ b/src/osmo-bts-sysmo/sysmo_l1_hw.c @@ -163,7 +163,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -182,7 +182,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmobts_sock.cpp b/src/osmobts_sock.cpp index a139011..8d3d26f 100644 --- a/src/osmobts_sock.cpp +++ b/src/osmobts_sock.cpp @@ -82,7 +82,7 @@ return -EIO; } msgb_enqueue(&pcu_sock_state.upqueue, msg); - conn_bfd->when |= BSC_FD_WRITE; + conn_bfd->when |= OSMO_FD_WRITE; return 0; } @@ -153,7 +153,7 @@ msg = llist_entry(pcu_sock_state.upqueue.next, struct msgb, list); pcu_prim = (struct gsm_pcu_if *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -168,7 +168,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -192,12 +192,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = pcu_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = pcu_sock_write(bfd); return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ida8fd3bd7347163567acde34ad67aefee913b0ea Gerrit-Change-Number: 18166 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:18:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:18:58 +0000 Subject: Change in osmo-msc[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18167 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Ifc89fffac0443d94f3e49555684975b293ef90fb --- M src/libmsc/mncc_sock.c M src/libmsc/smpp_smsc.c 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/67/18167/1 diff --git a/src/libmsc/mncc_sock.c b/src/libmsc/mncc_sock.c index 670d692..a3527ef 100644 --- a/src/libmsc/mncc_sock.c +++ b/src/libmsc/mncc_sock.c @@ -65,7 +65,7 @@ /* Actually enqueue the message and mark socket write need */ msgb_enqueue(&net->upqueue, msg); - net->mncc_state->conn_bfd.when |= BSC_FD_WRITE; + net->mncc_state->conn_bfd.when |= OSMO_FD_WRITE; return 0; } @@ -80,7 +80,7 @@ osmo_fd_unregister(bfd); /* re-enable the generation of ACCEPT for new connections */ - state->listen_bfd.when |= BSC_FD_READ; + state->listen_bfd.when |= OSMO_FD_READ; /* release all existing calls */ gsm0408_clear_all_trans(state->net, TRANS_CC); @@ -146,7 +146,7 @@ msg = llist_entry(net->upqueue.next, struct msgb, list); mncc_prim = (struct gsm_mncc *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -161,7 +161,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -185,12 +185,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = mncc_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = mncc_sock_write(bfd); return rc; @@ -222,7 +222,7 @@ hello->lchan_type_offset = offsetof(struct gsm_mncc, lchan_type); msgb_enqueue(&mncc->net->upqueue, msg); - mncc->conn_bfd.when |= BSC_FD_WRITE; + mncc->conn_bfd.when |= OSMO_FD_WRITE; } /* accept a new connection */ @@ -245,13 +245,13 @@ LOGP(DMNCC, LOGL_NOTICE, "MNCC app connects but we already have " "another active connection ?!?\n"); /* We already have one MNCC app connected, this is all we support */ - state->listen_bfd.when &= ~BSC_FD_READ; + state->listen_bfd.when &= ~OSMO_FD_READ; close(rc); return 0; } conn_bfd->fd = rc; - conn_bfd->when = BSC_FD_READ; + conn_bfd->when = OSMO_FD_READ; conn_bfd->cb = mncc_sock_cb; conn_bfd->data = state; @@ -294,7 +294,7 @@ return -1; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = mncc_sock_accept; bfd->data = state; diff --git a/src/libmsc/smpp_smsc.c b/src/libmsc/smpp_smsc.c index df3c847..2d82d98 100644 --- a/src/libmsc/smpp_smsc.c +++ b/src/libmsc/smpp_smsc.c @@ -931,7 +931,7 @@ osmo_wqueue_init(&esme->wqueue, 10); esme->wqueue.bfd.fd = fd; esme->wqueue.bfd.data = esme; - esme->wqueue.bfd.when = BSC_FD_READ; + esme->wqueue.bfd.when = OSMO_FD_READ; if (osmo_fd_register(&esme->wqueue.bfd) != 0) { close(fd); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifc89fffac0443d94f3e49555684975b293ef90fb Gerrit-Change-Number: 18167 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:21:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:21:28 +0000 Subject: Change in osmo-sgsn[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.2.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72 --- M src/gprs/sgsn_ares.c M src/gtphub/gtphub.c M src/sgsn/sgsn_libgtp.c 3 files changed, 13 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/68/18168/1 diff --git a/src/gprs/sgsn_ares.c b/src/gprs/sgsn_ares.c index ba168d6..38e31e1 100644 --- a/src/gprs/sgsn_ares.c +++ b/src/gprs/sgsn_ares.c @@ -51,8 +51,8 @@ LOGP(DGPRS, LOGL_DEBUG, "C-ares fd(%d) ready(%d)\n", fd->fd, what); ares_process_fd(sgsn->ares_channel, - (what & BSC_FD_READ) ? fd->fd : ARES_SOCKET_BAD, - (what & BSC_FD_WRITE) ? fd->fd : ARES_SOCKET_BAD); + (what & OSMO_FD_READ) ? fd->fd : ARES_SOCKET_BAD, + (what & OSMO_FD_WRITE) ? fd->fd : ARES_SOCKET_BAD); osmo_ares_reschedule(sgsn); return 0; } @@ -120,14 +120,14 @@ update_fd: if (read) - ufd->fd.when |= BSC_FD_READ; + ufd->fd.when |= OSMO_FD_READ; else - ufd->fd.when &= ~BSC_FD_READ; + ufd->fd.when &= ~OSMO_FD_READ; if (write) - ufd->fd.when |= BSC_FD_WRITE; + ufd->fd.when |= OSMO_FD_WRITE; else - ufd->fd.when &= ~BSC_FD_WRITE; + ufd->fd.when &= ~OSMO_FD_WRITE; osmo_ares_reschedule(sgsn); } diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index ca5857b..7b355bf 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -853,7 +853,7 @@ return -1; } - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; ofd->cb = cb; ofd->data = data; ofd->priv_nr = ofd_id; @@ -1948,7 +1948,7 @@ LOG(LOGL_DEBUG, "=== reading from SGSN (%s)\n", gtphub_plane_idx_names[plane_idx]); - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; struct gtphub *hub = from_sgsns_ofd->data; @@ -1979,7 +1979,7 @@ OSMO_ASSERT(plane_idx < GTPH_PLANE_N); LOG(LOGL_DEBUG, "=== reading from GGSN (%s)\n", gtphub_plane_idx_names[plane_idx]); - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; struct gtphub *hub = from_ggsns_ofd->data; diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index c20c8dc..7b46476 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -733,7 +733,7 @@ struct sgsn_instance *sgi = fd->data; int rc; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; switch (fd->priv_nr) { @@ -774,7 +774,7 @@ sgi->gtp_fd0.fd = gsn->fd0; sgi->gtp_fd0.priv_nr = 0; sgi->gtp_fd0.data = sgi; - sgi->gtp_fd0.when = BSC_FD_READ; + sgi->gtp_fd0.when = OSMO_FD_READ; sgi->gtp_fd0.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd0); if (rc < 0) @@ -783,7 +783,7 @@ sgi->gtp_fd1c.fd = gsn->fd1c; sgi->gtp_fd1c.priv_nr = 1; sgi->gtp_fd1c.data = sgi; - sgi->gtp_fd1c.when = BSC_FD_READ; + sgi->gtp_fd1c.when = OSMO_FD_READ; sgi->gtp_fd1c.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd1c); if (rc < 0) { @@ -794,7 +794,7 @@ sgi->gtp_fd1u.fd = gsn->fd1u; sgi->gtp_fd1u.priv_nr = 2; sgi->gtp_fd1u.data = sgi; - sgi->gtp_fd1u.when = BSC_FD_READ; + sgi->gtp_fd1u.when = OSMO_FD_READ; sgi->gtp_fd1u.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd1u); if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72 Gerrit-Change-Number: 18168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:26:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 17:26:02 +0000 Subject: Change in libosmocore[master]: Drop old BSC references in fd check configure option References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18169 ) Change subject: Drop old BSC references in fd check configure option ...................................................................... Drop old BSC references in fd check configure option Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 --- M configure.ac M src/select.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/18169/1 diff --git a/configure.ac b/configure.ac index cba0a41..ac887a0 100644 --- a/configure.ac +++ b/configure.ac @@ -227,12 +227,12 @@ AC_ARG_ENABLE(bsc_fd_check, [AS_HELP_STRING( [--enable-bsc-fd-check], - [Instrument bsc_register_fd to check that the fd is registered] + [Instrument osmo_fd_register to check that the fd is registered] )], [fd_check=$enableval], [fd_check="no"]) if test x"$fd_check" = x"no" then - AC_DEFINE([BSC_FD_CHECK],[1],[Instrument the bsc_register_fd]) + AC_DEFINE([OSMO_FD_CHECK],[1],[Instrument the osmo_fd_register]) fi AC_ARG_ENABLE(msgfile, diff --git a/src/select.c b/src/select.c index 774056a..496beea 100644 --- a/src/select.c +++ b/src/select.c @@ -121,7 +121,7 @@ if (fd->fd > maxfd) maxfd = fd->fd; -#ifdef BSC_FD_CHECK +#ifdef OSMO_FD_CHECK if (osmo_fd_is_registered(fd)) { fprintf(stderr, "Adding a osmo_fd that is already in the list.\n"); return 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 Gerrit-Change-Number: 18169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:29:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:29:51 +0000 Subject: Change in osmo-msc[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18167 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifc89fffac0443d94f3e49555684975b293ef90fb Gerrit-Change-Number: 18167 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:29:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:30:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:30:24 +0000 Subject: Change in osmo-sgsn[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72 Gerrit-Change-Number: 18168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:30:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:31:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:31:01 +0000 Subject: Change in osmo-trx[master]: Use OSMO_FD_READ instead of deprecated BSC_FD_READ In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18162 ) Change subject: Use OSMO_FD_READ instead of deprecated BSC_FD_READ ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 Gerrit-Change-Number: 18162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:31:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:32:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:32:10 +0000 Subject: Change in libosmocore[master]: Drop old BSC references in fd check configure option In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18169 ) Change subject: Drop old BSC references in fd check configure option ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 Gerrit-Change-Number: 18169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:32:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:35:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:35:02 +0000 Subject: Change in osmo-bts[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18163 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e Gerrit-Change-Number: 18163 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:35:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:36:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:36:34 +0000 Subject: Change in osmo-bsc[master]: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log me... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18158 ) Change subject: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db Gerrit-Change-Number: 18158 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 17:36:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:40:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:40:39 +0000 Subject: Change in osmo-bsc[master]: stats: Fix Rx DTAP error stat description In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18160 ) Change subject: stats: Fix Rx DTAP error stat description ...................................................................... Patch Set 1: Code-Review+1 BTW, it would be nice to regenerate doc/manuals/chapters/counters_generated.adoc. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 Gerrit-Change-Number: 18160 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 17:40:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:41:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:41:11 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix a typo in the comment life->live In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18161 ) Change subject: bsc_subscr_conn_fsm: Fix a typo in the comment life->live ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de Gerrit-Change-Number: 18161 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 17:41:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:41:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:41:49 +0000 Subject: Change in libosmo-netif[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18164 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I269690c1c9e4d19b5b69eef206b95e71f7931188 Gerrit-Change-Number: 18164 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:41:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:42:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:42:33 +0000 Subject: Change in osmo-pcu[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18166 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ida8fd3bd7347163567acde34ad67aefee913b0ea Gerrit-Change-Number: 18166 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:42:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 17:42:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 17:42:47 +0000 Subject: Change in osmo-mgw[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18165 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9b6463af713f76c06a144bdbf202c0d91eef4d21 Gerrit-Change-Number: 18165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 09 May 2020 17:42:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 18:02:14 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 18:02:14 +0000 Subject: Change in osmo-bsc[master]: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log me... In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18158 ) Change subject: a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages ...................................................................... a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messages Explanation from Harald: There are plenty of things that can happen above the bare SCTP/M3UA connection which can happen, such as SCCP or MTP level routing problems. The fact that a MSC responds to a BSSMAP reset tells us that all of the underlying SS7 transport network is operational and the MSC responds to us. Go draw an IP analogy: Saying "SIGTAN connection up" here is like saying "Ethernet link up" when you get an ICMP response. Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db --- M src/osmo-bsc/a_reset.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 63273e9..f990e63 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -82,7 +82,7 @@ struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; struct bsc_msc_data *msc = reset_ctx->priv; - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection down, reconnecting...\n"); + LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is down, reconnecting...\n"); if (prev_state != ST_DISC) osmo_stat_item_dec(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); } @@ -112,7 +112,7 @@ struct reset_ctx *reset_ctx = (struct reset_ctx *)fi->priv; struct bsc_msc_data *msc = reset_ctx->priv; - LOGPFSML(fi, LOGL_NOTICE, "SIGTRAN connection succeeded.\n"); + LOGPFSML(fi, LOGL_NOTICE, "BSSMAP MSC assocation is up.\n"); if (prev_state != ST_CONN) osmo_stat_item_inc(msc->msc_statg->items[MSC_STAT_MSC_LINKS_ACTIVE], 1); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db Gerrit-Change-Number: 18158 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 18:02:16 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 18:02:16 +0000 Subject: Change in osmo-bsc[master]: stats: Fix Rx DTAP error stat description In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18160 ) Change subject: stats: Fix Rx DTAP error stat description ...................................................................... stats: Fix Rx DTAP error stat description Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index d4d7bec..544341b 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -56,7 +56,7 @@ [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DATP messages with errors"}, + [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461 Gerrit-Change-Number: 18160 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 18:02:16 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 18:02:16 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix a typo in the comment life->live In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18161 ) Change subject: bsc_subscr_conn_fsm: Fix a typo in the comment life->live ...................................................................... bsc_subscr_conn_fsm: Fix a typo in the comment life->live Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index a96adb3..77d5d1a 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -117,7 +117,7 @@ return -ENOMEM; /* Make sure that we only attempt to send SCCP messages if we have - * a life SCCP connection. Otherwise drop the message. */ + * a live SCCP connection. Otherwise drop the message. */ if (conn->fi->state == ST_INIT || conn->fi->state == ST_WAIT_CC) { LOGPFSML(conn->fi, LOGL_ERROR, "No active SCCP connection, dropping message\n"); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de Gerrit-Change-Number: 18161 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 18:04:13 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 18:04:13 +0000 Subject: Change in libosmocore[master]: stats: Change timer to timerfd to make it a true interval timer. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18141 ) Change subject: stats: Change timer to timerfd to make it a true interval timer. ...................................................................... stats: Change timer to timerfd to make it a true interval timer. Previously the interval between stats flushes would slowly increase which would lead to reporting time jitter and confuse a timescale database. Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 --- M src/stats.c 1 file changed, 37 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/stats.c b/src/stats.c index 5954167..a5a4d4b 100644 --- a/src/stats.c +++ b/src/stats.c @@ -74,6 +74,7 @@ #include #include #include +#include #ifdef HAVE_SYS_SOCKET_H #include @@ -85,7 +86,7 @@ #include #include #include -#include +#include #include #include @@ -102,7 +103,7 @@ }; struct osmo_stats_config *osmo_stats_config = &s_stats_config; -static struct osmo_timer_list osmo_stats_timer; +static struct osmo_fd osmo_stats_timer = { .fd = -1 }; static int osmo_stats_reporter_log_send_counter(struct osmo_stats_reporter *srep, const struct rate_ctr_group *ctrg, @@ -140,23 +141,52 @@ return rc; } -static void osmo_stats_timer_cb(void *data) +static int osmo_stats_timer_cb(struct osmo_fd *ofd, unsigned int what) { - int interval = osmo_stats_config->interval; + uint64_t expire_count; + int rc; + + /* check that the timer has actually expired */ + if (!(what & OSMO_FD_READ)) + return 0; + + /* read from timerfd: number of expirations of periodic timer */ + rc = read(ofd->fd, (void *) &expire_count, sizeof(expire_count)); + if (rc < 0 && errno == EAGAIN) + return 0; + OSMO_ASSERT(rc == sizeof(expire_count)); + + if (expire_count > 1) + LOGP(DLSTATS, LOGL_NOTICE, "Stats timer expire_count=%" PRIu64 ": We missed %" PRIu64 " timers\n", + expire_count, expire_count-1); if (!llist_empty(&osmo_stats_reporter_list)) osmo_stats_report(); - osmo_timer_schedule(&osmo_stats_timer, interval, 0); + return 0; } static int start_timer() { + int rc; + int interval = osmo_stats_config->interval; + if (!is_initialised) return -ESRCH; - osmo_timer_setup(&osmo_stats_timer, osmo_stats_timer_cb, NULL); - osmo_timer_schedule(&osmo_stats_timer, 0, 1); + struct timespec ts_first = {.tv_sec=0, .tv_nsec=1000}; + struct timespec ts_interval = {.tv_sec=interval, .tv_nsec=0}; + + rc = osmo_timerfd_setup(&osmo_stats_timer, osmo_stats_timer_cb, NULL); + if (rc < 0) + LOGP(DLSTATS, LOGL_ERROR, "Failed to setup the timer with error code %d (fd=%d)\n", + rc, osmo_stats_timer.fd); + rc = osmo_timerfd_schedule(&osmo_stats_timer, &ts_first, &ts_interval); + if (rc < 0) + LOGP(DLSTATS, LOGL_ERROR, "Failed to schedule the timer with error code %d (fd=%d, interval %d sec)\n", + rc, osmo_stats_timer.fd, interval); + + LOGP(DLSTATS, LOGL_INFO, "Stats timer started with interval %d sec\n", interval); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I23d8b5157ef8a9833ba16a81d9b28a126f303c30 Gerrit-Change-Number: 18141 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 19:52:05 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 19:52:05 +0000 Subject: Change in osmo-bsc[master]: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18170 ) Change subject: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK ...................................................................... lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK In the lchan_fsm_borken() we request to change the state to LCHAN_ST_WAIT_RF_RELEASE_ACK in response to a late LCHAN_EV_RSL_CHAN_ACTIV_ACK event but this transition is prohibited by the FSM definition, so the channels stay in the BORKEN state forever. :( Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/70/18170/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index f55fbf9..fc8cd3f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1268,6 +1268,7 @@ | S(LCHAN_EV_RTP_RELEASED) , .out_state_mask = 0 + | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) | S(LCHAN_ST_UNUSED) | S(LCHAN_ST_WAIT_AFTER_ERROR) , -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 Gerrit-Change-Number: 18170 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 19:52:06 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 19:52:06 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18171 ) Change subject: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. ...................................................................... timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. It should be fine if we receive PDCH_ACT_ACK late. We should just go into the PDCH state as normal. Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee --- M src/osmo-bsc/timeslot_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/18171/1 diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 91b6b54..f8adfb6 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -668,6 +668,12 @@ return; } + case TS_EV_PDCH_ACT_ACK: + /* Late PDCH activation ACK is not a crime. + * Just go into the PDCH mode as normal. */ + osmo_fsm_inst_state_chg(fi, TS_ST_PDCH, 0, 0); + return; + default: OSMO_ASSERT(false); } @@ -820,9 +826,11 @@ .in_event_mask = 0 | S(TS_EV_LCHAN_REQUESTED) | S(TS_EV_LCHAN_UNUSED) + | S(TS_EV_PDCH_ACT_ACK) , .out_state_mask = 0 | S(TS_ST_NOT_INITIALIZED) + | S(TS_ST_PDCH) , }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee Gerrit-Change-Number: 18171 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 19:57:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 19:57:17 +0000 Subject: Change in osmo-bsc[master]: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18170 ) Change subject: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 Gerrit-Change-Number: 18170 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 09 May 2020 19:57:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 19:58:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 9 May 2020 19:58:42 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18171 ) Change subject: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee Gerrit-Change-Number: 18171 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 09 May 2020 19:58:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 20:06:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 20:06:56 +0000 Subject: Change in osmo-bsc[master]: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18170 ) Change subject: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 Gerrit-Change-Number: 18170 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 20:06:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 20:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 20:08:52 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18171 ) Change subject: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee Gerrit-Change-Number: 18171 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 09 May 2020 20:08:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 20:08:57 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 20:08:57 +0000 Subject: Change in osmo-bsc[master]: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18170 ) Change subject: lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK ...................................................................... lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACK In the lchan_fsm_borken() we request to change the state to LCHAN_ST_WAIT_RF_RELEASE_ACK in response to a late LCHAN_EV_RSL_CHAN_ACTIV_ACK event but this transition is prohibited by the FSM definition, so the channels stay in the BORKEN state forever. :( Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index f55fbf9..fc8cd3f 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1268,6 +1268,7 @@ | S(LCHAN_EV_RTP_RELEASED) , .out_state_mask = 0 + | S(LCHAN_ST_WAIT_RF_RELEASE_ACK) | S(LCHAN_ST_UNUSED) | S(LCHAN_ST_WAIT_AFTER_ERROR) , -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511 Gerrit-Change-Number: 18170 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 20:08:58 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 20:08:58 +0000 Subject: Change in osmo-bsc[master]: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18171 ) Change subject: timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. ...................................................................... timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state. It should be fine if we receive PDCH_ACT_ACK late. We should just go into the PDCH state as normal. Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee --- M src/osmo-bsc/timeslot_fsm.c 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 91b6b54..f8adfb6 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -668,6 +668,12 @@ return; } + case TS_EV_PDCH_ACT_ACK: + /* Late PDCH activation ACK is not a crime. + * Just go into the PDCH mode as normal. */ + osmo_fsm_inst_state_chg(fi, TS_ST_PDCH, 0, 0); + return; + default: OSMO_ASSERT(false); } @@ -820,9 +826,11 @@ .in_event_mask = 0 | S(TS_EV_LCHAN_REQUESTED) | S(TS_EV_LCHAN_UNUSED) + | S(TS_EV_PDCH_ACT_ACK) , .out_state_mask = 0 | S(TS_ST_NOT_INITIALIZED) + | S(TS_ST_PDCH) , }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee Gerrit-Change-Number: 18171 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 20:13:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 9 May 2020 20:13:54 +0000 Subject: Change in pysim[master]: utils: fix list comprehension in h2s(): ignore upper case padding References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18172 ) Change subject: utils: fix list comprehension in h2s(): ignore upper case padding ...................................................................... utils: fix list comprehension in h2s(): ignore upper case padding By definition, h2s() is supposed to skip padding in the given hexstring, so it was working fine for 'ff', but not for 'FF'. Change-Id: I2c5d72a0f7f2796115116737f9f7b5299021f6a3 Signed-off-by: Vadim Yanitskiy --- M pySim/utils.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/72/18172/1 diff --git a/pySim/utils.py b/pySim/utils.py index 1980685..6c4bee0 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -35,7 +35,8 @@ return ''.join(['%02x'%(x) for x in s]) def h2s(s): - return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2]) if not (x == 'f' and y == 'f') ]) + return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2]) + if int(x + y, 16) != 0xff]) def s2h(s): return b2h(s) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2c5d72a0f7f2796115116737f9f7b5299021f6a3 Gerrit-Change-Number: 18172 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 21:35:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 21:35:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add tests for SMS and voice call while Paging In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 ) Change subject: msc: add tests for SMS and voice call while Paging ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297/4/msc/MSC_Tests.ttcn File msc/MSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297/4/msc/MSC_Tests.ttcn at 5026 PS4, Line 5026: f_mt_sms_expect_deliver_pdu > So you only receive SMS here, but do not acknowledge. [?] in fact I'm doing an f_vty_sms_clear() below, but it still doesn't hurt to use differing prefixes -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 Gerrit-Change-Number: 16297 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 09 May 2020 21:35:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 21:38:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 21:38:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add tests for SMS and voice call while Paging In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 to look at the new patch set (#5). Change subject: msc: add tests for SMS and voice call while Paging ...................................................................... msc: add tests for SMS and voice call while Paging Start a second - MT SMS - MT call while a Paging is already ongoing. The second trans being an SMS works. The second trans being a call fails with current osmo-msc master; a fix is in the related patch (s.b.). Related: Idd4537b5f4817d17e5c87d9a93775a32aee0e7be Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/MSC_Tests_Iu.ttcn 3 files changed, 139 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/16297/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 Gerrit-Change-Number: 16297 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 21:40:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 21:40:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: hlr: add tests for GSUP proxy routing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 to look at the new patch set (#4). Change subject: hlr: add tests for GSUP proxy routing ...................................................................... hlr: add tests for GSUP proxy routing GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch, requires that osmo-hlr returns a received Source Name IE back as Destination Name IE. Add tests for these, for various situations. At the time of writing, these tests still fail on master, and will pass as soon as GSUP request handling with request->response association is introduced to osmo-hlr in an upcoming patch (I179ebb0385b5b355f4740e14d43be97bf93622e3). Implement this by adding a source_name to the g_pars, which should be sent out in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned messages. Add source_name and destination_name to various templates, with default := omit. Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically. Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 245 insertions(+), 68 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/16021/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa Gerrit-Change-Number: 16021 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 21:41:49 2020 From: gerrit-no-reply at lists.osmocom.org (Earwin @ Fairwaves) Date: Sat, 9 May 2020 21:41:49 +0000 Subject: Change in libosmocore[master]: statsd: fix rendering for groups with idx==0 References: Message-ID: Earwin @ Fairwaves has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18173 ) Change subject: statsd: fix rendering for groups with idx==0 ...................................................................... statsd: fix rendering for groups with idx==0 while skipping `0` might be visually pleasant for non-repeating groups, e.g.: bsc.assignment.completed it makes metrics parsing very awkward for repeating groups, e.g.: bts.chreq.total bts.1.chreq.total bts.2.chreq.total and since nobody's going to look at raw statsd stream anyway, we can live with some extra zeroes Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 --- M src/stats_statsd.c 1 file changed, 6 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/18173/1 diff --git a/src/stats_statsd.c b/src/stats_statsd.c index c3f739e..d449667 100644 --- a/src/stats_statsd.c +++ b/src/stats_statsd.c @@ -99,24 +99,16 @@ int old_len = msgb_length(srep->buffer); if (prefix) { - if (name1) { - if (index1 != 0) - fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s"; - else - fmt = "%1$s.%2$s.%3$s:%4$d|%5$s"; - } else { + if (name1) + fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s"; + else fmt = "%1$s.%2$0.0s%3$s:%4$d|%5$s"; - } } else { prefix = ""; - if (name1) { - if (index1 != 0) - fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s"; - else - fmt = "%1$s%2$s.%3$s:%4$d|%5$s"; - } else { + if (name1) + fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s"; + else fmt = "%1$s%2$0.0s%3$s:%4$d|%5$s"; - } } if (srep->agg_enabled) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 Gerrit-Change-Number: 18173 Gerrit-PatchSet: 1 Gerrit-Owner: Earwin @ Fairwaves Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 21:45:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 21:45:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: hlr: add tests for GSUP proxy routing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 to look at the new patch set (#5). Change subject: hlr: add tests for GSUP proxy routing ...................................................................... hlr: add tests for GSUP proxy routing GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch, requires that osmo-hlr returns a received Source Name IE back as Destination Name IE. Add tests for these, for various situations. At the time of writing, these tests still fail on master, and will pass as soon as GSUP request handling with request->response association is introduced to osmo-hlr in an upcoming patch (I179ebb0385b5b355f4740e14d43be97bf93622e3). Implement this by adding a source_name to the g_pars, which should be sent out in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned messages. Add source_name and destination_name to various templates, with default := omit. Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically. Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 245 insertions(+), 68 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/16021/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa Gerrit-Change-Number: 16021 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 22:33:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 9 May 2020 22:33:02 +0000 Subject: Change in libosmocore[master]: statsd: fix rendering for groups with idx==0 In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18173 ) Change subject: statsd: fix rendering for groups with idx==0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 Gerrit-Change-Number: 18173 Gerrit-PatchSet: 1 Gerrit-Owner: Earwin @ Fairwaves Gerrit-Reviewer: Earwin @ Fairwaves Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Comment-Date: Sat, 09 May 2020 22:33:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 22:43:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 22:43:41 +0000 Subject: Change in docker-playground[master]: fix bts-test: logging for virtphy lost by typo References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18174 ) Change subject: fix bts-test: logging for virtphy lost by typo ...................................................................... fix bts-test: logging for virtphy lost by typo Change-Id: I78c62321eef5603c161597caf30319c5696ac45a --- M ttcn3-bts-test/jenkins.sh 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/18174/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 00e8133..fe0a529 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -76,7 +76,6 @@ --name ${BUILD_TAG}-virtphy -d \ $DOCKER_ARGS \ $REPO_USER/osmocom-bb-host-master \ - virtphy -s /data/unix/osmocom_l2 /bin/sh -c "virtphy -s /data/unix/osmocom_l2 >>/data/virtphy.log 2>&1" } -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I78c62321eef5603c161597caf30319c5696ac45a Gerrit-Change-Number: 18174 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 9 22:44:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 9 May 2020 22:44:40 +0000 Subject: Change in docker-playground[master]: fix bts-test: logging for virtphy lost by typo In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18174 ) Change subject: fix bts-test: logging for virtphy lost by typo ...................................................................... Patch Set 1: DISCLAIMER: I HAVEN'T TESTED THIS, this just seemed odd when reading the jenkins.sh, hopefully that fix is sane. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I78c62321eef5603c161597caf30319c5696ac45a Gerrit-Change-Number: 18174 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 09 May 2020 22:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 00:23:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 10 May 2020 00:23:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: hlr: add tests for GSUP proxy routing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 to look at the new patch set (#6). Change subject: hlr: add tests for GSUP proxy routing ...................................................................... hlr: add tests for GSUP proxy routing GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch, requires that osmo-hlr returns a received Source Name IE back as Destination Name IE. Add tests for these, for various situations. These tests pass since GSUP request handling with request->response association was introduced to osmo-hlr in I179ebb0385b5b355f4740e14d43be97bf93622e3. Implement this by adding a source_name to the g_pars, which should be sent out in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned messages. Add source_name and destination_name to various templates, with default := omit. Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically. Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 245 insertions(+), 69 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/16021/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa Gerrit-Change-Number: 16021 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun May 10 01:46:52 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 10 May 2020 01:46:52 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb75d21f1414_75f52b2179c985e06823b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 738s] | configure:13532: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -pthread -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 738s] | configure:13532: $? = 0 [ 738s] | configure:13541: result: yes [ 738s] | configure:13645: checking for library containing clock_gettime [ 738s] | configure:13676: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 738s] | configure:13676: $? = 0 [ 738s] | configure:13693: result: none required [ 738s] | configure:13715: checking for doxygen [ 738s] | configure:13733: found /usr/bin/doxygen [ 738s] | configure:13746: result: /usr/bin/doxygen [ 738s] | configure:13764: checking whether SYS_getrandom is declared [ 739s] | configure:13764: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 739s] | configure:13764: $? = 0 [ 739s] | configure:13764: result: yes [ 739s] | configure:13780: checking if gcc supports -fvisibility=hidden [ 739s] | configure:13786: gcc -c -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 conftest.c >&5 [ 739s] | configure:13786: $? = 0 [ 739s] | configure:13787: result: yes [ 739s] | configure:13800: checking for localtime_r [ 739s] | configure:13800: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 739s] | configure:13800: $? = 0 [ 739s] | configure:13800: result: yes [ 739s] | configure:13813: checking whether struct tm has tm_gmtoff member [ 741s] | configure[ 712.145589] sysrq: SysRq : Power Off [ 741s] [ 712.147856] reboot: Power down [ 741s] ### VM INTERACTION END ### [ 741s] [ 741s] armbuild14 failed "build libosmocore_1.3.0.81.f5bd.dsc" at Sun May 10 01:46:50 UTC 2020. [ 741s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 10 02:28:17 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 10 May 2020 02:28:17 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <5eb766dfd84bf_75f52b2179c985e068791b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_10/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 1047s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o -c /usr/src/packages/BUILD/src/boards_wxgui/pnlGPIO.cpp [ 1058s] [ 77%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o [ 1058s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_gui.cpp [ 1058s] [ 77%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o [ 1059s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_wxgui.cpp [ 1076s] [ 78%] Building CXX object src/CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o [ 1076s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/c++ -DLIME_DLL -DWIN32_LEAN_AND_MEAN -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -I/usr/src/packages/BUILD/src/lms7002_wxgui -I/usr/src/packages/BUILD/src/LMS_Programing -I/usr/src/packages/BUILD/src/utilities_gui -I/usr/src/packages/BUILD/src/RFSpark -I/usr/src/packages/BUILD/src/FPGAcontrols_wxgui -I/usr/src/packages/BUILD/src/numericSlider -I/usr/src/packages/BUILD/src/fftviewer_wxgui -I/usr/src/packages/BUILD/src/lms7suiteEvents -I/usr/src/packages/BUILD/src/boards_wxgui -I/usr/src/packages/BUILD/src/limeRFE -I/usr/src/packages/BUILD/src -I/usr/src/packages/BUILD/src/API -I/usr/src/packages/BUILD/src/lime -I/usr/src/packages/BUILD/src/GFIR -I/usr/src/packages/BUILD/src/protocols -I/usr/src/packages/BUILD/src/ConnectionRegistry -I/usr/src/packages/BUILD/src/lms7002m_mcu -I/usr/src/packages/BUILD/src/ADF4002 -I/usr/src/packages/BUILD/src/Si5351C -I/usr/src/packages/BUILD/src/lms7002m -I/usr/src/packages/BUILD/src/FPGA_common -I/usr/src/packages/BUILD/external/cpp-feather-ini-parser -I/usr/src/packages/BUILD/external/kissFFT -I/usr/include/libusb-1.0 -I/usr/src/packages/BUILD/src/oglGraph -isystem /usr/lib/arm-linux-gnueabihf/wx/include/gtk2-unicode-3.0 -isystem /usr/include/wx-3.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -march=native -fvisibility=hidden -std=gnu++11 -o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -c /usr/src/packages/BUILD/src/limeRFE/limeRFE_cmd.cpp [ 1083s] [ 79%] Linking CXX executable ../bin/LimeSuiteGUI [ 1083s] cd /usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/LimeSuiteGUI.dir/link.txt --verbose=1 [ 1083s] /usr/bin/c++ -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fvisibility-inlines-hidden -pthread -O3 -DNDEBUG -Wl,-z,relro -rdynamic CMakeFiles/LimeSuiteGUI.dir/ADF4002/ADF4002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlXBUF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCalibrations_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTRF_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCDS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLimeLightPAD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIST_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewIRAM.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_gui_utilities.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlSX_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgVCOfrequencies.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRBB_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlLDO_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlAFE_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlGains_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/CoefficientFileParser.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlRxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_mainPanel.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/dlgViewSFR.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlCLKGEN_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlMCU_BD_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlBIAS_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_dlgGFIR_Coefficients.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlTxTSP_view.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7002_wxgui/lms7002_pnlR3.cpp.o CMakeFiles/LimeSuiteGUI.dir/LMS_Programing/LMS_Programing_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgConnectionSettings.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlMiniLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/pnlAPI.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/SPI_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgFullMessageLog.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/dlgDeviceInfo.cpp.o CMakeFiles/LimeSuiteGUI.dir/utilities_gui/utilities_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteAppFrame.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/RFSpark_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/Si5351C/Si5351C_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteApp.cpp.o CMakeFiles/LimeSuiteGUI.dir/FPGAcontrols_wxgui/FPGAcontrols_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/dlgAbout.cpp.o CMakeFiles/LimeSuiteGUI.dir/numericSlider/numericSlider.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/fftviewer_wxgui/fftviewer_frFFTviewer.cpp.o CMakeFiles/LimeSuiteGUI.dir/lms7suiteEvents/lms7suiteEvents.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBoardControls.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlQSpark.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnluLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlUltimateEVB.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlBuffers.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlCoreSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeNetMicro.cpp.o CMakeFiles/LimeSuiteGUI.dir/__/external/kissFFT/kiss_fft.c.o CMakeFiles/LimeSuiteGUI.dir/windowFunction.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlLimeSDR.cpp.o CMakeFiles/LimeSuiteGUI.dir/boards_wxgui/pnlGPIO.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_gui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_wxgui.cpp.o CMakeFiles/LimeSuiteGUI.dir/limeRFE/limeRFE_cmd.cpp.o -o ../bin/LimeSuiteGUI -Wl,-rpath,/usr/src/packages/BUILD/obj-arm-linux-gnueabihf/src: libLimeSuite.so.20.01.0 oglGraph/liboglGraph.a -L/usr/lib/arm-linux-gnueabihf -pthread -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 -lusb-1.0 -lGL -lwx_gtk2u_richtext-3.0 -lwx_baseu_xml-3.0 -lwx_gtk2u_html-3.0 -lwx_gtk2u_xrc-3.0 -lwx_gtk2u_adv-3.0 -lwx_gtk2u_aui-3.0 -lwx_gtk2u_core-3.0 -lwx_baseu-3.0 -lwx_gtk2u_gl-3.0 [ 1098s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_store_8' [ 1098s] /usr/bin/ld: libLimeSuite.so.20.01.0: undefined reference to `__atomic_load_8' [ 1098s] collect2: error: ld returned 1 exit status [ 1098s] make[3]: *** [src/CMakeFiles/LimeSuiteGUI.dir/build.make:990: bin/LimeSuiteGUI] Error 1 [ 1098s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1098s] make[2]: *** [CMakeFiles/Makefile2:142: src/CMakeFiles/LimeSuiteGUI.dir/all] Error 2 [ 1098s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1098s] make[1]: *** [Makefile:133: all] Error 2 [ 1098s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-arm-linux-gnueabihf' [ 1098s] dh_auto_build: cd obj-arm-linux-gnueabihf && make -j2 returned exit code 2 [ 1098s] make: *** [debian/rules:28: binary] Error 2 [ 1098s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 1098s] ### VM INTERACTION START ### [ 1102s] [ 1026.847603] sysrq: SysRq : Power Off [ 1102s] [ 1026.866360] reboot: Power down [ 1102s] ### VM INTERACTION END ### [ 1102s] [ 1102s] armbuild01 failed "build limesuite_20.01.0-1.dsc" at Sun May 10 02:28:03 UTC 2020. [ 1102s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 10 03:38:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 03:38:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add tests for SMS and voice call while Paging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 ) Change subject: msc: add tests for SMS and voice call while Paging ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 Gerrit-Change-Number: 16297 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 10 May 2020 03:38:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:55:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:55:33 +0000 Subject: Change in osmo-mgw[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18165 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.1.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: I9b6463af713f76c06a144bdbf202c0d91eef4d21 --- M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c 3 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index b6bf43b..74bdf4d 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -829,7 +829,7 @@ mgcp->remote_addr = htonl(addr.sin_addr.s_addr); osmo_wqueue_init(wq, 1024); - wq->bfd.when = BSC_FD_READ; + wq->bfd.when = OSMO_FD_READ; wq->bfd.data = mgcp; wq->read_cb = mgcp_do_read; wq->write_cb = mgcp_do_write; diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index cd60ce2..fc15ad2 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1462,7 +1462,7 @@ mgcp_set_ip_tos(rtp_end->rtp.fd, cfg->endp_dscp); mgcp_set_ip_tos(rtp_end->rtcp.fd, cfg->endp_dscp); - rtp_end->rtp.when = BSC_FD_READ; + rtp_end->rtp.when = OSMO_FD_READ; if (osmo_fd_register(&rtp_end->rtp) != 0) { LOGPENDP(endp, DRTP, LOGL_ERROR, "failed to register RTP port %d\n", @@ -1470,7 +1470,7 @@ goto cleanup2; } - rtp_end->rtcp.when = BSC_FD_READ; + rtp_end->rtcp.when = OSMO_FD_READ; if (osmo_fd_register(&rtp_end->rtcp) != 0) { LOGPENDP(endp, DRTP, LOGL_ERROR, "failed to register RTCP port %d\n", diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index 72d3b91..a1121de 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -406,7 +406,7 @@ return ret; } mgcp_set_ip_tos(osmux_fd.fd, cfg->endp_dscp); - osmux_fd.when |= BSC_FD_READ; + osmux_fd.when |= OSMO_FD_READ; ret = osmo_fd_register(&osmux_fd); if (ret < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9b6463af713f76c06a144bdbf202c0d91eef4d21 Gerrit-Change-Number: 18165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:55:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:55:41 +0000 Subject: Change in osmo-pcu[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18166 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Ida8fd3bd7347163567acde34ad67aefee913b0ea --- M src/osmo-bts-litecell15/lc15_l1_hw.c M src/osmo-bts-oc2g/oc2g_l1_hw.c M src/osmo-bts-sysmo/sysmo_l1_fwd.c M src/osmo-bts-sysmo/sysmo_l1_hw.c M src/osmobts_sock.cpp 5 files changed, 12 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bts-litecell15/lc15_l1_hw.c b/src/osmo-bts-litecell15/lc15_l1_hw.c index 051dc5c..41dd72d 100644 --- a/src/osmo-bts-litecell15/lc15_l1_hw.c +++ b/src/osmo-bts-litecell15/lc15_l1_hw.c @@ -157,7 +157,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -179,7 +179,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c index e96df89..b23282a 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_hw.c +++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c @@ -157,7 +157,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -179,7 +179,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-sysmo/sysmo_l1_fwd.c b/src/osmo-bts-sysmo/sysmo_l1_fwd.c index 535a7f0..cfb2b95 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_fwd.c +++ b/src/osmo-bts-sysmo/sysmo_l1_fwd.c @@ -121,7 +121,7 @@ ofd->data = fl1h; ofd->priv_nr = q; - ofd->when |= BSC_FD_READ; + ofd->when |= OSMO_FD_READ; rc = osmo_sock_init_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, bts_host, fwd_udp_ports[q], diff --git a/src/osmo-bts-sysmo/sysmo_l1_hw.c b/src/osmo-bts-sysmo/sysmo_l1_hw.c index 8351d68..a67e875 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_hw.c +++ b/src/osmo-bts-sysmo/sysmo_l1_hw.c @@ -163,7 +163,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -182,7 +182,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmobts_sock.cpp b/src/osmobts_sock.cpp index a139011..8d3d26f 100644 --- a/src/osmobts_sock.cpp +++ b/src/osmobts_sock.cpp @@ -82,7 +82,7 @@ return -EIO; } msgb_enqueue(&pcu_sock_state.upqueue, msg); - conn_bfd->when |= BSC_FD_WRITE; + conn_bfd->when |= OSMO_FD_WRITE; return 0; } @@ -153,7 +153,7 @@ msg = llist_entry(pcu_sock_state.upqueue.next, struct msgb, list); pcu_prim = (struct gsm_pcu_if *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -168,7 +168,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -192,12 +192,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = pcu_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = pcu_sock_write(bfd); return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ida8fd3bd7347163567acde34ad67aefee913b0ea Gerrit-Change-Number: 18166 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:55:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:55:58 +0000 Subject: Change in libosmo-netif[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18164 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: I269690c1c9e4d19b5b69eef206b95e71f7931188 --- M examples/rs232-write.c M examples/stream-client.c M examples/stream-server.c M src/datagram.c M src/rs232.c M src/stream.c 6 files changed, 29 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/examples/rs232-write.c b/examples/rs232-write.c index dfe1bd5..508c64a 100644 --- a/examples/rs232-write.c +++ b/examples/rs232-write.c @@ -377,7 +377,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = NULL; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff --git a/examples/stream-client.c b/examples/stream-client.c index f590f25..fd1a517 100644 --- a/examples/stream-client.c +++ b/examples/stream-client.c @@ -142,7 +142,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = conn; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff --git a/examples/stream-server.c b/examples/stream-server.c index f3ee315..4946e13 100644 --- a/examples/stream-server.c +++ b/examples/stream-server.c @@ -166,7 +166,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = srv; kbd_ofd->cb = kbd_cb; osmo_fd_register(kbd_ofd); diff --git a/src/datagram.c b/src/datagram.c index 634e702..d2233d5 100644 --- a/src/datagram.c +++ b/src/datagram.c @@ -95,7 +95,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = conn->tx_queue.next; @@ -115,7 +115,7 @@ { struct osmo_dgram_tx *conn = ofd->data; - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { LOGP(DLINP, LOGL_DEBUG, "write\n"); osmo_dgram_tx_write(conn); } @@ -136,7 +136,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.priv_nr = 0; /* XXX */ conn->ofd.cb = osmo_dgram_tx_fd_cb; conn->ofd.data = conn; @@ -240,7 +240,7 @@ struct msgb *msg) { msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /* @@ -290,7 +290,7 @@ struct osmo_dgram_rx *conn = ofd->data; LOGP(DLINP, LOGL_DEBUG, "read\n"); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) osmo_dgram_rx_read(conn); return 0; @@ -310,7 +310,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.cb = osmo_dgram_rx_cb; conn->ofd.data = conn; diff --git a/src/rs232.c b/src/rs232.c index 28f1ba0..4ebc7b9 100644 --- a/src/rs232.c +++ b/src/rs232.c @@ -62,7 +62,7 @@ struct osmo_rs232 *r = ptr; /* we're again ready to transmit. */ - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } static int handle_ser_write(struct osmo_fd *bfd) @@ -75,7 +75,7 @@ LOGP(DLINP, LOGL_DEBUG, "writing data to rs232\n"); if (llist_empty(&r->tx_queue)) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = r->tx_queue.next; @@ -92,7 +92,7 @@ /* We've got more data to write, but we have to wait to make it. */ if (!llist_empty(&r->tx_queue) && r->cfg.delay_us) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; osmo_timer_schedule(&r->tx_timer, 0, r->cfg.delay_us); } return 0; @@ -114,13 +114,13 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_ser_read(bfd); if (rc < 0) return rc; - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_ser_write(bfd); return rc; @@ -223,7 +223,7 @@ return rc; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = serial_fd_cb; bfd->data = r; @@ -257,7 +257,7 @@ void osmo_rs232_write(struct osmo_rs232 *r, struct msgb *msg) { msgb_enqueue(&r->tx_queue, msg); - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } void osmo_rs232_close(struct osmo_rs232 *r) diff --git a/src/stream.c b/src/stream.c index 5887bf9..6e4c461 100644 --- a/src/stream.c +++ b/src/stream.c @@ -258,7 +258,7 @@ int ret; if (llist_empty(&cli->tx_queue)) { - cli->ofd.when &= ~BSC_FD_WRITE; + cli->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = cli->tx_queue.next; @@ -314,7 +314,7 @@ /* If messages got enqueued while 'connecting', keep WRITE flag up to dispatch them upon next main loop step */ if (llist_empty(&cli->tx_queue)) - cli->ofd.when &= ~BSC_FD_WRITE; + cli->ofd.when &= ~OSMO_FD_WRITE; LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; @@ -332,11 +332,11 @@ cli->connect_cb(cli); break; case STREAM_CLI_STATE_CONNECTED: - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { LOGSCLI(cli, LOGL_DEBUG, "connected read\n"); osmo_stream_cli_read(cli); } - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { LOGSCLI(cli, LOGL_DEBUG, "connected write\n"); osmo_stream_cli_write(cli); } @@ -601,7 +601,7 @@ return ret; } cli->ofd.fd = ret; - cli->ofd.when = BSC_FD_READ | BSC_FD_WRITE; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); @@ -673,7 +673,7 @@ return ret; } cli->ofd.fd = ret; - cli->ofd.when = BSC_FD_READ | BSC_FD_WRITE; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); @@ -708,7 +708,7 @@ void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg) { msgb_enqueue(&cli->tx_queue, msg); - cli->ofd.when |= BSC_FD_WRITE; + cli->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via an Osmocom stream client @@ -815,7 +815,7 @@ link->proto = IPPROTO_TCP; link->ofd.fd = -1; - link->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; + link->ofd.when |= OSMO_FD_READ | OSMO_FD_WRITE; link->ofd.cb = osmo_stream_srv_fd_cb; link->ofd.data = link; @@ -1053,7 +1053,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return; } lh = conn->tx_queue.next; @@ -1090,9 +1090,9 @@ int rc = 0; LOGP(DLINP, LOGL_DEBUG, "connected read/write\n"); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = osmo_stream_srv_read(conn); - if (rc != -EBADF && (what & BSC_FD_WRITE)) + if (rc != -EBADF && (what & OSMO_FD_WRITE)) osmo_stream_srv_write(conn); return rc; @@ -1120,7 +1120,7 @@ conn->ofd.fd = fd; conn->ofd.data = conn; conn->ofd.cb = osmo_stream_srv_cb; - conn->ofd.when = BSC_FD_READ; + conn->ofd.when = OSMO_FD_READ; conn->cb = cb; conn->closed_cb = closed_cb; conn->data = data; @@ -1206,7 +1206,7 @@ } msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via Osmocom stream server -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I269690c1c9e4d19b5b69eef206b95e71f7931188 Gerrit-Change-Number: 18164 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:56:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:56:39 +0000 Subject: Change in osmo-bts[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18163 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_READ symbol when copy-pasting somewhere else. Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e --- M src/common/pcu_sock.c M src/osmo-bts-litecell15/l1_transp_hw.c M src/osmo-bts-litecell15/oml_router.c M src/osmo-bts-oc2g/l1_transp_hw.c M src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c M src/osmo-bts-oc2g/oml_router.c M src/osmo-bts-octphy/l1_if.c M src/osmo-bts-sysmo/l1_fwd_main.c M src/osmo-bts-sysmo/l1_transp_fwd.c M src/osmo-bts-sysmo/l1_transp_hw.c M src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c M src/osmo-bts-sysmo/oml_router.c M src/osmo-bts-trx/scheduler_trx.c M src/osmo-bts-virtual/osmo_mcast_sock.c M src/osmo-bts-virtual/virtual_um.c 15 files changed, 49 insertions(+), 49 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 579f8cc..7ced69c 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -742,7 +742,7 @@ return -EIO; } msgb_enqueue(&state->upqueue, msg); - conn_bfd->when |= BSC_FD_WRITE; + conn_bfd->when |= OSMO_FD_WRITE; return 0; } @@ -772,7 +772,7 @@ regenerate_si3_restoctets(bts); /* re-enable the generation of ACCEPT for new connections */ - state->listen_bfd.when |= BSC_FD_READ; + state->listen_bfd.when |= OSMO_FD_READ; #if 0 /* remove si13, ... */ @@ -862,7 +862,7 @@ msg = llist_entry(state->upqueue.next, struct msgb, list); pcu_prim = (struct gsm_pcu_if *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -877,7 +877,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -901,12 +901,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = pcu_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = pcu_sock_write(bfd); return rc; @@ -932,13 +932,13 @@ LOGP(DPCU, LOGL_NOTICE, "PCU connects but we already have " "another active connection ?!?\n"); /* We already have one PCU connected, this is all we support */ - state->listen_bfd.when &= ~BSC_FD_READ; + state->listen_bfd.when &= ~OSMO_FD_READ; close(rc); return 0; } conn_bfd->fd = rc; - conn_bfd->when = BSC_FD_READ; + conn_bfd->when = OSMO_FD_READ; conn_bfd->cb = pcu_sock_cb; conn_bfd->data = state; @@ -983,7 +983,7 @@ return -1; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = pcu_sock_accept; bfd->data = state; diff --git a/src/osmo-bts-litecell15/l1_transp_hw.c b/src/osmo-bts-litecell15/l1_transp_hw.c index c8972be..c353f43 100644 --- a/src/osmo-bts-litecell15/l1_transp_hw.c +++ b/src/osmo-bts-litecell15/l1_transp_hw.c @@ -88,18 +88,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -117,7 +117,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -125,7 +125,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -144,7 +144,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -269,7 +269,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -292,7 +292,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-litecell15/oml_router.c b/src/osmo-bts-litecell15/oml_router.c index 198d5e3..e20ce5b 100644 --- a/src/osmo-bts-litecell15/oml_router.c +++ b/src/osmo-bts-litecell15/oml_router.c @@ -122,7 +122,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-oc2g/l1_transp_hw.c b/src/osmo-bts-oc2g/l1_transp_hw.c index e1d4658..f9d4510 100644 --- a/src/osmo-bts-oc2g/l1_transp_hw.c +++ b/src/osmo-bts-oc2g/l1_transp_hw.c @@ -88,18 +88,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -117,7 +117,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -125,7 +125,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -144,7 +144,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -269,7 +269,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -292,7 +292,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c index 3ddf0e8..bb2984e 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c @@ -222,7 +222,7 @@ mgr->gps.gpsfd.data = mgr; mgr->gps.gpsfd.cb = mgr_gps_read; - mgr->gps.gpsfd.when = BSC_FD_READ | BSC_FD_EXCEPT; + mgr->gps.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; mgr->gps.gpsfd.fd = mgr->gps.gpsdata.gps_fd; if (osmo_fd_register(&mgr->gps.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); @@ -607,7 +607,7 @@ select_led_pattern(mgr); /* The connection failures are to be expected during boot */ - mgr->oc2gbts_ctrl.bts_conn->ofd->when |= BSC_FD_WRITE; + mgr->oc2gbts_ctrl.bts_conn->ofd->when |= OSMO_FD_WRITE; rc = ipa_client_conn_open(mgr->oc2gbts_ctrl.bts_conn); if (rc < 0) { LOGP(DLCTRL, LOGL_NOTICE, "Failed to connect to BTS.\n"); diff --git a/src/osmo-bts-oc2g/oml_router.c b/src/osmo-bts-oc2g/oml_router.c index 198d5e3..e20ce5b 100644 --- a/src/osmo-bts-oc2g/oml_router.c +++ b/src/osmo-bts-oc2g/oml_router.c @@ -122,7 +122,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index bdf85ca..fb62f8b 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -1826,7 +1826,7 @@ fl1h->phy_wq.write_cb = octphy_write_cb; fl1h->phy_wq.read_cb = octphy_read_cb; fl1h->phy_wq.bfd.fd = sfd; - fl1h->phy_wq.bfd.when = BSC_FD_READ; + fl1h->phy_wq.bfd.when = OSMO_FD_READ; fl1h->phy_wq.bfd.cb = osmo_wqueue_bfd_cb; fl1h->phy_wq.bfd.data = fl1h; rc = osmo_fd_register(&fl1h->phy_wq.bfd); diff --git a/src/osmo-bts-sysmo/l1_fwd_main.c b/src/osmo-bts-sysmo/l1_fwd_main.c index bc9fc21..8e8bd83 100644 --- a/src/osmo-bts-sysmo/l1_fwd_main.c +++ b/src/osmo-bts-sysmo/l1_fwd_main.c @@ -213,7 +213,7 @@ wq->write_cb = udp_write_cb; wq->read_cb = udp_read_cb; - wq->bfd.when |= BSC_FD_READ; + wq->bfd.when |= OSMO_FD_READ; wq->bfd.data = l1fh; wq->bfd.priv_nr = i; rc = osmo_sock_init_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, diff --git a/src/osmo-bts-sysmo/l1_transp_fwd.c b/src/osmo-bts-sysmo/l1_transp_fwd.c index 87c230b..97200ce 100644 --- a/src/osmo-bts-sysmo/l1_transp_fwd.c +++ b/src/osmo-bts-sysmo/l1_transp_fwd.c @@ -128,7 +128,7 @@ ofd->data = fl1h; ofd->priv_nr = q; - ofd->when |= BSC_FD_READ; + ofd->when |= OSMO_FD_READ; rc = osmo_sock_init_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, bts_host, fwd_udp_ports[q], diff --git a/src/osmo-bts-sysmo/l1_transp_hw.c b/src/osmo-bts-sysmo/l1_transp_hw.c index 01bc200..45f4a07 100644 --- a/src/osmo-bts-sysmo/l1_transp_hw.c +++ b/src/osmo-bts-sysmo/l1_transp_hw.c @@ -95,18 +95,18 @@ queue = container_of(fd, struct osmo_wqueue, bfd); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) queue->read_cb(fd); - if (what & BSC_FD_EXCEPT) + if (what & OSMO_FD_EXCEPT) queue->except_cb(fd); - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { struct iovec iov[5]; struct msgb *msg, *tmp; int written, count = 0; - fd->when &= ~BSC_FD_WRITE; + fd->when &= ~OSMO_FD_WRITE; llist_for_each_entry(msg, &queue->msg_queue, list) { /* more writes than we have */ @@ -124,7 +124,7 @@ /* Nothing scheduled? This should not happen. */ if (count == 0) { if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -132,7 +132,7 @@ if (written < 0) { /* nothing written?! */ if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; return 0; } @@ -151,7 +151,7 @@ } if (!llist_empty(&queue->msg_queue)) - fd->when |= BSC_FD_WRITE; + fd->when |= OSMO_FD_WRITE; } return 0; @@ -275,7 +275,7 @@ read_ofd->priv_nr = q; read_ofd->data = hdl; read_ofd->cb = l1if_fd_cb; - read_ofd->when = BSC_FD_READ; + read_ofd->when = OSMO_FD_READ; rc = osmo_fd_register(read_ofd); if (rc < 0) { close(read_ofd->fd); @@ -295,7 +295,7 @@ write_ofd->fd = rc; write_ofd->priv_nr = q; write_ofd->data = hdl; - write_ofd->when = BSC_FD_WRITE; + write_ofd->when = OSMO_FD_WRITE; rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c index d769ce7..2fbdfa6 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c @@ -169,7 +169,7 @@ #endif mgr->calib.gpsfd.data = mgr; mgr->calib.gpsfd.cb = mgr_gps_read; - mgr->calib.gpsfd.when = BSC_FD_READ | BSC_FD_EXCEPT; + mgr->calib.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; mgr->calib.gpsfd.fd = mgr->calib.gpsdata->gps_fd; if (osmo_fd_register(&mgr->calib.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); @@ -459,7 +459,7 @@ struct sysmobts_mgr_instance *mgr = data; /* The connection failures are to be expected during boot */ - mgr->calib.bts_conn->ofd->when |= BSC_FD_WRITE; + mgr->calib.bts_conn->ofd->when |= OSMO_FD_WRITE; rc = ipa_client_conn_open(mgr->calib.bts_conn); if (rc < 0) { LOGP(DLCTRL, LOGL_NOTICE, "Failed to connect to BTS.\n"); diff --git a/src/osmo-bts-sysmo/oml_router.c b/src/osmo-bts-sysmo/oml_router.c index f3d0837..faaf1b5 100644 --- a/src/osmo-bts-sysmo/oml_router.c +++ b/src/osmo-bts-sysmo/oml_router.c @@ -119,7 +119,7 @@ read_fd->cb = oml_router_read_cb; read_fd->data = bts; - read_fd->when = BSC_FD_READ; + read_fd->when = OSMO_FD_READ; read_fd->fd = -1; rc = osmo_sock_unix_init_ofd(accept_fd, SOCK_SEQPACKET, 0, diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 8c3dd64..e5c5519 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1719,7 +1719,7 @@ int64_t elapsed_us, error_us; int rc, i; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; /* read from timerfd: number of expirations of periodic timer */ diff --git a/src/osmo-bts-virtual/osmo_mcast_sock.c b/src/osmo-bts-virtual/osmo_mcast_sock.c index c0f0af5..91203b7 100644 --- a/src/osmo-bts-virtual/osmo_mcast_sock.c +++ b/src/osmo-bts-virtual/osmo_mcast_sock.c @@ -44,7 +44,7 @@ unsigned int flags = OSMO_SOCK_F_BIND | OSMO_SOCK_F_NO_MCAST_ALL | OSMO_SOCK_F_UDP_REUSEADDR; ofd->cb = fd_rx_cb; - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; ofd->data = osmo_fd_data; /* Create mcast client socket */ diff --git a/src/osmo-bts-virtual/virtual_um.c b/src/osmo-bts-virtual/virtual_um.c index 280ba79..de32e49 100644 --- a/src/osmo-bts-virtual/virtual_um.c +++ b/src/osmo-bts-virtual/virtual_um.c @@ -39,7 +39,7 @@ { struct virt_um_inst *vui = ofd->data; - if (what & BSC_FD_READ) { + if (what & OSMO_FD_READ) { struct msgb *msg = msgb_alloc(VIRT_UM_MSGB_SIZE, "Virtual UM Rx"); int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id51ccb2c273c5f0fa4986f28bbd69a72d2dbaa0e Gerrit-Change-Number: 18163 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:57:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:57:01 +0000 Subject: Change in osmo-sgsn[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.2.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72 --- M src/gprs/sgsn_ares.c M src/gtphub/gtphub.c M src/sgsn/sgsn_libgtp.c 3 files changed, 13 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs/sgsn_ares.c b/src/gprs/sgsn_ares.c index ba168d6..38e31e1 100644 --- a/src/gprs/sgsn_ares.c +++ b/src/gprs/sgsn_ares.c @@ -51,8 +51,8 @@ LOGP(DGPRS, LOGL_DEBUG, "C-ares fd(%d) ready(%d)\n", fd->fd, what); ares_process_fd(sgsn->ares_channel, - (what & BSC_FD_READ) ? fd->fd : ARES_SOCKET_BAD, - (what & BSC_FD_WRITE) ? fd->fd : ARES_SOCKET_BAD); + (what & OSMO_FD_READ) ? fd->fd : ARES_SOCKET_BAD, + (what & OSMO_FD_WRITE) ? fd->fd : ARES_SOCKET_BAD); osmo_ares_reschedule(sgsn); return 0; } @@ -120,14 +120,14 @@ update_fd: if (read) - ufd->fd.when |= BSC_FD_READ; + ufd->fd.when |= OSMO_FD_READ; else - ufd->fd.when &= ~BSC_FD_READ; + ufd->fd.when &= ~OSMO_FD_READ; if (write) - ufd->fd.when |= BSC_FD_WRITE; + ufd->fd.when |= OSMO_FD_WRITE; else - ufd->fd.when &= ~BSC_FD_WRITE; + ufd->fd.when &= ~OSMO_FD_WRITE; osmo_ares_reschedule(sgsn); } diff --git a/src/gtphub/gtphub.c b/src/gtphub/gtphub.c index ca5857b..7b355bf 100644 --- a/src/gtphub/gtphub.c +++ b/src/gtphub/gtphub.c @@ -853,7 +853,7 @@ return -1; } - ofd->when = BSC_FD_READ; + ofd->when = OSMO_FD_READ; ofd->cb = cb; ofd->data = data; ofd->priv_nr = ofd_id; @@ -1948,7 +1948,7 @@ LOG(LOGL_DEBUG, "=== reading from SGSN (%s)\n", gtphub_plane_idx_names[plane_idx]); - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; struct gtphub *hub = from_sgsns_ofd->data; @@ -1979,7 +1979,7 @@ OSMO_ASSERT(plane_idx < GTPH_PLANE_N); LOG(LOGL_DEBUG, "=== reading from GGSN (%s)\n", gtphub_plane_idx_names[plane_idx]); - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; struct gtphub *hub = from_ggsns_ofd->data; diff --git a/src/sgsn/sgsn_libgtp.c b/src/sgsn/sgsn_libgtp.c index c20c8dc..7b46476 100644 --- a/src/sgsn/sgsn_libgtp.c +++ b/src/sgsn/sgsn_libgtp.c @@ -733,7 +733,7 @@ struct sgsn_instance *sgi = fd->data; int rc; - if (!(what & BSC_FD_READ)) + if (!(what & OSMO_FD_READ)) return 0; switch (fd->priv_nr) { @@ -774,7 +774,7 @@ sgi->gtp_fd0.fd = gsn->fd0; sgi->gtp_fd0.priv_nr = 0; sgi->gtp_fd0.data = sgi; - sgi->gtp_fd0.when = BSC_FD_READ; + sgi->gtp_fd0.when = OSMO_FD_READ; sgi->gtp_fd0.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd0); if (rc < 0) @@ -783,7 +783,7 @@ sgi->gtp_fd1c.fd = gsn->fd1c; sgi->gtp_fd1c.priv_nr = 1; sgi->gtp_fd1c.data = sgi; - sgi->gtp_fd1c.when = BSC_FD_READ; + sgi->gtp_fd1c.when = OSMO_FD_READ; sgi->gtp_fd1c.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd1c); if (rc < 0) { @@ -794,7 +794,7 @@ sgi->gtp_fd1u.fd = gsn->fd1u; sgi->gtp_fd1u.priv_nr = 2; sgi->gtp_fd1u.data = sgi; - sgi->gtp_fd1u.when = BSC_FD_READ; + sgi->gtp_fd1u.when = OSMO_FD_READ; sgi->gtp_fd1u.cb = sgsn_gtp_fd_cb; rc = osmo_fd_register(&sgi->gtp_fd1u); if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Iaebd049e383b02204a12f39cc6c932a53d25fd72 Gerrit-Change-Number: 18168 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 14:57:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 14:57:12 +0000 Subject: Change in osmo-msc[master]: Use OSMO_FD_* instead of deprecated BSC_FD_* In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18167 ) Change subject: Use OSMO_FD_* instead of deprecated BSC_FD_* ...................................................................... Use OSMO_FD_* instead of deprecated BSC_FD_* New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Ifc89fffac0443d94f3e49555684975b293ef90fb --- M src/libmsc/mncc_sock.c M src/libmsc/smpp_smsc.c 2 files changed, 11 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/libmsc/mncc_sock.c b/src/libmsc/mncc_sock.c index 670d692..a3527ef 100644 --- a/src/libmsc/mncc_sock.c +++ b/src/libmsc/mncc_sock.c @@ -65,7 +65,7 @@ /* Actually enqueue the message and mark socket write need */ msgb_enqueue(&net->upqueue, msg); - net->mncc_state->conn_bfd.when |= BSC_FD_WRITE; + net->mncc_state->conn_bfd.when |= OSMO_FD_WRITE; return 0; } @@ -80,7 +80,7 @@ osmo_fd_unregister(bfd); /* re-enable the generation of ACCEPT for new connections */ - state->listen_bfd.when |= BSC_FD_READ; + state->listen_bfd.when |= OSMO_FD_READ; /* release all existing calls */ gsm0408_clear_all_trans(state->net, TRANS_CC); @@ -146,7 +146,7 @@ msg = llist_entry(net->upqueue.next, struct msgb, list); mncc_prim = (struct gsm_mncc *)msg->data; - bfd->when &= ~BSC_FD_WRITE; + bfd->when &= ~OSMO_FD_WRITE; /* bug hunter 8-): maybe someone forgot msgb_put(...) ? */ if (!msgb_length(msg)) { @@ -161,7 +161,7 @@ goto close; if (rc < 0) { if (errno == EAGAIN) { - bfd->when |= BSC_FD_WRITE; + bfd->when |= OSMO_FD_WRITE; break; } goto close; @@ -185,12 +185,12 @@ { int rc = 0; - if (flags & BSC_FD_READ) + if (flags & OSMO_FD_READ) rc = mncc_sock_read(bfd); if (rc < 0) return rc; - if (flags & BSC_FD_WRITE) + if (flags & OSMO_FD_WRITE) rc = mncc_sock_write(bfd); return rc; @@ -222,7 +222,7 @@ hello->lchan_type_offset = offsetof(struct gsm_mncc, lchan_type); msgb_enqueue(&mncc->net->upqueue, msg); - mncc->conn_bfd.when |= BSC_FD_WRITE; + mncc->conn_bfd.when |= OSMO_FD_WRITE; } /* accept a new connection */ @@ -245,13 +245,13 @@ LOGP(DMNCC, LOGL_NOTICE, "MNCC app connects but we already have " "another active connection ?!?\n"); /* We already have one MNCC app connected, this is all we support */ - state->listen_bfd.when &= ~BSC_FD_READ; + state->listen_bfd.when &= ~OSMO_FD_READ; close(rc); return 0; } conn_bfd->fd = rc; - conn_bfd->when = BSC_FD_READ; + conn_bfd->when = OSMO_FD_READ; conn_bfd->cb = mncc_sock_cb; conn_bfd->data = state; @@ -294,7 +294,7 @@ return -1; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = mncc_sock_accept; bfd->data = state; diff --git a/src/libmsc/smpp_smsc.c b/src/libmsc/smpp_smsc.c index df3c847..2d82d98 100644 --- a/src/libmsc/smpp_smsc.c +++ b/src/libmsc/smpp_smsc.c @@ -931,7 +931,7 @@ osmo_wqueue_init(&esme->wqueue, 10); esme->wqueue.bfd.fd = fd; esme->wqueue.bfd.data = esme; - esme->wqueue.bfd.when = BSC_FD_READ; + esme->wqueue.bfd.when = OSMO_FD_READ; if (osmo_fd_register(&esme->wqueue.bfd) != 0) { close(fd); -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ifc89fffac0443d94f3e49555684975b293ef90fb Gerrit-Change-Number: 18167 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 15:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 15:57:07 +0000 Subject: Change in libosmocore[master]: README.md: fix typo (coore -> core) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18175 ) Change subject: README.md: fix typo (coore -> core) ...................................................................... README.md: fix typo (coore -> core) Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 --- M README.md 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/75/18175/1 diff --git a/README.md b/README.md index 623804b..1ac685e 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ There is no clear scope of it. We simply move all shared code between the various Osmocom projects in this library to avoid code duplication. -The libosmcoore.git repository build multiple libraries: +The libosmcore.git repository build multiple libraries: * **libosmocore** contains some general-purpose functions like select-loop abstraction, message buffers, timers, linked lists -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 Gerrit-Change-Number: 18175 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 15:57:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 15:57:08 +0000 Subject: Change in libosmocore[master]: README.md: We don't build libosmotrau. The latter is in libosmo-abis... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18176 ) Change subject: README.md: We don't build libosmotrau. The latter is in libosmo-abis.git ...................................................................... README.md: We don't build libosmotrau. The latter is in libosmo-abis.git Change-Id: Ida773c9611075cc02f017eb5606f94a65cac8533 --- M README.md 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/18176/1 diff --git a/README.md b/README.md index 1ac685e..a28217c 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ * **libosmocodec** contains an implementation of GSM voice codecs * **libosmocoding** contains an implementation of GSM channel coding * **libosmosim** contains infrastructure to interface SIM/UICC/USIM cards -* **libosmotrau** contains encoding/decoding functions for A-bis TRAU frames Homepage -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida773c9611075cc02f017eb5606f94a65cac8533 Gerrit-Change-Number: 18176 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:12:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 17:12:19 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18177 ) Change subject: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const ...................................................................... subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae --- M include/osmocom/abis/e1_input.h M include/osmocom/abis/subchan_demux.h M src/e1_input.c M src/subchan_demux.c M src/trau_frame.c 5 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/77/18177/1 diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h index 4362f50..a38bab8 100644 --- a/include/osmocom/abis/e1_input.h +++ b/include/osmocom/abis/e1_input.h @@ -273,7 +273,7 @@ /* configure and initialize one timeslot dedicated to TRAU frames. */ int e1inp_ts_config_trau(struct e1inp_ts *ts, struct e1inp_line *line, int (*trau_rcv_cb)(struct subch_demux *dmx, int ch, - uint8_t *data, int len, void *_priv)); + const ubit_t *data, int len, void *_priv)); /* configure and initialize one timeslot dedicated to RAW frames */ int e1inp_ts_config_raw(struct e1inp_ts *ts, struct e1inp_line *line, diff --git a/include/osmocom/abis/subchan_demux.h b/include/osmocom/abis/subchan_demux.h index 4e2f464..3978d73 100644 --- a/include/osmocom/abis/subchan_demux.h +++ b/include/osmocom/abis/subchan_demux.h @@ -22,6 +22,7 @@ #include #include +#include /*! \defgroup subchan_demux * \brief E1 sub-channel multiplexer/demultiplexer @@ -44,7 +45,7 @@ /*! \brief one subchannel inside the demultplexer */ struct demux_subch { /*! \brief bit-buffer for output bits */ - uint8_t out_bitbuf[TRAU_FRAME_BITS]; + ubit_t out_bitbuf[TRAU_FRAME_BITS]; /*! \brief next bit to be written in out_bitbuf */ uint16_t out_idx; /*! \brief number of consecutive zeros that we have received (for sync) */ @@ -61,7 +62,7 @@ struct demux_subch subch[NR_SUBCH]; /*! \brief callback to be called once we have received a * complete frame on a given subchannel */ - int (*out_cb)(struct subch_demux *dmx, int ch, uint8_t *data, int len, + int (*out_cb)(struct subch_demux *dmx, int ch, const ubit_t *data, int len, void *); /*! \brief user-provided data, transparently passed to out_cb() */ void *data; diff --git a/src/e1_input.c b/src/e1_input.c index 379cc53..b3341e7 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -297,7 +297,7 @@ /* Timeslot */ int e1inp_ts_config_trau(struct e1inp_ts *ts, struct e1inp_line *line, int (*trau_rcv_cb)(struct subch_demux *dmx, int ch, - uint8_t *data, int len, void *_priv)) + const ubit_t *data, int len, void *_priv)) { if (ts->type == E1INP_TS_TYPE_TRAU && ts->line && line) return 0; diff --git a/src/subchan_demux.c b/src/subchan_demux.c index d15c4b8..9275fda 100644 --- a/src/subchan_demux.c +++ b/src/subchan_demux.c @@ -40,7 +40,7 @@ void *tall_tqe_ctx; -static inline void append_bit(struct demux_subch *sch, uint8_t bit) +static inline void append_bit(struct demux_subch *sch, ubit_t bit) { sch->out_bitbuf[sch->out_idx++] = bit; } diff --git a/src/trau_frame.c b/src/trau_frame.c index 717bc32..eaced3d 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -37,7 +37,7 @@ * \file trau_frame.c */ -static uint32_t get_bits(const uint8_t *bitbuf, int offset, int num) +static uint32_t get_bits(const ubit_t *bitbuf, int offset, int num) { int i; uint32_t ret = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae Gerrit-Change-Number: 18177 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:12:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 17:12:19 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18178 ) Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... trau_frame: use 'ubit_t' for unpacked bits Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 12 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/78/18178/1 diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index f2a7015..40995bc 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -21,6 +21,7 @@ */ #include +#include /*! \defgroup trau_frame TRAU frame handling * @{ @@ -43,11 +44,11 @@ /*! \brief a decoded TRAU frame, extracted C/D/T/S/M bits */ struct decoded_trau_frame { - uint8_t c_bits[MAX_C_BITS]; - uint8_t d_bits[MAX_D_BITS]; - uint8_t t_bits[MAX_T_BITS]; - uint8_t s_bits[MAX_S_BITS]; - uint8_t m_bits[MAX_M_BITS]; + ubit_t c_bits[MAX_C_BITS]; + ubit_t d_bits[MAX_D_BITS]; + ubit_t t_bits[MAX_T_BITS]; + ubit_t s_bits[MAX_S_BITS]; + ubit_t m_bits[MAX_M_BITS]; }; #define TRAU_FT_FR_UP 0x02 /* 0 0 0 1 0 - 3.5.1.1.1 */ @@ -64,8 +65,8 @@ #define TRAU_FT_IDLE_DOWN 0x0e /* 0 1 1 1 0 - 3.5.5 */ -int decode_trau_frame(struct decoded_trau_frame *fr, const uint8_t *trau_bits); -int encode_trau_frame(uint8_t *trau_bits, const struct decoded_trau_frame *fr); +int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits); +int encode_trau_frame(ubit_t *trau_bits, const struct decoded_trau_frame *fr); int trau_frame_up2down(struct decoded_trau_frame *fr); uint8_t *trau_idle_frame(void); diff --git a/src/trau_frame.c b/src/trau_frame.c index eaced3d..0ea264d 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -51,7 +51,7 @@ } /* Decode according to 3.1.1 */ -static void decode_fr(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_fr(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { int i; int d_idx = 0; @@ -72,7 +72,7 @@ } /* Decode according to 3.1.2 */ -static void decode_amr(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_amr(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { int i; int d_idx = 0; @@ -94,7 +94,7 @@ memcpy(fr->d_bits + d_idx, trau_bits + 305, 11); } -static void decode_data(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_data(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { /* C1 .. C15 */ memcpy(fr->c_bits+0, trau_bits+17, 15); @@ -102,7 +102,7 @@ memcpy(fr->d_bits, trau_bits+32, 288); } -int decode_trau_frame(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { uint8_t cbits5 = get_bits(trau_bits, 17, 5); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:12:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 17:12:19 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use ubit_t where appropriate References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18179 ) Change subject: subchan_demux: Use ubit_t where appropriate ...................................................................... subchan_demux: Use ubit_t where appropriate the subchan_demux code predates ubit_t; let's use it to clarify certain pointers refer to arrays of unpacked bits. Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 --- M include/osmocom/abis/subchan_demux.h M src/subchan_demux.c 2 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/79/18179/1 diff --git a/include/osmocom/abis/subchan_demux.h b/include/osmocom/abis/subchan_demux.h index 3978d73..dac072c 100644 --- a/include/osmocom/abis/subchan_demux.h +++ b/include/osmocom/abis/subchan_demux.h @@ -85,7 +85,7 @@ unsigned int bit_len; /*!< \brief total number of bits in 'bits' */ unsigned int next_bit; /*!< \brief next bit to be transmitted */ - uint8_t bits[0]; /*!< \brief one bit per byte */ + ubit_t bits[0]; /*!< \brief one bit per byte */ }; /*! \brief one sub-channel inside a multiplexer */ @@ -102,7 +102,7 @@ int subchan_mux_init(struct subch_mux *mx); int subchan_mux_out(struct subch_mux *mx, uint8_t *data, int len); -int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const uint8_t *data, +int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const ubit_t *data, int len); /* }@ */ diff --git a/src/subchan_demux.c b/src/subchan_demux.c index 9275fda..55503db 100644 --- a/src/subchan_demux.c +++ b/src/subchan_demux.c @@ -200,7 +200,7 @@ /* return the requested number of bits from the specified subchannel */ static int get_subch_bits(struct subch_mux *mx, int subch, - uint8_t *bits, int num_requested) + ubit_t *bits, int num_requested) { struct mux_subch *sch = &mx->subch[subch]; int num_bits = 0; @@ -258,7 +258,7 @@ /* obtain a single output byte from the subchannel muxer */ static int mux_output_byte(struct subch_mux *mx, uint8_t *byte) { - uint8_t bits[8]; + ubit_t bits[8]; int rc; /* combine two bits of every subchan */ @@ -310,11 +310,11 @@ /*! \brief enqueue some data into the tx_queue of a given subchannel * \param[in] mx subchannel muxer instance * \param[in] s_nr subchannel number - * \param[in] data pointer to buffer with data - * \param[in] len length of \a data + * \param[in] data pointer to buffer with data (unpacked bits) + * \param[in] len length of data (in unpacked bits) * \returns 0 in case of success, <0 in case of error */ -int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const uint8_t *data, +int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const ubit_t *data, int len) { struct mux_subch *sch = &mx->subch[s_nr]; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 Gerrit-Change-Number: 18179 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:19:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 17:19:33 +0000 Subject: Change in libosmocore[master]: README.md: fix typo (coore -> core) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18175 ) Change subject: README.md: fix typo (coore -> core) ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18175/1/README.md File README.md: https://gerrit.osmocom.org/c/libosmocore/+/18175/1/README.md at 17 PS1, Line 17: The libosmcore.git repository build multiple libraries: acutally should be libosmocore. So don't remove the "o", but move it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 Gerrit-Change-Number: 18175 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 17:19:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:19:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 17:19:50 +0000 Subject: Change in libosmocore[master]: README.md: We don't build libosmotrau. The latter is in libosmo-abis... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18176 ) Change subject: README.md: We don't build libosmotrau. The latter is in libosmo-abis.git ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida773c9611075cc02f017eb5606f94a65cac8533 Gerrit-Change-Number: 18176 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 17:19:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:21:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 17:21:03 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18177 ) Change subject: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae Gerrit-Change-Number: 18177 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 17:21:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:21:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 17:21:23 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18178 ) Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 17:21:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 17:21:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 17:21:54 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use ubit_t where appropriate In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18179 ) Change subject: subchan_demux: Use ubit_t where appropriate ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 Gerrit-Change-Number: 18179 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 17:21:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 19:04:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 19:04:46 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 to look at the new patch set (#2). Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... trau_frame: use 'ubit_t' for unpacked bits Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 24 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/78/18178/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 19:04:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 19:04:46 +0000 Subject: Change in libosmo-abis[master]: trau_frame.h: Fix definition of TRAU_FT_OM_UP References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18180 ) Change subject: trau_frame.h: Fix definition of TRAU_FT_OM_UP ...................................................................... trau_frame.h: Fix definition of TRAU_FT_OM_UP Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd --- M include/osmocom/abis/trau_frame.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/80/18180/1 diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index 63882d7..afcaaa4 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -55,7 +55,7 @@ #define TRAU_FT_FR_DOWN 0x1c /* 1 1 1 0 0 - 3.5.1.1.1 */ #define TRAU_FT_EFR 0x1a /* 1 1 0 1 0 - 3.5.1.1.1 */ #define TRAU_FT_AMR 0x06 /* 0 0 1 1 0 - 3.5.1.2 */ -#define TRAU_FT_OM_UP 0x07 /* 0 0 1 0 1 - 3.5.2 */ +#define TRAU_FT_OM_UP 0x05 /* 0 0 1 0 1 - 3.5.2 */ #define TRAU_FT_OM_DOWN 0x1b /* 1 1 0 1 1 - 3.5.2 */ #define TRAU_FT_DATA_UP 0x08 /* 0 1 0 0 0 - 3.5.3 */ #define TRAU_FT_DATA_DOWN 0x16 /* 1 0 1 1 0 - 3.5.3 */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd Gerrit-Change-Number: 18180 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 19:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 19:04:47 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18181 ) Change subject: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding ...................................................................... trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding Change-Id: I589a0e97e48e7f89d9166793b9887462756e8f09 --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 157 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/81/18181/1 diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index afcaaa4..0f3d1d2 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -52,13 +52,17 @@ }; #define TRAU_FT_FR_UP 0x02 /* 0 0 0 1 0 - 3.5.1.1.1 */ +#define TRAU_FT_HR_UP 0x03 /* 0 0 0 1 1 - TS 08.61 5.1.4.1.1 */ #define TRAU_FT_FR_DOWN 0x1c /* 1 1 1 0 0 - 3.5.1.1.1 */ +#define TRAU_FT_HR_DOWN 0x1d /* 1 1 1 0 1 - TS 08.61 5.1.4.1.1 */ #define TRAU_FT_EFR 0x1a /* 1 1 0 1 0 - 3.5.1.1.1 */ #define TRAU_FT_AMR 0x06 /* 0 0 1 1 0 - 3.5.1.2 */ #define TRAU_FT_OM_UP 0x05 /* 0 0 1 0 1 - 3.5.2 */ #define TRAU_FT_OM_DOWN 0x1b /* 1 1 0 1 1 - 3.5.2 */ #define TRAU_FT_DATA_UP 0x08 /* 0 1 0 0 0 - 3.5.3 */ +#define TRAU_FT_DATA_UP_HR 0x09 /* 0 1 0 0 1 - TS 08.61 5.1.4.2 */ #define TRAU_FT_DATA_DOWN 0x16 /* 1 0 1 1 0 - 3.5.3 */ +#define TRAU_FT_DATA_DOWN_HR 0x17 /* 0 1 0 0 1 - TS 08.61 5.1.4.2 */ #define TRAU_FT_D145_SYNC 0x14 /* 1 0 1 0 0 - 3.5.3 */ #define TRAU_FT_EDATA 0x1f /* 1 1 1 1 1 - 3.5.4 */ #define TRAU_FT_IDLE_UP 0x10 /* 1 0 0 0 0 - 3.5.5 */ diff --git a/src/trau_frame.c b/src/trau_frame.c index 981c2cf..2f0e9da 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -1,6 +1,6 @@ /* TRAU frame handling according to GSM TS 08.60 */ -/* (C) 2009 by Harald Welte +/* (C) 2009,2020 by Harald Welte * All Rights Reserved * * SPDX-License-Identifier: AGPL-3.0+ @@ -94,6 +94,25 @@ memcpy(fr->d_bits + d_idx, trau_bits + 305, 11); } +/* Decode according to 3.2 */ +static void decode_oam(struct decoded_trau_frame *fr, const ubit_t *trau_bits) +{ + int i, d_idx; + + /* C1 .. C15 */ + memcpy(fr->c_bits+0, trau_bits+17, 15); + + /* D1 .. D255 */ + for (i = 33, d_idx = 0; i < 312; i += 16, d_idx += 15) + memcpy(fr->d_bits + d_idx, trau_bits+i+1, 15); + /* D256 .. D264 */ + memcpy(fr->d_bits+d_idx, trau_bits+305, 9); + + /* S1 .. S6 */ + memcpy(fr->s_bits, trau_bits+314, 6); +} + +/* Decode according to 3.3.2 */ static void decode_data(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { /* C1 .. C15 */ @@ -102,6 +121,39 @@ memcpy(fr->d_bits, trau_bits+32, 288); } +/* Decode according to TS 08.61 section 5.1.1.1 */ +static void decode_hr(struct decoded_trau_frame *fr, const ubit_t *trau_bits) +{ + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits+0, trau_bits+17, 15); + /* C16 .. C21 */ + memcpy(fr->c_bits+15, trau_bits+310, 6); + /* T1 .. T4 */ + memcpy(fr->t_bits+0, trau_bits+316, 4); + + /* D1 .. D14 */ + memcpy(fr->d_bits+d_idx, trau_bits+34, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(fr->d_bits+d_idx, trau_bits+49, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(fr->d_bits+d_idx, trau_bits+65, 15); d_idx += 15; + /* D45 .. D56 */ + memcpy(fr->d_bits+d_idx, trau_bits+84, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(fr->d_bits+d_idx, trau_bits+97, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(fr->d_bits+d_idx, trau_bits+113, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(fr->d_bits+d_idx, trau_bits+129, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(fr->d_bits+d_idx, trau_bits+145, 11); d_idx += 11; + + /* FIXME: UFI */ + /* FIXME: CRC */ +} + int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { ubit_t cbits5 = get_bits(trau_bits, 17, 5); @@ -123,6 +175,12 @@ break; case TRAU_FT_OM_UP: case TRAU_FT_OM_DOWN: + decode_oam(fr, trau_bits); + break; + case TRAU_FT_HR_UP: + case TRAU_FT_HR_DOWN: + decode_hr(fr, trau_bits); + break; case TRAU_FT_D145_SYNC: case TRAU_FT_EDATA: LOGP(DLMUX, LOGL_NOTICE, "can't decode unimplemented TRAU " @@ -235,6 +293,92 @@ memcpy(trau_bits+316, fr->t_bits+0, 4); } +/* TS 08.60 Section 3.1.2 */ +static void encode_amr(ubit_t *trau_bits, const struct decoded_trau_frame *fr) +{ + int i, d_idx; + + trau_bits[16] = 1; + /* C1 .. C15 */ + memcpy(trau_bits+17, fr->c_bits+0, 15); + + trau_bits[32] = 1; + /* C16 .. C25 */ + memcpy(trau_bits+33, fr->c_bits+15, 10); + /* D1 .. D5 */ + memcpy(trau_bits+43, fr->d_bits+0, 5); + + /* D6 .. D256 */ + for (i = 48, d_idx = 5; i <= 315; i += 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits+i+1, fr->d_bits + d_idx, 15); + } + + /* FIXME: handle timing adjustment */ + + /* T1 .. T4 */ + memcpy(trau_bits+316, fr->t_bits+0, 4); + +} + +/* TS 08.60 Section 3.2 */ +static void encode_oam(ubit_t *trau_bits, const struct decoded_trau_frame *fr) +{ + int i, d_idx; + + trau_bits[16] = 1; + /* C1 .. C15 */ + memcpy(trau_bits+17, fr->c_bits+0, 15); + + /* D1 .. D255 */ + for (i = 32, d_idx = 0; i < 304; i+= 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits+i+1, fr->d_bits + d_idx, 15); + } + /* D256 .. D264 */ + memcpy(trau_bits+305, fr->d_bits+256, 9); + + /* S1 .. S6 */ + memcpy(trau_bits+314, fr->s_bits, 6); +} + +/* TS 08.61 Section 5.1.1.1 */ +static void encode_hr(ubit_t *trau_bits, const struct decoded_trau_frame *fr) +{ + int d_idx = 0; + + trau_bits[16] = 1; + + /* C1 .. C15 */ + memcpy(trau_bits+17, fr->c_bits+0, 15); + + /* FIXME: UFI */ + + /* D1 .. D14 */ + memcpy(trau_bits+4*8+2, fr->d_bits+d_idx, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(trau_bits+6*8+1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(trau_bits+8*8+1, fr->d_bits+d_idx, 15); d_idx += 15; + /* FIXME: CRC */ + /* D45 .. D56 */ + memcpy(trau_bits+10*8+4, fr->d_bits+d_idx, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(trau_bits+12*8+1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(trau_bits+14*8+1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(trau_bits+16*8+1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(trau_bits+18*8+1, fr->d_bits+d_idx, 11); d_idx += 11; + + memset(trau_bits+19*8+4, 0x01, 4+18*8+6); + /* C16 .. C21 */ + memcpy(trau_bits+38*8+6, fr->c_bits+15, 6); + /* T1 .. T4 */ + memcpy(trau_bits+39*8+4, fr->t_bits+0, 4); +} + static void encode_data(ubit_t *trau_bits, const struct decoded_trau_frame *fr) { trau_bits[16] = 1; @@ -269,8 +413,16 @@ encode_data(trau_bits, fr); break; case TRAU_FT_AMR: + encode_amr(trau_bits, fr); + break; case TRAU_FT_OM_UP: case TRAU_FT_OM_DOWN: + encode_oam(trau_bits, fr); + break; + case TRAU_FT_HR_UP: + case TRAU_FT_HR_DOWN: + encode_hr(trau_bits, fr); + break; case TRAU_FT_D145_SYNC: case TRAU_FT_EDATA: LOGP(DLMUX, LOGL_NOTICE, "unimplemented TRAU Frame Type " -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I589a0e97e48e7f89d9166793b9887462756e8f09 Gerrit-Change-Number: 18181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 19:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 10 May 2020 19:04:47 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix AMR frame decoding References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18182 ) Change subject: trau_frame: Fix AMR frame decoding ...................................................................... trau_frame: Fix AMR frame decoding Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 --- M src/trau_frame.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/82/18182/1 diff --git a/src/trau_frame.c b/src/trau_frame.c index 2f0e9da..1a2a10a 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -85,6 +85,7 @@ memcpy(fr->t_bits+0, trau_bits+316, 4); /* D1 .. D5 */ memcpy(fr->d_bits, trau_bits+43, 5); + d_idx += 5; /* D6 .. D245 */ for (i = 48; i < 304; i += 16) { memcpy(fr->d_bits + d_idx, trau_bits+i+1, 15); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 Gerrit-Change-Number: 18182 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun May 10 20:01:34 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 10 May 2020 20:01:34 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb85daad42f0_75f52b2179c985e08932fb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 382s] ^~~~~~~~~~~~~~~~~~~ [ 382s] main.c: In function 'main': [ 382s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 382s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 382s] ^~~~~~~~~~~~~~~~~~~ [ 382s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 382s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 382s] ^ [ 382s] cc1: some warnings being treated as errors [ 382s] Makefile:469: recipe for target 'main.o' failed [ 382s] make[3]: *** [main.o] Error 1 [ 382s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 382s] Makefile:402: recipe for target 'all-recursive' failed [ 382s] make[2]: *** [all-recursive] Error 1 [ 382s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 382s] Makefile:349: recipe for target 'all' failed [ 382s] make[1]: *** [all] Error 2 [ 382s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 382s] dh_auto_build: make -j1 returned exit code 2 [ 382s] debian/rules:45: recipe for target 'build' failed [ 382s] make: *** [build] Error 2 [ 382s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 382s] ### VM INTERACTION START ### [ 385s] [ 367.065260] sysrq: SysRq : Power Off [ 385s] [ 367.066478] reboot: Power down [ 386s] ### VM INTERACTION END ### [ 386s] [ 386s] armbuild01 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Sun May 10 20:01:17 UTC 2020. [ 386s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 10 20:28:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:28:20 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18178 ) Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:28:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:28:42 +0000 Subject: Change in libosmo-abis[master]: trau_frame.h: Fix definition of TRAU_FT_OM_UP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18180 ) Change subject: trau_frame.h: Fix definition of TRAU_FT_OM_UP ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd Gerrit-Change-Number: 18180 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:28:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:32:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:32:53 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18181 ) Change subject: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18181/1/src/trau_frame.c File src/trau_frame.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18181/1/src/trau_frame.c at 107 PS1, Line 107: memcpy(fr->d_bits + d_idx, trau_bits+i+1, 15); some spacing here for sums would be great. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I589a0e97e48e7f89d9166793b9887462756e8f09 Gerrit-Change-Number: 18181 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:32:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:33:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:33:37 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix AMR frame decoding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18182 ) Change subject: trau_frame: Fix AMR frame decoding ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18182/1/src/trau_frame.c File src/trau_frame.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18182/1/src/trau_frame.c at 78 PS1, Line 78: int d_idx = 0; what about simply d_idx = 5 here? -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 Gerrit-Change-Number: 18182 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:33:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:49:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 20:49:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 ) Change subject: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation ...................................................................... PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation The resulting frame number shall be within the period of TDMA hyperframe. Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/18183/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 38147f3..bcd2b23 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -29,6 +29,11 @@ return 0; } + function f_rrbp_ack_fn(uint32_t current_fn, MacRrbp rrbp) + return uint32_t { + return (current_fn + f_rrbp_fn_delay(rrbp)) mod 2715648; + } + function f_rlcmac_mcs2headertype(CodingScheme mcs) return EgprsHeaderType { select (mcs) { case (MCS_0) { return RLCMAC_HDR_TYPE_3; } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 32df39e..eff20f7 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -547,7 +547,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) @@ -571,7 +571,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) @@ -584,7 +584,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } @@ -606,7 +606,7 @@ runs on RAW_PCU_Test_CT { log("verifying dl data block (gprs): ", dl_block); - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); + ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data.mac_hdr.mac_hdr.rrbp); if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", @@ -645,7 +645,7 @@ runs on RAW_PCU_Test_CT { log("verifying dl data block (egprs): ", dl_block); - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data_egprs.mac_hdr.rrbp); if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db Gerrit-Change-Number: 18183 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 20:50:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix t_RLCMAC_DlMacH: RRBP is always present References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 ) Change subject: library: fix t_RLCMAC_DlMacH: RRBP is always present ...................................................................... library: fix t_RLCMAC_DlMacH: RRBP is always present This template is not (yet) used anywhere, but let's fix it anyway to avoid possible confusion. Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/84/18184/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index bcd2b23..f2945eb 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -356,11 +356,13 @@ } } - template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template -uint3_t usf) := { + template DlMacHeader t_RLCMAC_DlMacH(template (present) MacPayloadType pt, + template (present) boolean rrbp_valid, + template (present) MacRrbp rrbp, + template (present) uint3_t usf) := { payload_type := pt, rrbp := rrbp, - rrbp_valid := ispresent(rrbp), + rrbp_valid := rrbp_valid, usf := usf } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c Gerrit-Change-Number: 18184 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:50:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 20:50:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 ) Change subject: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS ...................................................................... library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS Let's make this template more flexible, so it can be used to match any GPRS DL data blocks, not only those with rrbp_valid == true. Note that behavior of f_rx_rlcmac_dl_block_exp_data() is intentionally left unchanged, and will be fixed later. Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05 Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 8 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/18185/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index f2945eb..675a081 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -497,14 +497,16 @@ } } - template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { + template RlcmacDlBlock tr_RLCMAC_DATA_GPRS(template (present) boolean rrbp_valid := ?, + template (present) MacRrbp rrbp := ?, + template (present) uint3_t usf := ?) := { data := { mac_hdr := { mac_hdr := { payload_type := MAC_PT_RLC_DATA, - rrbp := ?, - rrbp_valid := true, - usf := ? + rrbp := rrbp, + rrbp_valid := rrbp_valid, + usf := usf }, hdr_ext := ? }, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index eff20f7..3d194a9 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -686,7 +686,8 @@ var PCUIF_Message pcu_msg; var uint32_t dl_fn; var boolean is_egprs := false; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + /* FIXME: for some reason, this template expects blocks with 'rrbp_valid' flag set */ + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_GPRS(rrbp_valid := true); dl_template.data.blocks := ?; f_rx_rlcmac_dl_block(dl_block, dl_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05 Gerrit-Change-Number: 18185 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:50:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 20:50:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 ) Change subject: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() ...................................................................... PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() This function was written in a way that it tries to do as many different (but related) things as possible: a) send an RTS.req to the IUT, expect a DATA.ind in return, b) decode RLC/MAC message contained in the received DATA.ind, c) make sure that it's either GPRS or EGPRS data block, d) calculate the last TDMA frame number of RRBP using f_rrbp_ack_fn() regardless of its validity, e) make sure that the block contains a given LLC payload. Everything is ok except point d). The problem is that this is only the case for the first block of RRBP, and not applicable to the rest having 'rrbp_valid' flag unset. Furthermore, this function did not match GPRS DL blocks with 'rrbp_valid' flag unset, for some odd reason. Let's move RRBP calculation into a separate function called f_dl_block_ack_fn() and return TDMA frame number of the received DATA.ind message instead. Among with that, there are more little changes: - simplify matching of (E)GPRS DL data blocks, - use 'in' qualifier in parameter list where possible, - turn parameter 'data' into a template (present). Change-Id: I1528408b4399d0a149a23961805277eaab90d407 Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 95 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/18186/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 675a081..dd1371f 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -497,6 +497,9 @@ } } + /* Either GPRS or EGPRS data block with arbitrary contents */ + template RlcmacDlBlock tr_RLCMAC_DATA := (tr_RLCMAC_DATA_GPRS, tr_RLCMAC_DATA_EGPRS); + template RlcmacDlBlock tr_RLCMAC_DATA_GPRS(template (present) boolean rrbp_valid := ?, template (present) MacRrbp rrbp := ?, template (present) uint3_t usf := ?) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d194a9..0a6b410 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -599,78 +599,64 @@ } } -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, - out uint32_t ack_fn, octetstring data, +/* This function does what could probably be done with templates */ +private function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, + template (present) octetstring data := ?, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - log("verifying dl data block (gprs): ", dl_block); - - ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data.mac_hdr.mac_hdr.rrbp); - - if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { + if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); } - if (lengthof(dl_block.data.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); f_shutdown(__BFILE__, __LINE__); } - if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - f_shutdown(__BFILE__, __LINE__); - } - - if (dl_block.data.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); f_shutdown(__BFILE__, __LINE__); } /* TODO: check exp_cs */ } -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, - out uint32_t ack_fn, octetstring data, +/* This function does what could probably be done with templates */ +private function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, + template (present) octetstring data := ?, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - log("verifying dl data block (egprs): ", dl_block); - - ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data_egprs.mac_hdr.rrbp); - - if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); } - if (lengthof(dl_block.data_egprs.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); f_shutdown(__BFILE__, __LINE__); } - if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - f_shutdown(__BFILE__, __LINE__); - } - - if (dl_block.data_egprs.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); f_shutdown(__BFILE__, __LINE__); } @@ -678,36 +664,62 @@ See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, - octetstring data, +/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, + template (present) octetstring data := ?, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var boolean is_egprs := false; - /* FIXME: for some reason, this template expects blocks with 'rrbp_valid' flag set */ - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_GPRS(rrbp_valid := true); - dl_template.data.blocks := ?; - + /* FIXME: ideally we should use an alt statement with timeout here, rather than + * having +100500 layers of abstraction. This would facilitate developing the + * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received + * block is exactly what you need. */ f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - dl_template := tr_RLCMAC_DATA_EGPRS; - dl_template.data_egprs.blocks := ?; - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - f_shutdown(__BFILE__, __LINE__); - } - is_egprs := true; + + /* Make sure it's either GPRS or EGPRS data block */ + if (not match(dl_block, tr_RLCMAC_DATA)) { + setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); + f_shutdown(__BFILE__, __LINE__); } - if (is_egprs) { - f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + if (ischosen(dl_block.data_egprs)) { + f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); + } else if (ischosen(dl_block.data)) { + f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); } else { - f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + /* Should not happen, but the caller may theoretically give us a template for CTRL */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); } } +private function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) +runs on RAW_PCU_Test_CT return uint32_t { + var boolean rrbp_valid; + var MacRrbp rrbp; + + /* The argument must be either a GPRS or EGPRS data block */ + if (ischosen(dl_block.data_egprs)) { + rrbp_valid := true; /* always valid */ + rrbp := dl_block.data_egprs.mac_hdr.rrbp; + } else if (ischosen(dl_block.data)) { + rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; + rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; + } else { + /* Should not happen, but the caller may theoretically give us a CTRL block */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure that the given block really needs to be ACKnowledged */ + if (not rrbp_valid) { + setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); + f_shutdown(__BFILE__, __LINE__); + } + + return f_rrbp_ack_fn(dl_fn, rrbp); +} + testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); var GprsTlli tlli := 'FFFFFFFF'O; @@ -1309,6 +1321,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1331,11 +1344,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); /* we are done with the DL-TBF here so far, let's clean up our local state: */ ack_nack_desc := valueof(t_AckNackDescription_init) @@ -1347,9 +1361,10 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1366,6 +1381,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1419,11 +1435,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1460,6 +1477,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1482,11 +1500,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); @@ -1536,7 +1555,7 @@ var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); var boolean ok; - var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1559,7 +1578,7 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU @@ -1571,11 +1590,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1528408b4399d0a149a23961805277eaab90d407 Gerrit-Change-Number: 18186 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:50:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 10 May 2020 20:50:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... PCU: introduce a new test case TC_dl_flow_more_blocks Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Signed-off-by: Vadim Yanitskiy Related: OS#4506 --- M pcu/PCU_Tests.ttcn 1 file changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/18187/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0a6b410..63e2542 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1600,6 +1600,87 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify scheduling of multiple Downlink data blocks during one RRBP. */ +testcase TC_dl_flow_more_blocks() runs on RAW_PCU_Test_CT { + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var octetstring data := f_rnd_octstring(16); + var OCT4 tlli := f_rnd_octstring(4); + var PacketDlAssign dl_tbf_ass; + var GsmRrMessage rr_imm_ass; + var RlcmacDlBlock dl_block; + var uint32_t ack_fn; + var uint32_t fn; + timer T := 5.0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + /* Make sure we've got a Downlink TBF assignment with DL TFI */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ispresent(dl_tbf_ass.group1)) { + setverdict(fail, "Immediate Assignment contains no DL TFI"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Get DL TFI from received Downlink TBF assignment */ + var uint5_t tfi := dl_tbf_ass.group1.tfi_assignment; + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + + /* Expect the first (GPRS DL) block with bsn=0 and rrbp_valid=1 */ + f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, 0); + ack_nack_desc.receive_block_bitmap[63] := '1'B; + + /* TDMA frame number on which we are supposed to send the ACK */ + ack_fn := f_dl_block_ack_fn(dl_block, fn); + + /* SGSN sends more blocks during the indicated RRBP */ + for (var integer bsn := 1; bsn < 63; bsn := bsn + 1) { + data := f_rnd_octstring(16); /* Random LLC data */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + + f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, bsn); + + /* Make sure this block has the same TFI as was assigned + * FIXME: this is only valid for GPRS, not EGPRS. */ + if (dl_block.data.mac_hdr.hdr_ext.tfi != tfi) { + setverdict(fail, "Rx DL data block with unexpected TFI: ", + dl_block.data.mac_hdr.hdr_ext.tfi); + f_shutdown(__BFILE__, __LINE__); + } + + /* Keep Ack/Nack description updated */ + ack_nack_desc.receive_block_bitmap[63 - bsn] := '1'B; + + /* Break if this is the end of RRBP */ + if (fn == ack_fn) { + ack_nack_desc.starting_seq_nr := bsn + 1; + break; + } + } + + /* This is the end of RRBP, send Packet Downlink Ack/Nack */ + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(tfi, ack_nack_desc), fn := fn); + + /* Unrelated: for some reason, PCU wants to send us another block with bsn=4 + * containing just padding '43C0012B2B...'O. Is there any reason for that? */ + // f_rx_rlcmac_dl_block(dl_block, fn); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) runs on RAW_PCU_Test_CT { var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; @@ -1930,6 +2011,7 @@ execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); + execute( TC_dl_flow_more_blocks() ); execute( TC_paging_cs_from_bts() ); execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); execute( TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:58:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:58:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 ) Change subject: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db Gerrit-Change-Number: 18183 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:58:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 20:58:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 20:58:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix t_RLCMAC_DlMacH: RRBP is always present In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 ) Change subject: library: fix t_RLCMAC_DlMacH: RRBP is always present ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c Gerrit-Change-Number: 18184 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 20:58:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:06:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:06:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 ) Change subject: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05 Gerrit-Change-Number: 18185 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:06:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:21:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:21:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 ) Change subject: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1528408b4399d0a149a23961805277eaab90d407 Gerrit-Change-Number: 18186 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:21:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:34:39 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 21:34:39 +0000 Subject: Change in osmo-bsc[master]: stats: Only dereference a connection pointer after checking for NULL. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18188 ) Change subject: stats: Only dereference a connection pointer after checking for NULL. ...................................................................... stats: Only dereference a connection pointer after checking for NULL. Addresses CID 210261. Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/88/18188/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index f1e43be..b92e39a 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1104,7 +1104,7 @@ struct msgb *gsm48; uint8_t *data; int rc, dtap_rc; - struct rate_ctr *ctrs = conn->sccp.msc->msc_ctrs->ctr; + struct rate_ctr *ctrs; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", osmo_hexdump(msg->l3h, length)); @@ -1114,6 +1114,7 @@ return -1; } + ctrs = conn->sccp.msc->msc_ctrs->ctr; header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71 Gerrit-Change-Number: 18188 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 21:34:40 +0000 Subject: Change in osmo-bsc[master]: handover_test: Properly allocate MSC data struct. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18189 ) Change subject: handover_test: Properly allocate MSC data struct. ...................................................................... handover_test: Properly allocate MSC data struct. Without a properly allocated MSC struct, touching counters crashes the test. Change-Id: I7498d2891259be9b532845627f14ac75e98e703e --- M tests/handover/handover_test.c 1 file changed, 1 insertion(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/89/18189/1 diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 0d98717..bdc18c3 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -217,19 +217,11 @@ void create_conn(struct gsm_lchan *lchan) { - static struct bsc_msc_data fake_msc_data = {}; - fake_msc_data.network = bsc_gsmnet; static unsigned int next_imsi = 0; char imsi[sizeof(lchan->conn->bsub->imsi)]; struct gsm_network *net = lchan->ts->trx->bts->network; struct gsm_subscriber_connection *conn; struct mgcp_client *fake_mgcp_client = (void*)talloc_zero(net, int); - uint8_t *amr_conf; - - /* HACK: lchan_fsm.c requires some AMR codec rates to be enabled, - * lets pretend that all AMR codec rates are allowed */ - amr_conf = (uint8_t*) &fake_msc_data.amr_conf; - amr_conf[1] = 0xff; conn = bsc_subscr_con_allocate(net); @@ -239,7 +231,7 @@ net->mgw.tdefs, "test", "fake endpoint"); - conn->sccp.msc = &fake_msc_data; + conn->sccp.msc = osmo_msc_data_alloc(net, 0); lchan->conn = conn; conn->lchan = lchan; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7498d2891259be9b532845627f14ac75e98e703e Gerrit-Change-Number: 18189 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 21:34:40 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... stats: Add counters for Tx BSSMAP messages. We already have counters for Rx side, now we also count Tx side. See comments in the msc_ctr_description array implementation for the details. Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c 8 files changed, 109 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18190/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index dc9628b..74a6f3c 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -58,6 +58,7 @@ /* Constants for the MSC rate counters */ enum { + /* Rx message counters */ MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE, MSC_CTR_BSSMAP_RX_UDT_RESET, MSC_CTR_BSSMAP_RX_UDT_PAGING, @@ -69,8 +70,37 @@ MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, - MSC_CTR_BSSMAP_RX_DTAP_MSG, - MSC_CTR_BSSMAP_RX_DTAP_ERROR, + MSC_CTR_BSSMAP_RX_DT1_DTAP, + MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, + + /* Tx message counters (per connection type) */ + MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT, + MSC_CTR_BSSMAP_TX_DTAP, + MSC_CTR_BSSMAP_TX_UNKNOWN, + MSC_CTR_BSSMAP_TX_SHORT, + MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY, + MSC_CTR_BSSMAP_TX_ERR_SEND, + MSC_CTR_BSSMAP_TX_SUCCESS, + + /* Tx message counters (per message type) */ + MSC_CTR_BSSMAP_TX_UDT_RESET, + MSC_CTR_BSSMAP_TX_UDT_RESET_ACK, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE, + MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_DTAP, }; /* Constants for the MSC stats */ diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 16e04cd..d576a0b 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -118,8 +118,10 @@ if (!resp) LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); - else + else { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); gscon_sigtran_send(conn, resp); + } /* If assignment failed as early as in assignment_fsm_start(), there may not be an fi yet. */ if (conn->assignment.fi) { @@ -206,6 +208,7 @@ conn->assignment.req.use_osmux) _gsm0808_ass_compl_extend_osmux(resp, osmux_cid); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE]); rc = gscon_sigtran_send(conn, resp); if (rc) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 77d5d1a..0b475ff 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -143,6 +143,7 @@ LOGPFSML(conn->fi, LOGL_ERROR, "Unable to compose BSSMAP Clear Request message\n"); return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); rc = osmo_bsc_sigtran_send(conn, resp); if (rc < 0) LOGPFSML(conn->fi, LOGL_ERROR, "Unable to deliver BSSMAP Clear Request message\n"); @@ -157,6 +158,7 @@ OSMO_ASSERT(conn); resp = gsm0808_create_dtap(msg, OBSC_LINKID_CB(msg)); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_DTAP]); gscon_sigtran_send(conn, resp); } @@ -761,6 +763,7 @@ /* Close MGCP connections */ osmo_mgcpc_ep_clear(conn->user_plane.mgw_endpoint); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE]); gscon_sigtran_send(conn, gsm0808_create_clear_complete()); break; case GSCON_EV_A_DISC_IND: diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 3efc665..4f9c69e 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -133,6 +133,7 @@ LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); resp = gsm0808_create_sapi_reject(dlci); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -149,6 +150,7 @@ LOGP(DMSC, LOGL_DEBUG, "CIPHER MODE COMPLETE from MS, forwarding to MSC\n"); resp = gsm0808_create_cipher_complete(msg, chosen_encr); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -712,6 +714,7 @@ return 1; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -742,6 +745,7 @@ if (!msc_connected(conn)) return; + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE]); resp = gsm0808_create_classmark_update(cm2, cm2_len, cm3, cm3_len); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index e36aaae..0b88b27 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -773,6 +773,7 @@ return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED]); rc = gscon_sigtran_send(conn, msg); if (rc < 0) { LOG_HO(conn, LOGL_ERROR, "message sending failed, can't send HANDOVER PERFORMED!\n"); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index b92e39a..6f5aaa8 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -560,6 +560,7 @@ return -1; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -640,6 +641,7 @@ LOGPFSM(conn->fi, "Tx LCLS CONNECT CTRL ACK (%s)\n", gsm0808_lcls_status_name(lcls_get_status(conn))); resp = gsm0808_create_lcls_conn_ctrl_ack(lcls_get_status(conn)); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return 0; @@ -954,6 +956,7 @@ resp = gsm0808_create_assignment_failure(cause, NULL); OSMO_ASSERT(resp); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -1117,20 +1120,20 @@ ctrs = conn->sccp.msc->msc_ctrs->ctr; header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", sizeof(*header), length, osmo_hexdump(msg->l3h, length)); return -1; } if (header->length > length - sizeof(*header)) { - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_MSG]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP]); LOGP(DMSC, LOGL_INFO, "Rx MSC DTAP, SAPI: %u CHAN: %u\n", header->link_id & 0x07, header->link_id & 0xC0); /* forward the data */ @@ -1273,6 +1276,7 @@ return -EINVAL; } + rate_ctr_inc(&lchan->conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]); rc = gscon_sigtran_send(lchan->conn, msg); if (rc) { LOG_HO(lchan->conn, LOGL_ERROR, "Cannot send BSSMAP Handover Required message\n"); @@ -1318,6 +1322,7 @@ params.aoip_transport_layer = &ss; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE]); LOG_HO(conn, LOGL_DEBUG, "Sending BSSMAP Handover Request Acknowledge\n"); msg = gsm0808_create_handover_request_ack2(¶ms); msgb_free(rr_ho_command); @@ -1333,6 +1338,7 @@ if (!msg) return -ENOMEM; + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT]); return osmo_bsc_sigtran_send(conn, msg); } @@ -1372,6 +1378,7 @@ return HO_RESULT_ERROR; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE]); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Complete message\n"); @@ -1393,6 +1400,7 @@ return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE]); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Failure message (rc=%d %s)\n", diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 544341b..0dbe9d4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,6 +44,7 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { + /* Rx message counters */ [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, @@ -57,6 +58,46 @@ [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, + + /* Tx message counters (per message type) + * + * The counters here follow the logic of the osmo_bsc_sigtran_send() function + * which receives DT1 messages from the upper layers and actually sends them to the MSC. + * These counters cover all messages passed to the function by the upper layers: */ + [MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT] = {"bssmap:tx:type:bss_management", "Number of transmitted BSS MANAGEMENT messages"}, + [MSC_CTR_BSSMAP_TX_DTAP] = {"bssmap:tx:type:dtap", "Number of transmitted DTAP messages"}, + [MSC_CTR_BSSMAP_TX_UNKNOWN] = {"bssmap:tx:type:err_unknown", "Number of transmitted messages with unknown type (an error in our code?)"}, + [MSC_CTR_BSSMAP_TX_SHORT] = {"bssmap:tx:type:err_short", "Number of transmitted messages which are too short (an error in our code?)"}, + /* The next counters are also counted in the osmo_bsc_sigtran_send() function and + * sum up to the exactly same number as the counters above but instead of message + * classes they split by the result of the sending attempt: */ + [MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY] = {"bssmap:tx:result:err_conn_not_ready", "Number of BSSMAP messages we tried to send when the connection was not ready yet"}, + [MSC_CTR_BSSMAP_TX_ERR_SEND] = {"bssmap:tx:result:err_send", "Number of socket errors while sending BSSMAP messages"}, + [MSC_CTR_BSSMAP_TX_SUCCESS] = {"bssmap:tx:result:success", "Number of successfully sent BSSMAP messages"}, + + /* Tx message counters (per specific message) + * + * Theoretically, the DT1 counters should sum up to the same number as the Tx counters + * above but since these counters are coming from the upper layers, there might be + * some difference if we forget some code path. */ + [MSC_CTR_BSSMAP_TX_UDT_RESET] = {"bssmap:tx:udt:reset:request", "Number of transmitted BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_TX_UDT_RESET_ACK] = {"bssmap:tx:udt:reset:ack", "Number of transmitted BSSMAP UDT RESET ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST] = {"bssmap:tx:dt1:clear:rqst", "Number of transmitted BSSMAP DT1 CLEAR RQSTtx messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE] = {"bssmap:tx:dt1:clear:complete", "Number of transmitted BSSMAP DT1 CLEAR COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE] = {"bssmap:tx:dt1:assigment:failure", "Number of transmitted BSSMAP DT1 ASSIGMENT FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE] = {"bssmap:tx:dt1:assigment:complete", "Number of transmitted BSSMAP DT1 ASSIGMENT COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT] = {"bssmap:tx:dt1:sapi_n:reject", "Number of transmitted BSSMAP DT1 SAPI N REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE] = {"bssmap:tx:dt1:cipher_mode:complete", "Number of transmitted BSSMAP DT1 CIPHER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT] = {"bssmap:tx:dt1:cipher_mode:reject", "Number of transmitted BSSMAP DT1 CIPHER REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE] = {"bssmap:tx:dt1:classmark:update", "Number of transmitted BSSMAP DT1 CLASSMARK UPDATE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK] = {"bssmap:tx:dt1:lcls_connect_ctrl:ack", "Number of transmitted BSSMAP DT1 LCLS CONNECT CTRL ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED] = {"bssmap:tx:dt1:handover:required", "Number of transmitted BSSMAP DT1 HANDOVER REQUIRED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED] = {"bssmap:tx:dt1:handover:performed", "Number of transmitted BSSMAP DT1 HANDOVER PERFORMED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE] = {"bssmap:tx:dt1:handover:rqst_acknowledge", "Number of transmitted BSSMAP DT1 HANDOVER RQST ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT] = {"bssmap:tx:dt1:handover:detect", "Number of transmitted BSSMAP DT1 HANDOVER DETECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE] = {"bssmap:tx:dt1:handover:complete", "Number of transmitted BSSMAP DT1 HANDOVER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE] = {"bssmap:tx:dt1:handover:failure", "Number of transmitted BSSMAP DT1 HANDOVER FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_DTAP] = {"bssmap:tx:dt1:dtap", "Number of transmitted BSSMAP DT1 DTAP messages"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index e4530bf..3871682 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -105,6 +105,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET]); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -124,6 +125,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET_ACK]); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -383,20 +385,26 @@ if (msg->len >= 3) { switch (msg->data[0]) { case BSSAP_MSG_BSS_MANAGEMENT: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT]); LOGP(DMSC, LOGL_INFO, "Tx MSC: BSSMAP: %s\n", gsm0808_bssmap_name(msg->data[2])); break; case BSSAP_MSG_DTAP: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DTAP]); LOGP(DMSC, LOGL_INFO, "Tx MSC: DTAP\n"); break; default: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UNKNOWN]); LOGP(DMSC, LOGL_ERROR, "Tx MSC: unknown message type: 0x%x\n", msg->data[0]); } - } else + } else { + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SHORT]); LOGP(DMSC, LOGL_ERROR, "Tx MSC: message too short: %u\n", msg->len); + } if (a_reset_conn_ready(msc) == false) { + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY]); LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); msgb_free(msg); return -EINVAL; @@ -410,6 +418,10 @@ conn_id, osmo_sccp_addr_name(ss7, &msc->a.msc_addr), osmo_hexdump(msg->data, msg->len)); rc = osmo_sccp_tx_data_msg(msc->a.sccp_user, conn_id, msg); + if (rc >= 0) + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SUCCESS]); + else + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_SEND]); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 21:34:40 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... stats: Rename BSSMAP Rx message counters to match Tx ones. Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f --- M src/osmo-bsc/osmo_bsc_msc.c 1 file changed, 14 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/18191/1 diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 0dbe9d4..db3ffe4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,20 +44,20 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { - /* Rx message counters */ - [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, - [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, - [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, - [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx_udt_unknown", "Number of received BSSMAP unknown UDT messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx_dt1_clear_cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx_dt1_cipher_mode_cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx_dt1_assignment_rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx_dt1_lcls_connect_ctrl", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, - [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx_dt1_handover_cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, + /* Rx message counters (per specific message) */ + [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx:udt:reset:ack", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx:udt:reset:request", "Number of received BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx:udt:paging", "Number of received BSSMAP UDT PAGING messages"}, + [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx:udt:err_unknown", "Number of received BSSMAP unknown UDT messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx:dt1:clear:cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx:dt1:cipher_mode:cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx:dt1:assignment:rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, + [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, /* Tx message counters (per message type) * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:34:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 21:34:41 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 120 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 17da79d..0c67d09 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1396,7 +1396,7 @@ void conn_update_ms_power_class(struct gsm_subscriber_connection *conn, uint8_t power_class); void lchan_update_ms_power_ctrl_level(struct gsm_lchan *lchan, int ms_power_dbm); -enum { +enum bts_counter_id { BTS_CTR_CHREQ_TOTAL, BTS_CTR_CHREQ_NO_CHANNEL, BTS_CTR_CHAN_RF_FAIL, @@ -1417,6 +1417,26 @@ BTS_CTR_RSL_UNKNOWN, BTS_CTR_RSL_IPA_NACK, BTS_CTR_MODE_MODIFY_NACK, + BTS_CTR_LCHAN_BORKEN_FROM_UNUSED, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_BORKEN, + BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK, + BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK, + BTS_CTR_LCHAN_BORKEN_EV_VTY, + BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED, + BTS_CTR_TS_BORKEN_FROM_UNUSED, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT, + BTS_CTR_TS_BORKEN_FROM_PDCH, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT, + BTS_CTR_TS_BORKEN_FROM_IN_USE, + BTS_CTR_TS_BORKEN_FROM_BORKEN, + BTS_CTR_TS_BORKEN_FROM_UNKNOWN, + BTS_CTR_TS_BORKEN_EV_LCHAN_REQUESTED, + BTS_CTR_TS_BORKEN_EV_LCHAN_UNUSED, + BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK, }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -1441,6 +1461,28 @@ [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, [BTS_CTR_RSL_IPA_NACK] = {"rsl:ipa_nack", "Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS"}, [BTS_CTR_MODE_MODIFY_NACK] = {"chan:mode_modify_nack", "Number of Channel Mode Modify NACKs received from BTS"}, + + /* lchan/TS BORKEN state counters */ + [BTS_CTR_LCHAN_BORKEN_FROM_UNUSED] = {"lchan_borken:from_state:unused", "Transitions from lchan UNUSED state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK] = {"lchan_borken:from_state:wait_activ_ack", "Transitions from lchan WAIT_ACTIV_ACK state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK] = {"lchan_borken:from_state:wait_rf_release_ack", "Transitions from lchan WAIT_RF_RELEASE_ACK state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_BORKEN] = {"lchan_borken:from_state:borken", "Transitions from lchan BORKEN state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN] = {"lchan_borken:from_state:unknown", "Transitions from an unknown lchan state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK] = {"lchan_borken:event:chan_activ_ack", "CHAN_ACTIV_ACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK] = {"lchan_borken:event:chan_activ_nack", "CHAN_ACTIV_NACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK] = {"lchan_borken:event:rf_chan_rel_ack", "RF_CHAN_REL_ACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_VTY] = {"lchan_borken:event:vty", "VTY commands received in the lchan BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED] = {"ts_borken:from_state:not_initialized", "Transitions from TS NOT_INITIALIZED state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_UNUSED] = {"ts_borken:from_state:unused", "Transitions from TS UNUSED state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT] = {"ts_borken:from_state:wait_pdch_act", "Transitions from TS WAIT_PDCH_ACT state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_PDCH] = {"ts_borken:from_state:pdch", "Transitions from TS PDCH state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT] = {"ts_borken:from_state:wait_pdch_deact", "Transitions from TS WAIT_PDCH_DEACT state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_IN_USE] = {"ts_borken:from_state:in_use", "Transitions from TS IN_USE state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_BORKEN] = {"ts_borken:from_state:borken", "Transitions from TS BORKEN state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_UNKNOWN] = {"ts_borken:from_state:unknown", "Transitions from an unknown TS state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_LCHAN_REQUESTED] = {"ts_borken:event:lchan_requested", "LCHAN_REQUESTED received in the TS BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_LCHAN_UNUSED] = {"ts_borken:event:lchan_unused", "LCHAN_UNUSED received in the TS BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK] = {"ts_borken:event:pdch_act_ack", "PDCH_ACT_ACK received in the TS BORKEN state"}, }; static const struct rate_ctr_group_desc bts_ctrg_desc = { @@ -1474,6 +1516,8 @@ BTS_STAT_RACH_ACCESS, BTS_STAT_OML_CONNECTED, BTS_STAT_RSL_CONNECTED, + BTS_STAT_LCHAN_BORKED, + BTS_STAT_TS_BORKED, }; enum { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 0fd462f..d699cf7 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5007,9 +5007,9 @@ return CMD_WARNING; if (!strcmp(argv[4], "borken")) { - if (lchan->fi->state == LCHAN_ST_UNUSED) + if (lchan->fi->state == LCHAN_ST_UNUSED) { osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_BORKEN, 0, 0); - else { + } else { vty_out(vty, "%% lchan is in state %s, only lchans that are in state %s may be moved to state %s manually%s", osmo_fsm_state_name(lchan->fi->fsm, lchan->fi->state), @@ -5018,9 +5018,10 @@ return CMD_WARNING; } } else { - if (lchan->fi->state == LCHAN_ST_BORKEN) + if (lchan->fi->state == LCHAN_ST_BORKEN) { + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_VTY]); osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_UNUSED, 0, 0); - else { + } else { vty_out(vty, "%% lchan is in state %s, only lchans that are in state %s may be moved to state %s manually%s", osmo_fsm_state_name(lchan->fi->fsm, lchan->fi->state), diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 2847f38..5aef6c5 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -392,6 +392,8 @@ { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, { "oml_connected", "Number of OML links connected", "", 16, 0 }, { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, + { "lchan_borked", "Number of lchans in the BORKEN state", "", 16, 0 }, + { "ts_borked", "Number of timeslots in the BORKEN state", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bts_statg_desc = { diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index fc8cd3f..cd96461 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1071,6 +1071,28 @@ static void lchan_fsm_borken_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); + enum bts_counter_id ctr; + switch (prev_state) { + case LCHAN_ST_UNUSED: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNUSED; + break; + case LCHAN_ST_WAIT_ACTIV_ACK: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK; + break; + case LCHAN_ST_WAIT_RF_RELEASE_ACK: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK; + break; + case LCHAN_ST_BORKEN: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_BORKEN; + break; + default: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN; + } + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[ctr]); + if (prev_state != LCHAN_ST_BORKEN) + osmo_stat_item_inc(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKED], 1); + + /* The actual action besides all the beancounting above */ lchan_reset(lchan); } @@ -1081,6 +1103,8 @@ case LCHAN_EV_RSL_CHAN_ACTIV_ACK: /* A late Chan Activ ACK? Release. */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKED], 1); lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_RF_RELEASE_ACK); @@ -1088,11 +1112,15 @@ case LCHAN_EV_RSL_CHAN_ACTIV_NACK: /* A late Chan Activ NACK? Ok then, unused. */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKED], 1); lchan_fsm_state_chg(LCHAN_ST_UNUSED); return; case LCHAN_EV_RSL_RF_CHAN_REL_ACK: /* A late Release ACK? */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKED], 1); lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_AFTER_ERROR); diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index f8adfb6..b81f9ab 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -654,23 +654,57 @@ } } +static void ts_fsm_borken_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); + enum bts_counter_id ctr; + switch (prev_state) { + case TS_ST_NOT_INITIALIZED: + ctr = BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED; + break; + case TS_ST_UNUSED: + ctr = BTS_CTR_TS_BORKEN_FROM_UNUSED; + break; + case TS_ST_WAIT_PDCH_ACT: + ctr = BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT; + break; + case TS_ST_PDCH: + ctr = BTS_CTR_TS_BORKEN_FROM_PDCH; + break; + case TS_ST_WAIT_PDCH_DEACT: + ctr = BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT; + break; + case TS_ST_IN_USE: + ctr = BTS_CTR_TS_BORKEN_FROM_IN_USE; + break; + case TS_ST_BORKEN: + ctr = BTS_CTR_TS_BORKEN_FROM_BORKEN; + break; + default: + ctr = BTS_CTR_TS_BORKEN_FROM_UNKNOWN; + } + rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[ctr]); + if (prev_state != LCHAN_ST_BORKEN) + osmo_stat_item_inc(ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKED], 1); +} + static void ts_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct gsm_lchan *lchan = data; + switch (event) { case TS_EV_LCHAN_UNUSED: /* ignored */ return; case TS_EV_LCHAN_REQUESTED: - { - struct gsm_lchan *lchan = data; - lchan_dispatch(lchan, LCHAN_EV_TS_ERROR); - return; - } + lchan_dispatch(lchan, LCHAN_EV_TS_ERROR); + return; case TS_EV_PDCH_ACT_ACK: /* Late PDCH activation ACK is not a crime. * Just go into the PDCH mode as normal. */ + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKED], 1); osmo_fsm_inst_state_chg(fi, TS_ST_PDCH, 0, 0); return; @@ -822,6 +856,7 @@ }, [TS_ST_BORKEN] = { .name = "BORKEN", + .onenter = ts_fsm_borken_onenter, .action = ts_fsm_borken, .in_event_mask = 0 | S(TS_EV_LCHAN_REQUESTED) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:51:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:51:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1644 PS1, Line 1644: ack_nack_desc.receive_block_bitmap[63] := '1'B; No use of f_acknackdesc_ack_block() here? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1670 PS1, Line 1670: break; f_acknackdesc_ack_block() ? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1679 PS1, Line 1679: // f_rx_rlcmac_dl_block(dl_block, fn); a data block? good question. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:51:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:53:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:53:27 +0000 Subject: Change in osmo-bsc[master]: stats: Only dereference a connection pointer after checking for NULL. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18188 ) Change subject: stats: Only dereference a connection pointer after checking for NULL. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71 Gerrit-Change-Number: 18188 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:53:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:54:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:54:56 +0000 Subject: Change in osmo-bsc[master]: stats: Only dereference a connection pointer after checking for NULL. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18188 ) Change subject: stats: Only dereference a connection pointer after checking for NULL. ...................................................................... stats: Only dereference a connection pointer after checking for NULL. Addresses CID 210261. Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index f1e43be..b92e39a 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1104,7 +1104,7 @@ struct msgb *gsm48; uint8_t *data; int rc, dtap_rc; - struct rate_ctr *ctrs = conn->sccp.msc->msc_ctrs->ctr; + struct rate_ctr *ctrs; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", osmo_hexdump(msg->l3h, length)); @@ -1114,6 +1114,7 @@ return -1; } + ctrs = conn->sccp.msc->msc_ctrs->ctr; header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71 Gerrit-Change-Number: 18188 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:56:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:56:04 +0000 Subject: Change in osmo-bsc[master]: handover_test: Properly allocate MSC data struct. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18189 ) Change subject: handover_test: Properly allocate MSC data struct. ...................................................................... Patch Set 1: Code-Review+1 I'm not getting this. If the test crashed, how did it pass in previous gerrit runs? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7498d2891259be9b532845627f14ac75e98e703e Gerrit-Change-Number: 18189 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:56:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:57:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:57:29 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 1: compilation error, needs fix -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:57:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 21:57:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 21:57:49 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 21:57:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 10 May 2020 22:07:02 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/1/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/1/src/osmo-bsc/timeslot_fsm.c at 693 PS1, Line 693: struct gsm_lchan *lchan = data; No need to cast? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 22:07:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:37:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 10 May 2020 22:37:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: make ho_config_tests more robust against timing References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 ) Change subject: bsc: make ho_config_tests more robust against timing ...................................................................... bsc: make ho_config_tests more robust against timing In f_probe_for_handover disable the RSL emulation before the vty handover command. Otherwise, osmo-bsc may be too fast to issue the handoverCommand, so that RSLem still handles it and says: "RSL for unknown Dchan". (f_probe_for_handover() receives the handoverCommand directly, just to detect whether a handover would be initiated, and then quickly aborts the handover procedure.) Related: OS#4264 Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 --- M bsc/BSC_Tests.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/93/18193/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 353ab16..38a961b 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3668,6 +3668,11 @@ boolean is_inter_bsc_handover := false) runs on MSC_ConnHdlr { + /* We're going to thwart any and all handover attempts, just be ready to handle (and ignore) handover target + * lchans to be established on bts 1 or bts 2. */ + f_rslem_suspend(RSL1_PROC); + f_rslem_suspend(RSL2_PROC); + var RSL_Message rsl; var charstring log_msg := " (expecting handover)" @@ -3677,11 +3682,6 @@ log("f_probe_for_handover starting: " & log_label & ": " & log_descr & log_msg); f_vty_transceive(BSCVTY, handover_vty_cmd); - /* We're going to thwart any and all handover attempts, just be ready to handle (and ignore) handover target - * lchans to be established on bts 1 or bts 2. */ - f_rslem_suspend(RSL1_PROC); - f_rslem_suspend(RSL2_PROC); - timer T := 2.0; T.start; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 Gerrit-Change-Number: 18193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:42:23 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:42:23 +0000 Subject: Change in osmo-bsc[master]: handover_test: Properly allocate MSC data struct. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18189 ) Change subject: handover_test: Properly allocate MSC data struct. ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > I'm not getting this. If the test crashed, how did it pass in previous gerrit runs? It only crashes after the introduction of the Tx BSSMAP counters. I guess previous counters didn't touch the code paths with counters (Rx BSSMAP and MSC links counters). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7498d2891259be9b532845627f14ac75e98e703e Gerrit-Change-Number: 18189 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 22:42:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:42:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 10 May 2020 22:42:38 +0000 Subject: Change in osmo-sgsn[master]: fix nullpointer: in gsm48_rx_gmm_ra_upd_req() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16744 ) Change subject: fix nullpointer: in gsm48_rx_gmm_ra_upd_req() ...................................................................... Patch Set 3: Code-Review+2 re-applying earlier +2 after rebase -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifde15dc4151d84748f0e67b32c9c260cb2d9d8fc Gerrit-Change-Number: 16744 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 10 May 2020 22:42:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:43:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 10 May 2020 22:43:00 +0000 Subject: Change in osmo-sgsn[master]: fix nullpointer: in gsm48_rx_gmm_ra_upd_req() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16744 ) Change subject: fix nullpointer: in gsm48_rx_gmm_ra_upd_req() ...................................................................... fix nullpointer: in gsm48_rx_gmm_ra_upd_req() This caused frequent crashes at 36c3. The "proper" fix is probably elsewhere (lynxis mentions an unfinished patch), but at least this prevented some crashes during active operation. Once this is merged, we can (re)enable SGSN_Tests_Iu.TC_geran_attach_iu_rau, which tests exactly for this scenario: A Subscriber / MM context that is so far attached via GERAN, but now receives a RAU via UTRAN/Iu. Closes: OS#4339 Change-Id: Ifde15dc4151d84748f0e67b32c9c260cb2d9d8fc --- M src/sgsn/gprs_gmm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 03ff513..0391229 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1682,7 +1682,7 @@ rate_ctr_inc(&mmctx->ctrg->ctr[GMM_CTR_PKTS_SIG_IN]); /* Update the MM context with the new RA-ID */ - if (mmctx->ran_type == MM_CTX_T_GERAN_Gb) { + if (mmctx->ran_type == MM_CTX_T_GERAN_Gb && msgb_bcid(msg)) { bssgp_parse_cell_id(&mmctx->ra, msgb_bcid(msg)); /* Update the MM context with the new (i.e. foreign) TLLI */ mmctx->gb.tlli = msgb_tlli(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16744 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ifde15dc4151d84748f0e67b32c9c260cb2d9d8fc Gerrit-Change-Number: 16744 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:45:49 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:45:49 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/1/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/1/src/osmo-bsc/timeslot_fsm.c at 693 PS1, Line 693: struct gsm_lchan *lchan = data; > No need to cast? data is (void*), so casting is not required, AFAIU. I just moved this line from below - see the "case TS_EV_LCHAN_REQUESTED:" below -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 10 May 2020 22:45:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:54:15 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:54:15 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 to look at the new patch set (#2). Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... stats: Add counters for Tx BSSMAP messages. We already have counters for Rx side, now we also count Tx side. See comments in the msc_ctr_description array implementation for the details. Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c 8 files changed, 104 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18190/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:54:15 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:54:15 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 to look at the new patch set (#2). Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... stats: Rename BSSMAP Rx message counters to match Tx ones. Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 19 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/18191/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:54:15 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:54:15 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#2). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 120 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 22:56:00 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 10 May 2020 22:56:00 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 2: > Patch Set 1: > > compilation error, needs fix A part of this patch accidentally got into the next one when I was committing. I've moved the misplaced parts here, so it should be building fine now. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 10 May 2020 22:56:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 10 23:17:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 10 May 2020 23:17:27 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 to look at the new patch set (#2). Change subject: gsup: send RAT type on LU ...................................................................... gsup: send RAT type on LU At 36c3, osmo-hlr was run with a patch that records the RAN type of attached subscribers. Even though this is not in osmo-hlr master, it is nice information to send along. Note that the "Supported RAT Types" IE is used to send the actually attached RAT. Could be a reason to not merge this to master as-is. Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 --- M src/sgsn/gprs_subscriber.c 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/45/16745/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 11 02:05:17 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 May 2020 02:05:17 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb8b2fa1ac5b_75f52b2179c985e09232e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 773s] | | #define LT_OBJDIR ".libs/" [ 773s] | | #define STDC_HEADERS 1 [ 773s] | | #define HAVE_EXECINFO_H 1 [ 773s] | | #define HAVE_SYS_SELECT_H 1 [ 773s] | | #define HAVE_SYS_SOCKET_H 1 [ 773s] | | #define HAVE_SYS_SIGNALFD_H 1 [ 773s] | | #define HAVE_SYS_TIMERFD_H 1 [ 773s] | | #define HAVE_SYSLOG_H 1 [ 773s] | | #define HAVE_CTYPE_H 1 [ 773s] | | #define HAVE_NETINET_TCP_H 1 [ 773s] | | #define HAVE_NETINET_IN_H 1 [ 773s] | | /* end confdefs.h. */ [ 773s] | | #include [ 773s] | | #ifdef HAVE_SYS_TYPES_H [ 773s] | | # include [ 773s] | | #endif [ 773s] | | #ifdef HAVE_SYS_STAT_H [ 773s] | | # include [ 773s] | | #endif [ 773s] | | #ifdef STDC_HEADERS [ 773s] | | # include [ 773s] | | # include [ 773s] | | #else [ 775s] | | # ifdef HAVE_STDL[ 745.593533] sysrq: SysRq : Power Off [ 775s] [ 745.596745] reboot: Power down [ 776s] ### VM INTERACTION END ### [ 776s] [ 776s] armbuild16 failed "build libosmocore_1.3.0.81.f5bd.dsc" at Mon May 11 02:05:09 UTC 2020. [ 776s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 11 06:41:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 06:41:09 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 to look at the new patch set (#3). Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... trau_frame: use 'ubit_t' for unpacked bits Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 21 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/78/18178/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:43:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:43:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1644 PS1, Line 1644: ack_nack_desc.receive_block_bitmap[63] := '1'B; > No use of f_acknackdesc_ack_block() here? ACK, thanks! https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1679 PS1, Line 1679: // f_rx_rlcmac_dl_block(dl_block, fn); > a data block? good question. I think I figured it out. This happens if Packet Downlink Ack/Nack we're sending has final_ack bit set to '0'B. The MS determines whether to set this bit by looking at FBI [1] of the last block received within the current RRBP. The problem is that in this scenario the SGSN sends blocks not all at once, but during the whole RRBP period, so the PCU cannot know in advance which block is the last one. [1] Final Block Indication, not Federal Bureau of Investigation ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 06:43:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:49:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:49:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 to look at the new patch set (#2). Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... PCU: introduce a new test case TC_dl_flow_more_blocks Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Signed-off-by: Vadim Yanitskiy Related: OS#4506 --- M pcu/PCU_Tests.ttcn 1 file changed, 81 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/87/18187/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:55:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:55:03 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18177 ) Change subject: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae Gerrit-Change-Number: 18177 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 06:55:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:56:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:56:21 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18178 ) Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 06:56:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:57:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:57:36 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use ubit_t where appropriate In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18179 ) Change subject: subchan_demux: Use ubit_t where appropriate ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 Gerrit-Change-Number: 18179 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 06:57:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 06:58:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 06:58:17 +0000 Subject: Change in libosmo-abis[master]: trau_frame.h: Fix definition of TRAU_FT_OM_UP In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18180 ) Change subject: trau_frame.h: Fix definition of TRAU_FT_OM_UP ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd Gerrit-Change-Number: 18180 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 06:58:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 07:57:26 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 07:57:26 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17883 to look at the new patch set (#3). Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... utils.py: Add helper method to parse ePDG Identifier from hex string The hex string consists of contains zero or more ePDG identifier data objects. Each ePDG Identifier TLV data object consists of tag value of '80', length, address type, identifier. TS 31.102 version 13.4.0 Release 13. The same parsing method applies for both EF.ePDGId and EF.ePDGIdEm Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 --- M pySim/utils.py 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17883/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 3 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 07:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 07:57:27 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Import TLV parsing related function from https://github.com/mitshell/card The functions are imported from the git commit 2a81963790e27eb6b188359af169c45afb6d3aaf from master branch Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c --- M pySim/utils.py 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/94/18194/1 diff --git a/pySim/utils.py b/pySim/utils.py index 1980685..eb7a56b 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -359,3 +359,42 @@ avail_st += '\tService %d - %s\n' % ((8*i) + j, lookup_map[(8*i) + j]) byte = byte >> 1 return avail_st + +def first_TLV_parser(bytelist): + ''' + first_TLV_parser([0xAA, 0x02, 0xAB, 0xCD, 0xFF, 0x00]) -> (170, 2, [171, 205]) + + parses first TLV format record in a list of bytelist + returns a 3-Tuple: Tag, Length, Value + Value is a list of bytes + parsing of length is ETSI'style 101.220 + ''' + Tag = bytelist[0] + if bytelist[1] == 0xFF: + Len = bytelist[2]*256 + bytelist[3] + Val = bytelist[4:4+Len] + else: + Len = bytelist[1] + Val = bytelist[2:2+Len] + return (Tag, Len, Val) + +def TLV_parser(bytelist): + ''' + TLV_parser([0xAA, ..., 0xFF]) -> [(T, L, [V]), (T, L, [V]), ...] + + loops on the input list of bytes with the "first_TLV_parser()" function + returns a list of 3-Tuples + ''' + ret = [] + while len(bytelist) > 0: + T, L, V = first_TLV_parser(bytelist) + if T == 0xFF: + # padding bytes + break + ret.append( (T, L, V) ) + # need to manage length of L + if L > 0xFE: + bytelist = bytelist[ L+4 : ] + else: + bytelist = bytelist[ L+2 : ] + return ret -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 07:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 07:57:27 +0000 Subject: Change in pysim[master]: Import function for converting bytes list in (hex or int) to string f... References: Message-ID: herlesupreeth has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Import function for converting bytes list in (hex or int) to string from https://github.com/mitshell/card ...................................................................... Import function for converting bytes list in (hex or int) to string from https://github.com/mitshell/card This function is needed for conversion of bytes list output of TLV parser to representable string. This function is imported from the git commit 2a81963790e27eb6b188359af169c45afb6d3aaf of master branch Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded --- M pySim/utils.py 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/18195/1 diff --git a/pySim/utils.py b/pySim/utils.py index eb7a56b..48af020 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -398,3 +398,20 @@ else: bytelist = bytelist[ L+2 : ] return ret + +# equivalent to the pyscard function "toASCIIString" +def byteToString(bytelist): + ''' + byteToString([116, 101, 115, 116]) -> 'test' + + converts a list of bytes into a string + ''' + import sys + + if sys.version_info[0] < 3: + string = '' + for b in bytelist: + string += chr(b) + return string + else: + return bytes(bytelist) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:13:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:13:44 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: Code-Review-1 pySim depends on pytlv, I believe you can use its API. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 11 May 2020 08:13:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:14:07 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:14:07 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: Code-Review-2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 11 May 2020 08:14:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:17:35 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 08:17:35 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-2 I believe i cannot use pytlv because EF.ePDGId or EF.ePDGIdEm field can have more than one TLV with the same tag '80' but the output of tlv.parse of pytlv library is a dictionary. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 08:17:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:17:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:17:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: make ho_config_tests more robust against timing In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 ) Change subject: bsc: make ho_config_tests more robust against timing ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 Gerrit-Change-Number: 18193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:17:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:19:21 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 08:19:21 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: Code-Review-2 > > I believe i cannot use pytlv because EF.ePDGId or EF.ePDGIdEm field can have more than one TLV with the same tag '80' but the output of tlv.parse of pytlv library is a dictionary. Also, these functions were imported based on the discussion in following link https://gerrit.osmocom.org/c/pysim/+/17883 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 08:19:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:20:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:20:49 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c at 119 PS2, Line 119: if (!resp) Use either "if {} else {}" or "if else" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:20:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:21:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:21:03 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:21:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:22:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:22:54 +0000 Subject: Change in pysim[master]: Import function for converting bytes list in (hex or int) to string f... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Import function for converting bytes list in (hex or int) to string from https://github.com/mitshell/card ...................................................................... Patch Set 1: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py at 403 PS1, Line 403: byteToString Let's follow similar naming style as the existing functions like b2h(), h2b(). Here is a one-liner that works in both Python versions: # List of bytes to string def bl2s(bl): ''.join([chr(x) for x in bl]) https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py at 405 PS1, Line 405: byteToString([116, 101, 115, 116]) -> 'test' Erlang syntax, nice ;) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 11 May 2020 08:22:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:24:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:24:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1679 PS1, Line 1679: // f_rx_rlcmac_dl_block(dl_block, fn); > I think I figured it out. [?] Yes, I also noticed about the fact that you are not sending all data at once but only after sleep(). Having it that way may result in different osmo-pcu behavior. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:24:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:24:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:24:49 +0000 Subject: Change in pysim[master]: Import function for converting bytes list in (hex or int) to string f... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Import function for converting bytes list in (hex or int) to string from https://github.com/mitshell/card ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py at 403 PS1, Line 403: byteToString > Let's follow similar naming style as the existing functions like b2h(), h2b(). [?] ... or rather call it i2s(). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 11 May 2020 08:24:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:25:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:25:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn at 1669 PS2, Line 1669: ack_nack_desc.final_ack := '1'B; Shouldn't this be done by f_acknackdesc_ack_block() too? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:25:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:30:24 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 08:30:24 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c at 119 PS2, Line 119: if (!resp) > Use either [?] I've seen a lot of "if {} else" around the code. So it could be "if {} else" but not "if else {}"? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:30:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:31:00 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 08:31:00 +0000 Subject: Change in pysim[master]: Import function for converting bytes list in (hex or int) to string f... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Import function for converting bytes list in (hex or int) to string from https://github.com/mitshell/card ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/18195/1/pySim/utils.py at 403 PS1, Line 403: byteToString > ... or rather call it i2s(). will do this :) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 08:31:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:32:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:32:26 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c at 119 PS2, Line 119: if (!resp) > I've seen a lot of "if {} else" around the code. [?] Either use {} in both if and else, or in none of them. If you see any "if {} else" feel free to submit patch to fix. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:32:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:39:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:39:31 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: -Code-Review Ah, ok, sorry. I wish we were using pycrate instead of doing those manual manipulations with bytes, represented as hexstrings, erh... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 08:39:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:42:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:42:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/1/pcu/PCU_Tests.ttcn at 1679 PS1, Line 1679: // f_rx_rlcmac_dl_block(dl_block, fn); > Yes, I also noticed about the fact that you are not sending all data at once but only after sleep(). [?] Not really using sleep() here, I am just sending new data just before sending the RTS.ind. This is exactly what I wanted to verify, but regarding sending all at once... we should have one more test case ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:42:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:43:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 08:43:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn at 1669 PS2, Line 1669: ack_nack_desc.final_ack := '1'B; > Shouldn't this be done by f_acknackdesc_ack_block() too? It's more logical to set this bit only once in the end of RRBP, rather than setting it for each received block... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 08:43:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:51:33 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 08:51:33 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: > Patch Set 1: -Code-Review > > Ah, ok, sorry. I wish we were using pycrate instead of doing those manual manipulations with bytes, represented as hexstrings, erh... that would have been great, but i am not sure where the GNU Lesser General Public License v2.1 goes well with GPL license of pySim -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 08:51:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 08:57:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 08:57:09 +0000 Subject: Change in osmo-gsm-tester[master]: obj: Fix objects placing their content in suite rundir instead of tes... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 ) Change subject: obj: Fix objects placing their content in suite rundir instead of test rundir ...................................................................... obj: Fix objects placing their content in suite rundir instead of test rundir Change-Id: I421d35473575086b93d5c8db98b909cc6c83d896 --- M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_octphy.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/bts_osmovirtual.py M src/osmo_gsm_tester/obj/bts_sysmo.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ggsn_osmo.py M src/osmo_gsm_tester/obj/hlr_osmo.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/mgcpgw_osmo.py M src/osmo_gsm_tester/obj/mgw_osmo.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 src/osmo_gsm_tester/obj/msc_osmo.py M src/osmo_gsm_tester/obj/nitb_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/pcu_oc2g.py M src/osmo_gsm_tester/obj/pcu_osmo.py M src/osmo_gsm_tester/obj/pcu_sysmo.py M src/osmo_gsm_tester/obj/sgsn_osmo.py M src/osmo_gsm_tester/obj/stp_osmo.py 27 files changed, 29 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/96/18196/1 diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 22b2dad..1763dcd 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -51,7 +51,7 @@ def start(self): self.log('Starting osmo-bsc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index 5c07bda..a818a8f 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -94,7 +94,7 @@ def start(self, keepalive=False): if self.conf.get('ipa_unit_id') is None: raise log.Error('No attribute ipa_unit_id provided in conf!') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self._configure() unitid = int(self.conf.get('ipa_unit_id')) diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index ee86cc3..2d55637 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -100,7 +100,7 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting OsmoBtsOC2G to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) diff --git a/src/osmo_gsm_tester/obj/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py index c4d3910..d97ac84 100644 --- a/src/osmo_gsm_tester/obj/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -120,7 +120,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 42ed3f8..1456802 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -158,7 +158,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() # Power cycle all TRX if needed (right now only TRX0 for SC5): @@ -199,7 +199,7 @@ super().__init__(log.C_RUN, name) self.testenv = testenv self.conf = conf - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) diff --git a/src/osmo_gsm_tester/obj/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py index b6470c1..2c1c153 100644 --- a/src/osmo_gsm_tester/obj/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -98,7 +98,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index 8f76ecb..3f48f93 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -94,7 +94,7 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting sysmoBTS to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(SysmoBts.BTS_SYSMO_BIN))) diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index a534708..fa79cbf 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -98,7 +98,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self._start() diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 95de16f..4311d60 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -94,7 +94,7 @@ def start(self, epc): self.log('Starting srsENB') self._epc = epc - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.remote_user: self.start_remotely() diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index b5304bf..e9f1e82 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -74,7 +74,7 @@ def start(self): self.log('Starting amarisoftepc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index c5e762f..2ee486f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -74,7 +74,7 @@ def start(self): self.log('Starting srsepc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py index 1435fdb..c22ca86 100644 --- a/src/osmo_gsm_tester/obj/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -35,7 +35,7 @@ def start(self): self.log('Starting osmo-ggsn') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-ggsn'))) diff --git a/src/osmo_gsm_tester/obj/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py index 79175f6..9b911d6 100644 --- a/src/osmo_gsm_tester/obj/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -41,7 +41,7 @@ def start(self): self.log('Starting osmo-hlr') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-hlr'))) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index ff09f17..2901e79 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -84,7 +84,7 @@ def start(self): self.log('Starting iperf3-srv') self.log_copied = False - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Server.LOGFILE) if self.runs_locally(): self.start_locally() @@ -195,7 +195,7 @@ self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) self.log_copied = False - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): return self.prepare_test_proc_locally(downlink, netns, time_sec) diff --git a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py index 3afa3f1..550cabd 100644 --- a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -37,7 +37,7 @@ def start(self): self.log('Starting osmo-mgcpgw') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-bsc_mgcp') diff --git a/src/osmo_gsm_tester/obj/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py index 70572a1..5bb6f99 100644 --- a/src/osmo_gsm_tester/obj/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -36,7 +36,7 @@ def start(self): self.log('Starting osmo-mgw') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-mgw'))) binary = inst.child('bin', 'osmo-mgw') diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 451bbd0..d79756b 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -133,7 +133,7 @@ def connect(self, enb): self.log('Starting amarisoftue') self.enb = enb - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index 2598eee..e1ddbc8 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -382,7 +382,7 @@ self._ki = None self._imsi = None self._apn_ipaddr = None - self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name().strip('/'))) + self.run_dir = util.Dir(testenv.test().get_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) self.register_attempts = 0 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 8604d32..5805fef 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -137,7 +137,7 @@ def connect(self, enb): self.log('Starting srsue') self.enb = enb - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index 162614c..173bc94 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -50,7 +50,7 @@ def start(self): self.log('Starting osmo-msc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-msc') diff --git a/src/osmo_gsm_tester/obj/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py index 88ff721..c12648f 100644 --- a/src/osmo_gsm_tester/obj/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -39,7 +39,7 @@ def start(self): self.log('Starting osmo-nitb') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-nitb') diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 5d1e5ae..c37cf36 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -62,7 +62,7 @@ # TODO: make sure the pone is powered off before starting osmocon self.log('Starting osmocon') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmocom-bb'))) diff --git a/src/osmo_gsm_tester/obj/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py index cb5e6cb..5b638f8 100644 --- a/src/osmo_gsm_tester/obj/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -39,7 +39,7 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-oc2g'))) diff --git a/src/osmo_gsm_tester/obj/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py index 86e6bbe..c6a2a0e 100644 --- a/src/osmo_gsm_tester/obj/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -35,7 +35,7 @@ self.env = {} def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu'))) diff --git a/src/osmo_gsm_tester/obj/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py index 103ad00..cab0845 100644 --- a/src/osmo_gsm_tester/obj/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -39,7 +39,7 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-sysmo'))) diff --git a/src/osmo_gsm_tester/obj/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py index a7c7adb..adb1637 100644 --- a/src/osmo_gsm_tester/obj/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -37,7 +37,7 @@ def start(self): self.log('Starting osmo-sgsn') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-sgsn'))) diff --git a/src/osmo_gsm_tester/obj/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py index e8bb4e0..1382016 100644 --- a/src/osmo_gsm_tester/obj/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -35,7 +35,7 @@ def start(self): self.log('Starting osmo-stp') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-stp'))) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 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: I421d35473575086b93d5c8db98b909cc6c83d896 Gerrit-Change-Number: 18196 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 09:00:13 +0000 Subject: Change in pysim[master]: Introduce function for converting bytes list in (hex or int) to string In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18195 to look at the new patch set (#2). Change subject: Introduce function for converting bytes list in (hex or int) to string ...................................................................... Introduce function for converting bytes list in (hex or int) to string This function is needed for conversion of bytes list output of TLV parser to representable string Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded --- M pySim/utils.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/95/18195/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 11 May 2020 09:00:13 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17883 to look at the new patch set (#4). Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... utils.py: Add helper method to parse ePDG Identifier from hex string The hex string consists of contains zero or more ePDG identifier data objects. Each ePDG Identifier TLV data object consists of tag value of '80', length, address type, identifier. TS 31.102 version 13.4.0 Release 13. The same parsing method applies for both EF.ePDGId and EF.ePDGIdEm Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 --- M pySim/utils.py 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17883/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:04:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 09:04:12 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 to look at the new patch set (#3). Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... stats: Add counters for Tx BSSMAP messages. We already have counters for Rx side, now we also count Tx side. See comments in the msc_ctr_description array implementation for the details. Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c 8 files changed, 105 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18190/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:04:47 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 09:04:47 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c File src/osmo-bsc/assignment_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18190/2/src/osmo-bsc/assignment_fsm.c at 119 PS2, Line 119: if (!resp) > Either use {} in both if and else, or in none of them. [?] Ok. I've fixed this one now -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 09:04:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:16:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:16:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn at 1669 PS2, Line 1669: ack_nack_desc.final_ack := '1'B; > It's more logical to set this bit only once in the end of RRBP, rather than setting it for each rece [?] Can't it be sent only if CV = 0? Or I'm confusing stuff now? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 09:16:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:17:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:17:15 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 09:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:17:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:17:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn at 1669 PS2, Line 1669: ack_nack_desc.final_ack := '1'B; > Can't it be sent only if CV = 0? Or I'm confusing stuff now? s/sent/set/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 09:17:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:30:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:30:05 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs: Catch unexpected iperf3 result content and print it References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 ) Change subject: suites/gprs: Catch unexpected iperf3 result content and print it ...................................................................... suites/gprs: Catch unexpected iperf3 result content and print it Change-Id: I10f7f682da023f5e05e461b73f55cc50c5f36f79 --- M sysmocom/suites/gprs/lib/testlib.py 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/97/18197/1 diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 8e42248..636ee2b 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -2,11 +2,16 @@ from osmo_gsm_tester.testenv import * def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + try: + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e + def print_results(cli_res, srv_res): print_result_node(cli_res, 'client') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 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: I10f7f682da023f5e05e461b73f55cc50c5f36f79 Gerrit-Change-Number: 18197 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:42:54 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... ms_srs: fix numpy import numpy is used in a few places in the class code so we need to jhave it available in a bigger scope, while still only loading when needed. Change-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18069/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:47:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:47:34 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#3) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... ms_srs: fix numpy import numpy is used in a few places in the class code so we need to jhave it available in a bigger scope, while still only loading when needed. Change-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18069/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:48:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 11 May 2020 09:48:15 +0000 Subject: Change in osmo-el2tpd[master]: src/test_connect.c: fix compile with Werror References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 ) Change subject: src/test_connect.c: fix compile with Werror ...................................................................... src/test_connect.c: fix compile with Werror test_connect.c:50:2: error: format not a string literal and no format arguments [-Werror=format-security] printf(msgb_hexdump(msg)); ^~~~~~ Change-Id: Ie0104649104ff31e180c05993e707c6629ddbf83 --- M src/test_connect.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-el2tpd refs/changes/98/18198/1 diff --git a/src/test_connect.c b/src/test_connect.c index bc75950..38aa127 100644 --- a/src/test_connect.c +++ b/src/test_connect.c @@ -47,7 +47,7 @@ } msgb_put(msg, rc); printf("Recv data\n"); - printf(msgb_hexdump(msg)); + printf("%s", msgb_hexdump(msg)); printf("\n"); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-el2tpd Gerrit-Branch: master Gerrit-Change-Id: Ie0104649104ff31e180c05993e707c6629ddbf83 Gerrit-Change-Number: 18198 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:52:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:52:17 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#4) to the change originally created by srs_andre. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... ms_srs: fix numpy import numpy is used in a few places in the class code so we need to jhave it available in a bigger scope, while still only loading when needed. Change-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18069/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:56:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:56:41 +0000 Subject: Change in osmo-gsm-tester[master]: esme: fix smpplib imports References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 ) Change subject: esme: fix smpplib imports ...................................................................... esme: fix smpplib imports smpplib modules are used in several places, so it's not enough to import them in the constructor since they are only imported for the function scope. Change-Id: I6511e28c7ef6aa86e85a7e03aa10a67d87896588 --- M src/osmo_gsm_tester/obj/esme.py 1 file changed, 33 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/99/18199/1 diff --git a/src/osmo_gsm_tester/obj/esme.py b/src/osmo_gsm_tester/obj/esme.py index e23e88c..13e1bba 100644 --- a/src/osmo_gsm_tester/obj/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -27,6 +27,25 @@ MAX_SYS_ID_LEN = 16 MAX_PASSWD_LEN = 16 +smpplib_gsm = None +smpplib_client = None +smpplib_command = None +smpplib_consts = None +smpplib_exceptions = None +def _import_smpplib_modules(): + global smpplib_gsm, smpplib_client, smpplib_command, smpplib_consts, smpplib_exceptions + if smpplib_exceptions is None: + import smpplib.gsm + import smpplib.client + import smpplib.command + import smpplib.consts + import smpplib.exceptions + smpplib_gsm = smpplib.gsm + smpplib_client = smpplib.client + smpplib_command = smpplib.command + smpplib_consts = smpplib.consts + smpplib_exceptions = smpplib.exceptions + class Esme(log.Origin): def __init__(self, msisdn): @@ -42,13 +61,9 @@ self.listening = False self.references_pending_receipt = [] self.next_user_message_reference = 1 - import smpplib.gsm - import smpplib.client - import smpplib.command - import smpplib.consts - import smpplib.exceptions - self.MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD - self.MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD + _import_smpplib_modules() + self.MSGMODE_TRANSACTION = smpplib_consts.SMPP_MSGMODE_FORWARD + self.MSGMODE_STOREFORWARD = smpplib_consts.SMPP_MSGMODE_STOREFORWARD def __del__(self): self.cleanup() @@ -56,7 +71,7 @@ def cleanup(self): try: self.disconnect() - except smpplib.exceptions.ConnectionError: + except smpplib_exceptions.ConnectionError: pass def set_smsc(self, smsc): @@ -95,7 +110,7 @@ host, port = self.smsc.addr_port if self.client: self.disconnect() - self.client = smpplib.client.Client(host, port, timeout=None) + self.client = smpplib_client.Client(host, port, timeout=None) self.client.set_message_sent_handler( lambda pdu: self.dbg('Unhandled submit_sm_resp message:', pdu.sequence) ) self.client.set_message_received_handler(self._message_received_handler) @@ -117,9 +132,9 @@ def _message_received_handler(self, pdu, *args): self.dbg('message received:', seq=pdu.sequence) - if isinstance(pdu, smpplib.command.AlertNotification): + if isinstance(pdu, smpplib_command.AlertNotification): self.dbg('message received: AlertNotification:', ms_availability_status=pdu.ms_availability_status) - elif isinstance(pdu, smpplib.command.DeliverSM): + elif isinstance(pdu, smpplib_command.DeliverSM): umref = int(pdu.user_message_reference) self.dbg('message received: DeliverSM', references_pending_receipt=self.references_pending_receipt, user_message_reference=umref) self.references_pending_receipt.remove(umref) @@ -131,25 +146,25 @@ try: method(*args) #it should not succeed, raise an exception: - raise log.Error('SMPP Failure: %s should have failed with SMPP error %d (%s) but succeeded.' % (method, errcode, smpplib.consts.DESCRIPTIONS[errcode])) - except smpplib.exceptions.PDUError as e: + raise log.Error('SMPP Failure: %s should have failed with SMPP error %d (%s) but succeeded.' % (method, errcode, smpplib_consts.DESCRIPTIONS[errcode])) + except smpplib_exceptions.PDUError as e: if e.args[1] != errcode: raise e self.dbg('Expected failure triggered: %d' % errcode) def sms_send(self, sms_obj, mode, receipt=False): - parts, encoding_flag, msg_type_flag = smpplib.gsm.make_parts(str(sms_obj)) + parts, encoding_flag, msg_type_flag = smpplib_gsm.make_parts(str(sms_obj)) seqs = [] self.log('Sending SMS "%s" to %s' % (str(sms_obj), sms_obj.dst_msisdn())) umref = self.next_user_message_reference self.next_user_message_reference = (self.next_user_message_reference + 1) % (1 << 8) for part in parts: pdu = self.client.send_message( - source_addr_ton=smpplib.consts.SMPP_TON_INTL, - source_addr_npi=smpplib.consts.SMPP_NPI_ISDN, + source_addr_ton=smpplib_consts.SMPP_TON_INTL, + source_addr_npi=smpplib_consts.SMPP_NPI_ISDN, source_addr=sms_obj.src_msisdn(), - dest_addr_ton=smpplib.consts.SMPP_TON_INTL, - dest_addr_npi=smpplib.consts.SMPP_NPI_ISDN, + dest_addr_ton=smpplib_consts.SMPP_TON_INTL, + dest_addr_npi=smpplib_consts.SMPP_NPI_ISDN, destination_addr=sms_obj.dst_msisdn(), short_message=part, data_coding=encoding_flag, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 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: I6511e28c7ef6aa86e85a7e03aa10a67d87896588 Gerrit-Change-Number: 18199 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 09:57:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 09:57:39 +0000 Subject: Change in osmo-el2tpd[master]: src/test_connect.c: fix compile with Werror In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 ) Change subject: src/test_connect.c: fix compile with Werror ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-el2tpd Gerrit-Branch: master Gerrit-Change-Id: Ie0104649104ff31e180c05993e707c6629ddbf83 Gerrit-Change-Number: 18198 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 09:57:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:01:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:01:20 +0000 Subject: Change in osmo-gsm-tester[master]: obj: Fix objects placing their content in suite rundir instead of tes... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 ) Change subject: obj: Fix objects placing their content in suite rundir instead of test rundir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 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: I421d35473575086b93d5c8db98b909cc6c83d896 Gerrit-Change-Number: 18196 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 11:01:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:01:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:01:22 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs: Catch unexpected iperf3 result content and print it In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 ) Change subject: suites/gprs: Catch unexpected iperf3 result content and print it ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 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: I10f7f682da023f5e05e461b73f55cc50c5f36f79 Gerrit-Change-Number: 18197 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 11:01:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:01:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:01:29 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 11:01:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:01:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:01:35 +0000 Subject: Change in osmo-gsm-tester[master]: esme: fix smpplib imports In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 ) Change subject: esme: fix smpplib imports ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 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: I6511e28c7ef6aa86e85a7e03aa10a67d87896588 Gerrit-Change-Number: 18199 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 11:01:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:03:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:03:08 +0000 Subject: Change in osmo-gsm-tester[master]: obj: Fix objects placing their content in suite rundir instead of tes... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 ) Change subject: obj: Fix objects placing their content in suite rundir instead of test rundir ...................................................................... obj: Fix objects placing their content in suite rundir instead of test rundir Change-Id: I421d35473575086b93d5c8db98b909cc6c83d896 --- M src/osmo_gsm_tester/obj/bsc_osmo.py M src/osmo_gsm_tester/obj/bts_nanobts.py M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_octphy.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/bts_osmovirtual.py M src/osmo_gsm_tester/obj/bts_sysmo.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ggsn_osmo.py M src/osmo_gsm_tester/obj/hlr_osmo.py M src/osmo_gsm_tester/obj/iperf3.py M src/osmo_gsm_tester/obj/mgcpgw_osmo.py M src/osmo_gsm_tester/obj/mgw_osmo.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 src/osmo_gsm_tester/obj/msc_osmo.py M src/osmo_gsm_tester/obj/nitb_osmo.py M src/osmo_gsm_tester/obj/osmocon.py M src/osmo_gsm_tester/obj/pcu_oc2g.py M src/osmo_gsm_tester/obj/pcu_osmo.py M src/osmo_gsm_tester/obj/pcu_sysmo.py M src/osmo_gsm_tester/obj/sgsn_osmo.py M src/osmo_gsm_tester/obj/stp_osmo.py 27 files changed, 29 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/bsc_osmo.py b/src/osmo_gsm_tester/obj/bsc_osmo.py index 22b2dad..1763dcd 100644 --- a/src/osmo_gsm_tester/obj/bsc_osmo.py +++ b/src/osmo_gsm_tester/obj/bsc_osmo.py @@ -51,7 +51,7 @@ def start(self): self.log('Starting osmo-bsc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bsc'))) diff --git a/src/osmo_gsm_tester/obj/bts_nanobts.py b/src/osmo_gsm_tester/obj/bts_nanobts.py index 5c07bda..a818a8f 100644 --- a/src/osmo_gsm_tester/obj/bts_nanobts.py +++ b/src/osmo_gsm_tester/obj/bts_nanobts.py @@ -94,7 +94,7 @@ def start(self, keepalive=False): if self.conf.get('ipa_unit_id') is None: raise log.Error('No attribute ipa_unit_id provided in conf!') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self._configure() unitid = int(self.conf.get('ipa_unit_id')) diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index ee86cc3..2d55637 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -100,7 +100,7 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting OsmoBtsOC2G to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(OsmoBtsOC2G.BTS_OC2G_BIN))) diff --git a/src/osmo_gsm_tester/obj/bts_octphy.py b/src/osmo_gsm_tester/obj/bts_octphy.py index c4d3910..d97ac84 100644 --- a/src/osmo_gsm_tester/obj/bts_octphy.py +++ b/src/osmo_gsm_tester/obj/bts_octphy.py @@ -120,7 +120,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 42ed3f8..1456802 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -158,7 +158,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() # Power cycle all TRX if needed (right now only TRX0 for SC5): @@ -199,7 +199,7 @@ super().__init__(log.C_RUN, name) self.testenv = testenv self.conf = conf - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.listen_ip = conf.get('osmo_trx', {}).get('trx_ip') self.remote_user = conf.get('osmo_trx', {}).get('remote_user', None) diff --git a/src/osmo_gsm_tester/obj/bts_osmovirtual.py b/src/osmo_gsm_tester/obj/bts_osmovirtual.py index b6470c1..2c1c153 100644 --- a/src/osmo_gsm_tester/obj/bts_osmovirtual.py +++ b/src/osmo_gsm_tester/obj/bts_osmovirtual.py @@ -98,7 +98,7 @@ self.testenv.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-bts'))) diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index 8f76ecb..3f48f93 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -94,7 +94,7 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting sysmoBTS to connect to', self.bsc) - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst(SysmoBts.BTS_SYSMO_BIN))) diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index a534708..fa79cbf 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -98,7 +98,7 @@ def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self._start() diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 95de16f..4311d60 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -94,7 +94,7 @@ def start(self, epc): self.log('Starting srsENB') self._epc = epc - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.remote_user: self.start_remotely() diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index b5304bf..e9f1e82 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -74,7 +74,7 @@ def start(self): self.log('Starting amarisoftepc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index c5e762f..2ee486f 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -74,7 +74,7 @@ def start(self): self.log('Starting srsepc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self._run_node.is_local(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/ggsn_osmo.py b/src/osmo_gsm_tester/obj/ggsn_osmo.py index 1435fdb..c22ca86 100644 --- a/src/osmo_gsm_tester/obj/ggsn_osmo.py +++ b/src/osmo_gsm_tester/obj/ggsn_osmo.py @@ -35,7 +35,7 @@ def start(self): self.log('Starting osmo-ggsn') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-ggsn'))) diff --git a/src/osmo_gsm_tester/obj/hlr_osmo.py b/src/osmo_gsm_tester/obj/hlr_osmo.py index 79175f6..9b911d6 100644 --- a/src/osmo_gsm_tester/obj/hlr_osmo.py +++ b/src/osmo_gsm_tester/obj/hlr_osmo.py @@ -41,7 +41,7 @@ def start(self): self.log('Starting osmo-hlr') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-hlr'))) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index ff09f17..2901e79 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -84,7 +84,7 @@ def start(self): self.log('Starting iperf3-srv') self.log_copied = False - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Server.LOGFILE) if self.runs_locally(): self.start_locally() @@ -195,7 +195,7 @@ self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) self.log_copied = False - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): return self.prepare_test_proc_locally(downlink, netns, time_sec) diff --git a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py index 3afa3f1..550cabd 100644 --- a/src/osmo_gsm_tester/obj/mgcpgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgcpgw_osmo.py @@ -37,7 +37,7 @@ def start(self): self.log('Starting osmo-mgcpgw') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-bsc_mgcp') diff --git a/src/osmo_gsm_tester/obj/mgw_osmo.py b/src/osmo_gsm_tester/obj/mgw_osmo.py index 70572a1..5bb6f99 100644 --- a/src/osmo_gsm_tester/obj/mgw_osmo.py +++ b/src/osmo_gsm_tester/obj/mgw_osmo.py @@ -36,7 +36,7 @@ def start(self): self.log('Starting osmo-mgw') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-mgw'))) binary = inst.child('bin', 'osmo-mgw') diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 451bbd0..d79756b 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -133,7 +133,7 @@ def connect(self, enb): self.log('Starting amarisoftue') self.enb = enb - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/ms_ofono.py b/src/osmo_gsm_tester/obj/ms_ofono.py index 2598eee..e1ddbc8 100644 --- a/src/osmo_gsm_tester/obj/ms_ofono.py +++ b/src/osmo_gsm_tester/obj/ms_ofono.py @@ -382,7 +382,7 @@ self._ki = None self._imsi = None self._apn_ipaddr = None - self.run_dir = util.Dir(testenv.suite().get_run_dir().new_dir(self.name().strip('/'))) + self.run_dir = util.Dir(testenv.test().get_run_dir().new_dir(self.name().strip('/'))) self.sms_received_list = [] self.dbus = ModemDbusInteraction(self.dbuspath) self.register_attempts = 0 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 8604d32..5805fef 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -137,7 +137,7 @@ def connect(self, enb): self.log('Starting srsue') self.enb = enb - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() if self.setup_runs_locally(): self.start_locally() diff --git a/src/osmo_gsm_tester/obj/msc_osmo.py b/src/osmo_gsm_tester/obj/msc_osmo.py index 162614c..173bc94 100644 --- a/src/osmo_gsm_tester/obj/msc_osmo.py +++ b/src/osmo_gsm_tester/obj/msc_osmo.py @@ -50,7 +50,7 @@ def start(self): self.log('Starting osmo-msc') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-msc') diff --git a/src/osmo_gsm_tester/obj/nitb_osmo.py b/src/osmo_gsm_tester/obj/nitb_osmo.py index 88ff721..c12648f 100644 --- a/src/osmo_gsm_tester/obj/nitb_osmo.py +++ b/src/osmo_gsm_tester/obj/nitb_osmo.py @@ -39,7 +39,7 @@ def start(self): self.log('Starting osmo-nitb') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-nitb') diff --git a/src/osmo_gsm_tester/obj/osmocon.py b/src/osmo_gsm_tester/obj/osmocon.py index 5d1e5ae..c37cf36 100644 --- a/src/osmo_gsm_tester/obj/osmocon.py +++ b/src/osmo_gsm_tester/obj/osmocon.py @@ -62,7 +62,7 @@ # TODO: make sure the pone is powered off before starting osmocon self.log('Starting osmocon') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmocom-bb'))) diff --git a/src/osmo_gsm_tester/obj/pcu_oc2g.py b/src/osmo_gsm_tester/obj/pcu_oc2g.py index cb5e6cb..5b638f8 100644 --- a/src/osmo_gsm_tester/obj/pcu_oc2g.py +++ b/src/osmo_gsm_tester/obj/pcu_oc2g.py @@ -39,7 +39,7 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-oc2g'))) diff --git a/src/osmo_gsm_tester/obj/pcu_osmo.py b/src/osmo_gsm_tester/obj/pcu_osmo.py index 86e6bbe..c6a2a0e 100644 --- a/src/osmo_gsm_tester/obj/pcu_osmo.py +++ b/src/osmo_gsm_tester/obj/pcu_osmo.py @@ -35,7 +35,7 @@ self.env = {} def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu'))) diff --git a/src/osmo_gsm_tester/obj/pcu_sysmo.py b/src/osmo_gsm_tester/obj/pcu_sysmo.py index 103ad00..cab0845 100644 --- a/src/osmo_gsm_tester/obj/pcu_sysmo.py +++ b/src/osmo_gsm_tester/obj/pcu_sysmo.py @@ -39,7 +39,7 @@ self.remote_user = 'root' def start(self, keepalive=False): - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-pcu-sysmo'))) diff --git a/src/osmo_gsm_tester/obj/sgsn_osmo.py b/src/osmo_gsm_tester/obj/sgsn_osmo.py index a7c7adb..adb1637 100644 --- a/src/osmo_gsm_tester/obj/sgsn_osmo.py +++ b/src/osmo_gsm_tester/obj/sgsn_osmo.py @@ -37,7 +37,7 @@ def start(self): self.log('Starting osmo-sgsn') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-sgsn'))) diff --git a/src/osmo_gsm_tester/obj/stp_osmo.py b/src/osmo_gsm_tester/obj/stp_osmo.py index e8bb4e0..1382016 100644 --- a/src/osmo_gsm_tester/obj/stp_osmo.py +++ b/src/osmo_gsm_tester/obj/stp_osmo.py @@ -35,7 +35,7 @@ def start(self): self.log('Starting osmo-stp') - self.run_dir = util.Dir(self.testenv.suite().get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('osmo-stp'))) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18196 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: I421d35473575086b93d5c8db98b909cc6c83d896 Gerrit-Change-Number: 18196 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:03:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:03:10 +0000 Subject: Change in osmo-gsm-tester[master]: suites/gprs: Catch unexpected iperf3 result content and print it In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 ) Change subject: suites/gprs: Catch unexpected iperf3 result content and print it ...................................................................... suites/gprs: Catch unexpected iperf3 result content and print it Change-Id: I10f7f682da023f5e05e461b73f55cc50c5f36f79 --- M sysmocom/suites/gprs/lib/testlib.py 1 file changed, 10 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 8e42248..636ee2b 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -2,11 +2,16 @@ from osmo_gsm_tester.testenv import * def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + try: + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e + def print_results(cli_res, srv_res): print_result_node(cli_res, 'client') -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18197 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: I10f7f682da023f5e05e461b73f55cc50c5f36f79 Gerrit-Change-Number: 18197 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:03:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:03:10 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: fix numpy import In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 ) Change subject: ms_srs: fix numpy import ...................................................................... ms_srs: fix numpy import numpy is used in a few places in the class code so we need to jhave it available in a bigger scope, while still only loading when needed. Change-Id: Iea66e623e1c980a62d691e20dacb00df99fdd78f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 5805fef..4790e76 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -353,6 +353,8 @@ metrics = srsUEMetrics(self.metrics_file) return metrics.verify(value, operation, metric, criterion) +numpy = None + class srsUEMetrics(log.Origin): VALID_OPERATIONS = ['avg', 'sum'] @@ -365,7 +367,10 @@ super().__init__(log.C_RUN, 'srsue_metrics') self.raw_data = None self.metrics_file = metrics_file - import numpy + global numpy + if numpy is None: + import numpy as numpy_module + numpy = numpy_module # read CSV, guessing data type with first row being the legend try: self.raw_data = numpy.genfromtxt(self.metrics_file, names=True, delimiter=';', dtype=None) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18069 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: Iea66e623e1c980a62d691e20dacb00df99fdd78f Gerrit-Change-Number: 18069 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 11:03:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 11:03:11 +0000 Subject: Change in osmo-gsm-tester[master]: esme: fix smpplib imports In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 ) Change subject: esme: fix smpplib imports ...................................................................... esme: fix smpplib imports smpplib modules are used in several places, so it's not enough to import them in the constructor since they are only imported for the function scope. Change-Id: I6511e28c7ef6aa86e85a7e03aa10a67d87896588 --- M src/osmo_gsm_tester/obj/esme.py 1 file changed, 33 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/esme.py b/src/osmo_gsm_tester/obj/esme.py index e23e88c..13e1bba 100644 --- a/src/osmo_gsm_tester/obj/esme.py +++ b/src/osmo_gsm_tester/obj/esme.py @@ -27,6 +27,25 @@ MAX_SYS_ID_LEN = 16 MAX_PASSWD_LEN = 16 +smpplib_gsm = None +smpplib_client = None +smpplib_command = None +smpplib_consts = None +smpplib_exceptions = None +def _import_smpplib_modules(): + global smpplib_gsm, smpplib_client, smpplib_command, smpplib_consts, smpplib_exceptions + if smpplib_exceptions is None: + import smpplib.gsm + import smpplib.client + import smpplib.command + import smpplib.consts + import smpplib.exceptions + smpplib_gsm = smpplib.gsm + smpplib_client = smpplib.client + smpplib_command = smpplib.command + smpplib_consts = smpplib.consts + smpplib_exceptions = smpplib.exceptions + class Esme(log.Origin): def __init__(self, msisdn): @@ -42,13 +61,9 @@ self.listening = False self.references_pending_receipt = [] self.next_user_message_reference = 1 - import smpplib.gsm - import smpplib.client - import smpplib.command - import smpplib.consts - import smpplib.exceptions - self.MSGMODE_TRANSACTION = smpplib.consts.SMPP_MSGMODE_FORWARD - self.MSGMODE_STOREFORWARD = smpplib.consts.SMPP_MSGMODE_STOREFORWARD + _import_smpplib_modules() + self.MSGMODE_TRANSACTION = smpplib_consts.SMPP_MSGMODE_FORWARD + self.MSGMODE_STOREFORWARD = smpplib_consts.SMPP_MSGMODE_STOREFORWARD def __del__(self): self.cleanup() @@ -56,7 +71,7 @@ def cleanup(self): try: self.disconnect() - except smpplib.exceptions.ConnectionError: + except smpplib_exceptions.ConnectionError: pass def set_smsc(self, smsc): @@ -95,7 +110,7 @@ host, port = self.smsc.addr_port if self.client: self.disconnect() - self.client = smpplib.client.Client(host, port, timeout=None) + self.client = smpplib_client.Client(host, port, timeout=None) self.client.set_message_sent_handler( lambda pdu: self.dbg('Unhandled submit_sm_resp message:', pdu.sequence) ) self.client.set_message_received_handler(self._message_received_handler) @@ -117,9 +132,9 @@ def _message_received_handler(self, pdu, *args): self.dbg('message received:', seq=pdu.sequence) - if isinstance(pdu, smpplib.command.AlertNotification): + if isinstance(pdu, smpplib_command.AlertNotification): self.dbg('message received: AlertNotification:', ms_availability_status=pdu.ms_availability_status) - elif isinstance(pdu, smpplib.command.DeliverSM): + elif isinstance(pdu, smpplib_command.DeliverSM): umref = int(pdu.user_message_reference) self.dbg('message received: DeliverSM', references_pending_receipt=self.references_pending_receipt, user_message_reference=umref) self.references_pending_receipt.remove(umref) @@ -131,25 +146,25 @@ try: method(*args) #it should not succeed, raise an exception: - raise log.Error('SMPP Failure: %s should have failed with SMPP error %d (%s) but succeeded.' % (method, errcode, smpplib.consts.DESCRIPTIONS[errcode])) - except smpplib.exceptions.PDUError as e: + raise log.Error('SMPP Failure: %s should have failed with SMPP error %d (%s) but succeeded.' % (method, errcode, smpplib_consts.DESCRIPTIONS[errcode])) + except smpplib_exceptions.PDUError as e: if e.args[1] != errcode: raise e self.dbg('Expected failure triggered: %d' % errcode) def sms_send(self, sms_obj, mode, receipt=False): - parts, encoding_flag, msg_type_flag = smpplib.gsm.make_parts(str(sms_obj)) + parts, encoding_flag, msg_type_flag = smpplib_gsm.make_parts(str(sms_obj)) seqs = [] self.log('Sending SMS "%s" to %s' % (str(sms_obj), sms_obj.dst_msisdn())) umref = self.next_user_message_reference self.next_user_message_reference = (self.next_user_message_reference + 1) % (1 << 8) for part in parts: pdu = self.client.send_message( - source_addr_ton=smpplib.consts.SMPP_TON_INTL, - source_addr_npi=smpplib.consts.SMPP_NPI_ISDN, + source_addr_ton=smpplib_consts.SMPP_TON_INTL, + source_addr_npi=smpplib_consts.SMPP_NPI_ISDN, source_addr=sms_obj.src_msisdn(), - dest_addr_ton=smpplib.consts.SMPP_TON_INTL, - dest_addr_npi=smpplib.consts.SMPP_NPI_ISDN, + dest_addr_ton=smpplib_consts.SMPP_TON_INTL, + dest_addr_npi=smpplib_consts.SMPP_NPI_ISDN, destination_addr=sms_obj.dst_msisdn(), short_message=part, data_coding=encoding_flag, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18199 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: I6511e28c7ef6aa86e85a7e03aa10a67d87896588 Gerrit-Change-Number: 18199 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 12:13:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 11 May 2020 12:13:59 +0000 Subject: Change in osmo-hlr[master]: esme_dgsm.py: add --always-fail option for debugging SMPP In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16793 ) Change subject: esme_dgsm.py: add --always-fail option for debugging SMPP ...................................................................... esme_dgsm.py: add --always-fail option for debugging SMPP Change-Id: Ibacf2676cae40712c89b57ced34085311d9a416d --- M contrib/dgsm/esme_dgsm.py 1 file changed, 26 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/contrib/dgsm/esme_dgsm.py b/contrib/dgsm/esme_dgsm.py index 75cf93d..9d7e040 100755 --- a/contrib/dgsm/esme_dgsm.py +++ b/contrib/dgsm/esme_dgsm.py @@ -100,6 +100,9 @@ time.sleep(args.sleep) logging.info("Sleep done") + if args.always_fail is not None: + return args.always_fail + result = query_mslookup("smpp.sms", msisdn) if 'v4' not in result or not result['v4']: logging.info('No IPv4 result from mslookup! This example only' @@ -147,12 +150,35 @@ parser.add_argument('--sleep', default=0, type=float, help='sleep time in seconds before forwarding an SMS,' ' to test multithreading (default: 0)') + parser.add_argument('--always-fail', default=None, metavar='SMPP_ESME_ERRCODE', + help='test delivery failure: always return an error code on Deliver-SM,' + ' pass an smpplib error code name like RDELIVERYFAILURE (see smpplib/consts.py),' + ' or an SMPP error code in hex digits') args = parser.parse_args() logging.basicConfig(level=logging.INFO, format='[%(asctime)s]' ' (%(threadName)s) %(message)s', datefmt="%H:%M:%S") + + if args.always_fail: + resolved = None + name = 'SMPP_ESME_' + args.always_fail + if hasattr(smpplib.consts, name): + resolved = getattr(smpplib.consts, name) + if resolved is None: + try: + resolved = int(args.always_fail, 16) + except ValueError: + resolved = None + if resolved is None: + print('Invalid argument for --always-fail: %r' % args.always_fail) + exit(1) + args.always_fail = resolved + logging.info('--always-fail: returning error code %s to all Deliver-SM' % hex(args.always_fail)) + smpp_bind() if __name__ == "__main__": main() + +# vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16793 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ibacf2676cae40712c89b57ced34085311d9a416d Gerrit-Change-Number: 16793 Gerrit-PatchSet: 11 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 12:32:53 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 11 May 2020 12:32:53 +0000 Subject: Change in osmo-msc[master]: gsup_client_mux_tx_error_reply(): handle optional routing IEs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17984 ) Change subject: gsup_client_mux_tx_error_reply(): handle optional routing IEs ...................................................................... Patch Set 1: Code-Review-1 best use the new osmo_gsup_make_response() which is written for this purpose: form a response to a received GSUP message, making sure that all routing and session info is returned correctly. The aim is to avoid code dup of implementations to form a correct response with hidden bugs here and there. Instead, if all code uses osmo_gsup_make_response(), we are conforming everywhere (and fix possible bugs in one place). Was recently merged to libosmo-gsup-client Ideally we'd refactor to use osmo_gsup_req in osmo-msc, but that is beyond this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17984 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2694ea15d2cf57316f2eae845afb957a3e8067b6 Gerrit-Change-Number: 17984 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 11 May 2020 12:32:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 12:41:29 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 11 May 2020 12:41:29 +0000 Subject: Change in osmo-el2tpd[master]: src/test_connect.c: fix compile with Werror In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 ) Change subject: src/test_connect.c: fix compile with Werror ...................................................................... src/test_connect.c: fix compile with Werror test_connect.c:50:2: error: format not a string literal and no format arguments [-Werror=format-security] printf(msgb_hexdump(msg)); ^~~~~~ Change-Id: Ie0104649104ff31e180c05993e707c6629ddbf83 --- M src/test_connect.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/test_connect.c b/src/test_connect.c index bc75950..38aa127 100644 --- a/src/test_connect.c +++ b/src/test_connect.c @@ -47,7 +47,7 @@ } msgb_put(msg, rc); printf("Recv data\n"); - printf(msgb_hexdump(msg)); + printf("%s", msgb_hexdump(msg)); printf("\n"); msgb_free(msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-el2tpd/+/18198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-el2tpd Gerrit-Branch: master Gerrit-Change-Id: Ie0104649104ff31e180c05993e707c6629ddbf83 Gerrit-Change-Number: 18198 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 13:16:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 13:16:40 +0000 Subject: Change in osmo-gsm-tester[master]: Split Scenario class to its own file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 ) Change subject: Split Scenario class to its own file ...................................................................... Split Scenario class to its own file Change-Id: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185 --- M selftest/suite_test/suite_test.py M src/osmo_gsm_tester/core/config.py A src/osmo_gsm_tester/core/scenario.py M src/osmo_gsm_tester/core/suite.py 4 files changed, 148 insertions(+), 112 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/00/18200/1 diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index fc5f9df..a096027 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -3,7 +3,11 @@ import sys import _prep import shutil -from osmo_gsm_tester.core import log, config, util, report +from osmo_gsm_tester.core import log +from osmo_gsm_tester.core import config +from osmo_gsm_tester.core import util +from osmo_gsm_tester.core import report +from osmo_gsm_tester.core import scenario from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema @@ -66,26 +70,26 @@ print('- test with half empty scenario') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) print('- test with scenario') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) print('- test with scenario and modifiers') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } -scenario['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } +sc['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) s.reserve_resources() print(repr(s.reserved_resources)) results = s.run_tests('hello_world.py') @@ -93,9 +97,9 @@ print('- test with suite-specific config') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) s.reserve_resources() print(repr(s.reserved_resources)) results = s.run_tests('test_suite_params.py') diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 98d422f..88e522d 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -165,6 +165,13 @@ with open(path, 'w') as f: f.write(tostr(config)) +def fromstr(config_str, validation_schema=None): + config = yaml.safe_load(config_str) + config = _standardize(config) + if validation_schema is not None: + schema.validate(config, validation_schema) + return config + def tostr(config): return _tostr(_standardize(config)) @@ -188,99 +195,6 @@ defaults = read_config_file(DEFAULTS_CONF, if_missing_return={}) return defaults.get(for_kind, {}) -class Scenario(log.Origin, dict): - def __init__(self, name, path, param_list=[]): - super().__init__(log.C_TST, name) - self.path = path - self.param_list = param_list - - @classmethod - def count_cont_char_backward(cls, str, before_pos, c): - n = 0 - i = before_pos - 1 - while i >= 0: - if str[i] != c: - break - n += 1 - i -= 1 - return n - - @classmethod - def split_scenario_parameters(cls, str): - cur_pos = 0 - param_li = [] - saved = '' - # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. - while True: - prev_pos = cur_pos - cur_pos = str.find(',', prev_pos) - if cur_pos == -1: - param_li.append(str[prev_pos:]) - break - if cur_pos == 0: - param_li.append('') - elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: - saved += str[prev_pos:cur_pos - 1] + ',' - else: - param_li.append(saved + str[prev_pos:cur_pos]) - saved = '' - cur_pos += 1 - i = 0 - # Also escape '\\' -> '\' - while i < len(param_li): - param_li[i] = param_li[i].replace('\\\\', '\\') - i += 1 - return param_li - - @classmethod - def from_param_list_str(cls, name, path, param_list_str): - param_list = cls.split_scenario_parameters(param_list_str) - return cls(name, path, param_list) - - def read_from_file(self, validation_schema): - with open(self.path, 'r') as f: - config_str = f.read() - if len(self.param_list) != 0: - param_dict = {} - i = 1 - for param in self.param_list: - param_dict['param' + str(i)] = param - i += 1 - self.dbg(param_dict=param_dict) - config_str = template.render_strbuf_inline(config_str, param_dict) - config = yaml.safe_load(config_str) - config = _standardize(config) - if validation_schema: - schema.validate(config, validation_schema) - self.update(config) - -def get_scenario(name, validation_schema=None): - scenarios_dir = get_scenarios_dir() - if not name.endswith('.conf'): - name = name + '.conf' - is_parametrized_file = '@' in name - param_list = [] - path = scenarios_dir.child(name) - if not is_parametrized_file: - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r' % path) - sc = Scenario(name, path) - else: # parametrized scenario: - # Allow first matching complete matching names (eg: scenario at param1,param2.conf), - # this allows setting specific content in different files for specific values. - if not os.path.isfile(path): - # get "scenario at .conf" from "scenario at param1,param2.conf": - prefix_name = name[:name.index("@")+1] + '.conf' - path = scenarios_dir.child(prefix_name) - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) - # At this point, we have existing file path. Let's now scrap the parameter(s): - # get param1,param2 str from scenario at param1,param2.conf - param_list_str = name.split('@', 1)[1][:-len('.conf')] - sc = Scenario.from_param_list_str(name, path, param_list_str) - sc.read_from_file(validation_schema) - return sc - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/scenario.py b/src/osmo_gsm_tester/core/scenario.py new file mode 100644 index 0000000..efa045b --- /dev/null +++ b/src/osmo_gsm_tester/core/scenario.py @@ -0,0 +1,117 @@ +# osmo_gsm_tester: Suite scenario +# +# Copyright (C) 2016-2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Neels Hofmeyr +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os + +from . import log +from . import template +from . import config + +class Scenario(log.Origin, dict): + def __init__(self, name, path, param_list=[]): + super().__init__(log.C_TST, name) + self.path = path + self.param_list = param_list + + @classmethod + def count_cont_char_backward(cls, str, before_pos, c): + n = 0 + i = before_pos - 1 + while i >= 0: + if str[i] != c: + break + n += 1 + i -= 1 + return n + + @classmethod + def split_scenario_parameters(cls, str): + cur_pos = 0 + param_li = [] + saved = '' + # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. + while True: + prev_pos = cur_pos + cur_pos = str.find(',', prev_pos) + if cur_pos == -1: + param_li.append(str[prev_pos:]) + break + if cur_pos == 0: + param_li.append('') + elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: + saved += str[prev_pos:cur_pos - 1] + ',' + else: + param_li.append(saved + str[prev_pos:cur_pos]) + saved = '' + cur_pos += 1 + i = 0 + # Also escape '\\' -> '\' + while i < len(param_li): + param_li[i] = param_li[i].replace('\\\\', '\\') + i += 1 + return param_li + + @classmethod + def from_param_list_str(cls, name, path, param_list_str): + param_list = cls.split_scenario_parameters(param_list_str) + return cls(name, path, param_list) + + def read_from_file(self, validation_schema): + with open(self.path, 'r') as f: + config_str = f.read() + if len(self.param_list) != 0: + param_dict = {} + i = 1 + for param in self.param_list: + param_dict['param' + str(i)] = param + i += 1 + self.dbg(param_dict=param_dict) + config_str = template.render_strbuf_inline(config_str, param_dict) + conf = config.fromstr(config_str, validation_schema) + self.update(conf) + +def get_scenario(name, validation_schema=None): + scenarios_dir = config.get_scenarios_dir() + if not name.endswith('.conf'): + name = name + '.conf' + is_parametrized_file = '@' in name + param_list = [] + path = scenarios_dir.child(name) + if not is_parametrized_file: + if not os.path.isfile(path): + raise RuntimeError('No such scenario file: %r' % path) + sc = Scenario(name, path) + else: # parametrized scenario: + # Allow first matching complete matching names (eg: scenario at param1,param2.conf), + # this allows setting specific content in different files for specific values. + if not os.path.isfile(path): + # get "scenario at .conf" from "scenario at param1,param2.conf": + prefix_name = name[:name.index("@")+1] + '.conf' + path = scenarios_dir.child(prefix_name) + if not os.path.isfile(path): + raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) + # At this point, we have existing file path. Let's now scrap the parameter(s): + # get param1,param2 str from scenario at param1,param2.conf + param_list_str = name.split('@', 1)[1][:-len('.conf')] + sc = Scenario.from_param_list_str(name, path, param_list_str) + sc.read_from_file(validation_schema) + return sc + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 81aab3e..a6eaca2 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -26,6 +26,7 @@ from . import util from . import schema from . import resource +from . import scenario from . import test class SuiteDefinition(log.Origin): @@ -111,12 +112,12 @@ if replicate_times: combination = config.replicate_times(combination) log.dbg(definition_conf=combination) - for scenario in self.scenarios: - log.ctx(combining_scenarios=conf_name, scenario=scenario.name()) - c = scenario.get(conf_name, {}) + for sc in self.scenarios: + log.ctx(combining_scenarios=conf_name, scenario=sc.name()) + c = sc.get(conf_name, {}) if replicate_times: c = config.replicate_times(c) - log.dbg(scenario=scenario.name(), conf=c) + log.dbg(scenario=sc.name(), conf=c) if c is None: continue schema.combine(combination, c) @@ -258,7 +259,7 @@ def load_suite_scenario_str(suite_scenario_str): suite_name, scenario_names = parse_suite_scenario_str(suite_scenario_str) suite = load(suite_name) - scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] + scenarios = [scenario.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 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: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185 Gerrit-Change-Number: 18200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 13:21:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 11 May 2020 13:21:12 +0000 Subject: Change in osmo-trx[master]: Use OSMO_FD_READ instead of deprecated BSC_FD_READ In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18162 ) Change subject: Use OSMO_FD_READ instead of deprecated BSC_FD_READ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 Gerrit-Change-Number: 18162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 13:21:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 13:21:57 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 11 May 2020 13:21:57 +0000 Subject: Change in libosmocore[master]: Drop old BSC references in fd check configure option In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18169 ) Change subject: Drop old BSC references in fd check configure option ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 Gerrit-Change-Number: 18169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 13:21:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 14:53:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 14:53:50 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Introduce scenario_test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 ) Change subject: selftest: Introduce scenario_test ...................................................................... selftest: Introduce scenario_test This covers some unit tests for scenario module (Scenario class). Change-Id: I4c80047bb03ae8254c192057007fa7df84478605 --- A selftest/scenario_test/_prep.py A selftest/scenario_test/paths.conf A selftest/scenario_test/scenario_case_01.conf A selftest/scenario_test/scenario_case_02.conf A selftest/scenario_test/scenario_case_03 at .conf A selftest/scenario_test/scenario_case_03 at specific.conf A selftest/scenario_test/scenario_test.err A selftest/scenario_test/scenario_test.ok A selftest/scenario_test/scenario_test.ok.ign A selftest/scenario_test/scenario_test.py 10 files changed, 178 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/01/18201/1 diff --git a/selftest/scenario_test/_prep.py b/selftest/scenario_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/scenario_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/scenario_test/paths.conf b/selftest/scenario_test/paths.conf new file mode 100644 index 0000000..c7df5ac --- /dev/null +++ b/selftest/scenario_test/paths.conf @@ -0,0 +1,3 @@ +state_dir: ./test_work/state_dir +suites_dir: . +scenarios_dir: . diff --git a/selftest/scenario_test/scenario_case_01.conf b/selftest/scenario_test/scenario_case_01.conf new file mode 100644 index 0000000..1050a8d --- /dev/null +++ b/selftest/scenario_test/scenario_case_01.conf @@ -0,0 +1,10 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: 'secondstring' +- somelistitem: 'thirdstring' + +anotherlist: +- 4 +- 0 + +foobar: yes diff --git a/selftest/scenario_test/scenario_case_02.conf b/selftest/scenario_test/scenario_case_02.conf new file mode 100644 index 0000000..bf7b3d6 --- /dev/null +++ b/selftest/scenario_test/scenario_case_02.conf @@ -0,0 +1,11 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: 'secondstring' +- somelistitem: 'thirdstring' + +anotherlist: +- 4 +- 0 + +foobar: yes +unexpectedfoo: gonnafail diff --git a/selftest/scenario_test/scenario_case_03 at .conf b/selftest/scenario_test/scenario_case_03 at .conf new file mode 100644 index 0000000..d411191 --- /dev/null +++ b/selftest/scenario_test/scenario_case_03 at .conf @@ -0,0 +1,10 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: ${param1} +- somelistitem: 'thirdstring' + +anotherlist: +- ${param2} +- 0 + +foobar: ${param3} diff --git a/selftest/scenario_test/scenario_case_03 at specific.conf b/selftest/scenario_test/scenario_case_03 at specific.conf new file mode 100644 index 0000000..925f908 --- /dev/null +++ b/selftest/scenario_test/scenario_case_03 at specific.conf @@ -0,0 +1,2 @@ +somelist: +- somelistitem: 'specific' diff --git a/selftest/scenario_test/scenario_test.err b/selftest/scenario_test/scenario_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/selftest/scenario_test/scenario_test.err diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok new file mode 100644 index 0000000..7fe2049 --- /dev/null +++ b/selftest/scenario_test/scenario_test.ok @@ -0,0 +1,58 @@ +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/scenario_test/paths.conf in [PATH]/selftest/scenario_test which is [PATH]/selftest/scenario_test +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/scenario_test/test_work/state_dir +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +scenario_case_01.conf +{'anotherlist': ['4', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'secondstring'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +scenario_case_01.conf +{'anotherlist': ['4', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'secondstring'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_01 at .conf' (nor scenario_case_01 at .conf) +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected ValueError +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected ValueError +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} +scenario_case_03 at heyho,1,yes.conf +{'anotherlist': ['1', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'heyho'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} +scenario_case_03 at heyho,1,yes.conf +{'anotherlist': ['1', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'heyho'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} +OK: expected NameError: Undefined +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} +OK: expected NameError: Undefined +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} +scenario_case_03 at specific.conf +{'somelist': [{'somelistitem': 'specific'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} +scenario_case_03 at specific.conf +{'somelist': [{'somelistitem': 'specific'}]} diff --git a/selftest/scenario_test/scenario_test.ok.ign b/selftest/scenario_test/scenario_test.ok.ign new file mode 100644 index 0000000..a19fb8b --- /dev/null +++ b/selftest/scenario_test/scenario_test.ok.ign @@ -0,0 +1,2 @@ +/[^ ]*/selftest/ [PATH]/selftest/ +\.py:[0-9]* .py:[LINENR] diff --git a/selftest/scenario_test/scenario_test.py b/selftest/scenario_test/scenario_test.py new file mode 100755 index 0000000..f5f42f7 --- /dev/null +++ b/selftest/scenario_test/scenario_test.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 + +import _prep + +import sys +import os +import io +import pprint +import copy + +from osmo_gsm_tester.core import schema +from osmo_gsm_tester.core import config +from osmo_gsm_tester.core import scenario + +test_schema = { + 'somelist[].somelistitem': schema.STR, + 'anotherlist[]': schema.UINT, + 'foobar' : schema.BOOL_STR, + } + +config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) + +def print_scenario(sc): + # we use copy() to be able to get the dictionary in super class of Scenario: + pprint.pprint(sc) + pprint.pprint(sc.copy()) + +def load_scenario(name, sch=None): + # Test it loads the same both with .conf and without + sc = scenario.get_scenario(name, sch) + print_scenario(sc) + sc = scenario.get_scenario(name + '.conf', sch) + print_scenario(sc) + return sc + +# scenario case 01 should load fine +load_scenario('scenario_case_01', test_schema) + +# Try loading scenario 1 as if it was parametrized (but it's not): +try: + sc = scenario.get_scenario('scenario_case_01@', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) + +# scenario case 02 should fail to load, contains stuff not in test_schema +try: + sc = scenario.get_scenario('scenario_case_02', test_schema) +except ValueError as e: + print('OK: expected ValueError') +try: + sc = scenario.get_scenario('scenario_case_02.conf', test_schema) +except ValueError as e: + print('OK: expected ValueError') + +# scenario case 3 is parametrized, so loading without specifying so should fail: +try: + sc = scenario.get_scenario('scenario_case_03', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) +try: + sc = scenario.get_scenario('scenario_case_03.conf', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) + +#scenario 3 should load fine this way: +sc = load_scenario('scenario_case_03 at heyho,1,yes', test_schema) + +#scenario 3 should fail due to missing parameters: +try: + sc = scenario.get_scenario('scenario_case_03 at heyho,1', test_schema) +except NameError as e: + print('OK: expected NameError: %s' % str(e)) +try: + sc = scenario.get_scenario('scenario_case_03 at heyho,1.conf', test_schema) +except NameError as e: + print('OK: expected NameError: %s' % str(e)) + +#scenario 3 should load the specific config file this way: +sc = load_scenario('scenario_case_03 at specific', test_schema) + +# vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 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: I4c80047bb03ae8254c192057007fa7df84478605 Gerrit-Change-Number: 18201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 14:54:25 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 11 May 2020 14:54:25 +0000 Subject: Change in libosmocore[master]: statsd: fix rendering for groups with idx==0 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18173 ) Change subject: statsd: fix rendering for groups with idx==0 ...................................................................... Patch Set 1: Code-Review+2 Makes sense. We might want to omit the index for the "global" counter values because there is only one, but we shouldn't unconditionally omit all 0 indices. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 Gerrit-Change-Number: 18173 Gerrit-PatchSet: 1 Gerrit-Owner: Earwin @ Fairwaves Gerrit-Reviewer: Earwin @ Fairwaves Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 11 May 2020 14:54:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 14:58:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 14:58:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187/2/pcu/PCU_Tests.ttcn at 1669 PS2, Line 1669: ack_nack_desc.final_ack := '1'B; > s/sent/set/ CV (countdown) only exists in Uplink blocks, here we have FBI instead. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 14:58:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 14:59:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 14:59:51 +0000 Subject: Change in pysim[master]: Introduce function for converting bytes list in (hex or int) to string In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Introduce function for converting bytes list in (hex or int) to string ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Comment-Date: Mon, 11 May 2020 14:59:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:00:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 15:00:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 15:00:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 15:04:36 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Introduce scenario_test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 ) Change subject: selftest: Introduce scenario_test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 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: I4c80047bb03ae8254c192057007fa7df84478605 Gerrit-Change-Number: 18201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 15:04:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:04:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 15:04:42 +0000 Subject: Change in osmo-gsm-tester[master]: Split Scenario class to its own file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 ) Change subject: Split Scenario class to its own file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 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: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185 Gerrit-Change-Number: 18200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 15:04:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:04:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 15:04:45 +0000 Subject: Change in osmo-gsm-tester[master]: Split Scenario class to its own file In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 ) Change subject: Split Scenario class to its own file ...................................................................... Split Scenario class to its own file Change-Id: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185 --- M selftest/suite_test/suite_test.py M src/osmo_gsm_tester/core/config.py A src/osmo_gsm_tester/core/scenario.py M src/osmo_gsm_tester/core/suite.py 4 files changed, 148 insertions(+), 112 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index fc5f9df..a096027 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -3,7 +3,11 @@ import sys import _prep import shutil -from osmo_gsm_tester.core import log, config, util, report +from osmo_gsm_tester.core import log +from osmo_gsm_tester.core import config +from osmo_gsm_tester.core import util +from osmo_gsm_tester.core import report +from osmo_gsm_tester.core import scenario from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema @@ -66,26 +70,26 @@ print('- test with half empty scenario') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{'type': 'osmo-bts-trx'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) print('- test with scenario') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) results = s.run_tests('hello_world.py') print(report.suite_to_text(s)) print('- test with scenario and modifiers') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } -scenario['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['resources'] = { 'bts': [{ 'times': '2', 'type': 'osmo-bts-trx', 'trx_list': [{'nominal_power': '10'}, {'nominal_power': '12'}]}, {'type': 'sysmo'}] } +sc['modifiers'] = { 'bts': [{ 'times': '2', 'trx_list': [{'nominal_power': '20'}, {'nominal_power': '20'}]}, {'type': 'sysmo'}] } +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) s.reserve_resources() print(repr(s.reserved_resources)) results = s.run_tests('hello_world.py') @@ -93,9 +97,9 @@ print('- test with suite-specific config') trial = FakeTrial() -scenario = config.Scenario('foo', 'bar') -scenario['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} -s = suite.SuiteRun(trial, 'test_suite', s_def, [scenario]) +sc = scenario.Scenario('foo', 'bar') +sc['config'] = {'suite': {s.name(): { 'some_suite_global_param': 'heyho', 'test_suite_params': {'one_bool_parameter': 'true', 'second_list_parameter': ['23', '45']}}}} +s = suite.SuiteRun(trial, 'test_suite', s_def, [sc]) s.reserve_resources() print(repr(s.reserved_resources)) results = s.run_tests('test_suite_params.py') diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 98d422f..88e522d 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -165,6 +165,13 @@ with open(path, 'w') as f: f.write(tostr(config)) +def fromstr(config_str, validation_schema=None): + config = yaml.safe_load(config_str) + config = _standardize(config) + if validation_schema is not None: + schema.validate(config, validation_schema) + return config + def tostr(config): return _tostr(_standardize(config)) @@ -188,99 +195,6 @@ defaults = read_config_file(DEFAULTS_CONF, if_missing_return={}) return defaults.get(for_kind, {}) -class Scenario(log.Origin, dict): - def __init__(self, name, path, param_list=[]): - super().__init__(log.C_TST, name) - self.path = path - self.param_list = param_list - - @classmethod - def count_cont_char_backward(cls, str, before_pos, c): - n = 0 - i = before_pos - 1 - while i >= 0: - if str[i] != c: - break - n += 1 - i -= 1 - return n - - @classmethod - def split_scenario_parameters(cls, str): - cur_pos = 0 - param_li = [] - saved = '' - # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. - while True: - prev_pos = cur_pos - cur_pos = str.find(',', prev_pos) - if cur_pos == -1: - param_li.append(str[prev_pos:]) - break - if cur_pos == 0: - param_li.append('') - elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: - saved += str[prev_pos:cur_pos - 1] + ',' - else: - param_li.append(saved + str[prev_pos:cur_pos]) - saved = '' - cur_pos += 1 - i = 0 - # Also escape '\\' -> '\' - while i < len(param_li): - param_li[i] = param_li[i].replace('\\\\', '\\') - i += 1 - return param_li - - @classmethod - def from_param_list_str(cls, name, path, param_list_str): - param_list = cls.split_scenario_parameters(param_list_str) - return cls(name, path, param_list) - - def read_from_file(self, validation_schema): - with open(self.path, 'r') as f: - config_str = f.read() - if len(self.param_list) != 0: - param_dict = {} - i = 1 - for param in self.param_list: - param_dict['param' + str(i)] = param - i += 1 - self.dbg(param_dict=param_dict) - config_str = template.render_strbuf_inline(config_str, param_dict) - config = yaml.safe_load(config_str) - config = _standardize(config) - if validation_schema: - schema.validate(config, validation_schema) - self.update(config) - -def get_scenario(name, validation_schema=None): - scenarios_dir = get_scenarios_dir() - if not name.endswith('.conf'): - name = name + '.conf' - is_parametrized_file = '@' in name - param_list = [] - path = scenarios_dir.child(name) - if not is_parametrized_file: - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r' % path) - sc = Scenario(name, path) - else: # parametrized scenario: - # Allow first matching complete matching names (eg: scenario at param1,param2.conf), - # this allows setting specific content in different files for specific values. - if not os.path.isfile(path): - # get "scenario at .conf" from "scenario at param1,param2.conf": - prefix_name = name[:name.index("@")+1] + '.conf' - path = scenarios_dir.child(prefix_name) - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) - # At this point, we have existing file path. Let's now scrap the parameter(s): - # get param1,param2 str from scenario at param1,param2.conf - param_list_str = name.split('@', 1)[1][:-len('.conf')] - sc = Scenario.from_param_list_str(name, path, param_list_str) - sc.read_from_file(validation_schema) - return sc - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/scenario.py b/src/osmo_gsm_tester/core/scenario.py new file mode 100644 index 0000000..efa045b --- /dev/null +++ b/src/osmo_gsm_tester/core/scenario.py @@ -0,0 +1,117 @@ +# osmo_gsm_tester: Suite scenario +# +# Copyright (C) 2016-2020 by sysmocom - s.f.m.c. GmbH +# +# Author: Neels Hofmeyr +# Author: Pau Espin Pedrol +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import os + +from . import log +from . import template +from . import config + +class Scenario(log.Origin, dict): + def __init__(self, name, path, param_list=[]): + super().__init__(log.C_TST, name) + self.path = path + self.param_list = param_list + + @classmethod + def count_cont_char_backward(cls, str, before_pos, c): + n = 0 + i = before_pos - 1 + while i >= 0: + if str[i] != c: + break + n += 1 + i -= 1 + return n + + @classmethod + def split_scenario_parameters(cls, str): + cur_pos = 0 + param_li = [] + saved = '' + # Split into a list, but we want to escape '\,' to avoid splitting parameters containing commas. + while True: + prev_pos = cur_pos + cur_pos = str.find(',', prev_pos) + if cur_pos == -1: + param_li.append(str[prev_pos:]) + break + if cur_pos == 0: + param_li.append('') + elif cur_pos != 0 and str[cur_pos - 1] == '\\' and cls.count_cont_char_backward(str, cur_pos, '\\') % 2 == 1: + saved += str[prev_pos:cur_pos - 1] + ',' + else: + param_li.append(saved + str[prev_pos:cur_pos]) + saved = '' + cur_pos += 1 + i = 0 + # Also escape '\\' -> '\' + while i < len(param_li): + param_li[i] = param_li[i].replace('\\\\', '\\') + i += 1 + return param_li + + @classmethod + def from_param_list_str(cls, name, path, param_list_str): + param_list = cls.split_scenario_parameters(param_list_str) + return cls(name, path, param_list) + + def read_from_file(self, validation_schema): + with open(self.path, 'r') as f: + config_str = f.read() + if len(self.param_list) != 0: + param_dict = {} + i = 1 + for param in self.param_list: + param_dict['param' + str(i)] = param + i += 1 + self.dbg(param_dict=param_dict) + config_str = template.render_strbuf_inline(config_str, param_dict) + conf = config.fromstr(config_str, validation_schema) + self.update(conf) + +def get_scenario(name, validation_schema=None): + scenarios_dir = config.get_scenarios_dir() + if not name.endswith('.conf'): + name = name + '.conf' + is_parametrized_file = '@' in name + param_list = [] + path = scenarios_dir.child(name) + if not is_parametrized_file: + if not os.path.isfile(path): + raise RuntimeError('No such scenario file: %r' % path) + sc = Scenario(name, path) + else: # parametrized scenario: + # Allow first matching complete matching names (eg: scenario at param1,param2.conf), + # this allows setting specific content in different files for specific values. + if not os.path.isfile(path): + # get "scenario at .conf" from "scenario at param1,param2.conf": + prefix_name = name[:name.index("@")+1] + '.conf' + path = scenarios_dir.child(prefix_name) + if not os.path.isfile(path): + raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) + # At this point, we have existing file path. Let's now scrap the parameter(s): + # get param1,param2 str from scenario at param1,param2.conf + param_list_str = name.split('@', 1)[1][:-len('.conf')] + sc = Scenario.from_param_list_str(name, path, param_list_str) + sc.read_from_file(validation_schema) + return sc + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index 81aab3e..a6eaca2 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -26,6 +26,7 @@ from . import util from . import schema from . import resource +from . import scenario from . import test class SuiteDefinition(log.Origin): @@ -111,12 +112,12 @@ if replicate_times: combination = config.replicate_times(combination) log.dbg(definition_conf=combination) - for scenario in self.scenarios: - log.ctx(combining_scenarios=conf_name, scenario=scenario.name()) - c = scenario.get(conf_name, {}) + for sc in self.scenarios: + log.ctx(combining_scenarios=conf_name, scenario=sc.name()) + c = sc.get(conf_name, {}) if replicate_times: c = config.replicate_times(c) - log.dbg(scenario=scenario.name(), conf=c) + log.dbg(scenario=sc.name(), conf=c) if c is None: continue schema.combine(combination, c) @@ -258,7 +259,7 @@ def load_suite_scenario_str(suite_scenario_str): suite_name, scenario_names = parse_suite_scenario_str(suite_scenario_str) suite = load(suite_name) - scenarios = [config.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] + scenarios = [scenario.get_scenario(scenario_name, schema.get_all_schema()) for scenario_name in scenario_names] return (suite_scenario_str, suite, scenarios) # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18200 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: Ia029de7ecda4c8dc3d0b4c412e4c9c0a65cf0185 Gerrit-Change-Number: 18200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:04:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 15:04:45 +0000 Subject: Change in osmo-gsm-tester[master]: selftest: Introduce scenario_test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 ) Change subject: selftest: Introduce scenario_test ...................................................................... selftest: Introduce scenario_test This covers some unit tests for scenario module (Scenario class). Change-Id: I4c80047bb03ae8254c192057007fa7df84478605 --- A selftest/scenario_test/_prep.py A selftest/scenario_test/paths.conf A selftest/scenario_test/scenario_case_01.conf A selftest/scenario_test/scenario_case_02.conf A selftest/scenario_test/scenario_case_03 at .conf A selftest/scenario_test/scenario_case_03 at specific.conf A selftest/scenario_test/scenario_test.err A selftest/scenario_test/scenario_test.ok A selftest/scenario_test/scenario_test.ok.ign A selftest/scenario_test/scenario_test.py 10 files changed, 178 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/scenario_test/_prep.py b/selftest/scenario_test/_prep.py new file mode 120000 index 0000000..9cea3fe --- /dev/null +++ b/selftest/scenario_test/_prep.py @@ -0,0 +1 @@ +../_prep.py \ No newline at end of file diff --git a/selftest/scenario_test/paths.conf b/selftest/scenario_test/paths.conf new file mode 100644 index 0000000..c7df5ac --- /dev/null +++ b/selftest/scenario_test/paths.conf @@ -0,0 +1,3 @@ +state_dir: ./test_work/state_dir +suites_dir: . +scenarios_dir: . diff --git a/selftest/scenario_test/scenario_case_01.conf b/selftest/scenario_test/scenario_case_01.conf new file mode 100644 index 0000000..1050a8d --- /dev/null +++ b/selftest/scenario_test/scenario_case_01.conf @@ -0,0 +1,10 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: 'secondstring' +- somelistitem: 'thirdstring' + +anotherlist: +- 4 +- 0 + +foobar: yes diff --git a/selftest/scenario_test/scenario_case_02.conf b/selftest/scenario_test/scenario_case_02.conf new file mode 100644 index 0000000..bf7b3d6 --- /dev/null +++ b/selftest/scenario_test/scenario_case_02.conf @@ -0,0 +1,11 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: 'secondstring' +- somelistitem: 'thirdstring' + +anotherlist: +- 4 +- 0 + +foobar: yes +unexpectedfoo: gonnafail diff --git a/selftest/scenario_test/scenario_case_03 at .conf b/selftest/scenario_test/scenario_case_03 at .conf new file mode 100644 index 0000000..d411191 --- /dev/null +++ b/selftest/scenario_test/scenario_case_03 at .conf @@ -0,0 +1,10 @@ +somelist: +- somelistitem: 'firststring' +- somelistitem: ${param1} +- somelistitem: 'thirdstring' + +anotherlist: +- ${param2} +- 0 + +foobar: ${param3} diff --git a/selftest/scenario_test/scenario_case_03 at specific.conf b/selftest/scenario_test/scenario_case_03 at specific.conf new file mode 100644 index 0000000..925f908 --- /dev/null +++ b/selftest/scenario_test/scenario_case_03 at specific.conf @@ -0,0 +1,2 @@ +somelist: +- somelistitem: 'specific' diff --git a/selftest/scenario_test/scenario_test.err b/selftest/scenario_test/scenario_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/selftest/scenario_test/scenario_test.err diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok new file mode 100644 index 0000000..7fe2049 --- /dev/null +++ b/selftest/scenario_test/scenario_test.ok @@ -0,0 +1,58 @@ +cnf -: DBG: Found config file paths.conf as [PATH]/selftest/scenario_test/paths.conf in [PATH]/selftest/scenario_test which is [PATH]/selftest/scenario_test +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/scenario_test/test_work/state_dir +cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +scenario_case_01.conf +{'anotherlist': ['4', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'secondstring'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +scenario_case_01.conf +{'anotherlist': ['4', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'secondstring'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_01 at .conf' (nor scenario_case_01 at .conf) +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected ValueError +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected ValueError +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} +scenario_case_03 at heyho,1,yes.conf +{'anotherlist': ['1', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'heyho'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} +scenario_case_03 at heyho,1,yes.conf +{'anotherlist': ['1', '0'], + 'foobar': 'True', + 'somelist': [{'somelistitem': 'firststring'}, + {'somelistitem': 'heyho'}, + {'somelistitem': 'thirdstring'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} +OK: expected NameError: Undefined +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} +OK: expected NameError: Undefined +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} +scenario_case_03 at specific.conf +{'somelist': [{'somelistitem': 'specific'}]} +cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} +scenario_case_03 at specific.conf +{'somelist': [{'somelistitem': 'specific'}]} diff --git a/selftest/scenario_test/scenario_test.ok.ign b/selftest/scenario_test/scenario_test.ok.ign new file mode 100644 index 0000000..a19fb8b --- /dev/null +++ b/selftest/scenario_test/scenario_test.ok.ign @@ -0,0 +1,2 @@ +/[^ ]*/selftest/ [PATH]/selftest/ +\.py:[0-9]* .py:[LINENR] diff --git a/selftest/scenario_test/scenario_test.py b/selftest/scenario_test/scenario_test.py new file mode 100755 index 0000000..f5f42f7 --- /dev/null +++ b/selftest/scenario_test/scenario_test.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 + +import _prep + +import sys +import os +import io +import pprint +import copy + +from osmo_gsm_tester.core import schema +from osmo_gsm_tester.core import config +from osmo_gsm_tester.core import scenario + +test_schema = { + 'somelist[].somelistitem': schema.STR, + 'anotherlist[]': schema.UINT, + 'foobar' : schema.BOOL_STR, + } + +config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) + +def print_scenario(sc): + # we use copy() to be able to get the dictionary in super class of Scenario: + pprint.pprint(sc) + pprint.pprint(sc.copy()) + +def load_scenario(name, sch=None): + # Test it loads the same both with .conf and without + sc = scenario.get_scenario(name, sch) + print_scenario(sc) + sc = scenario.get_scenario(name + '.conf', sch) + print_scenario(sc) + return sc + +# scenario case 01 should load fine +load_scenario('scenario_case_01', test_schema) + +# Try loading scenario 1 as if it was parametrized (but it's not): +try: + sc = scenario.get_scenario('scenario_case_01@', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) + +# scenario case 02 should fail to load, contains stuff not in test_schema +try: + sc = scenario.get_scenario('scenario_case_02', test_schema) +except ValueError as e: + print('OK: expected ValueError') +try: + sc = scenario.get_scenario('scenario_case_02.conf', test_schema) +except ValueError as e: + print('OK: expected ValueError') + +# scenario case 3 is parametrized, so loading without specifying so should fail: +try: + sc = scenario.get_scenario('scenario_case_03', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) +try: + sc = scenario.get_scenario('scenario_case_03.conf', test_schema) +except RuntimeError as e: + print('OK: expected RuntimeError: %s' % str(e)) + +#scenario 3 should load fine this way: +sc = load_scenario('scenario_case_03 at heyho,1,yes', test_schema) + +#scenario 3 should fail due to missing parameters: +try: + sc = scenario.get_scenario('scenario_case_03 at heyho,1', test_schema) +except NameError as e: + print('OK: expected NameError: %s' % str(e)) +try: + sc = scenario.get_scenario('scenario_case_03 at heyho,1.conf', test_schema) +except NameError as e: + print('OK: expected NameError: %s' % str(e)) + +#scenario 3 should load the specific config file this way: +sc = load_scenario('scenario_case_03 at specific', test_schema) + +# vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18201 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: I4c80047bb03ae8254c192057007fa7df84478605 Gerrit-Change-Number: 18201 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:06:00 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 15:06:00 +0000 Subject: Change in libosmocore[master]: statsd: fix rendering for groups with idx==0 In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18173 ) Change subject: statsd: fix rendering for groups with idx==0 ...................................................................... statsd: fix rendering for groups with idx==0 while skipping `0` might be visually pleasant for non-repeating groups, e.g.: bsc.assignment.completed it makes metrics parsing very awkward for repeating groups, e.g.: bts.chreq.total bts.1.chreq.total bts.2.chreq.total and since nobody's going to look at raw statsd stream anyway, we can live with some extra zeroes Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 --- M src/stats_statsd.c 1 file changed, 6 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified ipse: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/stats_statsd.c b/src/stats_statsd.c index c3f739e..d449667 100644 --- a/src/stats_statsd.c +++ b/src/stats_statsd.c @@ -99,24 +99,16 @@ int old_len = msgb_length(srep->buffer); if (prefix) { - if (name1) { - if (index1 != 0) - fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s"; - else - fmt = "%1$s.%2$s.%3$s:%4$d|%5$s"; - } else { + if (name1) + fmt = "%1$s.%2$s.%6$u.%3$s:%4$d|%5$s"; + else fmt = "%1$s.%2$0.0s%3$s:%4$d|%5$s"; - } } else { prefix = ""; - if (name1) { - if (index1 != 0) - fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s"; - else - fmt = "%1$s%2$s.%3$s:%4$d|%5$s"; - } else { + if (name1) + fmt = "%1$s%2$s.%6$u.%3$s:%4$d|%5$s"; + else fmt = "%1$s%2$0.0s%3$s:%4$d|%5$s"; - } } if (srep->agg_enabled) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 Gerrit-Change-Number: 18173 Gerrit-PatchSet: 1 Gerrit-Owner: Earwin @ Fairwaves Gerrit-Reviewer: Earwin @ Fairwaves Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:12:51 2020 From: gerrit-no-reply at lists.osmocom.org (Earwin @ Fairwaves) Date: Mon, 11 May 2020 15:12:51 +0000 Subject: Change in libosmocore[master]: statsd: fix rendering for groups with idx==0 In-Reply-To: References: Message-ID: Earwin @ Fairwaves has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18173 ) Change subject: statsd: fix rendering for groups with idx==0 ...................................................................... Patch Set 1: > We might want to omit the index for the "global" counter values because there is only one. I'm considering doing away with 'index' altogether, and introducing a string discriminator value. That way: 1) you can use things like LAC+CI to identify BTS, instead of configuration-dependent index; something that makes more physical world sense for other repeatable groups (e.g peer identifiers instead of port for MGW RTP stream stats) 2) empty string is a natural sign of "global" counter group, no need to have a separate flag for that -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id294202fbcebe0b6b155c7f267b2da73af20adf4 Gerrit-Change-Number: 18173 Gerrit-PatchSet: 1 Gerrit-Owner: Earwin @ Fairwaves Gerrit-Reviewer: Earwin @ Fairwaves Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: ipse Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 11 May 2020 15:12:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:45:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 15:45:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 ) Change subject: PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation ...................................................................... PCU: introduce f_rrbp_ack_fn(), fix poll frame number calculation The resulting frame number shall be within the period of TDMA hyperframe. Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 10 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 38147f3..bcd2b23 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -29,6 +29,11 @@ return 0; } + function f_rrbp_ack_fn(uint32_t current_fn, MacRrbp rrbp) + return uint32_t { + return (current_fn + f_rrbp_fn_delay(rrbp)) mod 2715648; + } + function f_rlcmac_mcs2headertype(CodingScheme mcs) return EgprsHeaderType { select (mcs) { case (MCS_0) { return RLCMAC_HDR_TYPE_3; } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 32df39e..eff20f7 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -547,7 +547,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) @@ -571,7 +571,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) @@ -584,7 +584,7 @@ f_shutdown(__BFILE__, __LINE__); } - poll_fn := dl_fn + f_rrbp_fn_delay(dl_block.ctrl.mac_hdr.rrbp); + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } @@ -606,7 +606,7 @@ runs on RAW_PCU_Test_CT { log("verifying dl data block (gprs): ", dl_block); - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data.mac_hdr.mac_hdr.rrbp); + ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data.mac_hdr.mac_hdr.rrbp); if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", @@ -645,7 +645,7 @@ runs on RAW_PCU_Test_CT { log("verifying dl data block (egprs): ", dl_block); - ack_fn := dl_fn + f_rrbp_fn_delay(dl_block.data_egprs.mac_hdr.rrbp); + ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data_egprs.mac_hdr.rrbp); if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I794a14f69293cbbc937d62d09dd5794956b882db Gerrit-Change-Number: 18183 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:45:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 15:45:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: fix t_RLCMAC_DlMacH: RRBP is always present In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 ) Change subject: library: fix t_RLCMAC_DlMacH: RRBP is always present ...................................................................... library: fix t_RLCMAC_DlMacH: RRBP is always present This template is not (yet) used anywhere, but let's fix it anyway to avoid possible confusion. Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index bcd2b23..f2945eb 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -356,11 +356,13 @@ } } - template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template -uint3_t usf) := { + template DlMacHeader t_RLCMAC_DlMacH(template (present) MacPayloadType pt, + template (present) boolean rrbp_valid, + template (present) MacRrbp rrbp, + template (present) uint3_t usf) := { payload_type := pt, rrbp := rrbp, - rrbp_valid := ispresent(rrbp), + rrbp_valid := rrbp_valid, usf := usf } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic819f2b0eb292170de73abc7e200d79fcf02a76c Gerrit-Change-Number: 18184 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:45:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 15:45:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 ) Change subject: library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS ...................................................................... library: enrich tr_RLCMAC_DATA_RRBP, rename to tr_RLCMAC_DATA_GPRS Let's make this template more flexible, so it can be used to match any GPRS DL data blocks, not only those with rrbp_valid == true. Note that behavior of f_rx_rlcmac_dl_block_exp_data() is intentionally left unchanged, and will be fixed later. Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05 Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 8 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index f2945eb..675a081 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -497,14 +497,16 @@ } } - template RlcmacDlBlock tr_RLCMAC_DATA_RRBP := { + template RlcmacDlBlock tr_RLCMAC_DATA_GPRS(template (present) boolean rrbp_valid := ?, + template (present) MacRrbp rrbp := ?, + template (present) uint3_t usf := ?) := { data := { mac_hdr := { mac_hdr := { payload_type := MAC_PT_RLC_DATA, - rrbp := ?, - rrbp_valid := true, - usf := ? + rrbp := rrbp, + rrbp_valid := rrbp_valid, + usf := usf }, hdr_ext := ? }, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index eff20f7..3d194a9 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -686,7 +686,8 @@ var PCUIF_Message pcu_msg; var uint32_t dl_fn; var boolean is_egprs := false; - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; + /* FIXME: for some reason, this template expects blocks with 'rrbp_valid' flag set */ + var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_GPRS(rrbp_valid := true); dl_template.data.blocks := ?; f_rx_rlcmac_dl_block(dl_block, dl_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3940216368cdbb58fe89420675d1d8d5f5e49b05 Gerrit-Change-Number: 18185 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:45:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 15:45:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 ) Change subject: PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() ...................................................................... PCU: refactor and simplify f_rx_rlcmac_dl_block_exp_data() This function was written in a way that it tries to do as many different (but related) things as possible: a) send an RTS.req to the IUT, expect a DATA.ind in return, b) decode RLC/MAC message contained in the received DATA.ind, c) make sure that it's either GPRS or EGPRS data block, d) calculate the last TDMA frame number of RRBP using f_rrbp_ack_fn() regardless of its validity, e) make sure that the block contains a given LLC payload. Everything is ok except point d). The problem is that this is only the case for the first block of RRBP, and not applicable to the rest having 'rrbp_valid' flag unset. Furthermore, this function did not match GPRS DL blocks with 'rrbp_valid' flag unset, for some odd reason. Let's move RRBP calculation into a separate function called f_dl_block_ack_fn() and return TDMA frame number of the received DATA.ind message instead. Among with that, there are more little changes: - simplify matching of (E)GPRS DL data blocks, - use 'in' qualifier in parameter list where possible, - turn parameter 'data' into a template (present). Change-Id: I1528408b4399d0a149a23961805277eaab90d407 Signed-off-by: Vadim Yanitskiy --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 95 insertions(+), 72 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 675a081..dd1371f 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -497,6 +497,9 @@ } } + /* Either GPRS or EGPRS data block with arbitrary contents */ + template RlcmacDlBlock tr_RLCMAC_DATA := (tr_RLCMAC_DATA_GPRS, tr_RLCMAC_DATA_EGPRS); + template RlcmacDlBlock tr_RLCMAC_DATA_GPRS(template (present) boolean rrbp_valid := ?, template (present) MacRrbp rrbp := ?, template (present) uint3_t usf := ?) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d194a9..0a6b410 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -599,78 +599,64 @@ } } -private function f_rlcmac_dl_block_verify_data_gprs(RlcmacDlBlock dl_block, uint32_t dl_fn, - out uint32_t ack_fn, octetstring data, +/* This function does what could probably be done with templates */ +private function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, + template (present) octetstring data := ?, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - log("verifying dl data block (gprs): ", dl_block); - - ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data.mac_hdr.mac_hdr.rrbp); - - if (not match(dl_block.data.mac_hdr.hdr_ext.bsn, exp_bsn)) { + if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); } - if (lengthof(dl_block.data.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); f_shutdown(__BFILE__, __LINE__); } - if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - f_shutdown(__BFILE__, __LINE__); - } - - if (dl_block.data.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); f_shutdown(__BFILE__, __LINE__); } /* TODO: check exp_cs */ } -private function f_rlcmac_dl_block_verify_data_egprs(RlcmacDlBlock dl_block, uint32_t dl_fn, - out uint32_t ack_fn, octetstring data, +/* This function does what could probably be done with templates */ +private function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, + template (present) octetstring data := ?, template (present) uint14_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - log("verifying dl data block (egprs): ", dl_block); - - ack_fn := f_rrbp_ack_fn(dl_fn, dl_block.data_egprs.mac_hdr.rrbp); - - if (not match(dl_block.data_egprs.mac_hdr.bsn1, exp_bsn)) { + if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { setverdict(fail, "DL block BSN doesn't match: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs exp ", exp_bsn); + data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); } - if (lengthof(dl_block.data_egprs.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", dl_block); + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); f_shutdown(__BFILE__, __LINE__); } - if (ispresent(dl_block.data_egprs.blocks[0].hdr) and dl_block.data_egprs.blocks[0].hdr.length_ind != lengthof(data)) { - setverdict(fail, "DL block has LLC header with wrong expected size: ", - dl_block.data_egprs.blocks[0].hdr.length_ind, " vs ", lengthof(data)); - f_shutdown(__BFILE__, __LINE__); - } - - if (dl_block.data_egprs.blocks[0].payload != data) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); f_shutdown(__BFILE__, __LINE__); } /* Check next data blocks contain dummy frames */ - if (lengthof(dl_block.data_egprs.blocks) > 1 and substr(dl_block.data_egprs.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); f_shutdown(__BFILE__, __LINE__); } @@ -678,36 +664,62 @@ See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ } -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t ack_fn, - octetstring data, +/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ +private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, + template (present) octetstring data := ?, template (present) uint7_t exp_bsn := ?, template (present) CodingScheme exp_cs := ?) runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var uint32_t dl_fn; - var boolean is_egprs := false; - /* FIXME: for some reason, this template expects blocks with 'rrbp_valid' flag set */ - var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_GPRS(rrbp_valid := true); - dl_template.data.blocks := ?; - + /* FIXME: ideally we should use an alt statement with timeout here, rather than + * having +100500 layers of abstraction. This would facilitate developing the + * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received + * block is exactly what you need. */ f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, dl_template)) { - dl_template := tr_RLCMAC_DATA_EGPRS; - dl_template.data_egprs.blocks := ?; - if (not match(dl_block, dl_template)) { - setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); - f_shutdown(__BFILE__, __LINE__); - } - is_egprs := true; + + /* Make sure it's either GPRS or EGPRS data block */ + if (not match(dl_block, tr_RLCMAC_DATA)) { + setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); + f_shutdown(__BFILE__, __LINE__); } - if (is_egprs) { - f_rlcmac_dl_block_verify_data_egprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + if (ischosen(dl_block.data_egprs)) { + f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); + } else if (ischosen(dl_block.data)) { + f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); } else { - f_rlcmac_dl_block_verify_data_gprs(dl_block, dl_fn, ack_fn, data, exp_bsn, exp_cs); + /* Should not happen, but the caller may theoretically give us a template for CTRL */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); } } +private function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) +runs on RAW_PCU_Test_CT return uint32_t { + var boolean rrbp_valid; + var MacRrbp rrbp; + + /* The argument must be either a GPRS or EGPRS data block */ + if (ischosen(dl_block.data_egprs)) { + rrbp_valid := true; /* always valid */ + rrbp := dl_block.data_egprs.mac_hdr.rrbp; + } else if (ischosen(dl_block.data)) { + rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; + rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; + } else { + /* Should not happen, but the caller may theoretically give us a CTRL block */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure that the given block really needs to be ACKnowledged */ + if (not rrbp_valid) { + setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); + f_shutdown(__BFILE__, __LINE__); + } + + return f_rrbp_ack_fn(dl_fn, rrbp); +} + testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); var GprsTlli tlli := 'FFFFFFFF'O; @@ -1309,6 +1321,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1331,11 +1344,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); /* we are done with the DL-TBF here so far, let's clean up our local state: */ ack_nack_desc := valueof(t_AckNackDescription_init) @@ -1347,9 +1361,10 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1366,6 +1381,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1419,11 +1435,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1460,6 +1477,7 @@ var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1482,11 +1500,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ ok := f_establish_tbf(rr_imm_ass); @@ -1536,7 +1555,7 @@ var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); var boolean ok; - var uint32_t sched_fn; + var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); @@ -1559,7 +1578,7 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU @@ -1571,11 +1590,12 @@ /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); - f_rx_rlcmac_dl_block_exp_data(dl_block, sched_fn, data, 0); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), 0, sched_fn); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1528408b4399d0a149a23961805277eaab90d407 Gerrit-Change-Number: 18186 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 15:45:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 15:45:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce a new test case TC_dl_flow_more_blocks In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 ) Change subject: PCU: introduce a new test case TC_dl_flow_more_blocks ...................................................................... PCU: introduce a new test case TC_dl_flow_more_blocks Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Signed-off-by: Vadim Yanitskiy Related: OS#4506 --- M pcu/PCU_Tests.ttcn 1 file changed, 81 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 0a6b410..a232a7f 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1600,6 +1600,86 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify scheduling of multiple Downlink data blocks during one RRBP. */ +testcase TC_dl_flow_more_blocks() runs on RAW_PCU_Test_CT { + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var octetstring data := f_rnd_octstring(16); + var OCT4 tlli := f_rnd_octstring(4); + var PacketDlAssign dl_tbf_ass; + var GsmRrMessage rr_imm_ass; + var RlcmacDlBlock dl_block; + var uint32_t ack_fn; + var uint32_t fn; + timer T := 5.0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); + + /* Make sure we've got a Downlink TBF assignment with DL TFI */ + f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + if (not ispresent(dl_tbf_ass.group1)) { + setverdict(fail, "Immediate Assignment contains no DL TFI"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Get DL TFI from received Downlink TBF assignment */ + var uint5_t tfi := dl_tbf_ass.group1.tfi_assignment; + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ + f_sleep(X2002); + + /* Expect the first (GPRS DL) block with bsn=0 and rrbp_valid=1 */ + f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, 0); + f_acknackdesc_ack_block(ack_nack_desc, dl_block); + + /* TDMA frame number on which we are supposed to send the ACK */ + ack_fn := f_dl_block_ack_fn(dl_block, fn); + + /* SGSN sends more blocks during the indicated RRBP */ + for (var integer bsn := 1; bsn < 63; bsn := bsn + 1) { + data := f_rnd_octstring(16); /* Random LLC data */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + + f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, bsn); + + /* Make sure this block has the same TFI as was assigned + * FIXME: this is only valid for GPRS, not EGPRS. */ + if (dl_block.data.mac_hdr.hdr_ext.tfi != tfi) { + setverdict(fail, "Rx DL data block with unexpected TFI: ", + dl_block.data.mac_hdr.hdr_ext.tfi); + f_shutdown(__BFILE__, __LINE__); + } + + /* Keep Ack/Nack description updated */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block); + + /* Break if this is the end of RRBP */ + if (fn == ack_fn) { + ack_nack_desc.final_ack := '1'B; + break; + } + } + + /* This is the end of RRBP, send Packet Downlink Ack/Nack */ + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(tfi, ack_nack_desc), fn := fn); + + /* Make sure that the next block (after the Ack) is dummy */ + f_rx_rlcmac_dl_block_exp_dummy(dl_block); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + private function f_pkt_paging_match_imsi(in PacketPagingReq req, hexstring imsi) runs on RAW_PCU_Test_CT { var MobileIdentityLV_Paging mi_lv := req.repeated_pageinfo.cs.mobile_identity; @@ -1930,6 +2010,7 @@ execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); + execute( TC_dl_flow_more_blocks() ); execute( TC_paging_cs_from_bts() ); execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); execute( TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45edbc943194c15b084eb04dda390db75b4bfa0f Gerrit-Change-Number: 18187 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 16:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 16:51:03 +0000 Subject: Change in osmo-ci[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18202 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... osmo-gsm-tester: Point config parameter to file instead of its dirname Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55, the -c parameter holds the config file and not the directory where it is contained. Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a --- M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester_ttcn3.sh 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/02/18202/1 diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 788f057..041ef93 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -236,7 +236,7 @@ docker run --rm=true \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ - -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom" \ + -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom/main.conf" \ -e OSMO_GSM_TESTER_OPTS="$OSMO_GSM_TESTER_OPTS" \ -e BUILD_NUMBER="$BUILD_NUMBER" \ -w /build -i \ diff --git a/jobs/osmo-gsm-tester_ttcn3.sh b/jobs/osmo-gsm-tester_ttcn3.sh index cb973fd..c844d22 100644 --- a/jobs/osmo-gsm-tester_ttcn3.sh +++ b/jobs/osmo-gsm-tester_ttcn3.sh @@ -2,7 +2,7 @@ set -e -x # On our hardware, we actually use the ttcn3 configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom/ttcn3" +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom/ttcn3/main.conf" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a Gerrit-Change-Number: 18202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 16:52:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 16:52:29 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18203 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... osmo-gsm-tester: Point config parameter to file instead of its dirname Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55, the -c parameter holds the config file and not the directory where it is contained. Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/18203/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 89f7116..5b1541b 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,7 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmoco/main.conf} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 Gerrit-Change-Number: 18203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:14:28 +0000 Subject: Change in osmo-bsc[master]: handover_test: Properly allocate MSC data struct. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18189 ) Change subject: handover_test: Properly allocate MSC data struct. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7498d2891259be9b532845627f14ac75e98e703e Gerrit-Change-Number: 18189 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:14:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:15:16 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:15:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:17:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:17:33 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... Patch Set 3: Code-Review-1 the renamning of the #defines is without any problem. Remaning the user-visible counter names will break any existing monitoring setup that expects the old names. In general, it might be better to match the names of the new counters to those of the old ones, rather than changing existing iterfaces/naming? If we want to go ahead with this (I would appreciate more feedback on this) we have to add an entry to TODO-RELEASE and make sure we mention this very clearly in the next tagged release. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:17:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:17:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:17:39 +0000 Subject: Change in osmo-bsc[master]: handover_test: Properly allocate MSC data struct. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18189 ) Change subject: handover_test: Properly allocate MSC data struct. ...................................................................... handover_test: Properly allocate MSC data struct. Without a properly allocated MSC struct, touching counters crashes the test. Change-Id: I7498d2891259be9b532845627f14ac75e98e703e --- M tests/handover/handover_test.c 1 file changed, 1 insertion(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 0d98717..bdc18c3 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -217,19 +217,11 @@ void create_conn(struct gsm_lchan *lchan) { - static struct bsc_msc_data fake_msc_data = {}; - fake_msc_data.network = bsc_gsmnet; static unsigned int next_imsi = 0; char imsi[sizeof(lchan->conn->bsub->imsi)]; struct gsm_network *net = lchan->ts->trx->bts->network; struct gsm_subscriber_connection *conn; struct mgcp_client *fake_mgcp_client = (void*)talloc_zero(net, int); - uint8_t *amr_conf; - - /* HACK: lchan_fsm.c requires some AMR codec rates to be enabled, - * lets pretend that all AMR codec rates are allowed */ - amr_conf = (uint8_t*) &fake_msc_data.amr_conf; - amr_conf[1] = 0xff; conn = bsc_subscr_con_allocate(net); @@ -239,7 +231,7 @@ net->mgw.tdefs, "test", "fake endpoint"); - conn->sccp.msc = &fake_msc_data; + conn->sccp.msc = osmo_msc_data_alloc(net, 0); lchan->conn = conn; conn->lchan = lchan; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7498d2891259be9b532845627f14ac75e98e703e Gerrit-Change-Number: 18189 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:17:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:17:39 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters for Tx BSSMAP messages. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18190 ) Change subject: stats: Add counters for Tx BSSMAP messages. ...................................................................... stats: Add counters for Tx BSSMAP messages. We already have counters for Rx side, now we also count Tx side. See comments in the msc_ctr_description array implementation for the details. Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c 8 files changed, 105 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index dc9628b..7db0625 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -58,6 +58,7 @@ /* Constants for the MSC rate counters */ enum { + /* Rx message counters */ MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE, MSC_CTR_BSSMAP_RX_UDT_RESET, MSC_CTR_BSSMAP_RX_UDT_PAGING, @@ -71,6 +72,35 @@ MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, MSC_CTR_BSSMAP_RX_DTAP_MSG, MSC_CTR_BSSMAP_RX_DTAP_ERROR, + + /* Tx message counters (per connection type) */ + MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT, + MSC_CTR_BSSMAP_TX_DTAP, + MSC_CTR_BSSMAP_TX_UNKNOWN, + MSC_CTR_BSSMAP_TX_SHORT, + MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY, + MSC_CTR_BSSMAP_TX_ERR_SEND, + MSC_CTR_BSSMAP_TX_SUCCESS, + + /* Tx message counters (per message type) */ + MSC_CTR_BSSMAP_TX_UDT_RESET, + MSC_CTR_BSSMAP_TX_UDT_RESET_ACK, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE, + MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_DTAP, }; /* Constants for the MSC stats */ diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 16e04cd..674dcbc 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -116,10 +116,12 @@ { struct msgb *resp = gsm0808_create_assignment_failure(conn->assignment.failure_cause, NULL); - if (!resp) + if (!resp) { LOG_ASSIGNMENT(conn, LOGL_ERROR, "Unable to compose BSSMAP Assignment Failure message\n"); - else + } else { + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); gscon_sigtran_send(conn, resp); + } /* If assignment failed as early as in assignment_fsm_start(), there may not be an fi yet. */ if (conn->assignment.fi) { @@ -206,6 +208,7 @@ conn->assignment.req.use_osmux) _gsm0808_ass_compl_extend_osmux(resp, osmux_cid); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE]); rc = gscon_sigtran_send(conn, resp); if (rc) { assignment_fail(GSM0808_CAUSE_EQUIPMENT_FAILURE, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 77d5d1a..0b475ff 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -143,6 +143,7 @@ LOGPFSML(conn->fi, LOGL_ERROR, "Unable to compose BSSMAP Clear Request message\n"); return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); rc = osmo_bsc_sigtran_send(conn, resp); if (rc < 0) LOGPFSML(conn->fi, LOGL_ERROR, "Unable to deliver BSSMAP Clear Request message\n"); @@ -157,6 +158,7 @@ OSMO_ASSERT(conn); resp = gsm0808_create_dtap(msg, OBSC_LINKID_CB(msg)); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_DTAP]); gscon_sigtran_send(conn, resp); } @@ -761,6 +763,7 @@ /* Close MGCP connections */ osmo_mgcpc_ep_clear(conn->user_plane.mgw_endpoint); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE]); gscon_sigtran_send(conn, gsm0808_create_clear_complete()); break; case GSCON_EV_A_DISC_IND: diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 3efc665..4f9c69e 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -133,6 +133,7 @@ LOGP(DMSC, LOGL_NOTICE, "Tx MSC SAPI N REJECT DLCI=0x%02x\n", dlci); resp = gsm0808_create_sapi_reject(dlci); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -149,6 +150,7 @@ LOGP(DMSC, LOGL_DEBUG, "CIPHER MODE COMPLETE from MS, forwarding to MSC\n"); resp = gsm0808_create_cipher_complete(msg, chosen_encr); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -712,6 +714,7 @@ return 1; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) msgb_free(resp); @@ -742,6 +745,7 @@ if (!msc_connected(conn)) return; + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE]); resp = gsm0808_create_classmark_update(cm2, cm2_len, cm3, cm3_len); rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); if (rc != 0) diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index e36aaae..0b88b27 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -773,6 +773,7 @@ return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED]); rc = gscon_sigtran_send(conn, msg); if (rc < 0) { LOG_HO(conn, LOGL_ERROR, "message sending failed, can't send HANDOVER PERFORMED!\n"); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index b92e39a..276657f 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -560,6 +560,7 @@ return -1; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -640,6 +641,7 @@ LOGPFSM(conn->fi, "Tx LCLS CONNECT CTRL ACK (%s)\n", gsm0808_lcls_status_name(lcls_get_status(conn))); resp = gsm0808_create_lcls_conn_ctrl_ack(lcls_get_status(conn)); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return 0; @@ -954,6 +956,7 @@ resp = gsm0808_create_assignment_failure(cause, NULL); OSMO_ASSERT(resp); + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE]); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); return -1; } @@ -1273,6 +1276,7 @@ return -EINVAL; } + rate_ctr_inc(&lchan->conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED]); rc = gscon_sigtran_send(lchan->conn, msg); if (rc) { LOG_HO(lchan->conn, LOGL_ERROR, "Cannot send BSSMAP Handover Required message\n"); @@ -1318,6 +1322,7 @@ params.aoip_transport_layer = &ss; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE]); LOG_HO(conn, LOGL_DEBUG, "Sending BSSMAP Handover Request Acknowledge\n"); msg = gsm0808_create_handover_request_ack2(¶ms); msgb_free(rr_ho_command); @@ -1333,6 +1338,7 @@ if (!msg) return -ENOMEM; + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT]); return osmo_bsc_sigtran_send(conn, msg); } @@ -1372,6 +1378,7 @@ return HO_RESULT_ERROR; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE]); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) { LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Complete message\n"); @@ -1393,6 +1400,7 @@ return; } + rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE]); rc = osmo_bsc_sigtran_send(conn, msg); if (rc) LOG_HO(conn, LOGL_ERROR, "Cannot send BSSMAP Handover Failure message (rc=%d %s)\n", diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 544341b..0dbe9d4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,6 +44,7 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { + /* Rx message counters */ [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, @@ -57,6 +58,46 @@ [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, + + /* Tx message counters (per message type) + * + * The counters here follow the logic of the osmo_bsc_sigtran_send() function + * which receives DT1 messages from the upper layers and actually sends them to the MSC. + * These counters cover all messages passed to the function by the upper layers: */ + [MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT] = {"bssmap:tx:type:bss_management", "Number of transmitted BSS MANAGEMENT messages"}, + [MSC_CTR_BSSMAP_TX_DTAP] = {"bssmap:tx:type:dtap", "Number of transmitted DTAP messages"}, + [MSC_CTR_BSSMAP_TX_UNKNOWN] = {"bssmap:tx:type:err_unknown", "Number of transmitted messages with unknown type (an error in our code?)"}, + [MSC_CTR_BSSMAP_TX_SHORT] = {"bssmap:tx:type:err_short", "Number of transmitted messages which are too short (an error in our code?)"}, + /* The next counters are also counted in the osmo_bsc_sigtran_send() function and + * sum up to the exactly same number as the counters above but instead of message + * classes they split by the result of the sending attempt: */ + [MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY] = {"bssmap:tx:result:err_conn_not_ready", "Number of BSSMAP messages we tried to send when the connection was not ready yet"}, + [MSC_CTR_BSSMAP_TX_ERR_SEND] = {"bssmap:tx:result:err_send", "Number of socket errors while sending BSSMAP messages"}, + [MSC_CTR_BSSMAP_TX_SUCCESS] = {"bssmap:tx:result:success", "Number of successfully sent BSSMAP messages"}, + + /* Tx message counters (per specific message) + * + * Theoretically, the DT1 counters should sum up to the same number as the Tx counters + * above but since these counters are coming from the upper layers, there might be + * some difference if we forget some code path. */ + [MSC_CTR_BSSMAP_TX_UDT_RESET] = {"bssmap:tx:udt:reset:request", "Number of transmitted BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_TX_UDT_RESET_ACK] = {"bssmap:tx:udt:reset:ack", "Number of transmitted BSSMAP UDT RESET ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST] = {"bssmap:tx:dt1:clear:rqst", "Number of transmitted BSSMAP DT1 CLEAR RQSTtx messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE] = {"bssmap:tx:dt1:clear:complete", "Number of transmitted BSSMAP DT1 CLEAR COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE] = {"bssmap:tx:dt1:assigment:failure", "Number of transmitted BSSMAP DT1 ASSIGMENT FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE] = {"bssmap:tx:dt1:assigment:complete", "Number of transmitted BSSMAP DT1 ASSIGMENT COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT] = {"bssmap:tx:dt1:sapi_n:reject", "Number of transmitted BSSMAP DT1 SAPI N REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE] = {"bssmap:tx:dt1:cipher_mode:complete", "Number of transmitted BSSMAP DT1 CIPHER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT] = {"bssmap:tx:dt1:cipher_mode:reject", "Number of transmitted BSSMAP DT1 CIPHER REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE] = {"bssmap:tx:dt1:classmark:update", "Number of transmitted BSSMAP DT1 CLASSMARK UPDATE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK] = {"bssmap:tx:dt1:lcls_connect_ctrl:ack", "Number of transmitted BSSMAP DT1 LCLS CONNECT CTRL ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED] = {"bssmap:tx:dt1:handover:required", "Number of transmitted BSSMAP DT1 HANDOVER REQUIRED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED] = {"bssmap:tx:dt1:handover:performed", "Number of transmitted BSSMAP DT1 HANDOVER PERFORMED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE] = {"bssmap:tx:dt1:handover:rqst_acknowledge", "Number of transmitted BSSMAP DT1 HANDOVER RQST ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT] = {"bssmap:tx:dt1:handover:detect", "Number of transmitted BSSMAP DT1 HANDOVER DETECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE] = {"bssmap:tx:dt1:handover:complete", "Number of transmitted BSSMAP DT1 HANDOVER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE] = {"bssmap:tx:dt1:handover:failure", "Number of transmitted BSSMAP DT1 HANDOVER FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_DTAP] = {"bssmap:tx:dt1:dtap", "Number of transmitted BSSMAP DT1 DTAP messages"}, }; static const struct rate_ctr_group_desc msc_ctrg_desc = { diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index e4530bf..3871682 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -105,6 +105,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET]); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -124,6 +125,7 @@ if (msc_is_aoip(msc) && msc->use_osmux != OSMUX_USAGE_OFF) _gsm0808_extend_announce_osmux(msg); + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UDT_RESET_ACK]); osmo_sccp_tx_unitdata_msg(msc->a.sccp_user, &msc->a.bsc_addr, &msc->a.msc_addr, msg); } @@ -383,20 +385,26 @@ if (msg->len >= 3) { switch (msg->data[0]) { case BSSAP_MSG_BSS_MANAGEMENT: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT]); LOGP(DMSC, LOGL_INFO, "Tx MSC: BSSMAP: %s\n", gsm0808_bssmap_name(msg->data[2])); break; case BSSAP_MSG_DTAP: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DTAP]); LOGP(DMSC, LOGL_INFO, "Tx MSC: DTAP\n"); break; default: + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_UNKNOWN]); LOGP(DMSC, LOGL_ERROR, "Tx MSC: unknown message type: 0x%x\n", msg->data[0]); } - } else + } else { + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SHORT]); LOGP(DMSC, LOGL_ERROR, "Tx MSC: message too short: %u\n", msg->len); + } if (a_reset_conn_ready(msc) == false) { + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY]); LOGP(DMSC, LOGL_ERROR, "MSC is not connected. Dropping.\n"); msgb_free(msg); return -EINVAL; @@ -410,6 +418,10 @@ conn_id, osmo_sccp_addr_name(ss7, &msc->a.msc_addr), osmo_hexdump(msg->data, msg->len)); rc = osmo_sccp_tx_data_msg(msc->a.sccp_user, conn_id, msg); + if (rc >= 0) + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_SUCCESS]); + else + rate_ctr_inc(&msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_ERR_SEND]); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10 Gerrit-Change-Number: 18190 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:18:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:18:15 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 11 May 2020 17:18:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:19:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:19:41 +0000 Subject: Change in docker-playground[master]: fix bts-test: logging for virtphy lost by typo In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18174 ) Change subject: fix bts-test: logging for virtphy lost by typo ...................................................................... Patch Set 1: please run the test at least once locally before merge. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I78c62321eef5603c161597caf30319c5696ac45a Gerrit-Change-Number: 18174 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Assignee: neels Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 11 May 2020 17:19:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:21:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:21:23 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 ) Change subject: gsup: send RAT type on LU ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/16745/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-sgsn/+/16745/2//COMMIT_MSG at 13 PS2, Line 13: Note that the "Supported RAT Types" IE is used to send the actually attached : RAT. Could be a reason to not merge this to master as-is. this is no longer the case in the latest patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Mon, 11 May 2020 17:21:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:22:44 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18177 ) Change subject: subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const ...................................................................... subchan_demux: Use 'ubit_t' for unpacked bit buffer; use const Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae --- M include/osmocom/abis/e1_input.h M include/osmocom/abis/subchan_demux.h M src/e1_input.c M src/subchan_demux.c M src/trau_frame.c 5 files changed, 7 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/include/osmocom/abis/e1_input.h b/include/osmocom/abis/e1_input.h index 4362f50..a38bab8 100644 --- a/include/osmocom/abis/e1_input.h +++ b/include/osmocom/abis/e1_input.h @@ -273,7 +273,7 @@ /* configure and initialize one timeslot dedicated to TRAU frames. */ int e1inp_ts_config_trau(struct e1inp_ts *ts, struct e1inp_line *line, int (*trau_rcv_cb)(struct subch_demux *dmx, int ch, - uint8_t *data, int len, void *_priv)); + const ubit_t *data, int len, void *_priv)); /* configure and initialize one timeslot dedicated to RAW frames */ int e1inp_ts_config_raw(struct e1inp_ts *ts, struct e1inp_line *line, diff --git a/include/osmocom/abis/subchan_demux.h b/include/osmocom/abis/subchan_demux.h index 4e2f464..3978d73 100644 --- a/include/osmocom/abis/subchan_demux.h +++ b/include/osmocom/abis/subchan_demux.h @@ -22,6 +22,7 @@ #include #include +#include /*! \defgroup subchan_demux * \brief E1 sub-channel multiplexer/demultiplexer @@ -44,7 +45,7 @@ /*! \brief one subchannel inside the demultplexer */ struct demux_subch { /*! \brief bit-buffer for output bits */ - uint8_t out_bitbuf[TRAU_FRAME_BITS]; + ubit_t out_bitbuf[TRAU_FRAME_BITS]; /*! \brief next bit to be written in out_bitbuf */ uint16_t out_idx; /*! \brief number of consecutive zeros that we have received (for sync) */ @@ -61,7 +62,7 @@ struct demux_subch subch[NR_SUBCH]; /*! \brief callback to be called once we have received a * complete frame on a given subchannel */ - int (*out_cb)(struct subch_demux *dmx, int ch, uint8_t *data, int len, + int (*out_cb)(struct subch_demux *dmx, int ch, const ubit_t *data, int len, void *); /*! \brief user-provided data, transparently passed to out_cb() */ void *data; diff --git a/src/e1_input.c b/src/e1_input.c index 379cc53..b3341e7 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -297,7 +297,7 @@ /* Timeslot */ int e1inp_ts_config_trau(struct e1inp_ts *ts, struct e1inp_line *line, int (*trau_rcv_cb)(struct subch_demux *dmx, int ch, - uint8_t *data, int len, void *_priv)) + const ubit_t *data, int len, void *_priv)) { if (ts->type == E1INP_TS_TYPE_TRAU && ts->line && line) return 0; diff --git a/src/subchan_demux.c b/src/subchan_demux.c index d15c4b8..9275fda 100644 --- a/src/subchan_demux.c +++ b/src/subchan_demux.c @@ -40,7 +40,7 @@ void *tall_tqe_ctx; -static inline void append_bit(struct demux_subch *sch, uint8_t bit) +static inline void append_bit(struct demux_subch *sch, ubit_t bit) { sch->out_bitbuf[sch->out_idx++] = bit; } diff --git a/src/trau_frame.c b/src/trau_frame.c index 717bc32..eaced3d 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -37,7 +37,7 @@ * \file trau_frame.c */ -static uint32_t get_bits(const uint8_t *bitbuf, int offset, int num) +static uint32_t get_bits(const ubit_t *bitbuf, int offset, int num) { int i; uint32_t ret = 0; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia082b9fddf03d02afd007825a1588a3ef0dbedae Gerrit-Change-Number: 18177 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:22:45 +0000 Subject: Change in libosmo-abis[master]: trau_frame: use 'ubit_t' for unpacked bits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18178 ) Change subject: trau_frame: use 'ubit_t' for unpacked bits ...................................................................... trau_frame: use 'ubit_t' for unpacked bits Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 21 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index f2a7015..63882d7 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -21,6 +21,7 @@ */ #include +#include /*! \defgroup trau_frame TRAU frame handling * @{ @@ -43,11 +44,11 @@ /*! \brief a decoded TRAU frame, extracted C/D/T/S/M bits */ struct decoded_trau_frame { - uint8_t c_bits[MAX_C_BITS]; - uint8_t d_bits[MAX_D_BITS]; - uint8_t t_bits[MAX_T_BITS]; - uint8_t s_bits[MAX_S_BITS]; - uint8_t m_bits[MAX_M_BITS]; + ubit_t c_bits[MAX_C_BITS]; + ubit_t d_bits[MAX_D_BITS]; + ubit_t t_bits[MAX_T_BITS]; + ubit_t s_bits[MAX_S_BITS]; + ubit_t m_bits[MAX_M_BITS]; }; #define TRAU_FT_FR_UP 0x02 /* 0 0 0 1 0 - 3.5.1.1.1 */ @@ -64,11 +65,11 @@ #define TRAU_FT_IDLE_DOWN 0x0e /* 0 1 1 1 0 - 3.5.5 */ -int decode_trau_frame(struct decoded_trau_frame *fr, const uint8_t *trau_bits); -int encode_trau_frame(uint8_t *trau_bits, const struct decoded_trau_frame *fr); +int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits); +int encode_trau_frame(ubit_t *trau_bits, const struct decoded_trau_frame *fr); int trau_frame_up2down(struct decoded_trau_frame *fr); -uint8_t *trau_idle_frame(void); +ubit_t *trau_idle_frame(void); /* }@ */ diff --git a/src/trau_frame.c b/src/trau_frame.c index eaced3d..9558b3f 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -51,7 +51,7 @@ } /* Decode according to 3.1.1 */ -static void decode_fr(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_fr(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { int i; int d_idx = 0; @@ -72,7 +72,7 @@ } /* Decode according to 3.1.2 */ -static void decode_amr(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_amr(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { int i; int d_idx = 0; @@ -94,7 +94,7 @@ memcpy(fr->d_bits + d_idx, trau_bits + 305, 11); } -static void decode_data(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +static void decode_data(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { /* C1 .. C15 */ memcpy(fr->c_bits+0, trau_bits+17, 15); @@ -102,7 +102,7 @@ memcpy(fr->d_bits, trau_bits+32, 288); } -int decode_trau_frame(struct decoded_trau_frame *fr, const uint8_t *trau_bits) +int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits) { uint8_t cbits5 = get_bits(trau_bits, 17, 5); @@ -139,9 +139,9 @@ return 0; } -const uint8_t ft_fr_down_bits[] = { 1, 1, 1, 0, 0 }; -const uint8_t ft_idle_down_bits[] = { 0, 1, 1, 1, 0 }; -const uint8_t ft_data_down_bits[] = { 1, 0, 1, 1, 0 }; +const ubit_t ft_fr_down_bits[] = { 1, 1, 1, 0, 0 }; +const ubit_t ft_idle_down_bits[] = { 0, 1, 1, 1, 0 }; +const ubit_t ft_data_down_bits[] = { 1, 0, 1, 1, 0 }; /*! \brief modify an uplink TRAU frame so we can send it downlink * \param[in,out] fr the uplink TRAU frame that is to be converted @@ -209,7 +209,7 @@ } -static void encode_fr(uint8_t *trau_bits, const struct decoded_trau_frame *fr) +static void encode_fr(ubit_t *trau_bits, const struct decoded_trau_frame *fr) { int i; int d_idx = 0; @@ -235,7 +235,7 @@ memcpy(trau_bits+316, fr->t_bits+0, 4); } -static void encode_data(uint8_t *trau_bits, const struct decoded_trau_frame *fr) +static void encode_data(ubit_t *trau_bits, const struct decoded_trau_frame *fr) { trau_bits[16] = 1; /* C1 .. C15 */ @@ -249,7 +249,7 @@ * \param[in] fr decoded trau frame structure * \returns 0 in case of success, < 0 in case of error */ -int encode_trau_frame(uint8_t *trau_bits, const struct decoded_trau_frame *fr) +int encode_trau_frame(ubit_t *trau_bits, const struct decoded_trau_frame *fr) { uint8_t cbits5 = get_bits(fr->c_bits, 0, 5); @@ -291,12 +291,12 @@ .c_bits = { 0, 1, 1, 1, 0 }, /* IDLE DOWNLINK 3.5.5 */ .t_bits = { 1, 1, 1, 1 }, }; -static uint8_t encoded_idle_frame[TRAU_FRAME_BITS]; +static ubit_t encoded_idle_frame[TRAU_FRAME_BITS]; static int dbits_initted = 0; /*! \brief return pointer to global buffer containing a TRAU idle frame */ -uint8_t *trau_idle_frame(void) +ubit_t *trau_idle_frame(void) { /* only initialize during the first call */ if (!dbits_initted) { -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I497dbb7e9e199c6276e585b977bd941a2b442b3b Gerrit-Change-Number: 18178 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:22:45 +0000 Subject: Change in libosmo-abis[master]: subchan_demux: Use ubit_t where appropriate In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18179 ) Change subject: subchan_demux: Use ubit_t where appropriate ...................................................................... subchan_demux: Use ubit_t where appropriate the subchan_demux code predates ubit_t; let's use it to clarify certain pointers refer to arrays of unpacked bits. Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 --- M include/osmocom/abis/subchan_demux.h M src/subchan_demux.c 2 files changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/abis/subchan_demux.h b/include/osmocom/abis/subchan_demux.h index 3978d73..dac072c 100644 --- a/include/osmocom/abis/subchan_demux.h +++ b/include/osmocom/abis/subchan_demux.h @@ -85,7 +85,7 @@ unsigned int bit_len; /*!< \brief total number of bits in 'bits' */ unsigned int next_bit; /*!< \brief next bit to be transmitted */ - uint8_t bits[0]; /*!< \brief one bit per byte */ + ubit_t bits[0]; /*!< \brief one bit per byte */ }; /*! \brief one sub-channel inside a multiplexer */ @@ -102,7 +102,7 @@ int subchan_mux_init(struct subch_mux *mx); int subchan_mux_out(struct subch_mux *mx, uint8_t *data, int len); -int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const uint8_t *data, +int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const ubit_t *data, int len); /* }@ */ diff --git a/src/subchan_demux.c b/src/subchan_demux.c index 9275fda..55503db 100644 --- a/src/subchan_demux.c +++ b/src/subchan_demux.c @@ -200,7 +200,7 @@ /* return the requested number of bits from the specified subchannel */ static int get_subch_bits(struct subch_mux *mx, int subch, - uint8_t *bits, int num_requested) + ubit_t *bits, int num_requested) { struct mux_subch *sch = &mx->subch[subch]; int num_bits = 0; @@ -258,7 +258,7 @@ /* obtain a single output byte from the subchannel muxer */ static int mux_output_byte(struct subch_mux *mx, uint8_t *byte) { - uint8_t bits[8]; + ubit_t bits[8]; int rc; /* combine two bits of every subchan */ @@ -310,11 +310,11 @@ /*! \brief enqueue some data into the tx_queue of a given subchannel * \param[in] mx subchannel muxer instance * \param[in] s_nr subchannel number - * \param[in] data pointer to buffer with data - * \param[in] len length of \a data + * \param[in] data pointer to buffer with data (unpacked bits) + * \param[in] len length of data (in unpacked bits) * \returns 0 in case of success, <0 in case of error */ -int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const uint8_t *data, +int subchan_mux_enqueue(struct subch_mux *mx, int s_nr, const ubit_t *data, int len) { struct mux_subch *sch = &mx->subch[s_nr]; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I944f05473954920d57e12d5514cf928fc78f2ea4 Gerrit-Change-Number: 18179 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:22:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:22:45 +0000 Subject: Change in libosmo-abis[master]: trau_frame.h: Fix definition of TRAU_FT_OM_UP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18180 ) Change subject: trau_frame.h: Fix definition of TRAU_FT_OM_UP ...................................................................... trau_frame.h: Fix definition of TRAU_FT_OM_UP Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd --- M include/osmocom/abis/trau_frame.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index 63882d7..afcaaa4 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -55,7 +55,7 @@ #define TRAU_FT_FR_DOWN 0x1c /* 1 1 1 0 0 - 3.5.1.1.1 */ #define TRAU_FT_EFR 0x1a /* 1 1 0 1 0 - 3.5.1.1.1 */ #define TRAU_FT_AMR 0x06 /* 0 0 1 1 0 - 3.5.1.2 */ -#define TRAU_FT_OM_UP 0x07 /* 0 0 1 0 1 - 3.5.2 */ +#define TRAU_FT_OM_UP 0x05 /* 0 0 1 0 1 - 3.5.2 */ #define TRAU_FT_OM_DOWN 0x1b /* 1 1 0 1 1 - 3.5.2 */ #define TRAU_FT_DATA_UP 0x08 /* 0 1 0 0 0 - 3.5.3 */ #define TRAU_FT_DATA_DOWN 0x16 /* 1 0 1 1 0 - 3.5.3 */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ifd3393fca2ce65f93e8ec6c150474011a5713ccd Gerrit-Change-Number: 18180 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:24:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:24:08 +0000 Subject: Change in libosmocore[master]: Drop old BSC references in fd check configure option In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18169 ) Change subject: Drop old BSC references in fd check configure option ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 Gerrit-Change-Number: 18169 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:24:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:24:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:24:16 +0000 Subject: Change in libosmocore[master]: Drop old BSC references in fd check configure option In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18169 ) Change subject: Drop old BSC references in fd check configure option ...................................................................... Drop old BSC references in fd check configure option Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 --- M configure.ac M src/select.c 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/configure.ac b/configure.ac index cba0a41..ac887a0 100644 --- a/configure.ac +++ b/configure.ac @@ -227,12 +227,12 @@ AC_ARG_ENABLE(bsc_fd_check, [AS_HELP_STRING( [--enable-bsc-fd-check], - [Instrument bsc_register_fd to check that the fd is registered] + [Instrument osmo_fd_register to check that the fd is registered] )], [fd_check=$enableval], [fd_check="no"]) if test x"$fd_check" = x"no" then - AC_DEFINE([BSC_FD_CHECK],[1],[Instrument the bsc_register_fd]) + AC_DEFINE([OSMO_FD_CHECK],[1],[Instrument the osmo_fd_register]) fi AC_ARG_ENABLE(msgfile, diff --git a/src/select.c b/src/select.c index 774056a..496beea 100644 --- a/src/select.c +++ b/src/select.c @@ -121,7 +121,7 @@ if (fd->fd > maxfd) maxfd = fd->fd; -#ifdef BSC_FD_CHECK +#ifdef OSMO_FD_CHECK if (osmo_fd_is_registered(fd)) { fprintf(stderr, "Adding a osmo_fd that is already in the list.\n"); return 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I053c2bfe461aa82085e7dac1cdcc95dd77219949 Gerrit-Change-Number: 18169 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:24:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:24:29 +0000 Subject: Change in osmo-trx[master]: Use OSMO_FD_READ instead of deprecated BSC_FD_READ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18162 ) Change subject: Use OSMO_FD_READ instead of deprecated BSC_FD_READ ...................................................................... Use OSMO_FD_READ instead of deprecated BSC_FD_READ New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_READ symbol when copy-pasting somewhere else. Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 9f625eb..9fcbda5 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -236,7 +236,7 @@ exit(EXIT_FAILURE); } - osmo_fd_setup(&signal_ofd, sfd, BSC_FD_READ, signalfd_callback, NULL, 0); + osmo_fd_setup(&signal_ofd, sfd, OSMO_FD_READ, signalfd_callback, NULL, 0); if (osmo_fd_register(&signal_ofd) < 0) { fprintf(stderr, "osmo_fd_register() failed.\n"); exit(EXIT_FAILURE); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I868baf575b77c448b3115701e70d439de89b0fb3 Gerrit-Change-Number: 18162 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:25:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:25:04 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 11 May 2020 17:25:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:25:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:25:30 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 11 May 2020 17:25:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:25:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:25:33 +0000 Subject: Change in pysim[master]: Import TLV parsing related function from https://github.com/mitshell/... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18194 ) Change subject: Import TLV parsing related function from https://github.com/mitshell/card ...................................................................... Import TLV parsing related function from https://github.com/mitshell/card The functions are imported from the git commit 2a81963790e27eb6b188359af169c45afb6d3aaf from master branch Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c --- M pySim/utils.py 1 file changed, 39 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 1980685..eb7a56b 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -359,3 +359,42 @@ avail_st += '\tService %d - %s\n' % ((8*i) + j, lookup_map[(8*i) + j]) byte = byte >> 1 return avail_st + +def first_TLV_parser(bytelist): + ''' + first_TLV_parser([0xAA, 0x02, 0xAB, 0xCD, 0xFF, 0x00]) -> (170, 2, [171, 205]) + + parses first TLV format record in a list of bytelist + returns a 3-Tuple: Tag, Length, Value + Value is a list of bytes + parsing of length is ETSI'style 101.220 + ''' + Tag = bytelist[0] + if bytelist[1] == 0xFF: + Len = bytelist[2]*256 + bytelist[3] + Val = bytelist[4:4+Len] + else: + Len = bytelist[1] + Val = bytelist[2:2+Len] + return (Tag, Len, Val) + +def TLV_parser(bytelist): + ''' + TLV_parser([0xAA, ..., 0xFF]) -> [(T, L, [V]), (T, L, [V]), ...] + + loops on the input list of bytes with the "first_TLV_parser()" function + returns a list of 3-Tuples + ''' + ret = [] + while len(bytelist) > 0: + T, L, V = first_TLV_parser(bytelist) + if T == 0xFF: + # padding bytes + break + ret.append( (T, L, V) ) + # need to manage length of L + if L > 0xFE: + bytelist = bytelist[ L+4 : ] + else: + bytelist = bytelist[ L+2 : ] + return ret -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I5c7fdbd122e696d272f7480785d0c17ad2af138c Gerrit-Change-Number: 18194 Gerrit-PatchSet: 1 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:25:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:25:33 +0000 Subject: Change in pysim[master]: Introduce function for converting bytes list in (hex or int) to string In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18195 ) Change subject: Introduce function for converting bytes list in (hex or int) to string ...................................................................... Introduce function for converting bytes list in (hex or int) to string This function is needed for conversion of bytes list output of TLV parser to representable string Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded --- M pySim/utils.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index eb7a56b..ee4d2f3 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -40,6 +40,10 @@ def s2h(s): return b2h(s) +# List of bytes to string +def i2s(s): + return ''.join([chr(x) for x in s]) + def swap_nibbles(s): return ''.join([x+y for x,y in zip(s[1::2], s[0::2])]) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8c1e39ccf9fb517d465e73f69c720e7fdde02ded Gerrit-Change-Number: 18195 Gerrit-PatchSet: 2 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:25:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:25:34 +0000 Subject: Change in pysim[master]: utils.py: Add helper method to parse ePDG Identifier from hex string In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17883 ) Change subject: utils.py: Add helper method to parse ePDG Identifier from hex string ...................................................................... utils.py: Add helper method to parse ePDG Identifier from hex string The hex string consists of contains zero or more ePDG identifier data objects. Each ePDG Identifier TLV data object consists of tag value of '80', length, address type, identifier. TS 31.102 version 13.4.0 Release 13. The same parsing method applies for both EF.ePDGId and EF.ePDGIdEm Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 --- M pySim/utils.py 1 file changed, 34 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index ee4d2f3..dbc7337 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -402,3 +402,37 @@ else: bytelist = bytelist[ L+2 : ] return ret + +def dec_epdgid(hexstr): + """ + Decode ePDG Id to get EF.ePDGId or EF.ePDGIdEm. + See 3GPP TS 31.102 version 13.4.0 Release 13, section 4.2.102 and 4.2.104. + """ + + # Convert from hex str to int bytes list + epdgid_bytes = h2i(hexstr) + + s = "" + + # Get list of tuples containing parsed TLVs + tlvs = TLV_parser(epdgid_bytes) + + for tlv in tlvs: + # tlv = (T, L, [V]) + # T = Tag + # L = Length + # [V] = List of value + + # Invalid Tag value scenario + if tlv[0] != 0x80: + continue + + # First byte in the value has the address type + addr_type = tlv[2][0] + # TODO: Support parsing of IPv4 and IPv6 + if addr_type == 0x00: #FQDN + # Skip address tye byte i.e. first byte in value list + content = tlv[2][1:] + s += "\t%s # %s\n" % (i2h(content), i2s(content)) + + return s -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17883 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I96fb129d178cfd7ec037989526da77899ae8d344 Gerrit-Change-Number: 17883 Gerrit-PatchSet: 4 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:27:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:27:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: make ho_config_tests more robust against timing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 ) Change subject: bsc: make ho_config_tests more robust against timing ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 Gerrit-Change-Number: 18193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:27:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:27:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:27:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: make ho_config_tests more robust against timing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 ) Change subject: bsc: make ho_config_tests more robust against timing ...................................................................... bsc: make ho_config_tests more robust against timing In f_probe_for_handover disable the RSL emulation before the vty handover command. Otherwise, osmo-bsc may be too fast to issue the handoverCommand, so that RSLem still handles it and says: "RSL for unknown Dchan". (f_probe_for_handover() receives the handoverCommand directly, just to detect whether a handover would be initiated, and then quickly aborts the handover procedure.) Related: OS#4264 Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 --- M bsc/BSC_Tests.ttcn 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 353ab16..38a961b 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3668,6 +3668,11 @@ boolean is_inter_bsc_handover := false) runs on MSC_ConnHdlr { + /* We're going to thwart any and all handover attempts, just be ready to handle (and ignore) handover target + * lchans to be established on bts 1 or bts 2. */ + f_rslem_suspend(RSL1_PROC); + f_rslem_suspend(RSL2_PROC); + var RSL_Message rsl; var charstring log_msg := " (expecting handover)" @@ -3677,11 +3682,6 @@ log("f_probe_for_handover starting: " & log_label & ": " & log_descr & log_msg); f_vty_transceive(BSCVTY, handover_vty_cmd); - /* We're going to thwart any and all handover attempts, just be ready to handle (and ignore) handover target - * lchans to be established on bts 1 or bts 2. */ - f_rslem_suspend(RSL1_PROC); - f_rslem_suspend(RSL2_PROC); - timer T := 2.0; T.start; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7f73ef8cbdf46e31a46c9e1b7ad0fa2bd41c0a12 Gerrit-Change-Number: 18193 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:31:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:31:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: hlr: add tests for GSUP proxy routing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 ) Change subject: hlr: add tests for GSUP proxy routing ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa Gerrit-Change-Number: 16021 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:31:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:31:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:31:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: hlr: add tests for GSUP proxy routing In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 ) Change subject: hlr: add tests for GSUP proxy routing ...................................................................... hlr: add tests for GSUP proxy routing GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch, requires that osmo-hlr returns a received Source Name IE back as Destination Name IE. Add tests for these, for various situations. These tests pass since GSUP request handling with request->response association was introduced to osmo-hlr in I179ebb0385b5b355f4740e14d43be97bf93622e3. Implement this by adding a source_name to the g_pars, which should be sent out in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned messages. Add source_name and destination_name to various templates, with default := omit. Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically. Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa --- M hlr/HLR_Tests.ttcn M library/GSUP_Types.ttcn 2 files changed, 245 insertions(+), 69 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 0dd3cad..06354b9 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -110,26 +110,38 @@ type record HLR_ConnHdlrPars { HlrSubscriber sub, - HLR_ConnHdlrParsUssd ussd optional + HLR_ConnHdlrParsUssd ussd optional, + octetstring source_name optional } type record HLR_ConnHdlrParsUssd { OCT4 sid } -template (value) HLR_ConnHdlrPars t_Pars(hexstring imsi, hexstring msisdn := ''H) := { +template (value) HLR_ConnHdlrPars t_Pars(hexstring imsi, hexstring msisdn := ''H, + template (omit) octetstring source_name := omit) := { sub := { imsi := imsi, msisdn := msisdn, aud2g := omit, aud3g := omit }, - ussd := omit + ussd := omit, + source_name := source_name } +template (value) HLR_ConnHdlrPars t_Pars_via_proxy(hexstring imsi, hexstring msisdn := ''H) := + t_Pars(imsi, msisdn, source_name := char2oct("the-source\n")); template (value) HLR_ConnHdlrPars t_Pars_sub(HlrSubscriber sub) := { sub := sub, - ussd := omit + ussd := omit, + source_name := omit +} + +template (value) HLR_ConnHdlrPars t_Pars_sub_via_proxy(HlrSubscriber sub) := { + sub := sub, + ussd := omit, + source_name := char2oct("the-source\n") } type function void_fn() runs on HLR_ConnHdlr; @@ -530,7 +542,8 @@ function f_perform_UL(hexstring imsi, template hexstring msisdn, template (omit) integer exp_err_cause := omit, - GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS) + GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS, + template (omit) octetstring source_name := omit) runs on HLR_ConnHdlr return GSUP_PDU { var GSUP_PDU ret; timer T := 3.0; @@ -540,34 +553,34 @@ exp_fail := true; } - GSUP.send(valueof(ts_GSUP_UL_REQ(imsi, dom))); + GSUP.send(valueof(ts_GSUP_UL_REQ(imsi, dom, source_name := source_name))); T.start; alt { - [exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, exp_err_cause)) -> value ret { + [exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, exp_err_cause, destination_name := source_name)) -> value ret { setverdict(pass); } - [exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?)) -> value ret { + [exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?, destination_name := source_name)) -> value ret { setverdict(fail, "Unexpected UL ERROR Cause"); mtc.stop; } - [exp_fail] GSUP.receive(tr_GSUP_UL_RES(imsi)) -> value ret { + [exp_fail] GSUP.receive(tr_GSUP_UL_RES(imsi, destination_name := source_name)) -> value ret { setverdict(fail, "Unexpected UL.res for unknown IMSI"); mtc.stop; } - [exp_fail] GSUP.receive(tr_GSUP_ISD_REQ(imsi)) -> value ret { + [exp_fail] GSUP.receive(tr_GSUP_ISD_REQ(imsi, destination_name := source_name)) -> value ret { setverdict(fail, "Unexpected ISD.req in error case"); mtc.stop; } - [not exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?)) -> value ret { + [not exp_fail] GSUP.receive(tr_GSUP_UL_ERR(imsi, ?, destination_name := source_name)) -> value ret { setverdict(fail, "Unexpected UL ERROR"); mtc.stop; } - [not exp_fail and not isd_done] GSUP.receive(tr_GSUP_ISD_REQ(imsi, msisdn)) -> value ret { - GSUP.send(ts_GSUP_ISD_RES(imsi)); + [not exp_fail and not isd_done] GSUP.receive(tr_GSUP_ISD_REQ(imsi, msisdn, destination_name := source_name)) -> value ret { + GSUP.send(ts_GSUP_ISD_RES(imsi, source_name := source_name)); isd_done := true; repeat; } - [not exp_fail and isd_done] GSUP.receive(tr_GSUP_UL_RES(imsi)) -> value ret { + [not exp_fail and isd_done] GSUP.receive(tr_GSUP_UL_RES(imsi, destination_name := source_name)) -> value ret { setverdict(pass); } [] GSUP.receive { repeat; } @@ -612,7 +625,7 @@ GSUP.receive(tr_GSUP_UL_REQ(imsi)) from vc_GSUP_server; GSUP.send(ts_GSUP_ISD_REQ(imsi, msisdn, destination_name)) to vc_GSUP_server; GSUP.receive(tr_GSUP_ISD_REQ(imsi, g_pars.sub.msisdn)) from vc_GSUP_client; - GSUP.send(ts_GSUP_ISD_RES(imsi, destination_name)) to vc_GSUP_server; + GSUP.send(ts_GSUP_ISD_RES(imsi, destination_name := destination_name)) to vc_GSUP_server; GSUP.receive(tr_GSUP_ISD_RES(imsi)) from vc_GSUP_client; GSUP.send(ts_GSUP_UL_RES(imsi, destination_name)) to vc_GSUP_server; GSUP.receive(tr_GSUP_UL_RES(imsi)) from vc_GSUP_client; @@ -694,7 +707,8 @@ } private function f_SS_expect(hexstring imsi, OCT4 sid, GSUP_SessionState state, - template SS_FacilityInformation facility := *) + template SS_FacilityInformation facility := *, + template octetstring destination_name := omit) runs on HLR_ConnHdlr return GSUP_PDU { var GSUP_PDU ret; timer T := 3.0; @@ -708,7 +722,7 @@ setverdict(fail, "Unexpected PROC_SS ERROR Cause"); mtc.stop; } - [not exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit)) -> value ret { + [not exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit, destination_name := destination_name)) -> value ret { setverdict(pass); } [exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit)) -> value ret { @@ -716,12 +730,12 @@ mtc.stop; } /* - [exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, decmatch facility)) -> value ret { + [exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, decmatch facility, destination_name := destination_name)) -> value ret { setverdict(pass); } */ - [exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, ?)) -> value ret { + [exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, ?, destination_name := destination_name)) -> value ret { var GSUP_IeValue ss_ie; f_gsup_find_ie(ret, OSMO_GSUP_SS_INFO_IE, ss_ie); var SS_FacilityInformation dec_fac := dec_SS_FacilityInformation(ss_ie.ss_info); @@ -748,7 +762,8 @@ function f_perform_CHECK_IMEI(hexstring imsi, hexstring imei, template (omit) integer exp_err_cause := omit, - template (omit) GSUP_IMEIResult result := omit) + template (omit) GSUP_IMEIResult result := omit, + template (omit) octetstring source_name := omit) runs on HLR_ConnHdlr { var GSUP_PDU pdu; timer T := 3.0; @@ -757,28 +772,28 @@ exp_fail := true; } - GSUP.send(valueof(ts_GSUP_CHECK_IMEI_REQ(imsi, imei))); + GSUP.send(valueof(ts_GSUP_CHECK_IMEI_REQ(imsi, imei, source_name := source_name))); T.start; alt { - [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, exp_err_cause)) -> value pdu { + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, exp_err_cause, destination_name := source_name)) -> value pdu { setverdict(pass); } - [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu { + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?, destination_name := source_name)) -> value pdu { setverdict(fail, "Unexpected CHECK IMEI ERROR Cause: ", pdu); mtc.stop; } - [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu { + [exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?, destination_name := source_name)) -> value pdu { setverdict(fail, "Unexpected CHECK IMEI RES instead of ERR"); mtc.stop; } - [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?)) -> value pdu { + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_ERR(imsi, ?, destination_name := source_name)) -> value pdu { setverdict(fail, "Unexpected CHECK IMEI ERROR"); mtc.stop; } - [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, result)) -> value pdu { + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, result, destination_name := source_name)) -> value pdu { setverdict(pass); } - [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?)) -> value pdu { + [not exp_fail] GSUP.receive(tr_GSUP_CHECK_IMEI_RES(imsi, ?, destination_name := source_name)) -> value pdu { setverdict(fail, "Unexpected CHECK IMEI RES"); mtc.stop; } @@ -827,10 +842,15 @@ vc_conn.done; } -function f_start_handler_per_sub(void_fn fn, HlrSubscriberList sl) runs on test_CT { +function f_start_handler_per_sub(void_fn fn, HlrSubscriberList sl, boolean via_proxy := false) runs on test_CT { for (var integer i := 0; i < sizeof(sl); i := i+1) { var HlrSubscriber sub := sl[i]; - var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sub)); + var HLR_ConnHdlrPars pars; + if (via_proxy) { + pars := valueof(t_Pars_sub_via_proxy(sub)); + } else { + pars := valueof(t_Pars_sub(sub)); + } var HLR_ConnHdlr vc_conn; f_vty_subscr_create(VTY, sub); @@ -951,8 +971,7 @@ /* test UL for unknown IMSI */ private function f_TC_ul_unknown_imsi() runs on HLR_ConnHdlr { - var GSUP_PDU res; - res := f_perform_UL(g_pars.sub.imsi, ?, 2); + f_perform_UL(g_pars.sub.imsi, ?, 2, source_name := g_pars.source_name); setverdict(pass); } testcase TC_gsup_ul_unknown_imsi() runs on test_CT { @@ -964,11 +983,20 @@ vc_conn := f_start_handler(refers(f_TC_ul_unknown_imsi), pars); vc_conn.done; } +testcase TC_gsup_ul_unknown_imsi_via_proxy() runs on test_CT { + var hexstring imsi := f_rnd_imsi('26242'H); + var HLR_ConnHdlrPars pars := valueof(t_Pars_via_proxy(imsi)); + var HLR_ConnHdlr vc_conn; + + f_init(false); + vc_conn := f_start_handler(refers(f_TC_ul_unknown_imsi), pars); + vc_conn.done; +} /* test UL for a number of different subscriber cases (algo, 2g/3g, ...) */ private function f_TC_gsup_ul() runs on HLR_ConnHdlr { var GSUP_PDU res; - res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn); + res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn, source_name := g_pars.source_name); setverdict(pass); } testcase TC_gsup_ul() runs on test_CT { @@ -981,6 +1009,16 @@ setverdict(pass); } +testcase TC_gsup_ul_via_proxy() runs on test_CT { + var HlrSubscriberList sl; + var GSUP_PDU res; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_ul), sl, via_proxy := true); + + setverdict(pass); +} /* Test only the VTY commands */ testcase TC_vty() runs on test_CT { @@ -1171,12 +1209,14 @@ op_code := SS_OP_CODE_PROCESS_USS_REQ, ussd_string := "*#101#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, - OSMO_GSUP_SESSION_STATE_BEGIN, ss))); + OSMO_GSUP_SESSION_STATE_BEGIN, ss, + source_name := g_pars.source_name))); resp_str := "Your IMSI is " & hex2str(g_pars.sub.imsi); res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, - f_encGSM7bit(resp_str))); + f_encGSM7bit(resp_str)), + destination_name := g_pars.source_name); } testcase TC_mo_ussd_iuse_imsi() runs on test_CT { var HlrSubscriberList sl; @@ -1192,6 +1232,20 @@ vc_conn.done; } } +testcase TC_mo_ussd_iuse_imsi_via_proxy() runs on test_CT { + var HlrSubscriberList sl; + var HLR_ConnHdlr vc_conn; + + f_init(false); + sl := f_gen_subs(); + for (var integer i := 0; i < sizeof(sl); i := i+1) { + var HLR_ConnHdlrPars pars := valueof(t_Pars_sub_via_proxy(sl[i])); + pars.ussd.sid := f_rnd_octstring(4); + f_vty_subscr_create(VTY, pars.sub); + vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_imsi), pars); + vc_conn.done; + } +} /* Test for USSD request to internal own-msisdn IUSE. */ private function f_TC_mo_ussd_iuse_msisdn() runs on HLR_ConnHdlr { @@ -1201,12 +1255,14 @@ op_code := SS_OP_CODE_PROCESS_USS_REQ, ussd_string := "*#100#"); GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(g_pars.sub.imsi, g_pars.ussd.sid, - OSMO_GSUP_SESSION_STATE_BEGIN, ss))); + OSMO_GSUP_SESSION_STATE_BEGIN, ss, + source_name := g_pars.source_name))); resp_str := "Your extension is " & hex2str(g_pars.sub.msisdn); res := f_SS_expect(g_pars.sub.imsi, g_pars.ussd.sid, OSMO_GSUP_SESSION_STATE_END, tr_SS_USSD_FACILITY_RETURN_RESULT(1, 59, SS_USSD_DEFAULT_DCS, - f_encGSM7bit(resp_str))); + f_encGSM7bit(resp_str)), + destination_name := g_pars.source_name); } testcase TC_mo_ussd_iuse_msisdn() runs on test_CT { var HlrSubscriberList sl; @@ -1222,6 +1278,20 @@ vc_conn.done; } } +testcase TC_mo_ussd_iuse_msisdn_via_proxy() runs on test_CT { + var HlrSubscriberList sl; + var HLR_ConnHdlr vc_conn; + + f_init(false); + sl := f_gen_subs(); + for (var integer i := 0; i < sizeof(sl); i := i+1) { + var HLR_ConnHdlrPars pars := valueof(t_Pars_sub_via_proxy(sl[i])); + pars.ussd.sid := f_rnd_octstring(4); + f_vty_subscr_create(VTY, pars.sub); + vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_msisdn), pars); + vc_conn.done; + } +} /* Test routing of USSD to EUSE by a specific route */ private function f_TC_mo_ussd_100() runs on HLR_ConnHdlr { @@ -1402,12 +1472,14 @@ private function f_TC_gsup_check_imei() runs on HLR_ConnHdlr { /* store-imei disabled */ f_vty_config(VTY, "hlr", "no store-imei"); - f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK, + source_name := g_pars.source_name); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*"); /* store-imei enabled */ f_vty_config(VTY, "hlr", "store-imei"); - f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK); + f_perform_CHECK_IMEI(g_pars.sub.imsi, '12345678901234'H, result := OSMO_GSUP_IMEI_RESULT_ACK, + source_name := g_pars.source_name); f_vty_subscr_show(VTY, g_pars.sub, pattern "*IMEI: *12345678901234*"); } testcase TC_gsup_check_imei() runs on test_CT { @@ -1419,6 +1491,15 @@ setverdict(pass); } +testcase TC_gsup_check_imei_via_proxy() runs on test_CT { + var HlrSubscriberList sl; + + f_init(false); + sl := f_gen_subs(); + f_start_handler_per_sub(refers(f_TC_gsup_check_imei), sl, via_proxy := true); + + setverdict(pass); +} /* Test Check IMEI with invalid IMEI length */ private function f_TC_gsup_check_imei_invalid_len() runs on HLR_ConnHdlr { @@ -1861,8 +1942,10 @@ execute( TC_gsup_sai_num_auth_vectors() ); execute( TC_gsup_sai_eps() ); execute( TC_gsup_ul_unknown_imsi() ); + execute( TC_gsup_ul_unknown_imsi_via_proxy() ); execute( TC_gsup_sai_err_unknown_imsi() ); execute( TC_gsup_ul() ); + execute( TC_gsup_ul_via_proxy() ); execute( TC_vty() ); execute( TC_vty_msisdn_isd() ); execute( TC_gsup_purge_cs() ); @@ -1872,7 +1955,9 @@ execute( TC_mo_ussd_unknown() ); execute( TC_mo_ussd_euse_disc() ); execute( TC_mo_ussd_iuse_imsi() ); + execute( TC_mo_ussd_iuse_imsi_via_proxy() ); execute( TC_mo_ussd_iuse_msisdn() ); + execute( TC_mo_ussd_iuse_msisdn_via_proxy() ); execute( TC_mo_ussd_euse() ); execute( TC_mo_ussd_euse_continue() ); execute( TC_mo_ussd_euse_defaultroute() ); @@ -1881,6 +1966,7 @@ execute( TC_mo_sss_reject() ); execute( TC_gsup_check_imei() ); + execute( TC_gsup_check_imei_via_proxy() ); execute( TC_gsup_check_imei_invalid_len() ); execute( TC_gsup_check_imei_unknown_imsi() ); execute( TC_subscr_create_on_demand_check_imei_early() ); diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn index fa912c1..41181e8 100644 --- a/library/GSUP_Types.ttcn +++ b/library/GSUP_Types.ttcn @@ -495,9 +495,10 @@ tr_GSUP(OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT, { tr_GSUP_IE_IMSI(imsi), *, tr_GSUP_IE(OSMO_GSUP_AUTH_TUPLE_IE), * }); -template (value) GSUP_PDU ts_GSUP_UL_REQ(hexstring imsi, GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS) := - ts_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, { - valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_CnDomain(dom)) }); +template GSUP_PDU ts_GSUP_UL_REQ(hexstring imsi, GSUP_CnDomain dom := OSMO_GSUP_CN_DOMAIN_PS, + template octetstring source_name := omit) := + ts_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, f_gen_ts_ies(imsi, dom := dom, + source_name := source_name)); template GSUP_PDU tr_GSUP_UL_REQ(template hexstring imsi) := tr_GSUP_IMSI(OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST, imsi); @@ -506,30 +507,34 @@ ts_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT, { valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_Destination_Name(destination_name))}); -template GSUP_PDU tr_GSUP_UL_RES(template hexstring imsi) := - tr_GSUP_IMSI(OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT, imsi); +template GSUP_PDU tr_GSUP_UL_RES(template hexstring imsi, template octetstring destination_name := omit) := + tr_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT, f_gen_tr_ies(imsi, destination_name := destination_name)); template (value) GSUP_PDU ts_GSUP_UL_ERR(hexstring imsi, integer cause) := ts_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR, { valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_Cause(cause)) }); -template GSUP_PDU tr_GSUP_UL_ERR(template hexstring imsi, template integer cause := ?) := - tr_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR, { - tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); +template GSUP_PDU tr_GSUP_UL_ERR(template hexstring imsi, template integer cause := ?, + template octetstring destination_name := omit) := + tr_GSUP(OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR, + f_gen_tr_ies(imsi, cause := cause, destination_name := destination_name)); template (value) GSUP_PDU ts_GSUP_ISD_REQ(hexstring imsi, hexstring msisdn, octetstring destination_name := ''O) := ts_GSUP(OSMO_GSUP_MSGT_INSERT_DATA_REQUEST, { valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_MSISDN(msisdn)), valueof(ts_GSUP_IE_Destination_Name(destination_name))}); -template GSUP_PDU tr_GSUP_ISD_REQ(template hexstring imsi, template hexstring msisdn := ?) := - tr_GSUP(OSMO_GSUP_MSGT_INSERT_DATA_REQUEST, { - tr_GSUP_IE_IMSI(imsi), *, tr_GSUP_IE_MSISDN(msisdn), * }); +template GSUP_PDU tr_GSUP_ISD_REQ(template hexstring imsi, template hexstring msisdn := ?, + template octetstring destination_name := omit) := + tr_GSUP(OSMO_GSUP_MSGT_INSERT_DATA_REQUEST, + f_gen_tr_ies(imsi, msisdn := msisdn, destination_name := destination_name)); -template (value) GSUP_PDU ts_GSUP_ISD_RES(hexstring imsi, octetstring destination_name := ''O) := - ts_GSUP(OSMO_GSUP_MSGT_INSERT_DATA_RESULT, { - valueof(ts_GSUP_IE_IMSI(imsi)), - valueof(ts_GSUP_IE_Destination_Name(destination_name))}); +template GSUP_PDU ts_GSUP_ISD_RES(hexstring imsi, + template octetstring source_name := omit, + template octetstring destination_name := omit) := + ts_GSUP(OSMO_GSUP_MSGT_INSERT_DATA_RESULT, + f_gen_ts_ies(imsi, source_name := source_name, + destination_name := destination_name)); template GSUP_PDU tr_GSUP_ISD_RES(template hexstring imsi) := tr_GSUP_IMSI(OSMO_GSUP_MSGT_INSERT_DATA_RESULT, imsi); @@ -568,9 +573,9 @@ tr_GSUP(OSMO_GSUP_MSGT_PURGE_MS_ERROR, { tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); -template (value) GSUP_PDU ts_GSUP_CHECK_IMEI_REQ(hexstring imsi, hexstring imei) := - ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST, { - valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_IMEI(imei)) }); +template (value) GSUP_PDU ts_GSUP_CHECK_IMEI_REQ(hexstring imsi, hexstring imei, + template (omit) octetstring source_name := omit) := + ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_REQUEST, f_gen_ts_ies(imsi, imei := imei, source_name := source_name)); template GSUP_PDU tr_GSUP_CHECK_IMEI_REQ( template hexstring imsi, @@ -588,17 +593,18 @@ ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, { valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_IMEI_Result(result)) }); -template GSUP_PDU tr_GSUP_CHECK_IMEI_RES(template hexstring imsi, template GSUP_IMEIResult result) := - tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, { - tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_IMEI_Result(result) }); +template GSUP_PDU tr_GSUP_CHECK_IMEI_RES(template hexstring imsi, template GSUP_IMEIResult result, + template octetstring destination_name := omit) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_RESULT, + f_gen_tr_ies(imsi, imei_result := result, destination_name := destination_name)); template (value) GSUP_PDU ts_GSUP_CHECK_IMEI_ERR(hexstring imsi, integer cause) := ts_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, { valueof(ts_GSUP_IE_IMSI(imsi)), valueof(ts_GSUP_IE_Cause(cause)) }); -template GSUP_PDU tr_GSUP_CHECK_IMEI_ERR(template hexstring imsi, template integer cause) := - tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, { - tr_GSUP_IE_IMSI(imsi), tr_GSUP_IE_Cause(cause) }); +template GSUP_PDU tr_GSUP_CHECK_IMEI_ERR(template hexstring imsi, template integer cause, + template octetstring destination_name := omit) := + tr_GSUP(OSMO_GSUP_MSGT_CHECK_IMEI_ERROR, f_gen_tr_ies(imsi, cause := cause, destination_name := destination_name)); template (value) GSUP_IE ts_GSUP_IE_CancelType(GSUP_CancelType ctype) := { @@ -758,7 +764,7 @@ } } -template (value) GSUP_IE ts_GSUP_IE_CnDomain(GSUP_CnDomain dom) := { +template GSUP_IE ts_GSUP_IE_CnDomain(template GSUP_CnDomain dom) := { tag := OSMO_GSUP_CN_DOMAIN_IE, len := 0, /* overwritten */ val := { @@ -1217,13 +1223,85 @@ } } +private function f_gen_ts_ies(hexstring imsi, + template hexstring imei := omit, + template GSUP_CnDomain dom := omit, + template octetstring source_name := omit, + template octetstring destination_name := omit + ) return GSUP_IEs { + var GSUP_IEs ies := { + valueof(ts_GSUP_IE_IMSI(imsi)) + }; + + if (isvalue(dom)) { + ies := ies & { valueof(ts_GSUP_IE_CnDomain(dom)) }; + } + + if (isvalue(imei)) { + ies := ies & { valueof(ts_GSUP_IE_IMEI(valueof(imei))) }; + } + + if (isvalue(source_name)) { + ies := ies & { valueof(ts_GSUP_IE_Source_Name(valueof(source_name))) }; + } + + if (isvalue(destination_name)) { + ies := ies & { valueof(ts_GSUP_IE_Destination_Name(valueof(destination_name))) }; + } + + return ies; +} + +private function f_gen_tr_ies(template hexstring imsi, + template integer cause := omit, + template hexstring msisdn := omit, + template GSUP_IMEIResult imei_result := omit, + template octetstring source_name := omit, + template octetstring destination_name := omit + ) return template GSUP_IEs { + var template GSUP_IEs ies := { + tr_GSUP_IE_IMSI(imsi) + }; + var integer idx := 1; + + if (isvalue(cause)) { + ies[idx] := tr_GSUP_IE_Cause(cause); + idx := idx + 1; + } + + if (isvalue(msisdn)) { + ies[idx] := tr_GSUP_IE_MSISDN(msisdn); + idx := idx + 1; + } + + if (isvalue(imei_result)) { + ies[idx] := tr_GSUP_IE_IMEI_Result(imei_result); + idx := idx + 1; + } + + if (isvalue(source_name)) { + ies[idx] := tr_GSUP_IE_Source_Name(source_name); + idx := idx + 1; + } + + ies[idx] := *; + idx := idx + 1; + + if (isvalue(destination_name)) { + ies[idx] := tr_GSUP_IE_Destination_Name(destination_name); + idx := idx + 1; + } + + return ies; +} private function f_gen_ts_ss_ies( hexstring imsi, OCT4 sid, GSUP_SessionState state, template (omit) octetstring ss := omit, - template (omit) integer cause := omit + template (omit) integer cause := omit, + template octetstring source_name := omit ) return GSUP_IEs { /* Mandatory IEs */ var GSUP_IEs ies := { @@ -1244,6 +1322,10 @@ ies := ies & { valueof(ts_GSUP_IE_SSInfo(valueof(ss))) }; } + if (isvalue(source_name)) { + ies := ies & { valueof(ts_GSUP_IE_Source_Name(valueof(source_name))) }; + } + return ies; } private function f_gen_tr_ss_ies( @@ -1251,7 +1333,8 @@ template OCT4 sid := ?, template GSUP_SessionState state := ?, template octetstring ss := omit, - template integer cause := omit + template integer cause := omit, + template octetstring destination_name := omit ) return template GSUP_IEs { /* Mandatory IEs */ var template GSUP_IEs ies := { @@ -1282,6 +1365,11 @@ idx := idx + 1; } + if (isvalue(destination_name)) { + ies[idx] := tr_GSUP_IE_Destination_Name(destination_name); + idx := idx + 1; + } + /* the GSUP Message Class IE is optional, as old implementations don't have it yet */ var template GSUP_IEs ies2 := ies; ies2[idx] := tr_GSUP_IE_Message_Class(OSMO_GSUP_MESSAGE_CLASS_USSD); @@ -1294,10 +1382,11 @@ hexstring imsi, OCT4 sid, GSUP_SessionState state, - template (omit) octetstring ss := omit + template (omit) octetstring ss := omit, + template (omit) octetstring source_name := omit ) := ts_GSUP( OSMO_GSUP_MSGT_PROC_SS_REQUEST, - f_gen_ts_ss_ies(imsi, sid, state, ss) + f_gen_ts_ss_ies(imsi, sid, state, ss, source_name := source_name) ); template GSUP_PDU tr_GSUP_PROC_SS_REQ( template hexstring imsi, @@ -1322,10 +1411,11 @@ template hexstring imsi, template OCT4 sid := ?, template GSUP_SessionState state := ?, - template octetstring ss := * + template octetstring ss := *, + template octetstring destination_name := omit ) := tr_GSUP( OSMO_GSUP_MSGT_PROC_SS_RESULT, - f_gen_tr_ss_ies(imsi, sid, state, ss) + f_gen_tr_ss_ies(imsi, sid, state, ss, destination_name := destination_name) ); template (value) GSUP_PDU ts_GSUP_PROC_SS_ERR( -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa Gerrit-Change-Number: 16021 Gerrit-PatchSet: 7 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:32:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:32:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add tests for SMS and voice call while Paging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 ) Change subject: msc: add tests for SMS and voice call while Paging ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 Gerrit-Change-Number: 16297 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 11 May 2020 17:32:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:33:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 17:33:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add tests for SMS and voice call while Paging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 ) Change subject: msc: add tests for SMS and voice call while Paging ...................................................................... msc: add tests for SMS and voice call while Paging Start a second - MT SMS - MT call while a Paging is already ongoing. The second trans being an SMS works. The second trans being a call fails with current osmo-msc master; a fix is in the related patch (s.b.). Related: Idd4537b5f4817d17e5c87d9a93775a32aee0e7be Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 --- M msc/BSC_ConnectionHandler.ttcn M msc/MSC_Tests.ttcn M msc/MSC_Tests_Iu.ttcn 3 files changed, 139 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index 623dae9..007e541 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -1766,22 +1766,25 @@ f_mo_sms_wait_rp_ack(spars); } +function f_mt_sms_deliver_pdu(in SmsParameters spars) +runs on BSC_ConnHdlr +return template PDU_DTAP_MT { + var template TPDU_RP_DATA_SGSN_MS tp_mt := tr_SMS_DELIVER(?, spars.tp.ud, spars.tp.pid, spars.tp.dcs, ?); + var template RPDU_SGSN_MS rp_mt := tr_RP_DATA_MT(?, spars.rp.smsc_addr, omit, tp_mt); + var template PDU_ML3_NW_MS l3_mt := tr_ML3_MT_SMS(?, c_TIF_ORIG, tr_CP_DATA_MT(rp_mt)); + return tr_PDU_DTAP_MT(l3_mt, spars.dlci); +} + /* Wait for MT SMS on an already existing DTAP connection */ function f_mt_sms_expect(inout SmsParameters spars) runs on BSC_ConnHdlr { var template (value) PDU_ML3_MS_NW l3_mo; - var template TPDU_RP_DATA_SGSN_MS tp_mt; - var template RPDU_SGSN_MS rp_mt; - var template PDU_ML3_NW_MS l3_mt; var PDU_DTAP_MT dtap_mt; var default d := activate(as_other_sms()); /* Expect CP-DATA(RP-DATA(SMS-DELIVER)) */ - tp_mt := tr_SMS_DELIVER(?, spars.tp.ud, spars.tp.pid, spars.tp.dcs, ?); - rp_mt := tr_RP_DATA_MT(?, spars.rp.smsc_addr, omit, tp_mt); - l3_mt := tr_ML3_MT_SMS(?, c_TIF_ORIG, tr_CP_DATA_MT(rp_mt)); - BSSAP.receive(tr_PDU_DTAP_MT(l3_mt, spars.dlci)) -> value dtap_mt; + BSSAP.receive(f_mt_sms_deliver_pdu(spars)) -> value dtap_mt; /* Extract relevant identifiers */ spars.tid := bit2int(dtap_mt.dtap.tiOrSkip.transactionId.tio); diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index cf91b1e..084ae85 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1778,6 +1778,68 @@ vc_conn.done; } +/* MT call while already Paging */ +friend function f_tc_lu_and_mt_call_already_paging(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + var CallParameters cpars := valueof(t_CallParams('123456'H, 0)); + var SmsParameters spars := valueof(t_SmsPars); + var OCT4 tmsi; + + f_init_handler(pars); + + /* Perform location update */ + f_perform_lu(); + + /* register an 'expect' for given IMSI (+TMSI) */ + if (isvalue(g_pars.tmsi)) { + tmsi := g_pars.tmsi; + } else { + tmsi := 'FFFFFFFF'O; + } + f_ran_register_imsi(g_pars.imsi, tmsi); + + log("start Paging by an SMS"); + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + log("MNCC signals MT call, before Paging Response"); + f_mt_call_initate(cpars); + f_ran_register_imsi(g_pars.imsi, g_pars.tmsi); + + f_sleep(0.5); + log("phone answers Paging, expecting both SMS and MT call to be established"); + f_establish_fully(EST_TYPE_PAG_RESP); + spars.tp.ud := 'C8329BFD064D9B53'O; + interleave { + [] BSSAP.receive(f_mt_sms_deliver_pdu(spars)) { + log("Got SMS-DELIVER"); + }; + [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_SETUP(cpars.transaction_id, *, cpars.called_party))) { + log("Got CC Setup"); + }; + } + setverdict(pass); + log("success, tear down"); + var default ccrel := activate(as_optional_cc_rel(cpars)); + if (g_pars.ran_is_geran) { + BSSAP.send(ts_BSSMAP_ClearRequest(0)); + } else { + BSSAP.send(ts_RANAP_IuReleaseRequest(ts_RanapCause_om_intervention)); + } + f_expect_clear(); + deactivate(ccrel); + f_vty_sms_clear(hex2str(g_pars.imsi)); +} +testcase TC_lu_and_mt_call_already_paging() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(); + pars := f_init_pars(391); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_call_already_paging), pars); + vc_conn.done; +} + /* Test MO Call SETUP with DTMF */ private function f_tc_mo_setup_dtmf_dup(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_init_handler(pars); @@ -1985,6 +2047,53 @@ vc_conn.done; } +/* SMS added while already Paging */ +friend function f_tc_lu_and_mt_sms_already_paging(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { + var SmsParameters spars := valueof(t_SmsPars); + var OCT4 tmsi; + + f_init_handler(pars); + + f_perform_lu(); + + /* register an 'expect' for given IMSI (+TMSI) */ + if (isvalue(g_pars.tmsi)) { + tmsi := g_pars.tmsi; + } else { + tmsi := 'FFFFFFFF'O; + } + f_ran_register_imsi(g_pars.imsi, tmsi); + + log("first SMS"); + f_vty_sms_send(hex2str(pars.imsi), "2342", "Hello SMS"); + + /* MSC->BSC: expect PAGING from MSC */ + f_expect_paging(); + + log("second SMS"); + /* Now osmo-msc is in state "Paging pending", make sure that another SMS to be sent at this time just joins in + * with the pending paging. Another SMS: */ + f_vty_sms_send(hex2str(pars.imsi), "2342", "Another SMS"); + + /* Establish DTAP / BSSAP / SCCP connection */ + f_establish_fully(EST_TYPE_PAG_RESP); + + spars.tp.ud := 'C8329BFD064D9B53'O; + f_mt_sms(spars); + + spars.tp.ud := '41F79B8E2ECB41D3E614'O; + f_mt_sms(spars); + + f_expect_clear(); +} +testcase TC_lu_and_mt_sms_already_paging() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(); + pars := f_init_pars(44); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_already_paging), pars); + vc_conn.done; +} /* Paging for MT SMS but no response */ friend function f_tc_lu_and_mt_sms_paging_and_nothing(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { @@ -5089,7 +5198,6 @@ vc_conn.done; } - /* Perform a SGSAP LU and then make a CSFB call */ private function f_tc_sgsap_lu_and_mt_call(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { f_mt_lu_and_csfb_call(id, pars, false); @@ -5984,9 +6092,11 @@ execute( TC_reset_two() ); execute( TC_lu_and_mt_call() ); + execute( TC_lu_and_mt_call_already_paging() ); execute( TC_lu_and_mo_sms() ); execute( TC_lu_and_mt_sms() ); + execute( TC_lu_and_mt_sms_already_paging() ); execute( TC_lu_and_mt_sms_paging_and_nothing() ); execute( TC_lu_and_mt_sms_paging_repeated() ); execute( TC_smpp_mo_sms() ); diff --git a/msc/MSC_Tests_Iu.ttcn b/msc/MSC_Tests_Iu.ttcn index febae09..361dd83 100644 --- a/msc/MSC_Tests_Iu.ttcn +++ b/msc/MSC_Tests_Iu.ttcn @@ -280,6 +280,13 @@ vc_conn.done; } +testcase TC_iu_lu_and_mt_call_already_paging() runs on MTC_CT { + var BSC_ConnHdlr vc_conn; + f_init(3); + vc_conn := f_start_handler(refers(f_tc_lu_and_mt_call_already_paging), 1142, ran_idx := 2, ran_is_geran := false); + vc_conn.done; +} + testcase TC_iu_lu_and_mo_sms() runs on MTC_CT { var BSC_ConnHdlr vc_conn; f_init(3); @@ -296,6 +303,15 @@ vc_conn.done; } +testcase TC_iu_lu_and_mt_sms_already_paging() runs on MTC_CT { + var BSC_ConnHdlrPars pars; + var BSC_ConnHdlr vc_conn; + f_init(3); + pars := f_init_pars(101045, ran_idx := 2, ran_is_geran := false); + vc_conn := f_start_handler_with_pars(refers(f_tc_lu_and_mt_sms_already_paging), pars); + vc_conn.done; +} + testcase TC_iu_lu_and_mt_sms_paging_and_nothing() runs on MTC_CT { var BSC_ConnHdlrPars pars; var BSC_ConnHdlr vc_conn; @@ -559,9 +575,11 @@ execute( TC_reset_two_1iu() ); execute( TC_iu_lu_and_mt_call() ); + execute( TC_iu_lu_and_mt_call_already_paging() ); execute( TC_iu_lu_and_mo_sms() ); execute( TC_iu_lu_and_mt_sms() ); + execute( TC_iu_lu_and_mt_sms_already_paging() ); execute( TC_iu_lu_and_mt_sms_paging_and_nothing() ); execute( TC_iu_lu_and_mt_sms_paging_repeated() ); execute( TC_iu_smpp_mo_sms() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieeae6322d4e80893ea3408c6b74bf8e32bea8e46 Gerrit-Change-Number: 16297 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 17:46:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 17:46:01 +0000 Subject: Change in osmo-gsm-tester[master]: Cmdline arg -c sets main configuration file (old paths.conf) instead ... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 ) Change subject: Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it ...................................................................... Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it It has been notified that current configuration system is difficult to understand and to use, so it has been envisioned to refactor it a bit. The idea is that the user passes a -c path/to/main.conf file, which in turn contains whatever osmo-gsm-tester main settings supports (basically what old paths.conf used to be, plus some files harcoded to the same -c directory are now configurable through the main configuration file). TODO: * Update documentation * Update sample config files (doc/examples). * Trial loaded from main.conf if not overriden by cmdline Change-Id: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 --- M contrib/jenkins-run.sh M selftest/resource_test/resource_test.py M selftest/scenario_test/scenario_test.py M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/resource.py R sysmocom/main.conf M sysmocom/ttcn3/jenkins-run.sh R sysmocom/ttcn3/main.conf 10 files changed, 108 insertions(+), 80 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/18204/1 diff --git a/contrib/jenkins-run.sh b/contrib/jenkins-run.sh index 89ff13f..1c31a9d 100755 --- a/contrib/jenkins-run.sh +++ b/contrib/jenkins-run.sh @@ -2,7 +2,7 @@ set -e -x base="$PWD" SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) # this file's directory -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/../sysmocom} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/../sysmocom/main.conf} time_start="$(date '+%F %T')" diff --git a/selftest/resource_test/resource_test.py b/selftest/resource_test/resource_test.py index b74ba2a..f18aa73 100755 --- a/selftest/resource_test/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -13,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf') +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf', 'paths.conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/scenario_test/scenario_test.py b/selftest/scenario_test/scenario_test.py index f5f42f7..15f8983 100755 --- a/selftest/scenario_test/scenario_test.py +++ b/selftest/scenario_test/scenario_test.py @@ -18,7 +18,7 @@ 'foobar' : schema.BOOL_STR, } -config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'paths.conf') def print_scenario(sc): # we use copy() to be able to get the dictionary in super class of Scenario: diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index a096027..4b32439 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -11,7 +11,7 @@ from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'paths.conf') example_trial_dir = os.path.join('test_trial_tmp') diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index fb5574b..204b1c7 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -24,9 +24,9 @@ Examples: -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s osmo_trx -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo -./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s osmo_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo +./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx (The names for test suites and scenarios used in these examples must be defined by the osmo-gsm-tester configuration.) @@ -54,8 +54,9 @@ A test run thus needs to define: * A trial package containing built binaries * A set of test suites, each with its combinations of scenarios -* A configuration directory specifying sets of resources, default configurations - and paths on where to find suites, scenarios, etc. +* A main configuration file specifying paths to other files containing sets of + resources, default configurations and paths on where to find suites, + scenarios, etc. If no combination of suites and scenarios is provided, the default list of suites will be run as defined in the osmo-gsm-tester configuration. @@ -101,8 +102,8 @@ # is easiest to maintain. parser.add_argument('-V', '--version', action='store_true', help='Show version') - parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration directory path (containing paths.conf)''') + parser.add_argument('-c', '--conf-path', dest='conf_path', + help='''Specify main configuration file path''') parser.add_argument('trial_package', help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', @@ -140,18 +141,18 @@ log.style_change(trace=True) if args.source: log.style_change(src=True) - if args.conf_dir: - config.override_conf = args.conf_dir + if args.conf_path: + config.override_conf = args.conf_path combination_strs = list(args.suite_scenario or []) if not combination_strs: - combination_strs = config.read_config_file(config.DEFAULT_SUITES_CONF, if_missing_return=[]) + combination_strs = config.read_config_file(config.CFG_DEFAULT_SUITES_CONF, if_missing_return=[]) if combination_strs: print('Running default suites:\n ' + ('\n '.join(combination_strs))) else: - print('No default suites configured (%r)' % config.DEFAULT_SUITES_CONF) + print('Failed to load default suites (%r)' % config.get_main_config_value(config.DEFAULT_SUITES_CONF, fail_if_missing=False)) if not combination_strs: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 88e522d..991e724 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -53,6 +53,7 @@ import yaml import os import copy +import pprint from . import log, util, template from . import schema @@ -60,94 +61,122 @@ override_conf = None -DEFAULT_CONFIG_LOCATIONS = [ - '.', - os.path.join(os.getenv('HOME'), '.config', 'osmo-gsm-tester'), - '/usr/local/etc/osmo-gsm-tester', - '/etc/osmo-gsm-tester' - ] - -PATHS_CONF = 'paths.conf' -DEFAULT_SUITES_CONF = 'default-suites.conf' -DEFAULTS_CONF = 'defaults.conf' -RESOURCES_CONF = 'resources.conf' - -PATH_STATE_DIR = 'state_dir' -PATH_SUITES_DIR = 'suites_dir' -PATH_SCENARIOS_DIR = 'scenarios_dir' -PATHS_SCHEMA = { - PATH_STATE_DIR: schema.STR, - PATH_SUITES_DIR: schema.STR, - PATH_SCENARIOS_DIR: schema.STR, +CFG_STATE_DIR = 'state_dir' +CFG_SUITES_DIR = 'suites_dir' +CFG_SCENARIOS_DIR = 'scenarios_dir' +CFG_DEFAULT_SUITES_CONF = 'default_suites_conf_path' +CFG_DEFAULTS_CONF = 'defaults_conf_path' +CFG_RESOURCES_CONF = 'resource_conf_path' +MAIN_CONFIG_SCHEMA = { + CFG_STATE_DIR: schema.STR, + CFG_SUITES_DIR: schema.STR, + CFG_SCENARIOS_DIR: schema.STR, + CFG_DEFAULT_SUITES_CONF: schema.STR, + CFG_DEFAULTS_CONF: schema.STR, + CFG_RESOURCES_CONF: schema.STR, } -PATHS_TEMPDIR_STR = '$TEMPDIR' +DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' +DF_CFG_SUITES_DIR = './suites' +DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' +DF_CFG_DEFAULTS_CONF = './defaults.conf' +DF_CFG_RESOURCES_CONF = './resources.conf' -PATHS = None +DEFAULT_CONFIG_FILENAME = 'main.conf' -def _get_config_file(basename, fail_if_missing=True): +DEFAULT_CONFIG_LOCATIONS = [ + '.', + os.path.join(os.getenv('HOME'), '.config', 'osmo-gsm-tester', DEFAULT_CONFIG_FILENAME), + os.path.join('/usr/local/etc/osmo-gsm-tester', DEFAULT_CONFIG_FILENAME), + os.path.join('/etc/osmo-gsm-tester', DEFAULT_CONFIG_FILENAME) + ] + +MAIN_CONFIG = None +MAIN_CONFIG_PATH = None + +def _find_main_config_path(): if override_conf: locations = [ override_conf ] elif os.getenv('OSMO_GSM_TESTER_CONF'): ENV_CONF = os.getenv('OSMO_GSM_TESTER_CONF') - log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s is deprecated. Rather use -c command line argument!' % ENV_CONF) - locations = [ ENV_CONF ] + log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s(/paths.conf) is deprecated. Rather use -c command line argument!' % ENV_CONF) + locations = [ ENV_CONF + 'paths.conf' ] # directory is expected in OSMO_GSM_TESTER_CONF, bakcward compatibility else: locations = DEFAULT_CONFIG_LOCATIONS for l in locations: real_l = os.path.realpath(l) - p = os.path.realpath(os.path.join(real_l, basename)) - if os.path.isfile(p): - log.dbg('Found config file', basename, 'as', p, 'in', l, 'which is', real_l, _category=log.C_CNF) - return (p, real_l) - if not fail_if_missing: - return None, None - raise RuntimeError('configuration file not found: %r in %r' % (basename, - [os.path.abspath(p) for p in locations])) + if os.path.isfile(real_l): + log.dbg('Found main configuration file in ', l, 'which is', real_l, _category=log.C_CNF) + return real_l + raise RuntimeError('Main configuration file not found in %r' % ([l for l in locations])) -def get_config_file(basename, fail_if_missing=True): - path, found_in = _get_config_file(basename, fail_if_missing) +def _get_main_config_path(): + global MAIN_CONFIG_PATH + if MAIN_CONFIG_PATH is None: + MAIN_CONFIG_PATH = _find_main_config_path() + return MAIN_CONFIG_PATH + +def main_config_path_to_abspath(path): + 'Relative files in main config are relative towards the config file, not towards $CWD' + if not path.startswith(os.pathsep): + return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), path)) return path -def read_config_file(basename, validation_schema=None, if_missing_return=False): +def _get_main_config(): + global MAIN_CONFIG + if MAIN_CONFIG is None: + cfg = read(_get_main_config_path(), MAIN_CONFIG_SCHEMA) + MAIN_CONFIG = { + CFG_STATE_DIR: DF_CFG_STATE_DIR, + CFG_SUITES_DIR: DF_CFG_SUITES_DIR, + CFG_SCENARIOS_DIR: DF_CFG_SCENARIOS_DIR, + CFG_DEFAULT_SUITES_CONF: DF_CFG_DEFAULT_SUITES_CONF, + CFG_DEFAULTS_CONF: DF_CFG_DEFAULTS_CONF, + CFG_RESOURCES_CONF: DF_CFG_RESOURCES_CONF, + } + overlay(MAIN_CONFIG, cfg) + for key, path in sorted(MAIN_CONFIG.items()): + MAIN_CONFIG[key] = main_config_path_to_abspath(path) + log.dbg('MAIN CONFIG:\n' + pprint.pformat(MAIN_CONFIG), _category=log.C_CNF) + return MAIN_CONFIG + +def get_main_config_value(cfg_name, fail_if_missing=True): + cfg = _get_main_config() + f = cfg.get(cfg_name, None) + if f is None and fail_if_missing: + raise RuntimeError('Missing configuration %s' % (cfg_name)) + return f + +def read_config_file(cfg_name, validation_schema=None, if_missing_return=False): + '''Read content of config file cfg_name (referring to key in main config). + If "if_missing_return" is different than False, then instead of failing it will return whatever it is stored in that arg + ''' fail_if_missing = True if if_missing_return is not False: fail_if_missing = False - path = get_config_file(basename, fail_if_missing=fail_if_missing) + path = get_main_config_value(cfg_name, fail_if_missing=fail_if_missing) if path is None: return if_missing_return return read(path, validation_schema=validation_schema, if_missing_return=if_missing_return) -def get_configured_path(label, allow_unset=False): - global PATHS - - if PATHS is None: - paths_file, found_in = _get_config_file(PATHS_CONF) - PATHS = read(paths_file, PATHS_SCHEMA) - # sorted for deterministic regression test results - for key, path in sorted(PATHS.items()): - if not path.startswith(os.pathsep): - PATHS[key] = os.path.realpath(os.path.join(found_in, path)) - log.dbg(paths_file + ': relative path', path, 'is', PATHS[key], _category=log.C_CNF) - p = PATHS.get(label) - if p is None and not allow_unset: - raise RuntimeError('missing configuration in %s: %r' % (PATHS_CONF, label)) - - log.dbg('Found path', label, 'as', p, _category=log.C_CNF) - if p.startswith(PATHS_TEMPDIR_STR): - p = os.path.join(get_tempdir(), p[len(PATHS_TEMPDIR_STR):]) - log.dbg('Path', label, 'contained', PATHS_TEMPDIR_STR, 'and becomes', p, _category=log.C_CNF) - return p - def get_state_dir(): - return Dir(get_configured_path(PATH_STATE_DIR)) + return Dir(get_main_config_value(CFG_STATE_DIR)) def get_suites_dir(): - return Dir(get_configured_path(PATH_SUITES_DIR)) + return Dir(get_main_config_value(CFG_SUITES_DIR)) def get_scenarios_dir(): - return Dir(get_configured_path(PATH_SCENARIOS_DIR)) + return Dir(get_main_config_value(CFG_SCENARIOS_DIR)) + +DEFAULTS_CONF = None +def get_defaults(for_kind): + global DEFAULTS_CONF + if DEFAULTS_CONF is None: + DEFAULTS_CONF = read_config_file(CFG_DEFAULTS_CONF, if_missing_return={}) + defaults = DEFAULTS_CONF.get(for_kind, {}) + return copy.deepcopy(defaults) def read(path, validation_schema=None, if_missing_return=False): log.ctx(path) @@ -191,10 +220,6 @@ config = yaml.safe_load(_tostr(_standardize_item(config))) return config -def get_defaults(for_kind): - defaults = read_config_file(DEFAULTS_CONF, if_missing_return={}) - return defaults.get(for_kind, {}) - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/resource.py b/src/osmo_gsm_tester/core/resource.py index a1a8ea5..af05a51 100644 --- a/src/osmo_gsm_tester/core/resource.py +++ b/src/osmo_gsm_tester/core/resource.py @@ -48,7 +48,7 @@ _registered_exit_handler = False def __init__(self): - self.config_path = config.get_config_file(config.RESOURCES_CONF) + self.config_path = config.get_main_config_value(config.CFG_RESOURCES_CONF) self.state_dir = config.get_state_dir() super().__init__(log.C_CNF, conf=self.config_path, state=self.state_dir.path) self.read_conf() diff --git a/sysmocom/paths.conf b/sysmocom/main.conf similarity index 100% rename from sysmocom/paths.conf rename to sysmocom/main.conf diff --git a/sysmocom/ttcn3/jenkins-run.sh b/sysmocom/ttcn3/jenkins-run.sh index c744606..2bc687d 100755 --- a/sysmocom/ttcn3/jenkins-run.sh +++ b/sysmocom/ttcn3/jenkins-run.sh @@ -1,6 +1,8 @@ #!/bin/sh set -e -x base="$PWD" +SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) # this file's directory +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/main.conf} time_start="$(date '+%F %T')" diff --git a/sysmocom/ttcn3/paths.conf b/sysmocom/ttcn3/main.conf similarity index 100% rename from sysmocom/ttcn3/paths.conf rename to sysmocom/ttcn3/main.conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 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: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 Gerrit-Change-Number: 18204 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 11 18:41:40 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 11 May 2020 18:41:40 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eb99c821bb77_7c882ae7f25fe600514ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 530s] ^~~~~~~~~~~~~~~~~~~ [ 530s] main.c: In function 'main': [ 530s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 530s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 530s] ^~~~~~~~~~~~~~~~~~~ [ 530s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 530s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 530s] ^ [ 530s] cc1: some warnings being treated as errors [ 530s] Makefile:469: recipe for target 'main.o' failed [ 530s] make[3]: *** [main.o] Error 1 [ 530s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 530s] Makefile:402: recipe for target 'all-recursive' failed [ 530s] make[2]: *** [all-recursive] Error 1 [ 530s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 530s] Makefile:349: recipe for target 'all' failed [ 530s] make[1]: *** [all] Error 2 [ 530s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 530s] dh_auto_build: make -j1 returned exit code 2 [ 530s] debian/rules:45: recipe for target 'build' failed [ 530s] make: *** [build] Error 2 [ 530s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 531s] ### VM INTERACTION START ### [ 534s] [ 503.557731] sysrq: SysRq : Power Off [ 534s] [ 503.570624] reboot: Power down [ 535s] ### VM INTERACTION END ### [ 535s] [ 535s] obs-arm-6 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Mon May 11 18:41:33 UTC 2020. [ 535s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 11 19:20:53 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 19:20:53 +0000 Subject: Change in pysim[master]: cards: remove len calculation References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18205 ) Change subject: cards: remove len calculation ...................................................................... cards: remove len calculation The method update_ad() caluclates the size of the data it had just read from EF.AD, but the result is never used, lets remove that line Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e --- M pySim/cards.py 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/18205/1 diff --git a/pySim/cards.py b/pySim/cards.py index 8937ee8..f469cae 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -149,7 +149,6 @@ raise RuntimeError('unable to calculate proper mnclen') data = self._scc.read_binary(EF['AD'], length=None, offset=0) - size = len(data[0]) // 2 content = data[0][0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e Gerrit-Change-Number: 18205 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 19:27:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 11 May 2020 19:27:26 +0000 Subject: Change in pysim[master]: cards: remove len calculation In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18205 ) Change subject: cards: remove len calculation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e Gerrit-Change-Number: 18205 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 11 May 2020 19:27:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 19:31:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 19:31:06 +0000 Subject: Change in pysim[master]: cards: reset uninitalized EF.AD References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18206 ) Change subject: cards: reset uninitalized EF.AD ...................................................................... cards: reset uninitalized EF.AD The contents of EF.AD me be uninitalized (all bytes set to 0xff). If this is the case reset all bytes of the file to 0x00 and continue the update of EF.AD with this value. Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e --- M pySim/cards.py 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/06/18206/1 diff --git a/pySim/cards.py b/pySim/cards.py index f469cae..1c0add0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -148,8 +148,13 @@ if mnclen > 3: raise RuntimeError('unable to calculate proper mnclen') - data = self._scc.read_binary(EF['AD'], length=None, offset=0) - content = data[0][0:6] + "%02X" % mnclen + data, sw = self._scc.read_binary(EF['AD'], length=None, offset=0) + + # Reset contents to EF.AD in case the file is uninintalized + if data.lower() == "ffffffff": + data = "00000000" + + content = data[0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e Gerrit-Change-Number: 18206 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 19:38:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 19:38:56 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... pysim-prog: move ADM sanitation to utils.py The lower part of gen_parameters() in pySim-prog.py contains some code that checks whether the ADM pin supplied in its hexadecimal or in its string form and generates a sanitised pin_adm from that. Lets separate this part as it may become useful elsewhere too. Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 --- M pySim-prog.py M pySim/utils.py 2 files changed, 31 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/18207/1 diff --git a/pySim-prog.py b/pySim-prog.py index e3045a6..8bc474a 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -405,27 +405,7 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) - - pin_adm = None - - if opts.pin_adm is not None: - if len(opts.pin_adm) <= 8: - pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) - pin_adm = rpad(pin_adm, 16) - - else: - raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - - if opts.pin_adm_hex is not None: - if len(opts.pin_adm_hex) == 16: - pin_adm = opts.pin_adm_hex - # Ensure that it's hex-encoded - try: - try_encode = h2b(pin_adm) - except ValueError: - raise ValueError("PIN-ADM needs to be hex encoded using this option") - else: - raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") + pin_adm = sanitize_pin_adm(opts) # Return that return { diff --git a/pySim/utils.py b/pySim/utils.py index 1980685..aab5d02 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -359,3 +359,33 @@ avail_st += '\tService %d - %s\n' % ((8*i) + j, lookup_map[(8*i) + j]) byte = byte >> 1 return avail_st + + +def sanitize_pin_adm(opts): + """The ADM pin can be supplied either in its hexadecimal form or as + ascii string. This function checks the supplied opts parameter and + returns the pin_adm as hex encoded string, regardles in which form + it was originally supplied by the user""" + + pin_adm = None + + if opts.pin_adm is not None: + if len(opts.pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + pin_adm = rpad(pin_adm, 16) + + else: + raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") + + if opts.pin_adm_hex is not None: + if len(opts.pin_adm_hex) == 16: + pin_adm = opts.pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("PIN-ADM needs to be hex encoded using this option") + else: + raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") + + return pin_adm -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 19:45:20 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 19:45:20 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... utils: do not crash when all bytes of EF.IMSI are 0xFF In case try to decode the contents of an uninitalized EF.IMSI, the function dec_imsi() would crash because it truncates all 0xFF from the swapped version of the EF.IMSI contents and then accesses the first element of the buffer. This always worls for EF.IMSI contents that contain valid IMSI data, but if all bytes are set to 0xFF, then no data is left in the buffer after truncating, so lets check if we even have bytes left before we move on with the decoding. Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c --- M pySim/utils.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/18208/1 diff --git a/pySim/utils.py b/pySim/utils.py index aab5d02..e5b0a74 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -81,6 +81,8 @@ l = int(ef[0:2], 16) * 2 # Length of the IMSI string l = l - 1 # Encoded length byte includes oe nibble swapped = swap_nibbles(ef[2:]).rstrip('f') + if len(swapped) < 1: + return None oe = (int(swapped[0])>>3) & 1 # Odd (1) / Even (0) if not oe: # if even, only half of last byte was used -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 19:50:58 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 19:50:58 +0000 Subject: Change in pysim[master]: commands: add method to determine size of a non record oriented file References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18209 ) Change subject: commands: add method to determine size of a non record oriented file ...................................................................... commands: add method to determine size of a non record oriented file For record oriented files we have the methods record_size() and record_count() to determine the dimensions of a record oriented file, however, we miss a similar function for regular binary files. Lets add a method binary_size() to quickly determine the size of a non record oriented file Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/09/18209/1 diff --git a/pySim/commands.py b/pySim/commands.py index cc7acc6..30e995c 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -152,6 +152,10 @@ r = self.select_file(ef) return self.__len(r) // self.__record_len(r) + def binary_size(self, ef): + r = self.select_file(ef) + return self.__len(r) + def run_gsm(self, rand): if len(rand) != 32: raise ValueError('Invalid rand') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c Gerrit-Change-Number: 18209 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:01:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:01:48 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18203 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 Gerrit-Change-Number: 18203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 11 May 2020 20:01:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:02:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:02:03 +0000 Subject: Change in osmo-ci[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18202 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a Gerrit-Change-Number: 18202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 11 May 2020 20:02:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:06:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:06:35 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 20:06:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:06:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:06:39 +0000 Subject: Change in osmo-pcu[master]: fix egprs_mslot_class_from_ra(): multislot class may not be present In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18157 ) Change subject: fix egprs_mslot_class_from_ra(): multislot class may not be present ...................................................................... fix egprs_mslot_class_from_ra(): multislot class may not be present For more details, see 3GPP TS 44.060, table 11.2.5a.2. Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Signed-off-by: Vadim Yanitskiy Related: OS#1548 --- M src/bts.cpp 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 6578e06..1d073aa 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -675,7 +675,8 @@ */ static inline uint8_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) { - if (is_11bit) + /* EGPRS multislot class is only present in One Phase Access Request */ + if (is_11bit && (ra >> 10) == 0x00) /* .0xx xxx. .... */ return ((ra & 0x3e0) >> 5) + 1; /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iba0466b29afd26cff317ed4fb6749f8a3079f16a Gerrit-Change-Number: 18157 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:11:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:11:47 +0000 Subject: Change in libosmocore[master]: README.md: fix typo (coore -> core) In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18175 to look at the new patch set (#2). Change subject: README.md: fix typo (coore -> core) ...................................................................... README.md: fix typo (coore -> core) Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 --- M README.md 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/75/18175/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 Gerrit-Change-Number: 18175 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:11:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 11 May 2020 20:11:47 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18002 to look at the new patch set (#4). Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... lapd/lapdm: print user-defined string name instead of (dl=%p) At the moment we print the pointer address to identify the log lines belonging to a specific connection. Since pointer addresses are difficult to work with, a human readable ID should be printed instead. e.g. "This is LAPD instance for SAPI3 on bts0/trx1/ts5/lchan3" Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Closes: OS#1938 --- M TODO-RELEASE M include/osmocom/gsm/lapd_core.h M include/osmocom/gsm/lapdm.h M src/gsm/lapd_core.c M src/gsm/lapdm.c M src/gsm/libosmogsm.map 6 files changed, 263 insertions(+), 313 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/02/18002/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:38:33 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 20:38:33 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18207 to look at the new patch set (#2). Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... pysim-prog: move ADM sanitation to utils.py The lower part of gen_parameters() in pySim-prog.py contains some code that checks whether the ADM pin supplied in its hexadecimal or in its string form and generates a sanitised pin_adm from that. Lets separate this part as it may become useful elsewhere too. Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 --- M pySim-prog.py M pySim/utils.py 2 files changed, 32 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/18207/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:39:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 11 May 2020 20:39:42 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: fix big endian structs References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18210 ) Change subject: gsm_04_08.h: fix big endian structs ...................................................................... gsm_04_08.h: fix big endian structs Affected: - struct gsm48_range_1024 - struct gsm48_range_512 - struct gsm48_range_256 - struct gsm48_range_128 In commit [1], the automatic little-to-big-endian compatibility by struct_endianness.py introduced doubled little/big endian struct listings by accident, resulting in a wrong big endian structure (due to double reversal in the original big endian part). Remove the old conditionals around the new automatic ones to fix the structs for big endian. [1] Ia0b99d76932aeb03e93bd0c62d3bf025dec5f9d2 Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b --- M include/osmocom/gsm/protocol/gsm_04_08.h 1 file changed, 0 insertions(+), 238 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/18210/1 diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 8370eca..1bca068 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -77,7 +77,6 @@ void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src); int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t rf_power_cap); /* Chapter 10.5.2.1b.3 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_1024 { #if OSMO_IS_LITTLE_ENDIAN uint8_t w1_hi:2, @@ -131,64 +130,8 @@ uint8_t w15_lo:2, w16:6; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_1024 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:5, - f0:1, - w1_hi:2; - uint8_t w1_lo; - uint8_t w2_hi; - uint8_t w2_lo:1, - w3_hi:7; - uint8_t w3_lo:2, - w4_hi:6; - uint8_t w4_lo:2, - w5_hi:6; - uint8_t w5_lo:2, - w6_hi:6; - uint8_t w6_lo:2, - w7_hi:6; - uint8_t w7_lo:2, - w8_hi:6; - uint8_t w8_lo:1, - w9:7; - uint8_t w10:7, - w11_hi:1; - uint8_t w11_lo:6, - w12_hi:2; - uint8_t w12_lo:5, - w13_hi:3; - uint8_t w13_lo:4, - w14_hi:4; - uint8_t w14_lo:3, - w15_hi:5; - uint8_t w15_lo:2, - w16:6; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t w1_hi:2, f0:1, form_id:5; - uint8_t w1_lo; - uint8_t w2_hi; - uint8_t w3_hi:7, w2_lo:1; - uint8_t w4_hi:6, w3_lo:2; - uint8_t w5_hi:6, w4_lo:2; - uint8_t w6_hi:6, w5_lo:2; - uint8_t w7_hi:6, w6_lo:2; - uint8_t w8_hi:6, w7_lo:2; - uint8_t w9:7, w8_lo:1; - uint8_t w11_hi:1, w10:7; - uint8_t w12_hi:2, w11_lo:6; - uint8_t w13_hi:3, w12_lo:5; - uint8_t w14_hi:4, w13_lo:4; - uint8_t w15_hi:5, w14_lo:3; - uint8_t w16:6, w15_lo:2; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.4 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_512 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -242,64 +185,8 @@ uint8_t w16_lo:3, w17:5; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_512 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1_hi:7; - uint8_t w1_lo:2, - w2_hi:6; - uint8_t w2_lo:2, - w3_hi:6; - uint8_t w3_lo:2, - w4_hi:6; - uint8_t w4_lo:1, - w5:7; - uint8_t w6:7, - w7_hi:1; - uint8_t w7_lo:6, - w8_hi:2; - uint8_t w8_lo:4, - w9_hi:4; - uint8_t w9_lo:2, - w10:6; - uint8_t w11:6, - w12_hi:2; - uint8_t w12_lo:4, - w13_hi:4; - uint8_t w13_lo:2, - w14:6; - uint8_t w15:6, - w16_hi:2; - uint8_t w16_lo:3, - w17:5; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1_hi:7, orig_arfcn_lo:1; - uint8_t w2_hi:6, w1_lo:2; - uint8_t w3_hi:6, w2_lo:2; - uint8_t w4_hi:6, w3_lo:2; - uint8_t w5:7, w4_lo:1; - uint8_t w7_hi:1, w6:7; - uint8_t w8_hi:2, w7_lo:6; - uint8_t w9_hi:4, w8_lo:4; - uint8_t w10:6, w9_lo:2; - uint8_t w12_hi:2, w11:6; - uint8_t w13_hi:4, w12_lo:4; - uint8_t w14:6, w13_lo:2; - uint8_t w16_hi:2, w15:6; - uint8_t w17:5, w16_lo:3; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.5 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_256 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -359,70 +246,8 @@ uint8_t w20_lo:3, w21:4, spare:1; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_256 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1_hi:7; - uint8_t w1_lo:1, - w2:7; - uint8_t w3:7, - w4_hi:1; - uint8_t w4_lo:5, - w5_hi:3; - uint8_t w5_lo:3, - w6_hi:5; - uint8_t w6_lo:1, - w7:6, - w8_hi:1; - uint8_t w8_lo:4, - w9_hi:4; - uint8_t w9_lo:1, - w10:5, - w11_hi:2; - uint8_t w11_lo:3, - w12:5; - uint8_t w13:5, - w14_hi:3; - uint8_t w14_lo:2, - w15:5, - w16_hi:1; - uint8_t w16_lo:3, - w17:4, - w18_hi:1; - uint8_t w18_lo:3, - w19:4, - w20_hi:1; - uint8_t w20_lo:3, - w21:4, - spare:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1_hi:7, orig_arfcn_lo:1; - uint8_t w2:7, w1_lo:1; - uint8_t w4_hi:1, w3:7; - uint8_t w5_hi:3, w4_lo:5; - uint8_t w6_hi:5, w5_lo:3; - uint8_t w8_hi:1, w7:6, w6_lo:1; - uint8_t w9_hi:4, w8_lo:4; - uint8_t w11_hi:2, w10:5, w9_lo:1; - uint8_t w12:5, w11_lo:3; - uint8_t w14_hi:3, w13:5; - uint8_t w16_hi:1, w15:5, w14_lo:2; - uint8_t w18_hi:1, w17:4, w16_lo:3; - uint8_t w20_hi:1, w19:4, w18_lo:3; - uint8_t spare:1, w21:4, w20_lo:3; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.6 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_128 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -484,69 +309,6 @@ uint8_t w26_lo:1, w27:3, w28:3, spare:1; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_128 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1:7; - uint8_t w2:6, - w3_hi:2; - uint8_t w3_lo:4, - w4_hi:4; - uint8_t w4_lo:1, - w5:5, - w6_hi:2; - uint8_t w6_lo:3, - w7:5; - uint8_t w8:4, - w9:4; - uint8_t w10:4, - w11:4; - uint8_t w12:4, - w13:4; - uint8_t w14:4, - w15:4; - uint8_t w16:3, - w17:3, - w18_hi:2; - uint8_t w18_lo:1, - w19:3, - w20:3, - w21_hi:1; - uint8_t w21_lo:2, - w22:3, - w23:3; - uint8_t w24:3, - w25:3, - w26_hi:2; - uint8_t w26_lo:1, - w27:3, - w28:3, - spare:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1:7, orig_arfcn_lo:1; - uint8_t w3_hi:2, w2:6; - uint8_t w4_hi:4, w3_lo:4; - uint8_t w6_hi:2, w5:5, w4_lo:1; - uint8_t w7:5, w6_lo:3; - uint8_t w9:4, w8:4; - uint8_t w11:4, w10:4; - uint8_t w13:4, w12:4; - uint8_t w15:4, w14:4; - uint8_t w18_hi:2, w17:3, w16:3; - uint8_t w21_hi:1, w20:3, w19:3, w18_lo:1; - uint8_t w23:3, w22:3, w21_lo:2; - uint8_t w26_hi:2, w25:3, w24:3; - uint8_t spare:1, w28:3, w27:3, w26_lo:1; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.7 */ struct gsm48_var_bit { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b Gerrit-Change-Number: 18210 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:45:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 20:45:08 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18002/4/TODO-RELEASE File TODO-RELEASE: https://gerrit.osmocom.org/c/libosmocore/+/18002/4/TODO-RELEASE at 12 PS4, Line 12: sim API/ABI change all over the place Not related to this patch? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 20:45:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:51:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 20:51:56 +0000 Subject: Change in libosmocore[master]: README.md: fix typo (coore -> core) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18175 ) Change subject: README.md: fix typo (coore -> core) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 Gerrit-Change-Number: 18175 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 20:51:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:53:28 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 11 May 2020 20:53:28 +0000 Subject: Change in pysim[master]: commands: add features to verify data written to files References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18211 ) Change subject: commands: add features to verify data written to files ...................................................................... commands: add features to verify data written to files When writing to files we often just write without making sure that the actual file contents actually written. Lets add features to do a read-after-write verification when writing to files. Change-Id: I7be842004102f4998af376790c97647c107be3d5 --- M pySim/commands.py 1 file changed, 20 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/11/18211/1 diff --git a/pySim/commands.py b/pySim/commands.py index 30e995c..e077289 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -122,10 +122,18 @@ pdu = self.cla_byte + 'b0%04x%02x' % (offset, (min(256, length) & 0xff)) return self._tp.send_apdu(pdu) - def update_binary(self, ef, data, offset=0): + def update_binary(self, ef, data, offset=0, verify=False): self.select_file(ef) pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data - return self._tp.send_apdu_checksw(pdu) + res = self._tp.send_apdu_checksw(pdu) + if verify: + self.verify_binary(ef, data, offset) + return res + + def verify_binary(self, ef, data, offset=0): + res = self.read_binary(ef, len(data) // 2, offset) + if res[0].lower() != data.lower(): + raise ValueError('Binary verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def read_record(self, ef, rec_no): r = self.select_file(ef) @@ -133,7 +141,7 @@ pdu = self.cla_byte + 'b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) - def update_record(self, ef, rec_no, data, force_len=False): + def update_record(self, ef, rec_no, data, force_len=False, verify=False): r = self.select_file(ef) if not force_len: rec_length = self.__record_len(r) @@ -142,7 +150,15 @@ else: rec_length = len(data) // 2 pdu = (self.cla_byte + 'dc%02x04%02x' % (rec_no, rec_length)) + data - return self._tp.send_apdu_checksw(pdu) + res = self._tp.send_apdu_checksw(pdu) + if verify: + self.verify_record(ef, rec_no, data) + return res + + def verify_record(self, ef, rec_no, data): + res = self.read_record(ef, rec_no) + if res[0].lower() != data.lower(): + raise ValueError('Record verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def record_size(self, ef): r = self.select_file(ef) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7be842004102f4998af376790c97647c107be3d5 Gerrit-Change-Number: 18211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 20:56:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 11 May 2020 20:56:31 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: fix big endian structs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18210 ) Change subject: gsm_04_08.h: fix big endian structs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b Gerrit-Change-Number: 18210 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 20:56:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 22:05:15 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 22:05:15 +0000 Subject: Change in libosmocore[master]: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18212 ) Change subject: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. ...................................................................... gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. See TS 08.08 section 3.2.1.34 SAPI "n" REJECT: 1) DLCI is a TV element, not V. 2) Cause is a TLV element and we have a special function to encode it. Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 --- M src/gsm/gsm0808.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/18212/1 diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index f9f7b58..02288e6 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -447,8 +447,8 @@ return NULL; msgb_v_put(msg, BSS_MAP_MSG_SAPI_N_REJECT); - msgb_v_put(msg, link_id); - msgb_v_put(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + msgb_tv_put(msg, GSM0808_IE_DLCI, link_id); + gsm0808_enc_cause(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 Gerrit-Change-Number: 18212 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 22:14:16 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 22:14:16 +0000 Subject: Change in libosmocore[master]: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18212 to look at the new patch set (#2). Change subject: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. ...................................................................... gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. See TS 08.08 section 3.2.1.34 SAPI "n" REJECT: 1) DLCI is a TV element, not V. 2) Cause is a TLV element and we have a special function to encode it. Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 --- M src/gsm/gsm0808.c M tests/gsm0808/gsm0808_test.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/18212/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 Gerrit-Change-Number: 18212 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 11 22:43:51 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 11 May 2020 22:43:51 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... Patch Set 3: > Patch Set 3: Code-Review-1 > > the renamning of the #defines is without any problem. Remaning the user-visible counter names will break any existing monitoring setup that expects the old names. In general, it might be better to match the names of the new counters to those of the old ones, rather than changing existing iterfaces/naming? > > If we want to go ahead with this (I would appreciate more feedback on this) we have to add an entry to TODO-RELEASE and make sure we mention this very clearly in the next tagged release. The renamed counters were introduced just a couple of patches ago by me, so I doubt anyone except Fairwaves is currently using it, and there is definitely no tagged release with these counters. So I don't think it's worth mentioning in the release notes. The reason for this renaming is a more flexible structure of the stat tags. In essence, we split stat names into a set of tags so we could query a monitoring DB for them. E.g. if you want to see stats for all handover or cipher messages, you can do that now. This idea came to us after we already submitted the original Rx counters patch which is why for those counters I submit this rename as a separate patch. For Tx counters, my patch already follows the new naming convention. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 11 May 2020 22:43:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 00:50:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 00:50:01 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: Fix a typo in the comment bahviour -> behaviour References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18213 ) Change subject: mgcp_network: Fix a typo in the comment bahviour -> behaviour ...................................................................... mgcp_network: Fix a typo in the comment bahviour -> behaviour Change-Id: I59a06b95e9bbf90c038c5c9234f5c857315d5f07 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/13/18213/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index fc15ad2..1cca60a 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1271,7 +1271,7 @@ struct mgcp_conn *conn_dst; /*! NOTE: This callback function implements the endpoint specific - * dispatch bahviour of an rtp bridge/proxy endpoint. It is assumed + * dispatch behaviour of an rtp bridge/proxy endpoint. It is assumed * that the endpoint will hold only two connections. This premise * is used to determine the opposite connection (it is always the * connection that is not the originating connection). Once the -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I59a06b95e9bbf90c038c5c9234f5c857315d5f07 Gerrit-Change-Number: 18213 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 00:50:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 00:50:02 +0000 Subject: Change in osmo-mgw[master]: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18214 ) Change subject: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. ...................................................................... rtp_bridge: Demote a chatty ERROR log message to DEBUG level. Not having a second leg of an MGCP endpoint is a normal situtation and can't be treated as an ERROR message, especially not as an ERROR message logged on every RTP packet. This happens routinely at the beginning of call setup and we get tens of ERROR messages in the logs for every call. Change-Id: If741a742208772bda4e59236345d7ae650368d5a --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/14/18214/1 diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1cca60a..608a93b 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1310,8 +1310,8 @@ /* There is no destination conn, stop here */ if (!conn_dst) { - LOGPCONN(conn, DRTP, LOGL_ERROR, - "unable to find destination conn\n"); + LOGPCONN(conn, DRTP, LOGL_DEBUG, + "no connection to forward an incoming RTP packet to\n"); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If741a742208772bda4e59236345d7ae650368d5a Gerrit-Change-Number: 18214 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 12 01:55:14 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 12 May 2020 01:55:14 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5eba021c9e202_7c882ae7f25fe6001095de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_9.0/armv7l Package network:osmocom:nightly/libosmocore failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 838s] | configure:12657: checking for working alloca.h [ 838s] | configure:12674: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 838s] | configure:12674: $? = 0 [ 838s] | configure:12682: result: yes [ 838s] | configure:12690: checking for alloca [ 838s] | configure:12727: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 838s] | configure:12727: $? = 0 [ 838s] | configure:12735: result: yes [ 838s] | configure:12841: checking for library containing dlopen [ 838s] | configure:12872: gcc -o conftest -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c >&5 [ 838s] | /tmp/ccC9RCBf.o: In function `main': [ 838s] | ./conftest.c:46: undefined reference to `dlopen' [ 838s] | collect2: error: ld returned 1 exit status [ 838s] | configure:12872: $? = 1 [ 838s] | configure: failed program was: [ 838s] | | /* confdefs.h */ [ 838s] | | #define PACKAGE_NAME "libosmocore" [ 838s] | | #define PACKAGE_TARNAME "libosmocore" [ 838s] | | #define PACKAGE_VERSION "1.3.0.83-d05de" [ 838s] | | #define PACKAGE_STRING "libosmocore 1.3.0.83-d05de" [ 838s] | | #define PACKAGE_BUGREPORT "openbsc at lists.osmocom.org" [ 838s] | | #define PACKAGE_URL "" [ 838s] | | #define PACKAGE "libosmocore" [ 840s] | | #define VERS[ 752.601890] sysrq: SysRq : Power Off [ 840s] [ 752.604893] reboot: Power down [ 840s] ### VM INTERACTION END ### [ 840s] [ 840s] armbuild15 failed "build libosmocore_1.3.0.83.d05de.dsc" at Tue May 12 01:55:03 UTC 2020. [ 840s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 12 04:52:54 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Tue, 12 May 2020 04:52:54 +0000 Subject: Change in libosmocore[master]: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18212 ) Change subject: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 Gerrit-Change-Number: 18212 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 May 2020 04:52:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:41:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:41:17 +0000 Subject: Change in libosmocore[master]: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18212 ) Change subject: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 Gerrit-Change-Number: 18212 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 12 May 2020 05:41:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:41:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:41:19 +0000 Subject: Change in libosmocore[master]: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18212 ) Change subject: gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. ...................................................................... gsm0808: Fix encoding of the SAPI_N_REJECT BSSMAP message. See TS 08.08 section 3.2.1.34 SAPI "n" REJECT: 1) DLCI is a TV element, not V. 2) Cause is a TLV element and we have a special function to encode it. Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 --- M src/gsm/gsm0808.c M tests/gsm0808/gsm0808_test.c 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index f9f7b58..02288e6 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -447,8 +447,8 @@ return NULL; msgb_v_put(msg, BSS_MAP_MSG_SAPI_N_REJECT); - msgb_v_put(msg, link_id); - msgb_v_put(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); + msgb_tv_put(msg, GSM0808_IE_DLCI, link_id); + gsm0808_enc_cause(msg, GSM0808_CAUSE_BSS_NOT_EQUIPPED); msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index 2389218..ec24914 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -370,7 +370,7 @@ static void test_create_sapi_reject() { - static const uint8_t res[] = { 0x00, 0x03, 0x25, 0x03, 0x25 }; + static const uint8_t res[] = { 0x00, 0x06, 0x25, 0x18, 0x03, 0x04, 0x01, 0x25 }; struct msgb *msg; printf("Testing creating SAPI Reject\n"); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I033afe556c06427d06ac55c4f78854a45e41aae6 Gerrit-Change-Number: 18212 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:41:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:41:53 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 05:41:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:05 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 12 May 2020 05:42:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:11 +0000 Subject: Change in osmo-bsc[master]: stats: Rename BSSMAP Rx message counters to match Tx ones. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18191 ) Change subject: stats: Rename BSSMAP Rx message counters to match Tx ones. ...................................................................... stats: Rename BSSMAP Rx message counters to match Tx ones. Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 19 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 7db0625..74a6f3c 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -70,8 +70,8 @@ MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, - MSC_CTR_BSSMAP_RX_DTAP_MSG, - MSC_CTR_BSSMAP_RX_DTAP_ERROR, + MSC_CTR_BSSMAP_RX_DT1_DTAP, + MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, /* Tx message counters (per connection type) */ MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT, diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 276657f..6f5aaa8 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1120,20 +1120,20 @@ ctrs = conn->sccp.msc->msc_ctrs->ctr; header = (struct dtap_header *) msg->l3h; if (sizeof(*header) >= length) { - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP header does not fit. Wanted: %zu got: %u, hex: %s\n", sizeof(*header), length, osmo_hexdump(msg->l3h, length)); return -1; } if (header->length > length - sizeof(*header)) { - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_ERROR]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR]); LOGP(DMSC, LOGL_ERROR, "The DTAP l4 information does not fit. Wanted: %u got: %zu, hex: %s\n", header->length, length - sizeof(*header), osmo_hexdump(msg->l3h, length)); return -1; } - rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DTAP_MSG]); + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_DTAP]); LOGP(DMSC, LOGL_INFO, "Rx MSC DTAP, SAPI: %u CHAN: %u\n", header->link_id & 0x07, header->link_id & 0xC0); /* forward the data */ diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 0dbe9d4..db3ffe4 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -44,20 +44,20 @@ #include static const struct rate_ctr_desc msc_ctr_description[] = { - /* Rx message counters */ - [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx_udt_reset_acknowledge", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, - [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx_udt_reset", "Number of received BSSMAP UDT RESET messages"}, - [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx_udt_paging", "Number of received BSSMAP UDT PAGING messages"}, - [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx_udt_unknown", "Number of received BSSMAP unknown UDT messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx_dt1_clear_cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx_dt1_cipher_mode_cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx_dt1_assignment_rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx_dt1_lcls_connect_ctrl", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, - [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx_dt1_handover_cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx_dt1_classmark_rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx_dt1_unknown", "Number of received BSSMAP unknown DT1 messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_MSG] = {"bssmap:rx_dtap_msg", "Number of received BSSMAP DTAP messages"}, - [MSC_CTR_BSSMAP_RX_DTAP_ERROR] = {"bssmap:rx_dtap_error", "Number of received BSSMAP DTAP messages with errors"}, + /* Rx message counters (per specific message) */ + [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx:udt:reset:ack", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx:udt:reset:request", "Number of received BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx:udt:paging", "Number of received BSSMAP UDT PAGING messages"}, + [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx:udt:err_unknown", "Number of received BSSMAP unknown UDT messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx:dt1:clear:cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx:dt1:cipher_mode:cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx:dt1:assignment:rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, + [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, /* Tx message counters (per message type) * -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f Gerrit-Change-Number: 18191 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:37 +0000 Subject: Change in osmo-mgw[master]: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18214 ) Change subject: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If741a742208772bda4e59236345d7ae650368d5a Gerrit-Change-Number: 18214 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 05:42:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: Fix a typo in the comment bahviour -> behaviour In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18213 ) Change subject: mgcp_network: Fix a typo in the comment bahviour -> behaviour ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I59a06b95e9bbf90c038c5c9234f5c857315d5f07 Gerrit-Change-Number: 18213 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 05:42:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_network: Fix a typo in the comment bahviour -> behaviour In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18213 ) Change subject: mgcp_network: Fix a typo in the comment bahviour -> behaviour ...................................................................... mgcp_network: Fix a typo in the comment bahviour -> behaviour Change-Id: I59a06b95e9bbf90c038c5c9234f5c857315d5f07 --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index fc15ad2..1cca60a 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1271,7 +1271,7 @@ struct mgcp_conn *conn_dst; /*! NOTE: This callback function implements the endpoint specific - * dispatch bahviour of an rtp bridge/proxy endpoint. It is assumed + * dispatch behaviour of an rtp bridge/proxy endpoint. It is assumed * that the endpoint will hold only two connections. This premise * is used to determine the opposite connection (it is always the * connection that is not the originating connection). Once the -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I59a06b95e9bbf90c038c5c9234f5c857315d5f07 Gerrit-Change-Number: 18213 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:42:54 +0000 Subject: Change in osmo-mgw[master]: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18214 ) Change subject: rtp_bridge: Demote a chatty ERROR log message to DEBUG level. ...................................................................... rtp_bridge: Demote a chatty ERROR log message to DEBUG level. Not having a second leg of an MGCP endpoint is a normal situtation and can't be treated as an ERROR message, especially not as an ERROR message logged on every RTP packet. This happens routinely at the beginning of call setup and we get tens of ERROR messages in the logs for every call. Change-Id: If741a742208772bda4e59236345d7ae650368d5a --- M src/libosmo-mgcp/mgcp_network.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 1cca60a..608a93b 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1310,8 +1310,8 @@ /* There is no destination conn, stop here */ if (!conn_dst) { - LOGPCONN(conn, DRTP, LOGL_ERROR, - "unable to find destination conn\n"); + LOGPCONN(conn, DRTP, LOGL_DEBUG, + "no connection to forward an incoming RTP packet to\n"); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If741a742208772bda4e59236345d7ae650368d5a Gerrit-Change-Number: 18214 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:43:17 +0000 Subject: Change in libosmocore[master]: usb: Add osmo_libusb_find_open_claim() all-in-one API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/16928 ) Change subject: usb: Add osmo_libusb_find_open_claim() all-in-one API ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/16928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I748ded6cc7b73a73625588bd7a34a017a905b6bf Gerrit-Change-Number: 16928 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 12 May 2020 05:43:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:43:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:43:21 +0000 Subject: Change in libosmocore[master]: README.md: fix typo (coore -> core) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18175 ) Change subject: README.md: fix typo (coore -> core) ...................................................................... README.md: fix typo (coore -> core) Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 --- M README.md 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index 623804b..d3c63ab 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ There is no clear scope of it. We simply move all shared code between the various Osmocom projects in this library to avoid code duplication. -The libosmcoore.git repository build multiple libraries: +The libosmocore.git repository build multiple libraries: * **libosmocore** contains some general-purpose functions like select-loop abstraction, message buffers, timers, linked lists -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib2bc61cfd9f24d2093b7e101e8987864a7279fb6 Gerrit-Change-Number: 18175 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:43:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:43:22 +0000 Subject: Change in libosmocore[master]: README.md: We don't build libosmotrau. The latter is in libosmo-abis... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18176 ) Change subject: README.md: We don't build libosmotrau. The latter is in libosmo-abis.git ...................................................................... README.md: We don't build libosmotrau. The latter is in libosmo-abis.git Change-Id: Ida773c9611075cc02f017eb5606f94a65cac8533 --- M README.md 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index d3c63ab..07c1a2a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ * **libosmocodec** contains an implementation of GSM voice codecs * **libosmocoding** contains an implementation of GSM channel coding * **libosmosim** contains infrastructure to interface SIM/UICC/USIM cards -* **libosmotrau** contains encoding/decoding functions for A-bis TRAU frames Homepage -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida773c9611075cc02f017eb5606f94a65cac8533 Gerrit-Change-Number: 18176 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 05:43:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 05:43:23 +0000 Subject: Change in libosmocore[master]: usb: Add osmo_libusb_find_open_claim() all-in-one API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/16928 ) Change subject: usb: Add osmo_libusb_find_open_claim() all-in-one API ...................................................................... usb: Add osmo_libusb_find_open_claim() all-in-one API This function offers the highest level of API among all libosmousb helper functions. It is intended as a one-stop shop for everything related to grabbing an interface. Change-Id: I748ded6cc7b73a73625588bd7a34a017a905b6bf --- M include/osmocom/usb/libusb.h M src/usb/osmo_libusb.c 2 files changed, 126 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/usb/libusb.h b/include/osmocom/usb/libusb.h index 2220e03..9ad3f71 100644 --- a/include/osmocom/usb/libusb.h +++ b/include/osmocom/usb/libusb.h @@ -55,6 +55,31 @@ uint8_t string_idx; }; +/*! Description of the USB device+interface we're looking for */ +struct osmo_usb_matchspec { + /*! specify the USB device */ + struct { + int vendor_id; /*!< typically -1 for compile time defaults */ + int product_id; /*!< typically -1 for compile time defaults */ + char *path; /*!< used for disambiguation when multiple matches; can be NULL */ + } dev; + + /*! specify the USB configuration */ + int config_id; /*!< typically -1 unless user selects specific configuration */ + + /*! specify the USB interface */ + struct { + /* typically those three are set to application defaults */ + int class; /*!< -1 or a user-specified class */ + int subclass; /*!< -1 or a user-specified subclass */ + int proto; /*!< -1 or a user-specified protocol */ + + /* typically those two are -1; but user can override them */ + int num; + int altsetting; + } intf; +}; + char *osmo_libusb_dev_get_path_buf(char *buf, size_t bufsize, libusb_device *dev); char *osmo_libusb_dev_get_path_c(void *ctx, libusb_device *dev); @@ -81,6 +106,11 @@ libusb_device_handle *osmo_libusb_open_claim_interface(void *ctx, libusb_context *luctx, const struct usb_interface_match *ifm); +void osmo_libusb_match_init(struct osmo_usb_matchspec *cfg, int if_class, int if_subclass, int if_proto); + +libusb_device_handle *osmo_libusb_find_open_claim(const struct osmo_usb_matchspec *cfg, + const struct dev_id *default_dev_ids); + int osmo_libusb_get_ep_addrs(libusb_device_handle *devh, unsigned int if_num, uint8_t *out, uint8_t *in, uint8_t *irq); diff --git a/src/usb/osmo_libusb.c b/src/usb/osmo_libusb.c index 3c8a22a..bb86206 100644 --- a/src/usb/osmo_libusb.c +++ b/src/usb/osmo_libusb.c @@ -590,6 +590,102 @@ return usb_devh; } +void osmo_libusb_match_init(struct osmo_usb_matchspec *cfg, int if_class, int if_subclass, int if_proto) +{ + cfg->dev.vendor_id = -1; + cfg->dev.product_id = -1; + cfg->dev.path = NULL; + + cfg->config_id = -1; + + cfg->intf.class = if_class; + cfg->intf.subclass = if_subclass; + cfg->intf.proto = if_proto; + + cfg->intf.num = cfg->intf.altsetting = -1; +} + + +/*! high-level all-in-one function for USB device, config + interface matching + opening. + * This function offers the highest level of API among all libosmousb helper functions. It + * is intended as a one-stop shop for everything related to grabbing an interface. + * + * 1) looks for a device matching either the VID/PID from 'cfg' or 'default_dev_ids', + * if more than one is found, the user is expected to fill in cfg->dev.path to disambiguate. + * 2) find any interfaces on the device that match the specification in 'cfg'. The match + * could be done based on any of (class, subclass, proto, interface number). If there + * are multiple matches, the caller must disambiguate by specifying the interface number. + * 3) open the USB device; set the configuration (if needed); claim the interface and set + * the altsetting + * + * \param[in] cfg user-supplied match configuration (from command line or config file) + * \param[in] default_dev_ids Default list of supported VendorId/ProductIds + * \returns libusb_device_handle on success, NULL on error + */ +libusb_device_handle *osmo_libusb_find_open_claim(const struct osmo_usb_matchspec *cfg, + const struct dev_id *default_dev_ids) +{ + struct usb_interface_match if_matches[16]; + struct usb_interface_match *ifm = NULL; + libusb_device_handle *usb_devh = NULL; + struct dev_id user_dev_ids[2] = { + { cfg->dev.vendor_id, cfg->dev.product_id }, + { 0, 0 } + }; + const struct dev_id *dev_ids = default_dev_ids; + libusb_device *dev; + int rc, i; + + /* Stage 1: Find a device matching either the user-specified VID/PID or + * the list of IDs in default_dev_ids plus optionally the user-specified path */ + if (cfg->dev.vendor_id != -1 || cfg->dev.product_id != -1) + dev_ids = user_dev_ids; + dev = osmo_libusb_find_matching_dev_path(NULL, dev_ids, cfg->dev.path); + if (!dev) + goto close_exit; + + /* Stage 2: Find any interfaces matching the class/subclass/proto as specified */ + rc = osmo_libusb_dev_find_matching_interfaces(dev, cfg->intf.class, cfg->intf.subclass, + cfg->intf.proto, if_matches, sizeof(if_matches)); + if (rc < 1) { + LOGP(DLUSB, LOGL_NOTICE, "can't find matching USB interface at device\n"); + goto close_exit; + } else if (rc == 1) { + ifm = if_matches; + } else if (rc > 1) { + if (cfg->intf.num == -1) { + LOGP(DLUSB, LOGL_ERROR, "Found %d matching USB interfaces, you " + "have to specify the interface number\n", rc); + goto close_exit; + } + for (i = 0; i < rc; i++) { + if (if_matches[i].interface == cfg->intf.num) { + ifm = &if_matches[i]; + break; + } + /* FIXME: match altsetting */ + } + } + if (!ifm) { + LOGP(DLUSB, LOGL_NOTICE, "Couldn't find matching interface\n"); + goto close_exit; + } + + /* Stage 3: Open device; set config (if required); claim interface; set altsetting */ + usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); + if (!usb_devh) { + LOGP(DLUSB, LOGL_ERROR, "can't open USB device (permissions issue?)\n"); + goto close_exit; + } + return usb_devh; +close_exit: + /* release if_matches */ + if (usb_devh) + libusb_close(usb_devh); + + return NULL; +} + /*! obtain the endpoint addresses for a given USB interface. * \param[in] devh USB device handle on which to operate * \param[in] if_num USB Interface number on which to operate -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/16928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I748ded6cc7b73a73625588bd7a34a017a905b6bf Gerrit-Change-Number: 16928 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 06:13:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 06:13:14 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: fix big endian structs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18210 ) Change subject: gsm_04_08.h: fix big endian structs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b Gerrit-Change-Number: 18210 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 06:13:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 07:10:53 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Tue, 12 May 2020 07:10:53 +0000 Subject: Change in pysim[master]: Add option to specify MNC length in non-batch programming scnearios In-Reply-To: References: Message-ID: herlesupreeth has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18070 ) Change subject: Add option to specify MNC length in non-batch programming scnearios ...................................................................... Add option to specify MNC length in non-batch programming scnearios Change-Id: Ied56a28d46a4c9c0c516d73fa257daeef7b50b61 --- M pySim-prog.py 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index e3045a6..c709959 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -106,6 +106,11 @@ help="Mobile Network Code [default: %default]", default=55, ) + parser.add_option("--mnclen", dest="mnclen", type="choice", + help="Length of Mobile Network Code [default: %default]", + default=2, + choices=[2, 3], + ) parser.add_option("-m", "--smsc", dest="smsc", help="SMSC number (Start with + for international no.) [default: '00 + country code + 5555']", ) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ied56a28d46a4c9c0c516d73fa257daeef7b50b61 Gerrit-Change-Number: 18070 Gerrit-PatchSet: 6 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 07:24:18 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 07:24:18 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 3: Thank you for +2. Please give us another day or two before submitting to master in case we decide to rename the counters. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 12 May 2020 07:24:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:03:51 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:03:51 +0000 Subject: Change in libosmocore[master]: exec: osmo_system_nowait2: initalize *pw pointer with NULL In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17884 ) Change subject: exec: osmo_system_nowait2: initalize *pw pointer with NULL ...................................................................... exec: osmo_system_nowait2: initalize *pw pointer with NULL The pointer *pw is only populated when the the parameter *user is given, otherwise it remains uninitalized while it is used later when the previleges are being dropped. Change-Id: Idec7041e9ea17a252aefbf6fa90091ae17fd4fcd Fixes: CID#209895 --- M src/exec.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/exec.c b/src/exec.c index 578e2b1..2a03ba8 100644 --- a/src/exec.c +++ b/src/exec.c @@ -211,7 +211,8 @@ */ int osmo_system_nowait2(const char *command, const char **env_whitelist, char **addl_env, const char *user) { - struct passwd _pw, *pw; + struct passwd _pw; + struct passwd *pw = NULL; int getpw_buflen = sysconf(_SC_GETPW_R_SIZE_MAX); int rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17884 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idec7041e9ea17a252aefbf6fa90091ae17fd4fcd Gerrit-Change-Number: 17884 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:13:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:13:03 +0000 Subject: Change in osmo-gsm-tester[master]: Cmdline arg -c sets main configuration file (old paths.conf) instead ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 ) Change subject: Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 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: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 Gerrit-Change-Number: 18204 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:13:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:13:17 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Swap order of schemas and config files References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 ) Change subject: doc/manuals: Swap order of schemas and config files ...................................................................... doc/manuals: Swap order of schemas and config files First explain the different config files and directories, later describe the schemas used in each of them. Change-Id: Iaf31808a655a5c77a1dfaa155e86d42585130820 --- M doc/manuals/chapters/config.adoc 1 file changed, 211 insertions(+), 211 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/18215/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index c302cd6..fec5c87 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -1,216 +1,5 @@ == Configuration -=== Schemas - -All configuration attributes in {app-name} are stored and provided as YAML -files, which are handled internally mostly as sets of dictionaries, lists and -scalars. Each of these configurations have a known format (set of keys and -values), which is called 'schema'. Each provided configuration is validated -against its 'schema' at parse time. Hence, 'schemas' can be seen as a namespace -containing a structured tree of configuration attributes. Each attribute has a -schema type assigned which constrains the type of value it can hold. - -There are several well-known schemas used across {app-name}, and they are -described in following sub-sections. - -[[schema_main_cfg]] -==== Schema 'main config' - -This schema defines all the attributes available in {app-name} the main -configuration file <>, and it is used to validate it. - -[[schema_resources]] -==== Schema 'resources' - -This schema defines all the attributes which can be assigned to -a _resource_, and it is used to validate the <> -file. Hence, the <> contains a list of elements -for each resource type. This schema is also used and extended by the -<>. - -It is important to understand that the content in this schema refers to a list of -resources for each resource class. Since a list is ordered by definition, it -clearly identifies specific resources by order. This is important when applying -filters or modifiers, since they are applied per-resource in the list. One can -for instance apply attribute A to first resource of class C, while not applying -it or applying another attribute B to second resources of the same class. As a -result, complex forms can be used to filter and modify a list of resources -required by a testsuite. - -On the other hand, it's also important to note that lists for simple or scalar -types are currently being treated as unordered sets, which mean combination of -filters or modifiers apply differently. In the future, it may be possible to -have both behaviors for scalar/simple types by using also the YAML 'set' type in -{app-name}. - -//TODO: update this list and use a table for each resource type in its own object section -//// -These kinds of resources and their attributes are known: - -'ip_address':: - List of IP addresses to run osmo-nitb instances on. The main unit - typically has a limited number of such IP addresses configured, which - the connected BTS models can see on their network. - 'addr'::: - IPv4 address of the local interface. - -'bts':: - List of available BTS hardware. - 'label'::: - human readable label for your own reference - 'type'::: - which way to launch this BTS, one of - - 'osmo-bts-sysmo' - - 'osmo-bts-trx' - - 'osmo-bts-octphy' - - 'ipa-nanobts' - 'ipa_unit_id'::: - ip.access unit id to be used by the BTS, written into BTS and BSC config. - 'addr'::: - Remote IP address of the BTS for BTS like sysmoBTS, and local IP address - to bind to for locally run BTS such as osmo-bts-trx. - 'band'::: - GSM band that this BTS shoud use (*TODO*: allow multiple bands). One of: - - 'GSM-1800' - - 'GSM-1900' - - (*TODO*: more bands) - 'trx_list'::: - Specific TRX configurations for this BTS. There should be as many of - these as the BTS has TRXes. (*TODO*: a way to define >1 TRX without - special configuration for them.) - 'hw_addr':::: - Hardware (MAC) address of the TRX in the form of '11:22:33:44:55:66', - only used for osmo-bts-octphy. (*TODO*: and nanobts??) - 'net_device':::: - Local network device to reach the TRX's 'hw_addr' at, only used for - osmo-bts-octphy. Example: 'eth0'. - 'nominal_power':::: - Nominal power to be used by the TRX. - 'max_power_red':::: - Max power reduction to apply to the nominal power of the TRX. -'arfcn':: - List of ARFCNs to use for running BTSes, which defines the actual RF - frequency bands used. - 'arfcn'::: - ARFCN number, see e.g. - https://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number - (note that the resource type 'arfcn' contains an item trait also named - 'arfcn'). - 'band'::: - GSM band name to use this ARFCN for, same as for 'bts:band' above. - -'modem':: - List of modems reachable via ofono and information on the inserted SIM - card. (Note: the MSISDN is allocated dynamically in test scripts). - 'label'::: - Human readable label for your own reference, which also appears in logs. - 'path'::: - Ofono's path for this modem, like '/modemkind_99'. - 'imsi'::: - IMSI of the inserted SIM card, like '"123456789012345"'. - 'ki'::: - 16 byte authentication/encryption KI of the inserted SIM card, in - hexadecimal notation (32 characters) like + - '"00112233445566778899aabbccddeeff"'. - 'auth_algo'::: - Authentication algorithm to be used with the SIM card. One of: - - 'none' - - 'xor' - - 'comp128v1' - 'ciphers'::: - List of ciphers that this modem supports, used to match - requirements in suites or scenarios. Any combination of: - - 'a5_0' - - 'a5_1' - - 'a5_2' - - 'a5_3' - - 'a5_4' - - 'a5_5' - - 'a5_6' - - 'a5_7' - 'features'::: - List of features that this modem supports, used to match requirements in - suites or scenarios. Any combination of: - - 'sms' - - 'gprs' - - 'voice' - - 'ussd' -//// - -[[schema_want]] -==== Schema 'want' - -This schema is basically the same as the <> one, but -with an extra 'times' attribute for each resource item. All 'times' attributes -are expanded before matching. For example, if a 'suite.conf' requests two BTS, -one may enforce that both BTS should be of type 'osmo-bts-sysmo' in these ways: - ----- -resources: - bts: - - type: osmo-bts-sysmo - - type: osmo-bts-sysmo ----- - -or alternatively, - ----- -resources: - bts: - - times: 2 - type: osmo-bts-sysmo ----- - -[[schema_config]] -==== Schema 'config' - -This schema defines all the attributes which can be used by object classes or -tests during test execution. The main difference between this schema and the -<> schema is that the former contains configuration -to be applied globally for all objects being used, while the later applies -attributes to a specific object in the list of allocated resources. This schema -hence allows setting attributes for objects which are not allocated as resources -and hence not directly accessible through scenarios, like a BSC or an iperf3 -client. - -This schema is built dynamically at runtime from content registered by: -- object classes registering their own attributes -- test suite registering their own attributes through <> - and tests being able to later retrieve them through 'testenv' API. - -[[schema_all]] -==== Schema 'all' - -This schema is basically an aggregated namespace for <> schema -and <> schema, and is the one used by -<> and <> files. It contains -these main element sections::: - -[[schema_all_sec_resources]] -- Section 'resources': Contains a set of elements validated with <> - schema. In <> it is used to construct the list of - requested resources. In <>, it is used to inject - attributes to the initial <> _resources_ section and - hence further restrain it. -[[schema_all_sec_modifiers]] -- Section 'modifiers': Both in <> and - <>, values presented in here are injected into - the content of the <> after - _resource_ allocation, hereby overwriting attributes passed to the object - class instance managing the specific _resource_ (matches by resource type and - list position). Since it is combined with the content of - <>, it is clear that the - <> is used to validate this content. -[[schema_all_sec_config]] -- Section 'config': Contains configuration attributes for {app-name} object - classes which are not _resources_, and hence cannot be configured with - <>. They can overwrite values provided in the - <> file. Content in this section follows the - <> schema. - -//TODO: defaults.timeout should be change in code to be config.test_timeout or similar -//TODO: 'config' should be split into its own schema and validate defaults.conf - [[config]] === Configuration files and directories @@ -642,6 +431,217 @@ - phys_chan_config: TCH/F_TCH/H_PDCH ---- +=== Schemas + +All configuration attributes in {app-name} are stored and provided as YAML +files, which are handled internally mostly as sets of dictionaries, lists and +scalars. Each of these configurations have a known format (set of keys and +values), which is called 'schema'. Each provided configuration is validated +against its 'schema' at parse time. Hence, 'schemas' can be seen as a namespace +containing a structured tree of configuration attributes. Each attribute has a +schema type assigned which constrains the type of value it can hold. + +There are several well-known schemas used across {app-name}, and they are +described in following sub-sections. + +[[schema_main_cfg]] +==== Schema 'main config' + +This schema defines all the attributes available in {app-name} the main +configuration file <>, and it is used to validate it. + +[[schema_resources]] +==== Schema 'resources' + +This schema defines all the attributes which can be assigned to +a _resource_, and it is used to validate the <> +file. Hence, the <> contains a list of elements +for each resource type. This schema is also used and extended by the +<>. + +It is important to understand that the content in this schema refers to a list of +resources for each resource class. Since a list is ordered by definition, it +clearly identifies specific resources by order. This is important when applying +filters or modifiers, since they are applied per-resource in the list. One can +for instance apply attribute A to first resource of class C, while not applying +it or applying another attribute B to second resources of the same class. As a +result, complex forms can be used to filter and modify a list of resources +required by a testsuite. + +On the other hand, it's also important to note that lists for simple or scalar +types are currently being treated as unordered sets, which mean combination of +filters or modifiers apply differently. In the future, it may be possible to +have both behaviors for scalar/simple types by using also the YAML 'set' type in +{app-name}. + +//TODO: update this list and use a table for each resource type in its own object section +//// +These kinds of resources and their attributes are known: + +'ip_address':: + List of IP addresses to run osmo-nitb instances on. The main unit + typically has a limited number of such IP addresses configured, which + the connected BTS models can see on their network. + 'addr'::: + IPv4 address of the local interface. + +'bts':: + List of available BTS hardware. + 'label'::: + human readable label for your own reference + 'type'::: + which way to launch this BTS, one of + - 'osmo-bts-sysmo' + - 'osmo-bts-trx' + - 'osmo-bts-octphy' + - 'ipa-nanobts' + 'ipa_unit_id'::: + ip.access unit id to be used by the BTS, written into BTS and BSC config. + 'addr'::: + Remote IP address of the BTS for BTS like sysmoBTS, and local IP address + to bind to for locally run BTS such as osmo-bts-trx. + 'band'::: + GSM band that this BTS shoud use (*TODO*: allow multiple bands). One of: + - 'GSM-1800' + - 'GSM-1900' + - (*TODO*: more bands) + 'trx_list'::: + Specific TRX configurations for this BTS. There should be as many of + these as the BTS has TRXes. (*TODO*: a way to define >1 TRX without + special configuration for them.) + 'hw_addr':::: + Hardware (MAC) address of the TRX in the form of '11:22:33:44:55:66', + only used for osmo-bts-octphy. (*TODO*: and nanobts??) + 'net_device':::: + Local network device to reach the TRX's 'hw_addr' at, only used for + osmo-bts-octphy. Example: 'eth0'. + 'nominal_power':::: + Nominal power to be used by the TRX. + 'max_power_red':::: + Max power reduction to apply to the nominal power of the TRX. +'arfcn':: + List of ARFCNs to use for running BTSes, which defines the actual RF + frequency bands used. + 'arfcn'::: + ARFCN number, see e.g. + https://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number + (note that the resource type 'arfcn' contains an item trait also named + 'arfcn'). + 'band'::: + GSM band name to use this ARFCN for, same as for 'bts:band' above. + +'modem':: + List of modems reachable via ofono and information on the inserted SIM + card. (Note: the MSISDN is allocated dynamically in test scripts). + 'label'::: + Human readable label for your own reference, which also appears in logs. + 'path'::: + Ofono's path for this modem, like '/modemkind_99'. + 'imsi'::: + IMSI of the inserted SIM card, like '"123456789012345"'. + 'ki'::: + 16 byte authentication/encryption KI of the inserted SIM card, in + hexadecimal notation (32 characters) like + + '"00112233445566778899aabbccddeeff"'. + 'auth_algo'::: + Authentication algorithm to be used with the SIM card. One of: + - 'none' + - 'xor' + - 'comp128v1' + 'ciphers'::: + List of ciphers that this modem supports, used to match + requirements in suites or scenarios. Any combination of: + - 'a5_0' + - 'a5_1' + - 'a5_2' + - 'a5_3' + - 'a5_4' + - 'a5_5' + - 'a5_6' + - 'a5_7' + 'features'::: + List of features that this modem supports, used to match requirements in + suites or scenarios. Any combination of: + - 'sms' + - 'gprs' + - 'voice' + - 'ussd' +//// + +[[schema_want]] +==== Schema 'want' + +This schema is basically the same as the <> one, but +with an extra 'times' attribute for each resource item. All 'times' attributes +are expanded before matching. For example, if a 'suite.conf' requests two BTS, +one may enforce that both BTS should be of type 'osmo-bts-sysmo' in these ways: + +---- +resources: + bts: + - type: osmo-bts-sysmo + - type: osmo-bts-sysmo +---- + +or alternatively, + +---- +resources: + bts: + - times: 2 + type: osmo-bts-sysmo +---- + +[[schema_config]] +==== Schema 'config' + +This schema defines all the attributes which can be used by object classes or +tests during test execution. The main difference between this schema and the +<> schema is that the former contains configuration +to be applied globally for all objects being used, while the later applies +attributes to a specific object in the list of allocated resources. This schema +hence allows setting attributes for objects which are not allocated as resources +and hence not directly accessible through scenarios, like a BSC or an iperf3 +client. + +This schema is built dynamically at runtime from content registered by: +- object classes registering their own attributes +- test suite registering their own attributes through <> + and tests being able to later retrieve them through 'testenv' API. + +[[schema_all]] +==== Schema 'all' + +This schema is basically an aggregated namespace for <> schema +and <> schema, and is the one used by +<> and <> files. It contains +these main element sections::: + +[[schema_all_sec_resources]] +- Section 'resources': Contains a set of elements validated with <> + schema. In <> it is used to construct the list of + requested resources. In <>, it is used to inject + attributes to the initial <> _resources_ section and + hence further restrain it. +[[schema_all_sec_modifiers]] +- Section 'modifiers': Both in <> and + <>, values presented in here are injected into + the content of the <> after + _resource_ allocation, hereby overwriting attributes passed to the object + class instance managing the specific _resource_ (matches by resource type and + list position). Since it is combined with the content of + <>, it is clear that the + <> is used to validate this content. +[[schema_all_sec_config]] +- Section 'config': Contains configuration attributes for {app-name} object + classes which are not _resources_, and hence cannot be configured with + <>. They can overwrite values provided in the + <> file. Content in this section follows the + <> schema. + +//TODO: defaults.timeout should be change in code to be config.test_timeout or similar +//TODO: 'config' should be split into its own schema and validate defaults.conf + === Example Setup {app-name} comes with an example official setup which is the one used to run -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 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: Iaf31808a655a5c77a1dfaa155e86d42585130820 Gerrit-Change-Number: 18215 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:14:09 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:14:09 +0000 Subject: Change in libosmocore[master]: gsm0505_amr_dtx: add missing value strings In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17931 to look at the new patch set (#3). Change subject: gsm0505_amr_dtx: add missing value strings ...................................................................... gsm0505_amr_dtx: add missing value strings The value string array that explain the type of the AMR DTX / SID frames is incomplete, lets add the missing strings. Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Related: OS#2978 --- M src/coding/gsm0503_amr_dtx.c M tests/dtx/dtx_gsm0503_test.ok 2 files changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/17931/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Gerrit-Change-Number: 17931 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:26:39 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:26:39 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17604 to look at the new patch set (#6). Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... logging: use LOGL_NOTICE when not loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:29:09 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: make sure all log categories are set to level notice ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:29:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:29:18 +0000 Subject: Change in libosmo-sccp[master]: doc: make sure all log categories are set to level notice In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 ) Change subject: doc: make sure all log categories are set to level notice ...................................................................... doc: make sure all log categories are set to level notice Lets make sure all logging levels are set to notice Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 --- M doc/examples/osmo-stp.cfg 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/examples/osmo-stp.cfg b/doc/examples/osmo-stp.cfg index 1d683ea..602a9ce 100644 --- a/doc/examples/osmo-stp.cfg +++ b/doc/examples/osmo-stp.cfg @@ -7,10 +7,7 @@ logging color 1 logging print category 1 logging timestamp 0 - logging level lss7 info - logging level lsccp info - logging level lsua info - logging level lm3ua info + logging level set-all notice line vty no login ! -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/17597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3b17aa4354f30b55da8fc77f4fe6af0373de7983 Gerrit-Change-Number: 17597 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:31:54 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:31:54 +0000 Subject: Change in osmo-ggsn[master]: debug: use LOGL_NOTICE instead of LOGL_DEBUG In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 ) Change subject: debug: use LOGL_NOTICE instead of LOGL_DEBUG ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4c6a9165114d1240e7e2cfa98d30d571a3f4e9d2 Gerrit-Change-Number: 17607 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:31:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:32:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:32:06 +0000 Subject: Change in osmo-ggsn[master]: debug: use LOGL_NOTICE instead of LOGL_DEBUG In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 ) Change subject: debug: use LOGL_NOTICE instead of LOGL_DEBUG ...................................................................... debug: use LOGL_NOTICE instead of LOGL_DEBUG In debug.c the log category DICMP6 uses LOGL_DEBUG as default. This is way to verbose, lets use LOGL_NOTICE instead. Change-Id: I4c6a9165114d1240e7e2cfa98d30d571a3f4e9d2 Related: OS#2577 --- M lib/debug.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/lib/debug.c b/lib/debug.c index cb918b1..c79e493 100644 --- a/lib/debug.c +++ b/lib/debug.c @@ -29,7 +29,7 @@ [DICMP6] = { .name = "DICMP6", .description = "ICMPv6", - .enabled = 1, .loglevel = LOGL_DEBUG, + .enabled = 1, .loglevel = LOGL_NOTICE, }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/17607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I4c6a9165114d1240e7e2cfa98d30d571a3f4e9d2 Gerrit-Change-Number: 17607 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:33:10 +0000 Subject: Change in osmo-gsm-tester[master]: Move check_dependencies.py to contrib/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 ) Change subject: Move check_dependencies.py to contrib/ ...................................................................... Move check_dependencies.py to contrib/ Change-Id: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 --- M Makefile R contrib/check_dependencies.py 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/16/18216/1 diff --git a/Makefile b/Makefile index c36aa9a..38ff6c8 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ .PHONY: version check deps: - ./check_dependencies.py + ./contrib/check_dependencies.py version: ./update_version.sh diff --git a/check_dependencies.py b/contrib/check_dependencies.py similarity index 94% rename from check_dependencies.py rename to contrib/check_dependencies.py index daf46dc..61d08b0 100755 --- a/check_dependencies.py +++ b/contrib/check_dependencies.py @@ -36,7 +36,7 @@ pass def import_all_py_in_dir(rel_path, skip_modules=[]): - selfdir = os.path.dirname(os.path.abspath(__file__)) + selfdir = os.getcwd() dir = os.path.join(selfdir, rel_path) print('importing files in directory %s' % dir) for entry in os.listdir(dir): @@ -112,8 +112,12 @@ print('Skip checking modules: %r' % skip_obj_modules) +rootdir = os.path.realpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')) +print('Changing workdir dir to %s' % rootdir) +os.chdir(rootdir) +sys.path.insert(0, rootdir) # We need to add it for cross-references between osmo_ms_driver and osmo_gsm_tester to work: -sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src/')) +sys.path.insert(0, os.path.join(rootdir, 'src/')) import_all_py_in_dir('src/osmo_ms_driver') import_all_py_in_dir('src/osmo_gsm_tester/core') import_all_py_in_dir('src/osmo_gsm_tester/obj', skip_obj_modules) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 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: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 Gerrit-Change-Number: 18216 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:35:22 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 11:35:22 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: Hello fixeria, pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 to look at the new patch set (#4). Change subject: doc: do not use loglevel info for log category ss ...................................................................... doc: do not use loglevel info for log category ss The log category ss uses info as loglevel vor ss, this is to verbose, lets use notice instead. Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 --- M doc/examples/osmo-hlr.cfg M tests/test_nodes.vty 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/00/17600/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:49:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:49:21 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 6: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/libosmocore/+/17604/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/17604/6//COMMIT_MSG at 7 PS6, Line 7: logging: use LOGL_NOTICE when not loglevel is set "no loglevel" https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c at 1047 PS6, Line 1047: cat_temp_ptr = talloc_zero_array(osmo_log_info, please change name, "temp" seems to say the variable is function-scoped and should be freed before exiting, and this is not the case, since this struct is probably gonna be left there for the entire run of the process. https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c at 1074 PS6, Line 1074: sizeof(struct log_info_cat)); you can move this to previous line, there's still space for it. https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c at 1077 PS6, Line 1077: osmo_log_info->cat = cat_temp_ptr; if osmo_log_info->cat is not NULL, talloc_free it before assigning it, to make sure we don't leak if somebody calls log_init twice. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:49:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:50:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:50:01 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17600 ) Change subject: doc: do not use loglevel info for log category ss ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:50:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:51:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:51:07 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17609 ) Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 11:51:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:51:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 12 May 2020 11:51:42 +0000 Subject: Change in libosmocore[master]: gsm_04_08.h: fix big endian structs In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18210 ) Change subject: gsm_04_08.h: fix big endian structs ...................................................................... gsm_04_08.h: fix big endian structs Affected: - struct gsm48_range_1024 - struct gsm48_range_512 - struct gsm48_range_256 - struct gsm48_range_128 In commit [1], the automatic little-to-big-endian compatibility by struct_endianness.py introduced doubled little/big endian struct listings by accident, resulting in a wrong big endian structure (due to double reversal in the original big endian part). Remove the old conditionals around the new automatic ones to fix the structs for big endian. [1] Ia0b99d76932aeb03e93bd0c62d3bf025dec5f9d2 Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b --- M include/osmocom/gsm/protocol/gsm_04_08.h 1 file changed, 0 insertions(+), 238 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 8370eca..1bca068 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -77,7 +77,6 @@ void osmo_gsm48_classmark_update(struct osmo_gsm48_classmark *dst, const struct osmo_gsm48_classmark *src); int8_t osmo_gsm48_rfpowercap2powerclass(enum gsm_band band, uint8_t rf_power_cap); /* Chapter 10.5.2.1b.3 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_1024 { #if OSMO_IS_LITTLE_ENDIAN uint8_t w1_hi:2, @@ -131,64 +130,8 @@ uint8_t w15_lo:2, w16:6; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_1024 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:5, - f0:1, - w1_hi:2; - uint8_t w1_lo; - uint8_t w2_hi; - uint8_t w2_lo:1, - w3_hi:7; - uint8_t w3_lo:2, - w4_hi:6; - uint8_t w4_lo:2, - w5_hi:6; - uint8_t w5_lo:2, - w6_hi:6; - uint8_t w6_lo:2, - w7_hi:6; - uint8_t w7_lo:2, - w8_hi:6; - uint8_t w8_lo:1, - w9:7; - uint8_t w10:7, - w11_hi:1; - uint8_t w11_lo:6, - w12_hi:2; - uint8_t w12_lo:5, - w13_hi:3; - uint8_t w13_lo:4, - w14_hi:4; - uint8_t w14_lo:3, - w15_hi:5; - uint8_t w15_lo:2, - w16:6; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t w1_hi:2, f0:1, form_id:5; - uint8_t w1_lo; - uint8_t w2_hi; - uint8_t w3_hi:7, w2_lo:1; - uint8_t w4_hi:6, w3_lo:2; - uint8_t w5_hi:6, w4_lo:2; - uint8_t w6_hi:6, w5_lo:2; - uint8_t w7_hi:6, w6_lo:2; - uint8_t w8_hi:6, w7_lo:2; - uint8_t w9:7, w8_lo:1; - uint8_t w11_hi:1, w10:7; - uint8_t w12_hi:2, w11_lo:6; - uint8_t w13_hi:3, w12_lo:5; - uint8_t w14_hi:4, w13_lo:4; - uint8_t w15_hi:5, w14_lo:3; - uint8_t w16:6, w15_lo:2; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.4 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_512 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -242,64 +185,8 @@ uint8_t w16_lo:3, w17:5; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_512 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1_hi:7; - uint8_t w1_lo:2, - w2_hi:6; - uint8_t w2_lo:2, - w3_hi:6; - uint8_t w3_lo:2, - w4_hi:6; - uint8_t w4_lo:1, - w5:7; - uint8_t w6:7, - w7_hi:1; - uint8_t w7_lo:6, - w8_hi:2; - uint8_t w8_lo:4, - w9_hi:4; - uint8_t w9_lo:2, - w10:6; - uint8_t w11:6, - w12_hi:2; - uint8_t w12_lo:4, - w13_hi:4; - uint8_t w13_lo:2, - w14:6; - uint8_t w15:6, - w16_hi:2; - uint8_t w16_lo:3, - w17:5; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1_hi:7, orig_arfcn_lo:1; - uint8_t w2_hi:6, w1_lo:2; - uint8_t w3_hi:6, w2_lo:2; - uint8_t w4_hi:6, w3_lo:2; - uint8_t w5:7, w4_lo:1; - uint8_t w7_hi:1, w6:7; - uint8_t w8_hi:2, w7_lo:6; - uint8_t w9_hi:4, w8_lo:4; - uint8_t w10:6, w9_lo:2; - uint8_t w12_hi:2, w11:6; - uint8_t w13_hi:4, w12_lo:4; - uint8_t w14:6, w13_lo:2; - uint8_t w16_hi:2, w15:6; - uint8_t w17:5, w16_lo:3; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.5 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_256 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -359,70 +246,8 @@ uint8_t w20_lo:3, w21:4, spare:1; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_256 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1_hi:7; - uint8_t w1_lo:1, - w2:7; - uint8_t w3:7, - w4_hi:1; - uint8_t w4_lo:5, - w5_hi:3; - uint8_t w5_lo:3, - w6_hi:5; - uint8_t w6_lo:1, - w7:6, - w8_hi:1; - uint8_t w8_lo:4, - w9_hi:4; - uint8_t w9_lo:1, - w10:5, - w11_hi:2; - uint8_t w11_lo:3, - w12:5; - uint8_t w13:5, - w14_hi:3; - uint8_t w14_lo:2, - w15:5, - w16_hi:1; - uint8_t w16_lo:3, - w17:4, - w18_hi:1; - uint8_t w18_lo:3, - w19:4, - w20_hi:1; - uint8_t w20_lo:3, - w21:4, - spare:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1_hi:7, orig_arfcn_lo:1; - uint8_t w2:7, w1_lo:1; - uint8_t w4_hi:1, w3:7; - uint8_t w5_hi:3, w4_lo:5; - uint8_t w6_hi:5, w5_lo:3; - uint8_t w8_hi:1, w7:6, w6_lo:1; - uint8_t w9_hi:4, w8_lo:4; - uint8_t w11_hi:2, w10:5, w9_lo:1; - uint8_t w12:5, w11_lo:3; - uint8_t w14_hi:3, w13:5; - uint8_t w16_hi:1, w15:5, w14_lo:2; - uint8_t w18_hi:1, w17:4, w16_lo:3; - uint8_t w20_hi:1, w19:4, w18_lo:3; - uint8_t spare:1, w21:4, w20_lo:3; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.6 */ -#if OSMO_IS_LITTLE_ENDIAN == 1 struct gsm48_range_128 { #if OSMO_IS_LITTLE_ENDIAN uint8_t orig_arfcn_hi:1, @@ -484,69 +309,6 @@ uint8_t w26_lo:1, w27:3, w28:3, spare:1; #endif } __attribute__ ((packed)); -#else -struct gsm48_range_128 { -#if OSMO_IS_LITTLE_ENDIAN - uint8_t form_id:7, - orig_arfcn_hi:1; - uint8_t orig_arfcn_mid; - uint8_t orig_arfcn_lo:1, - w1:7; - uint8_t w2:6, - w3_hi:2; - uint8_t w3_lo:4, - w4_hi:4; - uint8_t w4_lo:1, - w5:5, - w6_hi:2; - uint8_t w6_lo:3, - w7:5; - uint8_t w8:4, - w9:4; - uint8_t w10:4, - w11:4; - uint8_t w12:4, - w13:4; - uint8_t w14:4, - w15:4; - uint8_t w16:3, - w17:3, - w18_hi:2; - uint8_t w18_lo:1, - w19:3, - w20:3, - w21_hi:1; - uint8_t w21_lo:2, - w22:3, - w23:3; - uint8_t w24:3, - w25:3, - w26_hi:2; - uint8_t w26_lo:1, - w27:3, - w28:3, - spare:1; -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ - uint8_t orig_arfcn_hi:1, form_id:7; - uint8_t orig_arfcn_mid; - uint8_t w1:7, orig_arfcn_lo:1; - uint8_t w3_hi:2, w2:6; - uint8_t w4_hi:4, w3_lo:4; - uint8_t w6_hi:2, w5:5, w4_lo:1; - uint8_t w7:5, w6_lo:3; - uint8_t w9:4, w8:4; - uint8_t w11:4, w10:4; - uint8_t w13:4, w12:4; - uint8_t w15:4, w14:4; - uint8_t w18_hi:2, w17:3, w16:3; - uint8_t w21_hi:1, w20:3, w19:3, w18_lo:1; - uint8_t w23:3, w22:3, w21_lo:2; - uint8_t w26_hi:2, w25:3, w24:3; - uint8_t spare:1, w28:3, w27:3, w26_lo:1; -#endif -} __attribute__ ((packed)); -#endif /* Chapter 10.5.2.1b.7 */ struct gsm48_var_bit { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iaccdd4a204841209f5eb50f336b30962ff00da0b Gerrit-Change-Number: 18210 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:51:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 11:51:47 +0000 Subject: Change in osmo-gsm-tester[master]: Move update_version.sh to contrib/ References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 ) Change subject: Move update_version.sh to contrib/ ...................................................................... Move update_version.sh to contrib/ Change-Id: I26218cd512a739fc26ba04be05f01260152d785f --- M .gitignore M Makefile A contrib/update_version.sh D update_version.sh 4 files changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/17/18217/1 diff --git a/.gitignore b/.gitignore index a0c4088..ad9b423 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ __pycache__ pid .*.sw? -version +.version _version.py tags set_pythonpath diff --git a/Makefile b/Makefile index 38ff6c8..558f739 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ ./contrib/check_dependencies.py version: - ./update_version.sh + ./contrib/update_version.sh manual: $(MAKE) -C doc/manuals diff --git a/contrib/update_version.sh b/contrib/update_version.sh new file mode 100755 index 0000000..ab2674a --- /dev/null +++ b/contrib/update_version.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -e +ROOTDIR=$(git rev-parse --show-toplevel) +git describe --abbrev=8 --dirty | sed 's/v\([^-]*\)-\([^-]*\)-\(.*\)/\1.dev\2.\3/' > $ROOTDIR/.version +cat $ROOTDIR/.version +echo "# osmo-gsm-tester version. +# Automatically generated by update_version.sh. +# Gets imported by __init__.py. + +_version = '$(cat $ROOTDIR/.version)'" \ + > $ROOTDIR/src/osmo_gsm_tester/_version.py diff --git a/update_version.sh b/update_version.sh deleted file mode 100755 index 3d5fe42..0000000 --- a/update_version.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -set -e -git describe --abbrev=8 --dirty | sed 's/v\([^-]*\)-\([^-]*\)-\(.*\)/\1.dev\2.\3/' > version -cat version -echo "# osmo-gsm-tester version. -# Automatically generated by update_version.sh. -# Gets imported by __init__.py. - -_version = '$(cat version)'" \ - > src/osmo_gsm_tester/_version.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 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: I26218cd512a739fc26ba04be05f01260152d785f Gerrit-Change-Number: 18217 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 11:53:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 12 May 2020 11:53:09 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 to look at the new patch set (#3). Change subject: gsup: send RAT type on LU ...................................................................... gsup: send RAT type on LU At 36c3, osmo-hlr was run with a patch that records the RAN type of attached subscribers. Even though this is not in osmo-hlr master, it is nice information to send along. Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 --- M src/sgsn/gprs_subscriber.c 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/45/16745/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:07:40 +0000 Subject: Change in osmo-gsm-tester[master]: Cmdline arg -c sets main configuration file (old paths.conf) instead ... In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 to look at the new patch set (#4). Change subject: Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it ...................................................................... Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it It has been notified that current configuration system is difficult to understand and to use, so it has been envisioned to refactor it a bit. The idea is that the user passes a -c path/to/main.conf file, which in turn contains whatever osmo-gsm-tester main settings supports (basically what old paths.conf used to be, plus some files harcoded to the same -c directory are now configurable through the main configuration file). Change-Id: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 --- M contrib/jenkins-run.sh M doc/examples/2g_osmocom/README.md A doc/examples/2g_osmocom/main.conf D doc/examples/2g_osmocom/paths.conf M doc/examples/4g_srsLTE/README.md A doc/examples/4g_srsLTE/main.conf D doc/examples/4g_srsLTE/paths.conf M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.ok M selftest/resource_test/resource_test.py M selftest/scenario_test/scenario_test.ok M selftest/scenario_test/scenario_test.py M selftest/suite_test/suite_test.ok M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/resource.py M sysmocom/README.md A sysmocom/main.conf D sysmocom/paths.conf D sysmocom/ttcn3/defaults.conf M sysmocom/ttcn3/jenkins-run.sh A sysmocom/ttcn3/main.conf D sysmocom/ttcn3/paths.conf 24 files changed, 290 insertions(+), 212 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/18204/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 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: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 Gerrit-Change-Number: 18204 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:07:40 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Swap order of schemas and config files In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 to look at the new patch set (#2). Change subject: doc/manuals: Swap order of schemas and config files ...................................................................... doc/manuals: Swap order of schemas and config files First explain the different config files and directories, later describe the schemas used in each of them. Change-Id: Iaf31808a655a5c77a1dfaa155e86d42585130820 --- M doc/manuals/chapters/config.adoc 1 file changed, 211 insertions(+), 211 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/18215/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 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: Iaf31808a655a5c77a1dfaa155e86d42585130820 Gerrit-Change-Number: 18215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:07:40 +0000 Subject: Change in osmo-gsm-tester[master]: Move check_dependencies.py to contrib/ In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 to look at the new patch set (#2). Change subject: Move check_dependencies.py to contrib/ ...................................................................... Move check_dependencies.py to contrib/ Change-Id: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 --- M Makefile R contrib/check_dependencies.py 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/16/18216/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 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: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 Gerrit-Change-Number: 18216 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:07:40 +0000 Subject: Change in osmo-gsm-tester[master]: Move update_version.sh to contrib/ In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 ) Change subject: Move update_version.sh to contrib/ ...................................................................... Move update_version.sh to contrib/ Change-Id: I26218cd512a739fc26ba04be05f01260152d785f --- M .gitignore M Makefile A contrib/update_version.sh D update_version.sh 4 files changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/17/18217/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 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: I26218cd512a739fc26ba04be05f01260152d785f Gerrit-Change-Number: 18217 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:24:01 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 12 May 2020 12:24:01 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 3: Code-Review-1 (1 comment) I regret keeping the misspelled "borken" in the FSMs, maybe the exported stats could say "broken" instead? (OTOH fine with me if the spelling should match the logs.) But let's definitely not introduce yet another misspelling as in this patch (s.b.) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/3/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/3/include/osmocom/bsc/gsm_data.h at 1520 PS3, Line 1520: BTS_STAT_TS_BORKED, let's not introduce another variation of "broken" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:24:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:27:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 12 May 2020 12:27:16 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 3: (1 comment) (or we can start a contest of introducing ever more broken spellings of the word "broken", in the sense that the "broken" concept is self-referentially broken... but the internet is serious business!) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/3/src/osmo-bsc/gsm_data.c File src/osmo-bsc/gsm_data.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/3/src/osmo-bsc/gsm_data.c at 395 PS3, Line 395: { "lchan_borked", "Number of lchans in the BORKEN state", "", 16, 0 }, here too. I'd prefer "broken", or "borken" would be acceptable if others prefer that. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:27:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:29:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 12 May 2020 12:29:41 +0000 Subject: Change in osmo-bsc[master]: VTY: make configurable: X23002, X23005, X23006 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/17973 ) Change subject: VTY: make configurable: X23002, X23005, X23006 ...................................................................... Patch Set 5: I'd rather pick saner numbers, mentioned in https://osmocom.org/issues/4539 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/17973 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I637fcdde93c11158de46157d494c060bb36bdcfb Gerrit-Change-Number: 17973 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 12 May 2020 12:29:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:05 +0000 Subject: Change in osmo-ci[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18202 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a Gerrit-Change-Number: 18202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:08 +0000 Subject: Change in osmo-ci[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18202 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... osmo-gsm-tester: Point config parameter to file instead of its dirname Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55, the -c parameter holds the config file and not the directory where it is contained. Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a --- M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester_ttcn3.sh 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved; Verified diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 788f057..041ef93 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -236,7 +236,7 @@ docker run --rm=true \ -e HOME=/build \ -e JOB_NAME="$JOB_NAME" \ - -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom" \ + -e OSMO_GSM_TESTER_CONF="/build/osmo-gsm-tester/sysmocom/main.conf" \ -e OSMO_GSM_TESTER_OPTS="$OSMO_GSM_TESTER_OPTS" \ -e BUILD_NUMBER="$BUILD_NUMBER" \ -w /build -i \ diff --git a/jobs/osmo-gsm-tester_ttcn3.sh b/jobs/osmo-gsm-tester_ttcn3.sh index cb973fd..c844d22 100644 --- a/jobs/osmo-gsm-tester_ttcn3.sh +++ b/jobs/osmo-gsm-tester_ttcn3.sh @@ -2,7 +2,7 @@ set -e -x # On our hardware, we actually use the ttcn3 configuration as-is. -export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom/ttcn3" +export OSMO_GSM_TESTER_CONF="$PWD/osmo-gsm-tester/sysmocom/ttcn3/main.conf" # debug: provoke a failure #export OSMO_GSM_TESTER_OPTS="-s debug -t fail" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a Gerrit-Change-Number: 18202 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:30 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18203 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 Gerrit-Change-Number: 18203 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:36 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Point config parameter to file instead of its dirname In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18203 ) Change subject: osmo-gsm-tester: Point config parameter to file instead of its dirname ...................................................................... osmo-gsm-tester: Point config parameter to file instead of its dirname Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55, the -c parameter holds the config file and not the directory where it is contained. Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 89f7116..5b1541b 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,7 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmoco/main.conf} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I5aa0507d0e82616ee3cca74573fea6bdb7459b53 Gerrit-Change-Number: 18203 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:45 +0000 Subject: Change in osmo-gsm-tester[master]: Cmdline arg -c sets main configuration file (old paths.conf) instead ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 ) Change subject: Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 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: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 Gerrit-Change-Number: 18204 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:47 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Swap order of schemas and config files In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 ) Change subject: doc/manuals: Swap order of schemas and config files ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 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: Iaf31808a655a5c77a1dfaa155e86d42585130820 Gerrit-Change-Number: 18215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:49 +0000 Subject: Change in osmo-gsm-tester[master]: Move check_dependencies.py to contrib/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 ) Change subject: Move check_dependencies.py to contrib/ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 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: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 Gerrit-Change-Number: 18216 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:51 +0000 Subject: Change in osmo-gsm-tester[master]: Move update_version.sh to contrib/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 ) Change subject: Move update_version.sh to contrib/ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 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: I26218cd512a739fc26ba04be05f01260152d785f Gerrit-Change-Number: 18217 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 12:53:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:53 +0000 Subject: Change in osmo-gsm-tester[master]: Cmdline arg -c sets main configuration file (old paths.conf) instead ... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 ) Change subject: Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it ...................................................................... Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it It has been notified that current configuration system is difficult to understand and to use, so it has been envisioned to refactor it a bit. The idea is that the user passes a -c path/to/main.conf file, which in turn contains whatever osmo-gsm-tester main settings supports (basically what old paths.conf used to be, plus some files harcoded to the same -c directory are now configurable through the main configuration file). Change-Id: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 --- M contrib/jenkins-run.sh M doc/examples/2g_osmocom/README.md A doc/examples/2g_osmocom/main.conf D doc/examples/2g_osmocom/paths.conf M doc/examples/4g_srsLTE/README.md A doc/examples/4g_srsLTE/main.conf D doc/examples/4g_srsLTE/paths.conf M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.ok M selftest/resource_test/resource_test.py M selftest/scenario_test/scenario_test.ok M selftest/scenario_test/scenario_test.py M selftest/suite_test/suite_test.ok M selftest/suite_test/suite_test.py M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/resource.py M sysmocom/README.md A sysmocom/main.conf D sysmocom/paths.conf D sysmocom/ttcn3/defaults.conf M sysmocom/ttcn3/jenkins-run.sh A sysmocom/ttcn3/main.conf D sysmocom/ttcn3/paths.conf 24 files changed, 290 insertions(+), 212 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/jenkins-run.sh b/contrib/jenkins-run.sh index 89ff13f..1c31a9d 100755 --- a/contrib/jenkins-run.sh +++ b/contrib/jenkins-run.sh @@ -2,7 +2,7 @@ set -e -x base="$PWD" SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) # this file's directory -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/../sysmocom} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/../sysmocom/main.conf} time_start="$(date '+%F %T')" diff --git a/doc/examples/2g_osmocom/README.md b/doc/examples/2g_osmocom/README.md index 47b0737..b85ee1f 100644 --- a/doc/examples/2g_osmocom/README.md +++ b/doc/examples/2g_osmocom/README.md @@ -1,13 +1,14 @@ This a sample 2G test suite configured and ready to use. The only thing missing is a trial dir containing binaries. -You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line -argument, where DIR is the directory path where this README file resides. +You can point osmo-gsm-tester.py at this config using the '-c $DIR/main.conf' +command line argument, where DIR is the directory path where this README file +resides. If you have your trial with binary tar archives in ~/my_trial you can run the suite for example like this: ``` -osmo-gsm-tester.py -c $DIR ~/my_trial +osmo-gsm-tester.py -c $DIR/main.conf ~/my_trial ``` Alternatively you can setup this example as default config for your user by @@ -19,4 +20,4 @@ A ./state dir will be created to store the current osmo-gsm-tester state. If you prefer not to write to $DIR, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). +different path (see main.conf: 'state_dir'). diff --git a/doc/examples/2g_osmocom/main.conf b/doc/examples/2g_osmocom/main.conf new file mode 100644 index 0000000..b810519 --- /dev/null +++ b/doc/examples/2g_osmocom/main.conf @@ -0,0 +1,6 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' +default_suites_conf_path: './default-suites.conf' +defaults_conf_path: './defaults.conf' +resource_conf_path: './resources.conf' diff --git a/doc/examples/2g_osmocom/paths.conf b/doc/examples/2g_osmocom/paths.conf deleted file mode 100644 index 27c5818..0000000 --- a/doc/examples/2g_osmocom/paths.conf +++ /dev/null @@ -1,3 +0,0 @@ -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' diff --git a/doc/examples/4g_srsLTE/README.md b/doc/examples/4g_srsLTE/README.md index b577035..09af755 100644 --- a/doc/examples/4g_srsLTE/README.md +++ b/doc/examples/4g_srsLTE/README.md @@ -1,13 +1,14 @@ This a sample 4G test suite configured and ready to use srsLTE stack. The only thing missing is a trial dir containing binaries. -You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line -argument, where DIR is the directory path where this README file resides. +You can point osmo-gsm-tester.py at this config using the '-c $DIR/main.conf' +command line argument, where DIR is the directory path where this README file +resides. If you have your trial with binary tar archives in ~/my_trial you can run the suite for example like this: ``` -osmo-gsm-tester.py -c $DIR ~/my_trial +osmo-gsm-tester.py -c $DIR/main.conf ~/my_trial ``` Alternatively you can setup this example as default config for your user by @@ -19,4 +20,4 @@ A ./state dir will be created to store the current osmo-gsm-tester state. If you prefer not to write to $DIR, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). +different path (see main.conf: 'state_dir'). diff --git a/doc/examples/4g_srsLTE/main.conf b/doc/examples/4g_srsLTE/main.conf new file mode 100644 index 0000000..b810519 --- /dev/null +++ b/doc/examples/4g_srsLTE/main.conf @@ -0,0 +1,6 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' +default_suites_conf_path: './default-suites.conf' +defaults_conf_path: './defaults.conf' +resource_conf_path: './resources.conf' diff --git a/doc/examples/4g_srsLTE/paths.conf b/doc/examples/4g_srsLTE/paths.conf deleted file mode 100644 index 27c5818..0000000 --- a/doc/examples/4g_srsLTE/paths.conf +++ /dev/null @@ -1,3 +0,0 @@ -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 3f4bde1..c302cd6 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -4,22 +4,29 @@ All configuration attributes in {app-name} are stored and provided as YAML files, which are handled internally mostly as sets of dictionaries, lists and -scalars. Each of these configurations have a known format, which is called -'schema'. Each provided configuration is validated against its 'schema' at parse -time. Hence, 'schemas' can be seen as a namespace containing a structured tree -of configuration attributes. Each attribute has a schema type assigned which -constrains the type of value it can hold. +scalars. Each of these configurations have a known format (set of keys and +values), which is called 'schema'. Each provided configuration is validated +against its 'schema' at parse time. Hence, 'schemas' can be seen as a namespace +containing a structured tree of configuration attributes. Each attribute has a +schema type assigned which constrains the type of value it can hold. There are several well-known schemas used across {app-name}, and they are described in following sub-sections. +[[schema_main_cfg]] +==== Schema 'main config' + +This schema defines all the attributes available in {app-name} the main +configuration file <>, and it is used to validate it. + [[schema_resources]] ==== Schema 'resources' This schema defines all the attributes which can be assigned to a _resource_, and it is used to validate the <> file. Hence, the <> contains a list of elements -for each resource type. +for each resource type. This schema is also used and extended by the +<>. It is important to understand that the content in this schema refers to a list of resources for each resource class. Since a list is ordered by definition, it @@ -34,9 +41,10 @@ types are currently being treated as unordered sets, which mean combination of filters or modifiers apply differently. In the future, it may be possible to have both behaviors for scalar/simple types by using also the YAML 'set' type in -{app-handle}. +{app-name}. -//TODO: update this list and use a table for each resource type +//TODO: update this list and use a table for each resource type in its own object section +//// These kinds of resources and their attributes are known: 'ip_address':: @@ -127,6 +135,7 @@ - 'gprs' - 'voice' - 'ussd' +//// [[schema_want]] ==== Schema 'want' @@ -152,78 +161,109 @@ type: osmo-bts-sysmo ---- -[[schema_conf]] -==== Schema 'conf' +[[schema_config]] +==== Schema 'config' -This schema is used by <> and <> files. It contains 3 main element sections::: -[[schema_conf_sec_resources]] -- Section 'resources': Contains a set of elements validated with <> +This schema defines all the attributes which can be used by object classes or +tests during test execution. The main difference between this schema and the +<> schema is that the former contains configuration +to be applied globally for all objects being used, while the later applies +attributes to a specific object in the list of allocated resources. This schema +hence allows setting attributes for objects which are not allocated as resources +and hence not directly accessible through scenarios, like a BSC or an iperf3 +client. + +This schema is built dynamically at runtime from content registered by: +- object classes registering their own attributes +- test suite registering their own attributes through <> + and tests being able to later retrieve them through 'testenv' API. + +[[schema_all]] +==== Schema 'all' + +This schema is basically an aggregated namespace for <> schema +and <> schema, and is the one used by +<> and <> files. It contains +these main element sections::: + +[[schema_all_sec_resources]] +- Section 'resources': Contains a set of elements validated with <> schema. In <> it is used to construct the list of requested resources. In <>, it is used to inject attributes to the initial <> _resources_ section and hence further restrain it. -[[schema_conf_sec_modifiers]] +[[schema_all_sec_modifiers]] - Section 'modifiers': Both in <> and <>, values presented in here are injected into - the content of the <> after + the content of the <> after _resource_ allocation, hereby overwriting attributes passed to the object class instance managing the specific _resource_ (matches by resource type and list position). Since it is combined with the content of - <>, it is clear that the - <> is used to validate this content. -[[schema_conf_sec_config]] -- Section 'config': Contains configuration attributes for {app-name} classes which are - not _resources_, and hence cannot be configured with <>. - They can overwrite values provided in the <> file. + <>, it is clear that the + <> is used to validate this content. +[[schema_all_sec_config]] +- Section 'config': Contains configuration attributes for {app-name} object + classes which are not _resources_, and hence cannot be configured with + <>. They can overwrite values provided in the + <> file. Content in this section follows the + <> schema. //TODO: defaults.timeout should be change in code to be config.test_timeout or similar //TODO: 'config' should be split into its own schema and validate defaults.conf -[[config_paths]] -=== Config Paths +[[config]] +=== Configuration files and directories -The osmo-gsm-tester looks for configuration files in various standard -directories in this order: +Find in below sub-sections all user-defined files and directories used by +{app-name} to run tests on a given setup. -- '.' (Current Working Directory) -- '$HOME/.config/osmo-gsm-tester/' -- '/usr/local/etc/osmo-gsm-tester/' -- '/etc/osmo-gsm-tester/' +[[config_main]] +==== 'main.conf' -The config location can also be set through '-c' command line argument, which +The main configuration file is basically a placeholder for {app-name} to find +paths to all other files and directories used to operate and run tests. + +{app-name} looks for the main configuration file in various standard paths in +this order: + +- './main.conf' (Current Working Directory) +- '$HOME/.config/osmo-gsm-tester/main.conf' +- '/usr/local/etc/osmo-gsm-tester/main.conf' +- '/etc/osmo-gsm-tester/main.conf' + +The config file location can also be set through '-c' command line argument, which then overrides the above locations. -The osmo-gsm-tester expects to find the following configuration files in a -configuration directory: +{app-name} expects to find the following configuration settings in 'main.conf': -- <> -- <> -- <> (optional) -- <> (optional) +- 'state_dir': Path to <> directory +- 'suites_dir': Path to <> directory +- 'scenarios_dir': Path to <> directory (optional) +- 'default_suites_conf_path': Path to <> file (optional) +- 'defaults_conf_path': Path to <> file (optional) +- 'resource_conf_path': Path to <> file (optional) -These are described in detail in the following sections. +These are described in detail in the following sections. If no value is provided +for a given setting, sane default paths are used: For 'state_dir', +'/var/tmp/osmo-gsm-tester/state/' is used. All other files and directories are +expected, by default, to be in the same directory as <> -[[paths_conf]] -==== 'paths.conf' +IMPORTANT: Relative paths provided in 'main.conf' are parsed as being relative +to the directory of that 'main.conf' file itself, and not relative to the CWD +of the {app-name} process parsing it. -The 'paths.conf' file defines where to store the global state (of reserved -resources) and where to find suite and scenario definitions. - -Any relative paths found in a 'paths.conf' file are interpreted as relative to -the directory of that 'paths.conf' file. - -There's not yet any well-known schema to validate this file contents since it -has only 3 attributes. - -.Sample paths.conf file: +.Sample main.conf file: ---- state_dir: '/var/tmp/osmo-gsm-tester/state' suites_dir: '/usr/local/src/osmo-gsm-tester/suites' scenarios_dir: './scenarios' +default_suites_conf_path: './default-suites.conf' +defaults_conf_path: './defaults.conf' +resource_conf_path: './resources.conf' ---- [[state_dir]] -===== 'state_dir' +==== 'state_dir' It contains global or system-wide state for osmo-gsm-tester. In a typical state dir you can find the following files: @@ -256,7 +296,7 @@ resource allocation may not work as expected. [[suites_dir]] -===== 'suites_dir' +==== 'suites_dir' Suites contain a set of tests which are designed to be run together to test a set of features given a specific set of resources. As a result, resources are @@ -359,7 +399,7 @@ ---- [[scenarios_dir]] -===== 'scenarios_dir' +==== 'scenarios_dir' This dir contains scenario configuration files. @@ -503,7 +543,7 @@ available (yet). [[default_suites_conf]] -==== 'default-suites.conf' (optional) +==== 'default-suites.conf' The 'default-suites.conf' file contains a YAML list of 'suite:scenario+scenario+...' combination strings as defined by the 'osmo-gsm-tester.py -s' commandline @@ -512,10 +552,10 @@ combinations is run in sequence. A suite name must match the name of a directory in the -<> as defined by <>. +<> as defined by <>. A scenario name must match the name of a configuration file in the -<> as defined by <> +<> as defined by <> (optionally without the '.conf' suffix). .Sample 'default-suites.conf' file: @@ -530,7 +570,7 @@ - voice:trx+dyn_ts ---- -==== 'defaults.conf' (optional) +==== 'defaults.conf' In {app-name} object instances requested by the test and created by the suite relate to a specific allocated resource. That's not always the case, and even if @@ -613,16 +653,17 @@ All {app-name} related configuration for that environment is publicly available in 'osmo-gsm-tester.git' itself: -- <>: Available Available under 'example/', with its paths - already configured to take required bits from inside the git repository. -- <>: Available under 'example/suites/' -- <>: Available under 'example/scenarios/' -- <>: Available under 'example/' as +- <>: Available Available under 'sysmocom/', with its paths + already configured to take required bits from inside the git repository directory. +- <>: Available under 'sysmocom/suites/' +- <>: Available under 'sysmocom/scenarios/' +- <>: Available under 'sysmocom/' as 'resources.conf.prod' for Production setup and as 'resources.conf.rnd' for the RnD setup. One must use a symbolic link to have it available as 'resources.conf'. -//TODO: resources.conf file path should be modifiable through paths.conf! +There are also small sample setups under the 'doc/examples/' directory to +showcase how to set up different types of networks. ==== Typical Invocations @@ -633,25 +674,34 @@ Examples for launching test trials: - Run the default suites (see <>) on a - given set of binaries: + given set of binaries from 'path/to/my-trial' with <> + available under a standard path: ---- osmo-gsm-tester.py path/to/my-trial ---- -- Run an explicit choice of 'suite:scenario' combinations: +- Same as above, but run an explicit choice of 'suite:scenario' combinations: ---- osmo-gsm-tester.py path/to/my-trial -s sms:sysmo -s sms:trx -s sms:nanobts ---- -- Run one 'suite:scenario1+scenario2' combination, setting log level to 'debug' - and enabling logging of full python tracebacks, and also only run just the - 'mo_mt_sms.py' test from the suite, e.g. to investigate a test failure: +- Same as above, but run one 'suite:scenario1+scenario2' combination, setting + log level to 'debug' and enabling logging of full python tracebacks, and also + only run just the 'mo_mt_sms.py' test from the suite, e.g. to investigate a + test failure: ---- osmo-gsm-tester.py path/to/my-trial -s sms:sysmo+foobar -l dbg -T -t mo_mt ---- +- Same as above, but tell {app-name} to read the 'main.conf' in specific + directory 'path/to/my/main.conf': + +---- +osmo-gsm-tester.py -c path/to/my/main.conf path/to/my-trial -s sms:sysmo+foobar -l dbg -T -t mo_mt +---- + A test script may also be run step-by-step in a python debugger, see <>. diff --git a/selftest/resource_test/resource_test.ok b/selftest/resource_test/resource_test.ok index bbdbc5b..8a0b52f 100644 --- a/selftest/resource_test/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -9,12 +9,14 @@ ok, caused exception RuntimeError: Refusing to drop a list of resources from itself. This is probably a bug where a list of Resources() should have been copied but is passed as-is. use Resources.clear() instead. - test removing a Resources list from one with the same list in it - test resources config and state dir: -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/resource_test/conf/paths.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf -cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/resource_test/conf/test_work/state_dir -cnf -: DBG: [PATH]/selftest/resource_test/conf/paths.conf: relative path ./suite_test is [PATH]/selftest/resource_test/conf/suite_test -cnf -: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/resource_test/conf/resources.conf in [PATH]/selftest/resource_test/conf which is [PATH]/selftest/resource_test/conf -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/resource_test/conf/test_work/state_dir +cnf -: DBG: Found main configuration file in [PATH]/selftest/resource_test/conf/paths.conf which is [PATH]/selftest/resource_test/conf/paths.conf +cnf -: DBG: MAIN CONFIG: +{'default_suites_conf_path': '[PATH]/selftest/resource_test/conf/default-suites.conf', + 'defaults_conf_path': '[PATH]/selftest/resource_test/conf/defaults.conf', + 'resource_conf_path': '[PATH]/selftest/resource_test/conf/resources.conf', + 'scenarios_dir': '[PATH]/selftest/resource_test/conf/scenarios', + 'state_dir': '[PATH]/selftest/resource_test/conf/test_work/state_dir', + 'suites_dir': '[PATH]/selftest/resource_test/conf/suite_test'} *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/resource_test/resource_test.py b/selftest/resource_test/resource_test.py index b74ba2a..f18aa73 100755 --- a/selftest/resource_test/resource_test.py +++ b/selftest/resource_test/resource_test.py @@ -13,7 +13,7 @@ workdir = util.get_tempdir() # override config locations to make sure we use only the test conf -config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf') +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'conf', 'paths.conf') log.get_process_id = lambda: '123-1490837279' diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok index 7fe2049..e37ef57 100644 --- a/selftest/scenario_test/scenario_test.ok +++ b/selftest/scenario_test/scenario_test.ok @@ -1,32 +1,28 @@ -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/scenario_test/paths.conf in [PATH]/selftest/scenario_test which is [PATH]/selftest/scenario_test -cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test -cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/scenario_test/test_work/state_dir -cnf -: DBG: [PATH]/selftest/scenario_test/paths.conf: relative path . is [PATH]/selftest/scenario_test -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test +cnf -: DBG: Found main configuration file in [PATH]/selftest/scenario_test/paths.conf which is [PATH]/selftest/scenario_test/paths.conf +cnf -: DBG: MAIN CONFIG: +{'default_suites_conf_path': '[PATH]/selftest/scenario_test/default-suites.conf', + 'defaults_conf_path': '[PATH]/selftest/scenario_test/defaults.conf', + 'resource_conf_path': '[PATH]/selftest/scenario_test/resources.conf', + 'scenarios_dir': '[PATH]/selftest/scenario_test', + 'state_dir': '[PATH]/selftest/scenario_test/test_work/state_dir', + 'suites_dir': '[PATH]/selftest/scenario_test'} scenario_case_01.conf {'anotherlist': ['4', '0'], 'foobar': 'True', 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'secondstring'}, {'somelistitem': 'thirdstring'}]} -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test scenario_case_01.conf {'anotherlist': ['4', '0'], 'foobar': 'True', 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'secondstring'}, {'somelistitem': 'thirdstring'}]} -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_01 at .conf' (nor scenario_case_01 at .conf) -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test OK: expected ValueError -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test OK: expected ValueError -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} scenario_case_03 at heyho,1,yes.conf {'anotherlist': ['1', '0'], @@ -34,7 +30,6 @@ 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'heyho'}, {'somelistitem': 'thirdstring'}]} -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} scenario_case_03 at heyho,1,yes.conf {'anotherlist': ['1', '0'], @@ -42,17 +37,13 @@ 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'heyho'}, {'somelistitem': 'thirdstring'}]} -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} OK: expected NameError: Undefined -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at heyho,1.conf: DBG: {param_dict={param1='heyho', param2='1'}} OK: expected NameError: Undefined -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} scenario_case_03 at specific.conf {'somelist': [{'somelistitem': 'specific'}]} -cnf -: DBG: Found path scenarios_dir as [PATH]/selftest/scenario_test tst scenario_case_03 at specific.conf: DBG: {param_dict={param1='specific'}} scenario_case_03 at specific.conf {'somelist': [{'somelistitem': 'specific'}]} diff --git a/selftest/scenario_test/scenario_test.py b/selftest/scenario_test/scenario_test.py index f5f42f7..15f8983 100755 --- a/selftest/scenario_test/scenario_test.py +++ b/selftest/scenario_test/scenario_test.py @@ -18,7 +18,7 @@ 'foobar' : schema.BOOL_STR, } -config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'paths.conf') def print_scenario(sc): # we use copy() to be able to get the dictionary in super class of Scenario: diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index fa38605..fb26a06 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -1,15 +1,17 @@ - non-existing suite dir -cnf -: DBG: Found config file paths.conf as [PATH]/selftest/suite_test/paths.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test -cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path ./test_work/state_dir is [PATH]/selftest/suite_test/test_work/state_dir -cnf -: DBG: [PATH]/selftest/suite_test/paths.conf: relative path . is [PATH]/selftest/suite_test -cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test +cnf -: DBG: Found main configuration file in [PATH]/selftest/suite_test/paths.conf which is [PATH]/selftest/suite_test/paths.conf +cnf -: DBG: MAIN CONFIG: +{'default_suites_conf_path': '[PATH]/selftest/suite_test/default-suites.conf', + 'defaults_conf_path': '[PATH]/selftest/suite_test/defaults.conf', + 'resource_conf_path': '[PATH]/selftest/suite_test/resources.conf', + 'scenarios_dir': '[PATH]/selftest/suite_test/scenarios', + 'state_dir': '[PATH]/selftest/suite_test/test_work/state_dir', + 'suites_dir': '[PATH]/selftest/suite_test'} --- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test - no suite.conf -cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test cnf empty_dir: DBG: reading suite.conf cnf [PATH]/selftest/suite_test/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/empty_dir/suite.conf' [empty_dir?[PATH]/selftest/suite_test/empty_dir/suite.conf] - valid suite dir -cnf -: DBG: Found path suites_dir as [PATH]/selftest/suite_test cnf test_suite: DBG: reading suite.conf defaults: timeout: 60s @@ -25,8 +27,6 @@ - times: '2' - run hello world test -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir --------------------------------------------------------------------- trial test_suite @@ -179,8 +179,6 @@ FAIL: test_fail_raise.py (N.N sec) ExpectedFail: This failure is expected skip: test_suite_params.py - test with half empty scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- trial test_suite @@ -267,8 +265,6 @@ skip: test_fail_raise.py skip: test_suite_params.py - test with scenario -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] --------------------------------------------------------------------- trial test_suite @@ -355,8 +351,6 @@ skip: test_fail_raise.py skip: test_suite_params.py - test with scenario and modifiers -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{'label': 'sysmoCell 5000'}, {'label': 'sysmoCell 5000'}, {'type': 'sysmo'}], ip_address=[{}], modem=[{}, {}]}} [test_suite?{combining_scenarios='resources'}] [suite.py:[LINENR]] @@ -489,8 +483,6 @@ skip: test_fail_raise.py skip: test_suite_params.py - test with suite-specific config -cnf ResourcesPool: DBG: Found config file resources.conf as [PATH]/selftest/suite_test/resources.conf in [PATH]/selftest/suite_test which is [PATH]/selftest/suite_test [config.py:[LINENR]] -cnf ResourcesPool: DBG: Found path state_dir as [PATH]/selftest/suite_test/test_work/state_dir [config.py:[LINENR]] tst test_suite: reserving resources in [PATH]/selftest/suite_test/test_work/state_dir ... [suite.py:[LINENR]] tst test_suite: DBG: {combining='resources'} [suite.py:[LINENR]] tst {combining_scenarios='resources'}: DBG: {definition_conf={bts=[{'label': 'sysmoCell 5000'}, {'label': 'sysmoCell 5000'}, {'type': 'sysmo'}], ip_address=[{}], modem=[{}, {}]}} [test_suite?{combining_scenarios='resources'}] [suite.py:[LINENR]] diff --git a/selftest/suite_test/suite_test.py b/selftest/suite_test/suite_test.py index a096027..4b32439 100755 --- a/selftest/suite_test/suite_test.py +++ b/selftest/suite_test/suite_test.py @@ -11,7 +11,7 @@ from osmo_gsm_tester.core import suite from osmo_gsm_tester.core.schema import generate_schemas, get_all_schema -config.override_conf = os.path.join(os.path.dirname(sys.argv[0])) +config.override_conf = os.path.join(os.path.dirname(sys.argv[0]), 'paths.conf') example_trial_dir = os.path.join('test_trial_tmp') diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index fb5574b..204b1c7 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -24,9 +24,9 @@ Examples: -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s osmo_trx -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/ ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo -./osmo-gsm-tester.py -c sysmocom/ ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s osmo_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo +./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx (The names for test suites and scenarios used in these examples must be defined by the osmo-gsm-tester configuration.) @@ -54,8 +54,9 @@ A test run thus needs to define: * A trial package containing built binaries * A set of test suites, each with its combinations of scenarios -* A configuration directory specifying sets of resources, default configurations - and paths on where to find suites, scenarios, etc. +* A main configuration file specifying paths to other files containing sets of + resources, default configurations and paths on where to find suites, + scenarios, etc. If no combination of suites and scenarios is provided, the default list of suites will be run as defined in the osmo-gsm-tester configuration. @@ -101,8 +102,8 @@ # is easiest to maintain. parser.add_argument('-V', '--version', action='store_true', help='Show version') - parser.add_argument('-c', '--conf-dir', dest='conf_dir', - help='''Specify configuration directory path (containing paths.conf)''') + parser.add_argument('-c', '--conf-path', dest='conf_path', + help='''Specify main configuration file path''') parser.add_argument('trial_package', help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', @@ -140,18 +141,18 @@ log.style_change(trace=True) if args.source: log.style_change(src=True) - if args.conf_dir: - config.override_conf = args.conf_dir + if args.conf_path: + config.override_conf = args.conf_path combination_strs = list(args.suite_scenario or []) if not combination_strs: - combination_strs = config.read_config_file(config.DEFAULT_SUITES_CONF, if_missing_return=[]) + combination_strs = config.read_config_file(config.CFG_DEFAULT_SUITES_CONF, if_missing_return=[]) if combination_strs: print('Running default suites:\n ' + ('\n '.join(combination_strs))) else: - print('No default suites configured (%r)' % config.DEFAULT_SUITES_CONF) + print('Failed to load default suites (%r)' % config.get_main_config_value(config.DEFAULT_SUITES_CONF, fail_if_missing=False)) if not combination_strs: diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 88e522d..ea16e33 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -1,8 +1,9 @@ # osmo_gsm_tester: read and manage config files and global config # -# Copyright (C) 2016-2017 by sysmocom - s.f.m.c. GmbH +# Copyright (C) 2016-2020 by sysmocom - s.f.m.c. GmbH # # Author: Neels Hofmeyr +# Author: Pau Espin Pedrol # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as @@ -53,6 +54,7 @@ import yaml import os import copy +import pprint from . import log, util, template from . import schema @@ -60,94 +62,122 @@ override_conf = None -DEFAULT_CONFIG_LOCATIONS = [ - '.', - os.path.join(os.getenv('HOME'), '.config', 'osmo-gsm-tester'), - '/usr/local/etc/osmo-gsm-tester', - '/etc/osmo-gsm-tester' - ] - -PATHS_CONF = 'paths.conf' -DEFAULT_SUITES_CONF = 'default-suites.conf' -DEFAULTS_CONF = 'defaults.conf' -RESOURCES_CONF = 'resources.conf' - -PATH_STATE_DIR = 'state_dir' -PATH_SUITES_DIR = 'suites_dir' -PATH_SCENARIOS_DIR = 'scenarios_dir' -PATHS_SCHEMA = { - PATH_STATE_DIR: schema.STR, - PATH_SUITES_DIR: schema.STR, - PATH_SCENARIOS_DIR: schema.STR, +CFG_STATE_DIR = 'state_dir' +CFG_SUITES_DIR = 'suites_dir' +CFG_SCENARIOS_DIR = 'scenarios_dir' +CFG_DEFAULT_SUITES_CONF = 'default_suites_conf_path' +CFG_DEFAULTS_CONF = 'defaults_conf_path' +CFG_RESOURCES_CONF = 'resource_conf_path' +MAIN_CONFIG_SCHEMA = { + CFG_STATE_DIR: schema.STR, + CFG_SUITES_DIR: schema.STR, + CFG_SCENARIOS_DIR: schema.STR, + CFG_DEFAULT_SUITES_CONF: schema.STR, + CFG_DEFAULTS_CONF: schema.STR, + CFG_RESOURCES_CONF: schema.STR, } -PATHS_TEMPDIR_STR = '$TEMPDIR' +DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' +DF_CFG_SUITES_DIR = './suites' +DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' +DF_CFG_DEFAULTS_CONF = './defaults.conf' +DF_CFG_RESOURCES_CONF = './resources.conf' -PATHS = None +DEFAULT_CONFIG_FILENAME = 'main.conf' -def _get_config_file(basename, fail_if_missing=True): +DEFAULT_CONFIG_LOCATIONS = [ + '.', + os.path.join(os.getenv('HOME'), '.config', 'osmo-gsm-tester', DEFAULT_CONFIG_FILENAME), + os.path.join('/usr/local/etc/osmo-gsm-tester', DEFAULT_CONFIG_FILENAME), + os.path.join('/etc/osmo-gsm-tester', DEFAULT_CONFIG_FILENAME) + ] + +MAIN_CONFIG = None +MAIN_CONFIG_PATH = None + +def _find_main_config_path(): if override_conf: locations = [ override_conf ] elif os.getenv('OSMO_GSM_TESTER_CONF'): ENV_CONF = os.getenv('OSMO_GSM_TESTER_CONF') - log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s is deprecated. Rather use -c command line argument!' % ENV_CONF) - locations = [ ENV_CONF ] + log.err('Using environment variable OSMO_GSM_TESTER_CONF=%s(/paths.conf) is deprecated. Rather use -c command line argument!' % ENV_CONF) + locations = [ ENV_CONF + 'paths.conf' ] # directory is expected in OSMO_GSM_TESTER_CONF, bakcward compatibility else: locations = DEFAULT_CONFIG_LOCATIONS for l in locations: real_l = os.path.realpath(l) - p = os.path.realpath(os.path.join(real_l, basename)) - if os.path.isfile(p): - log.dbg('Found config file', basename, 'as', p, 'in', l, 'which is', real_l, _category=log.C_CNF) - return (p, real_l) - if not fail_if_missing: - return None, None - raise RuntimeError('configuration file not found: %r in %r' % (basename, - [os.path.abspath(p) for p in locations])) + if os.path.isfile(real_l): + log.dbg('Found main configuration file in ', l, 'which is', real_l, _category=log.C_CNF) + return real_l + raise RuntimeError('Main configuration file not found in %r' % ([l for l in locations])) -def get_config_file(basename, fail_if_missing=True): - path, found_in = _get_config_file(basename, fail_if_missing) +def _get_main_config_path(): + global MAIN_CONFIG_PATH + if MAIN_CONFIG_PATH is None: + MAIN_CONFIG_PATH = _find_main_config_path() + return MAIN_CONFIG_PATH + +def main_config_path_to_abspath(path): + 'Relative files in main config are relative towards the config file, not towards $CWD' + if not path.startswith(os.pathsep): + return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), path)) return path -def read_config_file(basename, validation_schema=None, if_missing_return=False): +def _get_main_config(): + global MAIN_CONFIG + if MAIN_CONFIG is None: + cfg = read(_get_main_config_path(), MAIN_CONFIG_SCHEMA) + MAIN_CONFIG = { + CFG_STATE_DIR: DF_CFG_STATE_DIR, + CFG_SUITES_DIR: DF_CFG_SUITES_DIR, + CFG_SCENARIOS_DIR: DF_CFG_SCENARIOS_DIR, + CFG_DEFAULT_SUITES_CONF: DF_CFG_DEFAULT_SUITES_CONF, + CFG_DEFAULTS_CONF: DF_CFG_DEFAULTS_CONF, + CFG_RESOURCES_CONF: DF_CFG_RESOURCES_CONF, + } + overlay(MAIN_CONFIG, cfg) + for key, path in sorted(MAIN_CONFIG.items()): + MAIN_CONFIG[key] = main_config_path_to_abspath(path) + log.dbg('MAIN CONFIG:\n' + pprint.pformat(MAIN_CONFIG), _category=log.C_CNF) + return MAIN_CONFIG + +def get_main_config_value(cfg_name, fail_if_missing=True): + cfg = _get_main_config() + f = cfg.get(cfg_name, None) + if f is None and fail_if_missing: + raise RuntimeError('Missing configuration %s' % (cfg_name)) + return f + +def read_config_file(cfg_name, validation_schema=None, if_missing_return=False): + '''Read content of config file cfg_name (referring to key in main config). + If "if_missing_return" is different than False, then instead of failing it will return whatever it is stored in that arg + ''' fail_if_missing = True if if_missing_return is not False: fail_if_missing = False - path = get_config_file(basename, fail_if_missing=fail_if_missing) + path = get_main_config_value(cfg_name, fail_if_missing=fail_if_missing) if path is None: return if_missing_return return read(path, validation_schema=validation_schema, if_missing_return=if_missing_return) -def get_configured_path(label, allow_unset=False): - global PATHS - - if PATHS is None: - paths_file, found_in = _get_config_file(PATHS_CONF) - PATHS = read(paths_file, PATHS_SCHEMA) - # sorted for deterministic regression test results - for key, path in sorted(PATHS.items()): - if not path.startswith(os.pathsep): - PATHS[key] = os.path.realpath(os.path.join(found_in, path)) - log.dbg(paths_file + ': relative path', path, 'is', PATHS[key], _category=log.C_CNF) - p = PATHS.get(label) - if p is None and not allow_unset: - raise RuntimeError('missing configuration in %s: %r' % (PATHS_CONF, label)) - - log.dbg('Found path', label, 'as', p, _category=log.C_CNF) - if p.startswith(PATHS_TEMPDIR_STR): - p = os.path.join(get_tempdir(), p[len(PATHS_TEMPDIR_STR):]) - log.dbg('Path', label, 'contained', PATHS_TEMPDIR_STR, 'and becomes', p, _category=log.C_CNF) - return p - def get_state_dir(): - return Dir(get_configured_path(PATH_STATE_DIR)) + return Dir(get_main_config_value(CFG_STATE_DIR)) def get_suites_dir(): - return Dir(get_configured_path(PATH_SUITES_DIR)) + return Dir(get_main_config_value(CFG_SUITES_DIR)) def get_scenarios_dir(): - return Dir(get_configured_path(PATH_SCENARIOS_DIR)) + return Dir(get_main_config_value(CFG_SCENARIOS_DIR)) + +DEFAULTS_CONF = None +def get_defaults(for_kind): + global DEFAULTS_CONF + if DEFAULTS_CONF is None: + DEFAULTS_CONF = read_config_file(CFG_DEFAULTS_CONF, if_missing_return={}) + defaults = DEFAULTS_CONF.get(for_kind, {}) + return copy.deepcopy(defaults) def read(path, validation_schema=None, if_missing_return=False): log.ctx(path) @@ -191,10 +221,6 @@ config = yaml.safe_load(_tostr(_standardize_item(config))) return config -def get_defaults(for_kind): - defaults = read_config_file(DEFAULTS_CONF, if_missing_return={}) - return defaults.get(for_kind, {}) - def overlay(dest, src): if is_dict(dest): if not is_dict(src): diff --git a/src/osmo_gsm_tester/core/resource.py b/src/osmo_gsm_tester/core/resource.py index a1a8ea5..af05a51 100644 --- a/src/osmo_gsm_tester/core/resource.py +++ b/src/osmo_gsm_tester/core/resource.py @@ -48,7 +48,7 @@ _registered_exit_handler = False def __init__(self): - self.config_path = config.get_config_file(config.RESOURCES_CONF) + self.config_path = config.get_main_config_value(config.CFG_RESOURCES_CONF) self.state_dir = config.get_state_dir() super().__init__(log.C_CNF, conf=self.config_path, state=self.state_dir.path) self.read_conf() diff --git a/sysmocom/README.md b/sysmocom/README.md index 1b311a0..ffe289b 100644 --- a/sysmocom/README.md +++ b/sysmocom/README.md @@ -1,13 +1,14 @@ This a real 2G test suite configured and ready to use. The only thing missing is a trial dir containing binaries. -You can point osmo-gsm-tester.py at this config using the '-c $DIR' command line -argument, where DIR is the directory path where this README file resides. +You can point osmo-gsm-tester.py at this config using the '-c $DIR/main.conf' +command line argument, where DIR is the directory path where this README file +resides. If you have your trial with binary tar archives in ~/my_trial you can run the suite for example like this: ``` -osmo-gsm-tester.py -c $DIR ~/my_trial +osmo-gsm-tester.py -c $DIR/main.conf ~/my_trial ``` Alternatively you can setup this example as default config for your user by @@ -19,4 +20,4 @@ A ./state dir will be created to store the current osmo-gsm-tester state. If you prefer not to write to $DIR, set up an own configuration pointing at a -different path (see paths.conf: 'state_dir'). +different path (see main.conf: 'state_dir'). diff --git a/sysmocom/main.conf b/sysmocom/main.conf new file mode 100644 index 0000000..b810519 --- /dev/null +++ b/sysmocom/main.conf @@ -0,0 +1,6 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' +default_suites_conf_path: './default-suites.conf' +defaults_conf_path: './defaults.conf' +resource_conf_path: './resources.conf' diff --git a/sysmocom/paths.conf b/sysmocom/paths.conf deleted file mode 100644 index 27c5818..0000000 --- a/sysmocom/paths.conf +++ /dev/null @@ -1,3 +0,0 @@ -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' diff --git a/sysmocom/ttcn3/defaults.conf b/sysmocom/ttcn3/defaults.conf deleted file mode 120000 index 1e7775f..0000000 --- a/sysmocom/ttcn3/defaults.conf +++ /dev/null @@ -1 +0,0 @@ -../defaults.conf \ No newline at end of file diff --git a/sysmocom/ttcn3/jenkins-run.sh b/sysmocom/ttcn3/jenkins-run.sh index c744606..2bc687d 100755 --- a/sysmocom/ttcn3/jenkins-run.sh +++ b/sysmocom/ttcn3/jenkins-run.sh @@ -1,6 +1,8 @@ #!/bin/sh set -e -x base="$PWD" +SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) # this file's directory +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-${SCRIPT_DIR}/main.conf} time_start="$(date '+%F %T')" diff --git a/sysmocom/ttcn3/main.conf b/sysmocom/ttcn3/main.conf new file mode 100644 index 0000000..9f38b4e --- /dev/null +++ b/sysmocom/ttcn3/main.conf @@ -0,0 +1,6 @@ +state_dir: '/var/tmp/osmo-gsm-tester/state' +suites_dir: './suites' +scenarios_dir: './scenarios' +default_suites_conf_path: './default-suites.conf' +defaults_conf_path: '../defaults.conf' +resource_conf_path: './resources.conf' diff --git a/sysmocom/ttcn3/paths.conf b/sysmocom/ttcn3/paths.conf deleted file mode 100644 index 27c5818..0000000 --- a/sysmocom/ttcn3/paths.conf +++ /dev/null @@ -1,3 +0,0 @@ -state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18204 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: Ieca65b71b543c44cfcec8e83efd0fe053c432e55 Gerrit-Change-Number: 18204 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: doc/manuals: Swap order of schemas and config files In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 ) Change subject: doc/manuals: Swap order of schemas and config files ...................................................................... doc/manuals: Swap order of schemas and config files First explain the different config files and directories, later describe the schemas used in each of them. Change-Id: Iaf31808a655a5c77a1dfaa155e86d42585130820 --- M doc/manuals/chapters/config.adoc 1 file changed, 211 insertions(+), 211 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index c302cd6..fec5c87 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -1,216 +1,5 @@ == Configuration -=== Schemas - -All configuration attributes in {app-name} are stored and provided as YAML -files, which are handled internally mostly as sets of dictionaries, lists and -scalars. Each of these configurations have a known format (set of keys and -values), which is called 'schema'. Each provided configuration is validated -against its 'schema' at parse time. Hence, 'schemas' can be seen as a namespace -containing a structured tree of configuration attributes. Each attribute has a -schema type assigned which constrains the type of value it can hold. - -There are several well-known schemas used across {app-name}, and they are -described in following sub-sections. - -[[schema_main_cfg]] -==== Schema 'main config' - -This schema defines all the attributes available in {app-name} the main -configuration file <>, and it is used to validate it. - -[[schema_resources]] -==== Schema 'resources' - -This schema defines all the attributes which can be assigned to -a _resource_, and it is used to validate the <> -file. Hence, the <> contains a list of elements -for each resource type. This schema is also used and extended by the -<>. - -It is important to understand that the content in this schema refers to a list of -resources for each resource class. Since a list is ordered by definition, it -clearly identifies specific resources by order. This is important when applying -filters or modifiers, since they are applied per-resource in the list. One can -for instance apply attribute A to first resource of class C, while not applying -it or applying another attribute B to second resources of the same class. As a -result, complex forms can be used to filter and modify a list of resources -required by a testsuite. - -On the other hand, it's also important to note that lists for simple or scalar -types are currently being treated as unordered sets, which mean combination of -filters or modifiers apply differently. In the future, it may be possible to -have both behaviors for scalar/simple types by using also the YAML 'set' type in -{app-name}. - -//TODO: update this list and use a table for each resource type in its own object section -//// -These kinds of resources and their attributes are known: - -'ip_address':: - List of IP addresses to run osmo-nitb instances on. The main unit - typically has a limited number of such IP addresses configured, which - the connected BTS models can see on their network. - 'addr'::: - IPv4 address of the local interface. - -'bts':: - List of available BTS hardware. - 'label'::: - human readable label for your own reference - 'type'::: - which way to launch this BTS, one of - - 'osmo-bts-sysmo' - - 'osmo-bts-trx' - - 'osmo-bts-octphy' - - 'ipa-nanobts' - 'ipa_unit_id'::: - ip.access unit id to be used by the BTS, written into BTS and BSC config. - 'addr'::: - Remote IP address of the BTS for BTS like sysmoBTS, and local IP address - to bind to for locally run BTS such as osmo-bts-trx. - 'band'::: - GSM band that this BTS shoud use (*TODO*: allow multiple bands). One of: - - 'GSM-1800' - - 'GSM-1900' - - (*TODO*: more bands) - 'trx_list'::: - Specific TRX configurations for this BTS. There should be as many of - these as the BTS has TRXes. (*TODO*: a way to define >1 TRX without - special configuration for them.) - 'hw_addr':::: - Hardware (MAC) address of the TRX in the form of '11:22:33:44:55:66', - only used for osmo-bts-octphy. (*TODO*: and nanobts??) - 'net_device':::: - Local network device to reach the TRX's 'hw_addr' at, only used for - osmo-bts-octphy. Example: 'eth0'. - 'nominal_power':::: - Nominal power to be used by the TRX. - 'max_power_red':::: - Max power reduction to apply to the nominal power of the TRX. -'arfcn':: - List of ARFCNs to use for running BTSes, which defines the actual RF - frequency bands used. - 'arfcn'::: - ARFCN number, see e.g. - https://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number - (note that the resource type 'arfcn' contains an item trait also named - 'arfcn'). - 'band'::: - GSM band name to use this ARFCN for, same as for 'bts:band' above. - -'modem':: - List of modems reachable via ofono and information on the inserted SIM - card. (Note: the MSISDN is allocated dynamically in test scripts). - 'label'::: - Human readable label for your own reference, which also appears in logs. - 'path'::: - Ofono's path for this modem, like '/modemkind_99'. - 'imsi'::: - IMSI of the inserted SIM card, like '"123456789012345"'. - 'ki'::: - 16 byte authentication/encryption KI of the inserted SIM card, in - hexadecimal notation (32 characters) like + - '"00112233445566778899aabbccddeeff"'. - 'auth_algo'::: - Authentication algorithm to be used with the SIM card. One of: - - 'none' - - 'xor' - - 'comp128v1' - 'ciphers'::: - List of ciphers that this modem supports, used to match - requirements in suites or scenarios. Any combination of: - - 'a5_0' - - 'a5_1' - - 'a5_2' - - 'a5_3' - - 'a5_4' - - 'a5_5' - - 'a5_6' - - 'a5_7' - 'features'::: - List of features that this modem supports, used to match requirements in - suites or scenarios. Any combination of: - - 'sms' - - 'gprs' - - 'voice' - - 'ussd' -//// - -[[schema_want]] -==== Schema 'want' - -This schema is basically the same as the <> one, but -with an extra 'times' attribute for each resource item. All 'times' attributes -are expanded before matching. For example, if a 'suite.conf' requests two BTS, -one may enforce that both BTS should be of type 'osmo-bts-sysmo' in these ways: - ----- -resources: - bts: - - type: osmo-bts-sysmo - - type: osmo-bts-sysmo ----- - -or alternatively, - ----- -resources: - bts: - - times: 2 - type: osmo-bts-sysmo ----- - -[[schema_config]] -==== Schema 'config' - -This schema defines all the attributes which can be used by object classes or -tests during test execution. The main difference between this schema and the -<> schema is that the former contains configuration -to be applied globally for all objects being used, while the later applies -attributes to a specific object in the list of allocated resources. This schema -hence allows setting attributes for objects which are not allocated as resources -and hence not directly accessible through scenarios, like a BSC or an iperf3 -client. - -This schema is built dynamically at runtime from content registered by: -- object classes registering their own attributes -- test suite registering their own attributes through <> - and tests being able to later retrieve them through 'testenv' API. - -[[schema_all]] -==== Schema 'all' - -This schema is basically an aggregated namespace for <> schema -and <> schema, and is the one used by -<> and <> files. It contains -these main element sections::: - -[[schema_all_sec_resources]] -- Section 'resources': Contains a set of elements validated with <> - schema. In <> it is used to construct the list of - requested resources. In <>, it is used to inject - attributes to the initial <> _resources_ section and - hence further restrain it. -[[schema_all_sec_modifiers]] -- Section 'modifiers': Both in <> and - <>, values presented in here are injected into - the content of the <> after - _resource_ allocation, hereby overwriting attributes passed to the object - class instance managing the specific _resource_ (matches by resource type and - list position). Since it is combined with the content of - <>, it is clear that the - <> is used to validate this content. -[[schema_all_sec_config]] -- Section 'config': Contains configuration attributes for {app-name} object - classes which are not _resources_, and hence cannot be configured with - <>. They can overwrite values provided in the - <> file. Content in this section follows the - <> schema. - -//TODO: defaults.timeout should be change in code to be config.test_timeout or similar -//TODO: 'config' should be split into its own schema and validate defaults.conf - [[config]] === Configuration files and directories @@ -642,6 +431,217 @@ - phys_chan_config: TCH/F_TCH/H_PDCH ---- +=== Schemas + +All configuration attributes in {app-name} are stored and provided as YAML +files, which are handled internally mostly as sets of dictionaries, lists and +scalars. Each of these configurations have a known format (set of keys and +values), which is called 'schema'. Each provided configuration is validated +against its 'schema' at parse time. Hence, 'schemas' can be seen as a namespace +containing a structured tree of configuration attributes. Each attribute has a +schema type assigned which constrains the type of value it can hold. + +There are several well-known schemas used across {app-name}, and they are +described in following sub-sections. + +[[schema_main_cfg]] +==== Schema 'main config' + +This schema defines all the attributes available in {app-name} the main +configuration file <>, and it is used to validate it. + +[[schema_resources]] +==== Schema 'resources' + +This schema defines all the attributes which can be assigned to +a _resource_, and it is used to validate the <> +file. Hence, the <> contains a list of elements +for each resource type. This schema is also used and extended by the +<>. + +It is important to understand that the content in this schema refers to a list of +resources for each resource class. Since a list is ordered by definition, it +clearly identifies specific resources by order. This is important when applying +filters or modifiers, since they are applied per-resource in the list. One can +for instance apply attribute A to first resource of class C, while not applying +it or applying another attribute B to second resources of the same class. As a +result, complex forms can be used to filter and modify a list of resources +required by a testsuite. + +On the other hand, it's also important to note that lists for simple or scalar +types are currently being treated as unordered sets, which mean combination of +filters or modifiers apply differently. In the future, it may be possible to +have both behaviors for scalar/simple types by using also the YAML 'set' type in +{app-name}. + +//TODO: update this list and use a table for each resource type in its own object section +//// +These kinds of resources and their attributes are known: + +'ip_address':: + List of IP addresses to run osmo-nitb instances on. The main unit + typically has a limited number of such IP addresses configured, which + the connected BTS models can see on their network. + 'addr'::: + IPv4 address of the local interface. + +'bts':: + List of available BTS hardware. + 'label'::: + human readable label for your own reference + 'type'::: + which way to launch this BTS, one of + - 'osmo-bts-sysmo' + - 'osmo-bts-trx' + - 'osmo-bts-octphy' + - 'ipa-nanobts' + 'ipa_unit_id'::: + ip.access unit id to be used by the BTS, written into BTS and BSC config. + 'addr'::: + Remote IP address of the BTS for BTS like sysmoBTS, and local IP address + to bind to for locally run BTS such as osmo-bts-trx. + 'band'::: + GSM band that this BTS shoud use (*TODO*: allow multiple bands). One of: + - 'GSM-1800' + - 'GSM-1900' + - (*TODO*: more bands) + 'trx_list'::: + Specific TRX configurations for this BTS. There should be as many of + these as the BTS has TRXes. (*TODO*: a way to define >1 TRX without + special configuration for them.) + 'hw_addr':::: + Hardware (MAC) address of the TRX in the form of '11:22:33:44:55:66', + only used for osmo-bts-octphy. (*TODO*: and nanobts??) + 'net_device':::: + Local network device to reach the TRX's 'hw_addr' at, only used for + osmo-bts-octphy. Example: 'eth0'. + 'nominal_power':::: + Nominal power to be used by the TRX. + 'max_power_red':::: + Max power reduction to apply to the nominal power of the TRX. +'arfcn':: + List of ARFCNs to use for running BTSes, which defines the actual RF + frequency bands used. + 'arfcn'::: + ARFCN number, see e.g. + https://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number + (note that the resource type 'arfcn' contains an item trait also named + 'arfcn'). + 'band'::: + GSM band name to use this ARFCN for, same as for 'bts:band' above. + +'modem':: + List of modems reachable via ofono and information on the inserted SIM + card. (Note: the MSISDN is allocated dynamically in test scripts). + 'label'::: + Human readable label for your own reference, which also appears in logs. + 'path'::: + Ofono's path for this modem, like '/modemkind_99'. + 'imsi'::: + IMSI of the inserted SIM card, like '"123456789012345"'. + 'ki'::: + 16 byte authentication/encryption KI of the inserted SIM card, in + hexadecimal notation (32 characters) like + + '"00112233445566778899aabbccddeeff"'. + 'auth_algo'::: + Authentication algorithm to be used with the SIM card. One of: + - 'none' + - 'xor' + - 'comp128v1' + 'ciphers'::: + List of ciphers that this modem supports, used to match + requirements in suites or scenarios. Any combination of: + - 'a5_0' + - 'a5_1' + - 'a5_2' + - 'a5_3' + - 'a5_4' + - 'a5_5' + - 'a5_6' + - 'a5_7' + 'features'::: + List of features that this modem supports, used to match requirements in + suites or scenarios. Any combination of: + - 'sms' + - 'gprs' + - 'voice' + - 'ussd' +//// + +[[schema_want]] +==== Schema 'want' + +This schema is basically the same as the <> one, but +with an extra 'times' attribute for each resource item. All 'times' attributes +are expanded before matching. For example, if a 'suite.conf' requests two BTS, +one may enforce that both BTS should be of type 'osmo-bts-sysmo' in these ways: + +---- +resources: + bts: + - type: osmo-bts-sysmo + - type: osmo-bts-sysmo +---- + +or alternatively, + +---- +resources: + bts: + - times: 2 + type: osmo-bts-sysmo +---- + +[[schema_config]] +==== Schema 'config' + +This schema defines all the attributes which can be used by object classes or +tests during test execution. The main difference between this schema and the +<> schema is that the former contains configuration +to be applied globally for all objects being used, while the later applies +attributes to a specific object in the list of allocated resources. This schema +hence allows setting attributes for objects which are not allocated as resources +and hence not directly accessible through scenarios, like a BSC or an iperf3 +client. + +This schema is built dynamically at runtime from content registered by: +- object classes registering their own attributes +- test suite registering their own attributes through <> + and tests being able to later retrieve them through 'testenv' API. + +[[schema_all]] +==== Schema 'all' + +This schema is basically an aggregated namespace for <> schema +and <> schema, and is the one used by +<> and <> files. It contains +these main element sections::: + +[[schema_all_sec_resources]] +- Section 'resources': Contains a set of elements validated with <> + schema. In <> it is used to construct the list of + requested resources. In <>, it is used to inject + attributes to the initial <> _resources_ section and + hence further restrain it. +[[schema_all_sec_modifiers]] +- Section 'modifiers': Both in <> and + <>, values presented in here are injected into + the content of the <> after + _resource_ allocation, hereby overwriting attributes passed to the object + class instance managing the specific _resource_ (matches by resource type and + list position). Since it is combined with the content of + <>, it is clear that the + <> is used to validate this content. +[[schema_all_sec_config]] +- Section 'config': Contains configuration attributes for {app-name} object + classes which are not _resources_, and hence cannot be configured with + <>. They can overwrite values provided in the + <> file. Content in this section follows the + <> schema. + +//TODO: defaults.timeout should be change in code to be config.test_timeout or similar +//TODO: 'config' should be split into its own schema and validate defaults.conf + === Example Setup {app-name} comes with an example official setup which is the one used to run -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18215 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: Iaf31808a655a5c77a1dfaa155e86d42585130820 Gerrit-Change-Number: 18215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: Move check_dependencies.py to contrib/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 ) Change subject: Move check_dependencies.py to contrib/ ...................................................................... Move check_dependencies.py to contrib/ Change-Id: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 --- M Makefile R contrib/check_dependencies.py 2 files changed, 7 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile b/Makefile index c36aa9a..38ff6c8 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ .PHONY: version check deps: - ./check_dependencies.py + ./contrib/check_dependencies.py version: ./update_version.sh diff --git a/check_dependencies.py b/contrib/check_dependencies.py similarity index 94% rename from check_dependencies.py rename to contrib/check_dependencies.py index daf46dc..61d08b0 100755 --- a/check_dependencies.py +++ b/contrib/check_dependencies.py @@ -36,7 +36,7 @@ pass def import_all_py_in_dir(rel_path, skip_modules=[]): - selfdir = os.path.dirname(os.path.abspath(__file__)) + selfdir = os.getcwd() dir = os.path.join(selfdir, rel_path) print('importing files in directory %s' % dir) for entry in os.listdir(dir): @@ -112,8 +112,12 @@ print('Skip checking modules: %r' % skip_obj_modules) +rootdir = os.path.realpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')) +print('Changing workdir dir to %s' % rootdir) +os.chdir(rootdir) +sys.path.insert(0, rootdir) # We need to add it for cross-references between osmo_ms_driver and osmo_gsm_tester to work: -sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src/')) +sys.path.insert(0, os.path.join(rootdir, 'src/')) import_all_py_in_dir('src/osmo_ms_driver') import_all_py_in_dir('src/osmo_gsm_tester/core') import_all_py_in_dir('src/osmo_gsm_tester/obj', skip_obj_modules) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18216 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: I8def867b1042cbb98bb36ff4a473b4cdb92ce122 Gerrit-Change-Number: 18216 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:53:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 12:53:54 +0000 Subject: Change in osmo-gsm-tester[master]: Move update_version.sh to contrib/ In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 ) Change subject: Move update_version.sh to contrib/ ...................................................................... Move update_version.sh to contrib/ Change-Id: I26218cd512a739fc26ba04be05f01260152d785f --- M .gitignore M Makefile A contrib/update_version.sh D update_version.sh 4 files changed, 13 insertions(+), 12 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index a0c4088..ad9b423 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ __pycache__ pid .*.sw? -version +.version _version.py tags set_pythonpath diff --git a/Makefile b/Makefile index 38ff6c8..558f739 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ ./contrib/check_dependencies.py version: - ./update_version.sh + ./contrib/update_version.sh manual: $(MAKE) -C doc/manuals diff --git a/contrib/update_version.sh b/contrib/update_version.sh new file mode 100755 index 0000000..ab2674a --- /dev/null +++ b/contrib/update_version.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -e +ROOTDIR=$(git rev-parse --show-toplevel) +git describe --abbrev=8 --dirty | sed 's/v\([^-]*\)-\([^-]*\)-\(.*\)/\1.dev\2.\3/' > $ROOTDIR/.version +cat $ROOTDIR/.version +echo "# osmo-gsm-tester version. +# Automatically generated by update_version.sh. +# Gets imported by __init__.py. + +_version = '$(cat $ROOTDIR/.version)'" \ + > $ROOTDIR/src/osmo_gsm_tester/_version.py diff --git a/update_version.sh b/update_version.sh deleted file mode 100755 index 3d5fe42..0000000 --- a/update_version.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -set -e -git describe --abbrev=8 --dirty | sed 's/v\([^-]*\)-\([^-]*\)-\(.*\)/\1.dev\2.\3/' > version -cat version -echo "# osmo-gsm-tester version. -# Automatically generated by update_version.sh. -# Gets imported by __init__.py. - -_version = '$(cat version)'" \ - > src/osmo_gsm_tester/_version.py -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18217 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: I26218cd512a739fc26ba04be05f01260152d785f Gerrit-Change-Number: 18217 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 12:55:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 12:55:47 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Signed-off-by: Vadim Yanitskiy --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/18/18218/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index e5c5519..8a2bb12 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1127,7 +1127,6 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; @@ -1161,7 +1160,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ @@ -1366,7 +1364,6 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; @@ -1405,7 +1402,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 13:24:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 13:24:53 +0000 Subject: Change in osmo-gsm-tester[master]: config: Allow setting trial directory in main.conf References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 ) Change subject: config: Allow setting trial directory in main.conf ...................................................................... config: Allow setting trial directory in main.conf Change-Id: Ia4141001d084f690897dbdff5eae6c69ff2e521c --- M doc/manuals/chapters/config.adoc M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py 3 files changed, 17 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/19/18219/1 diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index fec5c87..17cf825 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -27,6 +27,7 @@ - 'state_dir': Path to <> directory - 'suites_dir': Path to <> directory +- 'trial_dir': Path to <> directory to test against (overridden by cmdline argument) - 'scenarios_dir': Path to <> directory (optional) - 'default_suites_conf_path': Path to <> file (optional) - 'defaults_conf_path': Path to <> file (optional) @@ -46,6 +47,7 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' suites_dir: '/usr/local/src/osmo-gsm-tester/suites' scenarios_dir: './scenarios' +trial_dir: './trial' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' resource_conf_path: './resources.conf' diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 204b1c7..cfe55f6 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -24,9 +24,9 @@ Examples: -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s osmo_trx -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo -./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_dir/ -s osmo_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_dir/ -s sms_tests:dyn_ts+eu_band+bts_sysmo +./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_dir/ -s sms_tests/mo_mt_sms:bts_trx (The names for test suites and scenarios used in these examples must be defined by the osmo-gsm-tester configuration.) @@ -104,7 +104,7 @@ help='Show version') parser.add_argument('-c', '--conf-path', dest='conf_path', help='''Specify main configuration file path''') - parser.add_argument('trial_package', + parser.add_argument('trial_dir', nargs='?', default=None, help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', help='''A suite-scenarios combination @@ -129,7 +129,7 @@ exit(0) print('combinations:', repr(args.suite_scenario)) - print('trial:', repr(args.trial_package)) + print('trial:', repr(args.trial_dir)) print('tests:', repr(args.test)) # create a default log to stdout @@ -144,6 +144,11 @@ if args.conf_path: config.override_conf = args.conf_path + if args.trial_dir is not None: + trial_dir = args.trial_dir + else: + trial_dir = config.get_main_config_value(config.CFG_TRIAL_DIR) + combination_strs = list(args.suite_scenario or []) if not combination_strs: @@ -187,7 +192,7 @@ test_names = sorted(set(test_names)) print(repr(test_names)) - with trial.Trial(args.trial_package) as current_trial: + with trial.Trial(trial_dir) as current_trial: current_trial.verify() for suite_scenario_str, suite_def, scenarios in suite_scenarios: current_trial.add_suite_run(suite_scenario_str, suite_def, scenarios) diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index ea16e33..9380cca 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -65,6 +65,7 @@ CFG_STATE_DIR = 'state_dir' CFG_SUITES_DIR = 'suites_dir' CFG_SCENARIOS_DIR = 'scenarios_dir' +CFG_TRIAL_DIR = 'trial_dir' CFG_DEFAULT_SUITES_CONF = 'default_suites_conf_path' CFG_DEFAULTS_CONF = 'defaults_conf_path' CFG_RESOURCES_CONF = 'resource_conf_path' @@ -72,6 +73,7 @@ CFG_STATE_DIR: schema.STR, CFG_SUITES_DIR: schema.STR, CFG_SCENARIOS_DIR: schema.STR, + CFG_TRIAL_DIR: schema.STR, CFG_DEFAULT_SUITES_CONF: schema.STR, CFG_DEFAULTS_CONF: schema.STR, CFG_RESOURCES_CONF: schema.STR, @@ -80,6 +82,7 @@ DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' DF_CFG_SUITES_DIR = './suites' DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_TRIAL_DIR = './trial' DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' DF_CFG_DEFAULTS_CONF = './defaults.conf' DF_CFG_RESOURCES_CONF = './resources.conf' @@ -133,6 +136,7 @@ CFG_STATE_DIR: DF_CFG_STATE_DIR, CFG_SUITES_DIR: DF_CFG_SUITES_DIR, CFG_SCENARIOS_DIR: DF_CFG_SCENARIOS_DIR, + CFG_TRIAL_DIR: DF_CFG_TRIAL_DIR, CFG_DEFAULT_SUITES_CONF: DF_CFG_DEFAULT_SUITES_CONF, CFG_DEFAULTS_CONF: DF_CFG_DEFAULTS_CONF, CFG_RESOURCES_CONF: DF_CFG_RESOURCES_CONF, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 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: Ia4141001d084f690897dbdff5eae6c69ff2e521c Gerrit-Change-Number: 18219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 13:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 13:30:43 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when not loglevel is set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when not loglevel is set ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c at 1047 PS6, Line 1047: cat_temp_ptr = talloc_zero_array(osmo_log_info, > please change name, "temp" seems to say the variable is function-scoped and should be freed before e [?] I can be 'cat_ptr' or even just 'cat'. https://gerrit.osmocom.org/c/libosmocore/+/17604/6/src/logging.c at 1077 PS6, Line 1077: osmo_log_info->cat = cat_temp_ptr; > if osmo_log_info->cat is not NULL, talloc_free it before assigning it, to make sure we don't leak if [?] osmo_log_info is allocated by this function using talloc_zero(), and this is the only place where it's actually initialized. Thus no need to check not free() anything. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 13:30:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 13:45:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 13:45:11 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17604 to look at the new patch set (#7). Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... logging: use LOGL_NOTICE when no loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/7 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:25:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:25:15 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... Patch Set 7: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/17604/7/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/7/src/logging.c at 1031 PS7, Line 1031: tall_log_ctx = talloc_named_const(ctx, 1, "logging"); Regarding fixeria's comment on free(): Correct. But then please submit a new patch freeing tall_log_ctx here before assigning it, in case log_init is called more than once. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 14:25:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:27:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:27:38 +0000 Subject: Change in osmo-gsm-tester[master]: config: Allow setting trial directory in main.conf In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 to look at the new patch set (#2). Change subject: config: Allow setting trial directory in main.conf ...................................................................... config: Allow setting trial directory in main.conf Change-Id: Ia4141001d084f690897dbdff5eae6c69ff2e521c --- M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.ok M selftest/scenario_test/scenario_test.ok M selftest/suite_test/suite_test.ok M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py 6 files changed, 23 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/19/18219/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 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: Ia4141001d084f690897dbdff5eae6c69ff2e521c Gerrit-Change-Number: 18219 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:29:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 14:29:03 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... Patch Set 7: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/17604/7/src/logging.c File src/logging.c: https://gerrit.osmocom.org/c/libosmocore/+/17604/7/src/logging.c at 1031 PS7, Line 1031: tall_log_ctx = talloc_named_const(ctx, 1, "logging"); > Regarding fixeria's comment on free(): Correct. [?] Rather OSMO_ASSERT(tall_log_ctx == NULL)... https://gerrit.osmocom.org/c/libosmocore/+/17604/7/src/logging.c at 1048 PS7, Line 1048: Alignment is broken :/ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 14:29:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:38:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:38:32 +0000 Subject: Change in osmo-gsm-tester[master]: config: Allow setting trial directory in main.conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 ) Change subject: config: Allow setting trial directory in main.conf ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 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: Ia4141001d084f690897dbdff5eae6c69ff2e521c Gerrit-Change-Number: 18219 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 14:38:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:38:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:38:35 +0000 Subject: Change in osmo-gsm-tester[master]: config: Allow setting trial directory in main.conf In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 ) Change subject: config: Allow setting trial directory in main.conf ...................................................................... config: Allow setting trial directory in main.conf Change-Id: Ia4141001d084f690897dbdff5eae6c69ff2e521c --- M doc/manuals/chapters/config.adoc M selftest/resource_test/resource_test.ok M selftest/scenario_test/scenario_test.ok M selftest/suite_test/suite_test.ok M src/osmo-gsm-tester.py M src/osmo_gsm_tester/core/config.py 6 files changed, 23 insertions(+), 9 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 fec5c87..17cf825 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -27,6 +27,7 @@ - 'state_dir': Path to <> directory - 'suites_dir': Path to <> directory +- 'trial_dir': Path to <> directory to test against (overridden by cmdline argument) - 'scenarios_dir': Path to <> directory (optional) - 'default_suites_conf_path': Path to <> file (optional) - 'defaults_conf_path': Path to <> file (optional) @@ -46,6 +47,7 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' suites_dir: '/usr/local/src/osmo-gsm-tester/suites' scenarios_dir: './scenarios' +trial_dir: './trial' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' resource_conf_path: './resources.conf' diff --git a/selftest/resource_test/resource_test.ok b/selftest/resource_test/resource_test.ok index 8a0b52f..0ad760e 100644 --- a/selftest/resource_test/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -16,7 +16,8 @@ 'resource_conf_path': '[PATH]/selftest/resource_test/conf/resources.conf', 'scenarios_dir': '[PATH]/selftest/resource_test/conf/scenarios', 'state_dir': '[PATH]/selftest/resource_test/conf/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/resource_test/conf/suite_test'} + 'suites_dir': '[PATH]/selftest/resource_test/conf/suite_test', + 'trial_dir': '[PATH]/selftest/resource_test/conf/trial'} *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', 'arfcn': '512', diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok index e37ef57..e845f4c 100644 --- a/selftest/scenario_test/scenario_test.ok +++ b/selftest/scenario_test/scenario_test.ok @@ -5,7 +5,8 @@ 'resource_conf_path': '[PATH]/selftest/scenario_test/resources.conf', 'scenarios_dir': '[PATH]/selftest/scenario_test', 'state_dir': '[PATH]/selftest/scenario_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/scenario_test'} + 'suites_dir': '[PATH]/selftest/scenario_test', + 'trial_dir': '[PATH]/selftest/scenario_test/trial'} scenario_case_01.conf {'anotherlist': ['4', '0'], 'foobar': 'True', diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index fb26a06..d55317b 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -6,7 +6,8 @@ 'resource_conf_path': '[PATH]/selftest/suite_test/resources.conf', 'scenarios_dir': '[PATH]/selftest/suite_test/scenarios', 'state_dir': '[PATH]/selftest/suite_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/suite_test'} + 'suites_dir': '[PATH]/selftest/suite_test', + 'trial_dir': '[PATH]/selftest/suite_test/trial'} --- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test - no suite.conf cnf empty_dir: DBG: reading suite.conf diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py index 204b1c7..cfe55f6 100755 --- a/src/osmo-gsm-tester.py +++ b/src/osmo-gsm-tester.py @@ -24,9 +24,9 @@ Examples: -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s osmo_trx -./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_package/ -s sms_tests:dyn_ts+eu_band+bts_sysmo -./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_package/ -s sms_tests/mo_mt_sms:bts_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_dir/ -s osmo_trx +./osmo-gsm-tester.py -c doc/examples/2g_osmocom/main.conf ~/my_trial_dir/ -s sms_tests:dyn_ts+eu_band+bts_sysmo +./osmo-gsm-tester.py -c sysmocom/main.conf ~/my_trial_dir/ -s sms_tests/mo_mt_sms:bts_trx (The names for test suites and scenarios used in these examples must be defined by the osmo-gsm-tester configuration.) @@ -104,7 +104,7 @@ help='Show version') parser.add_argument('-c', '--conf-path', dest='conf_path', help='''Specify main configuration file path''') - parser.add_argument('trial_package', + parser.add_argument('trial_dir', nargs='?', default=None, help='Directory containing binaries to test') parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append', help='''A suite-scenarios combination @@ -129,7 +129,7 @@ exit(0) print('combinations:', repr(args.suite_scenario)) - print('trial:', repr(args.trial_package)) + print('trial:', repr(args.trial_dir)) print('tests:', repr(args.test)) # create a default log to stdout @@ -144,6 +144,11 @@ if args.conf_path: config.override_conf = args.conf_path + if args.trial_dir is not None: + trial_dir = args.trial_dir + else: + trial_dir = config.get_main_config_value(config.CFG_TRIAL_DIR) + combination_strs = list(args.suite_scenario or []) if not combination_strs: @@ -187,7 +192,7 @@ test_names = sorted(set(test_names)) print(repr(test_names)) - with trial.Trial(args.trial_package) as current_trial: + with trial.Trial(trial_dir) as current_trial: current_trial.verify() for suite_scenario_str, suite_def, scenarios in suite_scenarios: current_trial.add_suite_run(suite_scenario_str, suite_def, scenarios) diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index ea16e33..9380cca 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -65,6 +65,7 @@ CFG_STATE_DIR = 'state_dir' CFG_SUITES_DIR = 'suites_dir' CFG_SCENARIOS_DIR = 'scenarios_dir' +CFG_TRIAL_DIR = 'trial_dir' CFG_DEFAULT_SUITES_CONF = 'default_suites_conf_path' CFG_DEFAULTS_CONF = 'defaults_conf_path' CFG_RESOURCES_CONF = 'resource_conf_path' @@ -72,6 +73,7 @@ CFG_STATE_DIR: schema.STR, CFG_SUITES_DIR: schema.STR, CFG_SCENARIOS_DIR: schema.STR, + CFG_TRIAL_DIR: schema.STR, CFG_DEFAULT_SUITES_CONF: schema.STR, CFG_DEFAULTS_CONF: schema.STR, CFG_RESOURCES_CONF: schema.STR, @@ -80,6 +82,7 @@ DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' DF_CFG_SUITES_DIR = './suites' DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_TRIAL_DIR = './trial' DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' DF_CFG_DEFAULTS_CONF = './defaults.conf' DF_CFG_RESOURCES_CONF = './resources.conf' @@ -133,6 +136,7 @@ CFG_STATE_DIR: DF_CFG_STATE_DIR, CFG_SUITES_DIR: DF_CFG_SUITES_DIR, CFG_SCENARIOS_DIR: DF_CFG_SCENARIOS_DIR, + CFG_TRIAL_DIR: DF_CFG_TRIAL_DIR, CFG_DEFAULT_SUITES_CONF: DF_CFG_DEFAULT_SUITES_CONF, CFG_DEFAULTS_CONF: DF_CFG_DEFAULTS_CONF, CFG_RESOURCES_CONF: DF_CFG_RESOURCES_CONF, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18219 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: Ia4141001d084f690897dbdff5eae6c69ff2e521c Gerrit-Change-Number: 18219 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:43:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:43:08 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Fix typo in path in jenkins.sh References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18220 ) Change subject: osmo-gsm-tester: Fix typo in path in jenkins.sh ...................................................................... osmo-gsm-tester: Fix typo in path in jenkins.sh Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/20/18220/1 diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 5b1541b..64de38f 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,7 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmoco/main.conf} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom/main.conf} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f Gerrit-Change-Number: 18220 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:43:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:43:15 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Fix typo in path in jenkins.sh In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18220 ) Change subject: osmo-gsm-tester: Fix typo in path in jenkins.sh ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f Gerrit-Change-Number: 18220 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 14:43:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 14:43:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 14:43:22 +0000 Subject: Change in docker-playground[master]: osmo-gsm-tester: Fix typo in path in jenkins.sh In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18220 ) Change subject: osmo-gsm-tester: Fix typo in path in jenkins.sh ...................................................................... osmo-gsm-tester: Fix typo in path in jenkins.sh Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f --- M osmo-gsm-tester/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index 5b1541b..64de38f 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -80,7 +80,7 @@ /bin/sh -c "/data/osmo-gsm-tester-slave.sh >/data/sshd.log 2>&1" echo Starting container with osmo-gsm-tester main unit -OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmoco/main.conf} +OSMO_GSM_TESTER_CONF=${OSMO_GSM_TESTER_CONF:-/tmp/osmo-gsm-tester/sysmocom/main.conf} OSMO_GSM_TESTER_OPTS=${OSMO_GSM_TESTER_OPTS:--T -l dbg -s 4g:srsenb-rftype at zmq+srsue-rftype@zmq -t ping} docker run --rm \ --cap-add=NET_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Icdbd94a9e3de81ae60ce18da86ad57ebf70fb04f Gerrit-Change-Number: 18220 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 15:28:49 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 15:28:49 +0000 Subject: Change in pysim[master]: pySim-prog, pySim-read, do not echo reader id References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18221 ) Change subject: pySim-prog, pySim-read, do not echo reader id ...................................................................... pySim-prog, pySim-read, do not echo reader id pySim-prog and pySim-read currently echo back the pcsc reader id (or baudrate/socket, depending on the interface used). This makes the output unecessarly undeterministic, which becomes a problem when verifying the putput in tests. Lets not echo those variable, user supplied parameters back. Also lets move the code that does the initalization to utils, so that it can be used from pySim-prog and from pySim-read (code dup). Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Related: OS#4503 --- M pySim-prog.py M pySim-read.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok M tests/pysim-test.sh 10 files changed, 32 insertions(+), 47 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/21/18221/1 diff --git a/pySim-prog.py b/pySim-prog.py index c709959..67719b4 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -40,7 +40,7 @@ from pySim.commands import SimCardCommands from pySim.cards import _cards_classes, card_detect -from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid +from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid, init_reader from pySim.ts_51_011 import EF from pySim.card_handler import * from pySim.utils import * @@ -688,21 +688,7 @@ opts = parse_options() # Init card reader driver - if opts.pcsc_dev is not None: - print("Using PC/SC reader (dev=%d) interface" - % opts.pcsc_dev) - from pySim.transport.pcsc import PcscSimLink - sl = PcscSimLink(opts.pcsc_dev) - elif opts.osmocon_sock is not None: - print("Using Calypso-based (OsmocomBB, sock=%s) reader interface" - % opts.osmocon_sock) - from pySim.transport.calypso import CalypsoSimLink - sl = CalypsoSimLink(sock_path=opts.osmocon_sock) - else: # Serial reader is default - print("Using serial reader (port=%s, baudrate=%d) interface" - % (opts.device, opts.baudrate)) - from pySim.transport.serial import SerialSimLink - sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + sl = init_reader(opts) # Create command layer scc = SimCardCommands(transport=sl) diff --git a/pySim-read.py b/pySim-read.py index 33e93a7..df21531 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -34,8 +34,8 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, dec_st - +from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn +from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, init_reader def parse_options(): @@ -72,21 +72,7 @@ opts = parse_options() # Init card reader driver - if opts.pcsc_dev is not None: - print("Using PC/SC reader (dev=%d) interface" - % opts.pcsc_dev) - from pySim.transport.pcsc import PcscSimLink - sl = PcscSimLink(opts.pcsc_dev) - elif opts.osmocon_sock is not None: - print("Using Calypso-based (OsmocomBB, sock=%s) reader interface" - % opts.osmocon_sock) - from pySim.transport.calypso import CalypsoSimLink - sl = CalypsoSimLink(sock_path=opts.osmocon_sock) - else: # Serial reader is default - print("Using serial reader (port=%s, baudrate=%d) interface" - % (opts.device, opts.baudrate)) - from pySim.transport.serial import SerialSimLink - sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + sl = init_reader(opts) # Create command layer scc = SimCardCommands(transport=sl) diff --git a/pySim/utils.py b/pySim/utils.py index dbc7337..a1689ca 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -436,3 +436,22 @@ s += "\t%s # %s\n" % (i2h(content), i2s(content)) return s + +def init_reader(opts): + """ + Init card reader driver + """ + if opts.pcsc_dev is not None: + print("Using PC/SC reader interface") + from pySim.transport.pcsc import PcscSimLink + sl = PcscSimLink(opts.pcsc_dev) + elif opts.osmocon_sock is not None: + print("Using Calypso-based (OsmocomBB) reader interface") + from pySim.transport.calypso import CalypsoSimLink + sl = CalypsoSimLink(sock_path=opts.osmocon_sock) + else: # Serial reader is default + print("Using serial reader interface") + from pySim.transport.serial import SerialSimLink + sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + + return sl diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 0dbd89f..e5fa1af 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=0) interface +Using PC/SC reader interface Reading ... Autodetected card type: Fairwaves-SIM ICCID: 8988219000000117833 diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 2de0892..a5c3a8e 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=3) interface +Using PC/SC reader interface Reading ... Autodetected card type: Wavemobile-SIM ICCID: 89445310150011013678 diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 80cf3d9..0168b13 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=5) interface +Using PC/SC reader interface Reading ... Autodetected card type: fakemagicsim Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 57500eb..8559bdb 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=4) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmoISIM-SJA2 ICCID: 8988211900000000004 diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 408f211..75c3862 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=1) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmoUSIM-SJS1 ICCID: 1122334455667788990 diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 833ba83..3fba8e1 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=0) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmosim-gr1 Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. diff --git a/tests/pysim-test.sh b/tests/pysim-test.sh index a22c372..7ee9834 100755 --- a/tests/pysim-test.sh +++ b/tests/pysim-test.sh @@ -78,13 +78,7 @@ stat ./$CARD_NAME.ok > /dev/null python $PYSIM_READ -p $TERMINAL > $TEMPFILE set +e - # Note: We ignore the first line of output in the diff because here - # pysim would print the device number of the reader and we do not - # want the test to fail just because the card is put into a different - # reader device. - tail -n +2 $CARD_NAME.ok > $CARD_NAME.ok.tmp - tail -n +2 $TEMPFILE > $CARD_NAME.chk.tmp - CARD_DIFF=$(diff $CARD_NAME.chk.tmp $CARD_NAME.ok.tmp) + CARD_DIFF=$(diff $TEMPFILE ./$CARD_NAME.ok) set -e if [ "$CARD_DIFF" != "" ]; then @@ -104,7 +98,7 @@ inc_card_list $CARD_NAME echo "Card contents match the test data -- success!" - rm *.tmp + rm $TEMPFILE } # Read out the card using pysim-read and store the result as .ok file. This -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Gerrit-Change-Number: 18221 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 15:56:31 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 15:56:31 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: Hello fixeria, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/17604 to look at the new patch set (#8). Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... logging: use LOGL_NOTICE when no loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/17604/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 15:56:32 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 12 May 2020 15:56:32 +0000 Subject: Change in libosmocore[master]: logging: do not allow multiple calls of log_init() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18222 ) Change subject: logging: do not allow multiple calls of log_init() ...................................................................... logging: do not allow multiple calls of log_init() calling log_init() multiple times would lead into memory leaks. The function should only be called once on startup of the process. Lets make sure that it does not get called multiple times by accident. Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 --- M src/logging.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/18222/1 diff --git a/src/logging.c b/src/logging.c index 4aaf515..c14e696 100644 --- a/src/logging.c +++ b/src/logging.c @@ -1028,6 +1028,9 @@ int i; struct log_info_cat *cat_ptr; + /* Ensure that log_init is not called multiple times */ + OSMO_ASSERT(tall_log_ctx == NULL) + tall_log_ctx = talloc_named_const(ctx, 1, "logging"); if (!tall_log_ctx) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 Gerrit-Change-Number: 18222 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:04:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 16:04:08 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_ul_tbf() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18133 ) Change subject: Expect ms object to exist before calling tbf_alloc_ul_tbf() ...................................................................... Patch Set 1: Code-Review+2 (1 comment) I am wondering if it's possible to avoid these formal (dummy) MS allocations and make it legal for a TBF to exist without being associated to particular MS instance until it's know to whom it belongs to. https://gerrit.osmocom.org/c/osmo-pcu/+/18133/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18133/1/src/pdch.cpp at a563 PS1, Line 563: if (ms) { I would keep this 'if', and rather allocate the MS in the 'else' branch or so. It does not make sense to call ms->ul_tbf() or ms->dl_tbf() if the MS instance was just allocated... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c Gerrit-Change-Number: 18133 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 16:04:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:14:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 16:14:43 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Patch Set 1: Code-Review+2 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp at 1055 PS1, Line 1055: int rc; Makes sense to add OSMO_ASSERT(ms != NULL) here, like you did in the previous change. https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp at 1057 PS1, Line 1057: ms->egprs_ms_class() == 0 So if we're in 'EGPRS only' mode, and both egprs_ms_class and ms_class == 0, then a phone gets accepted just fine? Just trying to understand the logic behind this, not related to this change. https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp at 1063 PS1, Line 1063: ms->set_egprs_ms_class(1); Wow, unrelated question: why do we overwrite the MS class here? o_O -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 16:14:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:15:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 16:15:59 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 16:15:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:16:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 16:16:16 +0000 Subject: Change in libosmocore[master]: logging: do not allow multiple calls of log_init() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18222 ) Change subject: logging: do not allow multiple calls of log_init() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 Gerrit-Change-Number: 18222 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 12 May 2020 16:16:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:28:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 16:28:41 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_ul_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18133 ) Change subject: Expect ms object to exist before calling tbf_alloc_ul_tbf() ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+2 > > (1 comment) > > I am wondering if it's possible to avoid these formal (dummy) MS allocations and make it legal for a TBF to exist without being associated to particular MS instance until it's know to whom it belongs to. No way! Let's please skip this model where objects can have or not associations to other objects. A TBF is ALWAYS associated to an MS even if we lack some information about that MS. Let's always have an objet and let the object handle all the state on what information we have about it instead of trying to figure out in all different places. If a TBF is to be created, it has to be created from an MS. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c Gerrit-Change-Number: 18133 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 16:28:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:31:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 16:31:42 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp File src/tbf.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp at 1057 PS1, Line 1057: ms->egprs_ms_class() == 0 > So if we're in 'EGPRS only' mode, and both egprs_ms_class and ms_class == 0, then a phone gets accep [?] yeah, looks like... god nows.. all this egprs_enabled needs to go away soon anyway... https://gerrit.osmocom.org/c/osmo-pcu/+/18134/1/src/tbf.cpp at 1063 PS1, Line 1063: ms->set_egprs_ms_class(1); > Wow, unrelated question: why do we overwrite the MS class here? o_O Well, because according to the assumptions above, this MS must be EGPRS capable!!!! lol so broken. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 16:31:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 16:40:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 16:40:01 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 to look at the new patch set (#2). Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Expect ms object to exist before calling tbf_alloc_dl_tbf() Same as previous commit, this time for the DL counterpart. Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/alloc/AllocTest.cpp M tests/app_info/AppInfoTest.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 8 files changed, 223 insertions(+), 221 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/18134/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:09:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:09:17 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Patch Set 2: Code-Review+2 REadding +2 after adding requesting OSMO_ASSERT -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 17:09:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:09:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:09:20 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_ul_tbf() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18133 ) Change subject: Expect ms object to exist before calling tbf_alloc_ul_tbf() ...................................................................... Expect ms object to exist before calling tbf_alloc_ul_tbf() It's really non-sense from architectural point of view to pass an optional pointer to the MS holding the TBF and creating it otherwise. TBFs shouldn't be creating MS they belong too. This simple change requiring so many code line changes really exhibits how badly entangled the object relationship is. Another commit will follow doing the same for dl tbf. Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c --- M src/bts.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M tests/alloc/AllocTest.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 8 files changed, 105 insertions(+), 103 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 1d073aa..2916ee7 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -753,6 +753,7 @@ uint8_t tsc = 0, ta = qta2ta(qta); uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); bool failure = false; + GprsMs *ms; rach_frame(); @@ -792,9 +793,10 @@ "Uplink (AGCH)\n"); } } else { + ms = ms_alloc(0, egprs_ms_class); // Create new TBF /* FIXME: Copy and paste with other routines.. */ - tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, egprs_ms_class, true); + tbf = tbf_alloc_ul_tbf(&m_bts, ms, -1, true); if (!tbf) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending " diff --git a/src/pdch.cpp b/src/pdch.cpp index 77be1b5..149ca1f 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -118,8 +118,7 @@ bts->channel_request_description(); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->trx->trx_no, tbf->ms_class(), - tbf->ms()->egprs_ms_class(), tbf->tlli(), tbf->ta(), tbf->ms()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli(), tbf->ta()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -552,19 +551,17 @@ struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; struct gprs_rlcmac_dl_tbf *dl_tbf = NULL; uint32_t tlli = request->ID.u.TLLI; - uint8_t ms_class = 0; - uint8_t egprs_ms_class = 0; uint8_t ta = GSM48_TA_INVALID; GprsMs *ms = bts()->ms_by_tlli(tlli); + if (!ms) + ms = bts()->ms_alloc(0, 0); /* ms class updated later */ + /* Keep the ms, even if it gets idle temporarily */ GprsMs::Guard guard(ms); - - if (ms) { - ul_tbf = ms->ul_tbf(); - dl_tbf = ms->dl_tbf(); - ta = ms->ta(); - } + ul_tbf = ms->ul_tbf(); + dl_tbf = ms->dl_tbf(); + ta = ms->ta(); /* We got a RACH so the MS was in packet idle mode and thus * didn't have any active TBFs */ @@ -597,20 +594,23 @@ bts()->sba()->free_sba(sba); } if (request->Exist_MS_Radio_Access_capability2) { + uint8_t ms_class, egprs_ms_class; ms_class = Decoding::get_ms_class_by_capability( &request->MS_Radio_Access_capability2); + ms->set_ms_class(ms_class); egprs_ms_class = Decoding::get_egprs_ms_class_by_capability( &request->MS_Radio_Access_capability2); + ms->set_egprs_ms_class(egprs_ms_class); } - if (!ms_class) + if (!ms->ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); - if (egprs_ms_class) + if (ms->egprs_ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS supports EGPRS multislot class %d.\n", - egprs_ms_class); - ul_tbf = tbf_alloc_ul(bts_data(), trx_no(), ms_class, - egprs_ms_class, tlli, ta, ms); + ms->egprs_ms_class()); + + ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, @@ -626,10 +626,6 @@ /* schedule uplink assignment */ TBF_SET_ASS_STATE_UL(ul_tbf, GPRS_RLCMAC_UL_ASS_SEND_ASS); - /* get capabilities */ - if (ul_tbf->ms()) - ul_tbf->ms()->set_egprs_ms_class(egprs_ms_class); - /* get measurements */ if (ul_tbf->ms()) { get_meas(meas, request); diff --git a/src/tbf.cpp b/src/tbf.cpp index fb985d4..e41ed9f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -415,17 +415,15 @@ ms()->confirm_tlli(tlli); } -gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, - int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, - uint32_t tlli, uint8_t ta, GprsMs *ms) +gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, + uint32_t tlli, uint8_t ta) { struct gprs_rlcmac_ul_tbf *tbf; /* FIXME: Copy and paste with tbf_new_dl_assignment */ /* create new TBF, use same TRX as DL TBF */ /* use multislot class of downlink TBF */ - tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, - false); + tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, false); if (!tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); /* FIXME: send reject */ @@ -979,13 +977,14 @@ } } -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot) +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot) { struct gprs_rlcmac_ul_tbf *tbf; int rc; - if (egprs_ms_class == 0 && bts->egprs_enabled) { + OSMO_ASSERT(ms != NULL); + + if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); bts->bts->tbf_failed_egprs_only(); return NULL; @@ -993,26 +992,21 @@ LOGP(DTBF, LOGL_DEBUG, "********** UL-TBF starts here **********\n"); LOGP(DTBF, LOGL_INFO, "Allocating UL TBF: MS_CLASS=%d/%d\n", - ms_class, egprs_ms_class); + ms->ms_class(), ms->egprs_ms_class()); tbf = talloc(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf); - if (!tbf) return NULL; - talloc_set_destructor(tbf, ul_tbf_dtor); new (tbf) gprs_rlcmac_ul_tbf(bts->bts); - if (!ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); - - if (egprs_ms_class > 0 && bts->egprs_enabled) { + if (ms->egprs_ms_class() > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } - rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot); + rc = setup_tbf(tbf, ms, use_trx, ms->ms_class(), ms->egprs_ms_class(), single_slot); /* if no resource */ if (rc < 0) { diff --git a/src/tbf.h b/src/tbf.h index 9545385..33d996f 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -346,12 +346,10 @@ }; -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, - int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, - uint32_t tlli, uint8_t ta, GprsMs *ms); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, + int8_t use_trx, uint32_t tlli, uint8_t ta); -struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot); +struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 2fdee3f..abd5d22 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -44,9 +44,11 @@ uint8_t use_trx, uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot) { + if (dir == GPRS_RLCMAC_UL_TBF && !ms) + ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); + if (dir == GPRS_RLCMAC_UL_TBF) - return tbf_alloc_ul_tbf(bts, ms, use_trx, - ms_class, egprs_ms_class, single_slot); + return tbf_alloc_ul_tbf(bts, ms, use_trx, single_slot); else return tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, single_slot); @@ -205,6 +207,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_dl_tbf *dl_tbf; @@ -215,7 +218,8 @@ enable_ts_on_bts(bts, ts0, ts1, ts2, ts3, ts4, ts5, ts6, ts7); - ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, true); + ms = the_bts.ms_alloc(ms_class, 0); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, -1, true); if (!ul_tbf) return false; @@ -247,6 +251,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_dl_tbf *dl_tbf; @@ -262,14 +267,14 @@ return false; dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF); - + ms = dl_tbf->ms(); OSMO_ASSERT(dl_tbf->ms()); OSMO_ASSERT(dl_tbf->ms()->current_trx()); + ms->set_ms_class(ms_class); dump_assignment(dl_tbf, "DL", verbose); - ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), dl_tbf->ms()->current_trx()->trx_no, ms_class, 0, - false); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, ms->current_trx()->trx_no, false); if (!ul_tbf) return false; @@ -297,6 +302,7 @@ { BTS the_bts; struct gprs_rlcmac_bts *bts = the_bts.bts_data(); + GprsMs *ms; int tfi; uint8_t trx_no; gprs_rlcmac_tbf *ul_tbf, *dl_tbf; @@ -309,7 +315,8 @@ tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1); OSMO_ASSERT(tfi >= 0); - ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 0, false); + ms = the_bts.ms_alloc(ms_class, 0); + ul_tbf = tbf_alloc_ul_tbf(bts, ms, -1, false); if (!ul_tbf) return false; @@ -455,6 +462,8 @@ struct gprs_rlcmac_bts *bts; uint8_t trx_no = -1; + OSMO_ASSERT(ms != NULL); + bts = the_bts->bts_data(); gprs_rlcmac_tbf *tbf = NULL; @@ -471,7 +480,8 @@ case TEST_MODE_UL_AND_DL: if (ms && ms->ul_tbf()) tbf_free(ms->ul_tbf()); - tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, ms_class, 0, false); + ms->set_ms_class(ms_class); + tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; break; @@ -549,6 +559,8 @@ uint32_t tlli = counter + 0xc0000000; ms = the_bts->ms_by_tlli(tlli); + if (!ms) + ms = the_bts->ms_alloc(0, 0); ms = alloc_tbfs(the_bts, ms, ms_class, mode); if (!ms) diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 6420aca..0a979e5 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -95,8 +95,7 @@ dl_tbf->set_ta(4); gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), - dl_tbf->ms(), - 0, 0, 0, false); + dl_tbf->ms(), 0, false); OSMO_ASSERT(ul_tbf != NULL); ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 47146dd..3f72266 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1444,9 +1444,9 @@ Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1524,11 +1524,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1606,11 +1606,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1736,11 +1736,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) No downlink ACK received yet +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1803,11 +1803,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1975,11 +1975,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2059,9 +2059,9 @@ Searching for first unallocated TFI: TRX=0 Found TFI=0. MS requests UL TBF on RACH, so we provide one: ra=0x03 Fn=2654275 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2126,11 +2126,11 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3146,13 +3146,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -3238,13 +3238,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -5877,13 +5877,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -6042,13 +6042,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -6180,9 +6180,9 @@ === end test_tbf_epdan_out_of_rx_window === === start test_immediate_assign_rej_multi_block === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6205,9 +6205,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6230,9 +6230,9 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6255,9 +6255,9 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6280,9 +6280,9 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6305,9 +6305,9 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6330,9 +6330,9 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6355,9 +6355,9 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests UL TBF on RACH, so we provide one: ra=0x7f Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6387,13 +6387,13 @@ Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/1 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [UL] Slot Allocation (Algorithm A) for class 1 - Skipping TS 0, because not enabled @@ -7810,9 +7810,9 @@ === end test_packet_access_rej_epdan === === start test_packet_access_rej_prr === MS requests UL TBF on RACH, so we provide one: ra=0x78 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7835,9 +7835,9 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7860,9 +7860,9 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7885,9 +7885,9 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7910,9 +7910,9 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7935,9 +7935,9 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7960,9 +7960,9 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: +Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [UL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7986,14 +7986,14 @@ - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- +Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: MS requests UL TBF in packet resource request of single block, but there is no resource request scheduled! +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 MS supports EGPRS multislot class 11. ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 [UL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8005,7 +8005,6 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available No PDCH resource -Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) @@ -8014,7 +8013,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) === end test_packet_access_rej_prr === -Destroying MS object, TLLI = 0x00000000 === start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0x00000000 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index aa0a366..8469d60 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -674,7 +674,8 @@ the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[4].enable(); - struct gprs_rlcmac_ul_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, true); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_ul_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, true); struct crbb_test crbb_test = {0}; bitvec *rbb = NULL; unsigned int rbb_size; @@ -779,7 +780,8 @@ the_bts.bts_data()->trx[0].pdch[4].enable(); the_bts.bts_data()->trx[0].pdch[5].enable(); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x10, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ @@ -819,7 +821,8 @@ the_bts.bts_data()->trx[0].pdch[1].enable(); the_bts.bts_data()->trx[0].pdch[2].enable(); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + GprsMs *ms = the_bts.ms_alloc(1, 1); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x10, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I010aa5877902816ae246e09ad5ad87946f96855c Gerrit-Change-Number: 18133 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:09:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:09:21 +0000 Subject: Change in osmo-pcu[master]: Expect ms object to exist before calling tbf_alloc_dl_tbf() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18134 ) Change subject: Expect ms object to exist before calling tbf_alloc_dl_tbf() ...................................................................... Expect ms object to exist before calling tbf_alloc_dl_tbf() Same as previous commit, this time for the DL counterpart. Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/alloc/AllocTest.cpp M tests/app_info/AppInfoTest.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 8 files changed, 223 insertions(+), 221 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf.cpp b/src/tbf.cpp index e41ed9f..56fdcd1 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -1049,24 +1049,25 @@ return 0; } -struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot) +struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot) { struct gprs_rlcmac_dl_tbf *tbf; int rc; - if (egprs_ms_class == 0 && bts->egprs_enabled) { - if (ms_class > 0) { + OSMO_ASSERT(ms != NULL); + + if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { + if (ms->ms_class() > 0) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); bts->bts->tbf_failed_egprs_only(); return NULL; } - egprs_ms_class = 1; + ms->set_egprs_ms_class(1); } LOGP(DTBF, LOGL_DEBUG, "********** DL-TBF starts here **********\n"); LOGP(DTBF, LOGL_INFO, "Allocating DL TBF: MS_CLASS=%d/%d\n", - ms_class, egprs_ms_class); + ms->ms_class(), ms->egprs_ms_class()); tbf = talloc(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf); @@ -1075,17 +1076,13 @@ talloc_set_destructor(tbf, dl_tbf_dtor); new (tbf) gprs_rlcmac_dl_tbf(bts->bts); - - if (!ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); - - if (egprs_ms_class > 0 && bts->egprs_enabled) { + if (ms->egprs_ms_class() > 0 && bts->egprs_enabled) { tbf->enable_egprs(); setup_egprs_mode(bts, ms); LOGPTBF(tbf, LOGL_INFO, "Enabled EGPRS, mode %s\n", mode_name(ms->mode())); } - rc = setup_tbf(tbf, ms, use_trx, ms_class, 0, single_slot); + rc = setup_tbf(tbf, ms, use_trx, ms->ms_class(), 0, single_slot); /* if no resource */ if (rc < 0) { talloc_free(tbf); @@ -1430,8 +1427,7 @@ bts->tbf_reused(); new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), - this->trx->trx_no, ms_class(), - ms() ? ms()->egprs_ms_class() : 0, false); + this->trx->trx_no, false); if (!new_tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); diff --git a/src/tbf.h b/src/tbf.h index 33d996f..5ebd2e8 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -351,8 +351,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); -struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, uint8_t ms_class, - uint8_t egprs_ms_class, bool single_slot); +struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); void tbf_free(struct gprs_rlcmac_tbf *tbf); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 4e8966e..591f460 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -146,10 +146,12 @@ /* check for uplink data, so we copy our informations */ ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi); - if (ms) { - ul_tbf = ms->ul_tbf(); - ta = ms->ta(); - } + if (!ms) + ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); /* ms class updated later */ + + ul_tbf = ms->ul_tbf(); + ta = ms->ta(); + /* TODO: if (!ms) create MS before tbf_alloc is called? */ if (ul_tbf && ul_tbf->m_contention_resolution_done @@ -166,7 +168,7 @@ // Create new TBF (any TRX) /* FIXME: Copy and paste with alloc_ul_tbf */ /* set number of downlink slots according to multislot class */ - dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ss); if (!dl_tbf) { LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n"); diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index abd5d22..fec2c31 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -41,17 +41,14 @@ static gprs_rlcmac_tbf *tbf_alloc(struct gprs_rlcmac_bts *bts, GprsMs *ms, gprs_rlcmac_tbf_direction dir, - uint8_t use_trx, - uint8_t ms_class, uint8_t egprs_ms_class, bool single_slot) + uint8_t use_trx, bool single_slot) { - if (dir == GPRS_RLCMAC_UL_TBF && !ms) - ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); + OSMO_ASSERT(ms != NULL); if (dir == GPRS_RLCMAC_UL_TBF) return tbf_alloc_ul_tbf(bts, ms, use_trx, single_slot); else - return tbf_alloc_dl_tbf(bts, ms, use_trx, - ms_class, egprs_ms_class, single_slot); + return tbf_alloc_dl_tbf(bts, ms, use_trx, single_slot); } static void check_tfi_usage(BTS *the_bts) @@ -116,6 +113,7 @@ int i; uint8_t used_trx, tmp_trx; BTS the_bts; + GprsMs *ms; struct gprs_rlcmac_bts *bts; struct gprs_rlcmac_tbf *tbfs[32*8+1] = { 0, }; @@ -138,7 +136,8 @@ * least this part is working okay. */ for (i = 0; i < (int)ARRAY_SIZE(tbfs); ++i) { - tbfs[i] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0); + ms = bts->bts->ms_alloc(0, 0); + tbfs[i] = tbf_alloc(bts, ms, dir, -1, 0); if (tbfs[i] == NULL) break; @@ -155,7 +154,8 @@ if (tbfs[i]) tbf_free(tbfs[i]); - tbfs[0] = tbf_alloc(bts, NULL, dir, -1, 0, 0, 0); + ms = bts->bts->ms_alloc(0, 0); + tbfs[0] = tbf_alloc(bts, ms, dir, -1, 0); OSMO_ASSERT(tbfs[0]); tbf_free(tbfs[0]); } @@ -229,8 +229,7 @@ dump_assignment(ul_tbf, "UL", verbose); /* assume final ack has not been sent */ - dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), ul_tbf->ms()->current_trx()->trx_no, ms_class, 0, - false); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, ms->current_trx()->trx_no, false); if (!dl_tbf) return false; @@ -262,15 +261,14 @@ enable_ts_on_bts(bts, ts0, ts1, ts2, ts3, ts4, ts5, ts6, ts7); - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 0, true); + ms = the_bts.ms_alloc(ms_class, 0); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, -1, true); if (!dl_tbf) return false; dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF); - ms = dl_tbf->ms(); - OSMO_ASSERT(dl_tbf->ms()); + OSMO_ASSERT(dl_tbf->ms() == ms); OSMO_ASSERT(dl_tbf->ms()->current_trx()); - ms->set_ms_class(ms_class); dump_assignment(dl_tbf, "DL", verbose); @@ -320,14 +318,13 @@ if (!ul_tbf) return false; - OSMO_ASSERT(ul_tbf->ms()); + OSMO_ASSERT(ul_tbf->ms() == ms); OSMO_ASSERT(ul_tbf->ms()->current_trx()); - trx_no = ul_tbf->ms()->current_trx()->trx_no; + trx_no = ms->current_trx()->trx_no; dump_assignment(ul_tbf, "UL", true); /* assume final ack has not been sent */ - dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0, - false); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false); if (!dl_tbf) return false; @@ -456,8 +453,7 @@ } } -static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, unsigned ms_class, - enum test_mode mode) +static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, enum test_mode mode) { struct gprs_rlcmac_bts *bts; uint8_t trx_no = -1; @@ -478,9 +474,8 @@ case TEST_MODE_UL_ONLY: case TEST_MODE_DL_AFTER_UL: case TEST_MODE_UL_AND_DL: - if (ms && ms->ul_tbf()) + if (ms->ul_tbf()) tbf_free(ms->ul_tbf()); - ms->set_ms_class(ms_class); tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; @@ -488,9 +483,9 @@ case TEST_MODE_DL_ONLY: case TEST_MODE_UL_AFTER_DL: case TEST_MODE_DL_AND_UL: - if (ms && ms->dl_tbf()) + if (ms->dl_tbf()) tbf_free(ms->dl_tbf()); - tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0, false); + tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, false); if (tbf == NULL) return NULL; } @@ -511,12 +506,12 @@ case TEST_MODE_DL_AFTER_UL: case TEST_MODE_UL_AND_DL: - ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_DL_ONLY); + ms = alloc_tbfs(the_bts, ms, TEST_MODE_DL_ONLY); break; case TEST_MODE_UL_AFTER_DL: case TEST_MODE_DL_AND_UL: - ms = alloc_tbfs(the_bts, ms, ms_class, TEST_MODE_UL_ONLY); + ms = alloc_tbfs(the_bts, ms, TEST_MODE_UL_ONLY); break; } @@ -561,8 +556,8 @@ ms = the_bts->ms_by_tlli(tlli); if (!ms) ms = the_bts->ms_alloc(0, 0); - - ms = alloc_tbfs(the_bts, ms, ms_class, mode); + ms->set_ms_class(ms_class); + ms = alloc_tbfs(the_bts, ms, mode); if (!ms) break; @@ -754,6 +749,7 @@ static void test_2_consecutive_dl_tbfs() { BTS the_bts; + GprsMs *ms; struct gprs_rlcmac_bts *bts; struct gprs_rlcmac_trx *trx; uint8_t ms_class = 11; @@ -772,8 +768,8 @@ trx->pdch[6].enable(); trx->pdch[7].enable(); - dl_tbf1 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, - false); + ms = the_bts.ms_alloc(ms_class, egprs_ms_class); + dl_tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, false); OSMO_ASSERT(dl_tbf1); for (int i = 0; i < 8; i++) { @@ -783,8 +779,8 @@ OSMO_ASSERT(numTs1 == 4); printf("TBF1: numTs(%d)\n", numTs1); - dl_tbf2 = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, egprs_ms_class, - false); + ms = the_bts.ms_alloc(ms_class, egprs_ms_class); + dl_tbf2 = tbf_alloc_dl_tbf(bts, ms, 0, false); OSMO_ASSERT(dl_tbf2); for (int i = 0; i < 8; i++) { diff --git a/tests/app_info/AppInfoTest.cpp b/tests/app_info/AppInfoTest.cpp index ca2c59e..cd4454d 100644 --- a/tests/app_info/AppInfoTest.cpp +++ b/tests/app_info/AppInfoTest.cpp @@ -93,9 +93,9 @@ trx->pdch[7].enable(); ms1 = bts->ms_alloc(10, 11); - tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, 10, 11, false); + tbf1 = tbf_alloc_dl_tbf(bts_data, ms1, 0, false); ms2 = bts->ms_alloc(12, 13); - tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, 12, 13, false); + tbf2 = tbf_alloc_dl_tbf(bts_data, ms2, 0, false); fprintf(stderr, "\n"); } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 0a979e5..36f9ced 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -87,23 +87,23 @@ /* * Make a uplink and downlink allocation */ + ms = the_bts.ms_alloc(0, 0); gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), - NULL, - 0, 0, 0, false); + ms, 0, false); OSMO_ASSERT(dl_tbf != NULL); dl_tbf->update_ms(0x2342, GPRS_RLCMAC_DL_TBF); dl_tbf->set_ta(4); + OSMO_ASSERT(ms->dl_tbf() == dl_tbf); + OSMO_ASSERT(dl_tbf->ms() == ms); gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(), - dl_tbf->ms(), 0, false); + ms, 0, false); OSMO_ASSERT(ul_tbf != NULL); ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF); - - ms = the_bts.ms_by_tlli(0x2342); - - OSMO_ASSERT(ms != NULL); - OSMO_ASSERT(ms->dl_tbf() == dl_tbf); OSMO_ASSERT(ms->ul_tbf() == ul_tbf); + OSMO_ASSERT(ul_tbf->ms() == ms); + + OSMO_ASSERT(the_bts.ms_by_tlli(0x2342) == ms); /* * Now check.. that DL changes and that the timing advance @@ -172,15 +172,15 @@ gprs_rlcmac_bts *bts; int tfi; uint8_t trx_no; - + GprsMs *ms; gprs_rlcmac_dl_tbf *dl_tbf; bts = the_bts->bts_data(); + ms = the_bts->ms_alloc(ms_class, egprs_ms_class); tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1); OSMO_ASSERT(tfi >= 0); - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, egprs_ms_class, - true); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, true); dl_tbf->set_ta(0); check_tbf(dl_tbf); @@ -2232,6 +2232,7 @@ { BTS the_bts; gprs_rlcmac_bts *bts; + GprsMs *ms; uint8_t ts_no = 4; uint8_t ms_class = 12; gprs_rlcmac_dl_tbf *dl_tbf; @@ -2258,7 +2259,8 @@ gprs_bssgp_create_and_connect(bts, 33001, 0, 33001, 4234, 4234, 4234, 1, 1, false, 0, 0, 0); /* Does no support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, 0, false); + ms = the_bts.ms_alloc(ms_class, 0); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false); ws_check(dl_tbf, __func__, 4, 64, true, false); @@ -2266,7 +2268,8 @@ bts->egprs_enabled = 1; /* Does support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, false); + ms = the_bts.ms_alloc(ms_class, ms_class); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, false); ws_check(dl_tbf, __func__, 4, 128 + 4 * 64, true, true); } @@ -2275,6 +2278,7 @@ { BTS the_bts; gprs_rlcmac_bts *bts; + GprsMs *ms; uint8_t ts_no = 4; uint8_t ms_class = 11; gprs_rlcmac_dl_tbf *dl_tbf; @@ -2304,7 +2308,8 @@ bts->egprs_enabled = 1; /* Does support EGPRS */ - dl_tbf = tbf_alloc_dl_tbf(bts, NULL, 0, ms_class, ms_class, true); + ms = the_bts.ms_alloc(ms_class, ms_class); + dl_tbf = tbf_alloc_dl_tbf(bts, ms, 0, true); ws_check(dl_tbf, __func__, 1, 128 + 1 * 64, false, false); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3f72266..6019def 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1,9 +1,9 @@ === start test_tbf_base === === end test_tbf_base === === start test_tbf_tlli_update === +Creating MS object, TLLI = 0x00000000 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=0/0 -Creating MS object, TLLI = 0x00000000 [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -40,12 +40,12 @@ Modifying MS object, TLLI = 0x00004232, TA 4 -> 6 === end test_tbf_tlli_update === === start test_tbf_final_ack === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -130,12 +130,12 @@ Destroying MS object, TLLI = 0xffeeddcc === end test_tbf_final_ack === === start test_tbf_final_ack === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -220,12 +220,12 @@ Destroying MS object, TLLI = 0xffeeddcc === end test_tbf_final_ack === === start test_tbf_delayed_release === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -475,12 +475,12 @@ ********** DL-TBF ends here ********** === end test_tbf_delayed_release === === start test_tbf_imsi === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -497,12 +497,12 @@ Modifying MS object, TLLI = 0x00000000, TA 220 -> 0 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Searching for first unallocated TFI: TRX=0 Found TFI=1. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -542,10 +542,10 @@ ********** DL-TBF ends here ********** === end test_tbf_imsi === === start test_tbf_exhaustion === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -567,10 +567,10 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -592,10 +592,10 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -617,10 +617,10 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -642,10 +642,10 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -667,10 +667,10 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -692,10 +692,10 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -717,10 +717,10 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -742,10 +742,10 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -767,10 +767,10 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -792,10 +792,10 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -817,10 +817,10 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -842,10 +842,10 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -867,10 +867,10 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -892,10 +892,10 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -917,10 +917,10 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -942,10 +942,10 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -967,10 +967,10 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -992,10 +992,10 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1017,10 +1017,10 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1042,10 +1042,10 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1067,10 +1067,10 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1092,10 +1092,10 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1117,10 +1117,10 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1142,10 +1142,10 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1167,10 +1167,10 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1192,10 +1192,10 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1217,10 +1217,10 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1242,10 +1242,10 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1267,10 +1267,10 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1292,10 +1292,10 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1317,10 +1317,10 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1342,20 +1342,20 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=220 pollFN=-1 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) appending 256 bytes -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 [DL] algo A (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) No PDCH resource === end test_tbf_exhaustion === Destroying MS object, TLLI = 0x00000000 === start test_tbf_dl_llc_loss === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=45/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=45/0 [DL] Slot Allocation (Algorithm A) for class 45 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3053,14 +3053,17 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 === end test_tbf_dl_reuse === === start test_tbf_gprs_egprs === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 Not accepting non-EGPRS phone in EGPRS-only mode No PDCH resource === end test_tbf_gprs_egprs === +Destroying MS object, TLLI = 0x00000000 === start test_tbf_ws === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=12/0 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=12/0 Searching for first unallocated TFI: TRX=0 Found TFI=0. Slot Allocation (Algorithm B) for class 12 @@ -3094,11 +3097,11 @@ Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) Destroying MS object, TLLI = 0x00000000 ********** DL-TBF ends here ********** -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=12/12 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 12 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 12 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=12/12 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS Searching for first unallocated TFI: TRX=0 Found TFI=0. @@ -3452,13 +3455,13 @@ === end test_tbf_egprs_two_phase_spb === === start test_tbf_egprs_dl === Testing MCS-1 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -3759,13 +3762,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-2 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4016,13 +4019,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4235,13 +4238,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-4 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4422,13 +4425,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-5 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4589,13 +4592,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4738,13 +4741,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-7 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -4882,13 +4885,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-8 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5015,13 +5018,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing MCS-9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5150,13 +5153,13 @@ === end test_tbf_egprs_dl === === start test_tbf_egprs_retx_dl === Testing retx for MCS 6 - 6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5206,13 +5209,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 1 - 9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5262,13 +5265,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 2 - 8 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5318,13 +5321,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 5 - 7 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5390,13 +5393,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 6 - 9 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5462,13 +5465,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 7 - 5 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5534,13 +5537,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 9 - 6 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5608,13 +5611,13 @@ === end test_tbf_egprs_retx_dl === === start test_tbf_egprs_spb_dl === Testing retx for MCS 6 to reseg_mcs 3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5671,13 +5674,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 5 to reseg_mcs 2 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5734,13 +5737,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 4 to reseg_mcs 1 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5797,13 +5800,13 @@ Destroying MS object, TLLI = 0xffeeddcc ********** DL-TBF ends here ********** Testing retx for MCS 6 to reseg_mcs 3 +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -5979,11 +5982,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_puan_urbb_len === === start test_tbf_update_ws === -********** DL-TBF starts here ********** -Allocating DL TBF: MS_CLASS=11/11 Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 +********** DL-TBF starts here ********** +Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS Searching for first unallocated TFI: TRX=0 Found TFI=0. @@ -6138,13 +6141,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_li_decoding === === start test_tbf_epdan_out_of_rx_window === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] Slot Allocation (Algorithm A) for class 0 - Skipping TS 0, because not enabled @@ -7781,13 +7784,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase_puan === === start test_packet_access_rej_epdan === +Creating MS object, TLLI = 0x00000000 +Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 +Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 Searching for first unallocated TFI: TRX=0 Found TFI=0. ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 -Creating MS object, TLLI = 0x00000000 -Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11 -Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11 [DL] Slot Allocation (Algorithm A) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 8469d60..e3c0991 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -756,8 +756,9 @@ the_bts.bts_data()->alloc_algorithm = alloc_algorithm_a; the_bts.bts_data()->trx[0].pdch[2].enable(); the_bts.bts_data()->trx[0].pdch[3].enable(); + GprsMs *ms = the_bts.ms_alloc(1, 1); - struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), NULL, 0, 1, 1, false); + struct gprs_rlcmac_tbf *tbf = tbf_alloc_dl_tbf(the_bts.bts_data(), ms, 0, false); static uint8_t res[] = { 0x06, 0x3f, /* Immediate Assignment Message Type */ 0x30, /* ?10.5.2.26 Page Mode and ?10.5.2.25b Dedicated mode/TBF */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4 Gerrit-Change-Number: 18134 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:21:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 17:21:33 +0000 Subject: Change in pysim[master]: pySim-prog, pySim-read, do not echo reader id In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18221 ) Change subject: pySim-prog, pySim-read, do not echo reader id ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Gerrit-Change-Number: 18221 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 12 May 2020 17:21:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:32:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:32:16 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18223 ) Change subject: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand ...................................................................... pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand Variable found is used to always call Guard() on MS to avoid possible unexpected freeing regressions. Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f --- M src/pdch.cpp 1 file changed, 25 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/18223/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 149ca1f..048577d 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -548,38 +548,41 @@ struct gprs_rlcmac_sba *sba; if (request->ID.UnionType) { - struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; - struct gprs_rlcmac_dl_tbf *dl_tbf = NULL; + struct gprs_rlcmac_ul_tbf *ul_tbf; + struct gprs_rlcmac_dl_tbf *dl_tbf; uint32_t tlli = request->ID.u.TLLI; uint8_t ta = GSM48_TA_INVALID; + bool found = true; GprsMs *ms = bts()->ms_by_tlli(tlli); - if (!ms) + if (!ms) { + found = false; ms = bts()->ms_alloc(0, 0); /* ms class updated later */ + } /* Keep the ms, even if it gets idle temporarily */ GprsMs::Guard guard(ms); - ul_tbf = ms->ul_tbf(); - dl_tbf = ms->dl_tbf(); - ta = ms->ta(); - /* We got a RACH so the MS was in packet idle mode and thus - * didn't have any active TBFs */ - if (ul_tbf) { - LOGPTBFUL(ul_tbf, LOGL_NOTICE, - "Got RACH from TLLI=0x%08x while TBF still exists. Killing pending UL TBF\n", - tlli); - tbf_free(ul_tbf); - ul_tbf = NULL; + if (found) { + ul_tbf = ms->ul_tbf(); + dl_tbf = ms->dl_tbf(); + ta = ms->ta(); + /* We got a RACH so the MS was in packet idle mode and thus + * didn't have any active TBFs */ + if (ul_tbf) { + LOGPTBFUL(ul_tbf, LOGL_NOTICE, + "Got RACH from TLLI=0x%08x while TBF still exists. Killing pending UL TBF\n", + tlli); + tbf_free(ul_tbf); + } + if (dl_tbf) { + LOGPTBFUL(dl_tbf, LOGL_NOTICE, + "Got RACH from TLLI=0x%08x while TBF still exists. Release pending DL TBF\n", + tlli); + tbf_free(dl_tbf); + } } - if (dl_tbf) { - LOGPTBFUL(dl_tbf, LOGL_NOTICE, - "Got RACH from TLLI=0x%08x while TBF still exists. Release pending DL TBF\n", - tlli); - tbf_free(dl_tbf); - dl_tbf = NULL; - } LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF " "in packet resource request of single " "block, so we provide one:\n"); @@ -606,12 +609,11 @@ if (!ms->ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); if (ms->egprs_ms_class()) - LOGP(DRLCMAC, LOGL_NOTICE, + LOGP(DRLCMAC, LOGL_INFO, "MS supports EGPRS multislot class %d.\n", ms->egprs_ms_class()); ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); - if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, trx_no(), ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f Gerrit-Change-Number: 18223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:32:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:32:16 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Drop unneeded arg 'ta' in tbf_alloc_ul() The function is simply setting the ta on the ms, so simply make sure ta is set on callers before passing the ms object. Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M tests/tbf/TbfTest.err 4 files changed, 16 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/24/18224/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 048577d..88d5d31 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -118,7 +118,7 @@ bts->channel_request_description(); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli(), tbf->ta()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -551,7 +551,6 @@ struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; uint32_t tlli = request->ID.u.TLLI; - uint8_t ta = GSM48_TA_INVALID; bool found = true; GprsMs *ms = bts()->ms_by_tlli(tlli); @@ -566,7 +565,6 @@ if (found) { ul_tbf = ms->ul_tbf(); dl_tbf = ms->dl_tbf(); - ta = ms->ta(); /* We got a RACH so the MS was in packet idle mode and thus * didn't have any active TBFs */ if (ul_tbf) { @@ -593,7 +591,7 @@ "block, but there is no resource request " "scheduled!\n"); } else { - ta = sba->ta; + ms->set_ta(sba->ta); bts()->sba()->free_sba(sba); } if (request->Exist_MS_Radio_Access_capability2) { @@ -613,7 +611,7 @@ "MS supports EGPRS multislot class %d.\n", ms->egprs_ms_class()); - ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); + ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli); if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, trx_no(), ts_no); diff --git a/src/tbf.cpp b/src/tbf.cpp index 56fdcd1..2693223 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -416,7 +416,7 @@ } gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, - uint32_t tlli, uint8_t ta) + uint32_t tlli) { struct gprs_rlcmac_ul_tbf *tbf; @@ -435,8 +435,6 @@ tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); - tbf->ms()->set_ta(ta); - return tbf; } diff --git a/src/tbf.h b/src/tbf.h index 5ebd2e8..2b4cf6d 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -347,7 +347,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, - int8_t use_trx, uint32_t tlli, uint8_t ta); + int8_t use_trx, uint32_t tlli); struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 6019def..ca16149 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1526,6 +1526,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1545,7 +1546,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) @@ -1608,6 +1608,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1627,7 +1628,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) @@ -1738,6 +1738,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1757,7 +1758,6 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf5667788, not yet confirmed -Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1805,6 +1805,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1824,7 +1825,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -1977,6 +1977,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1996,7 +1997,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -2128,6 +2128,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -2147,7 +2148,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -3151,6 +3151,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -3175,7 +3176,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3243,6 +3243,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -3267,7 +3268,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -5882,6 +5882,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -5906,7 +5907,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6047,6 +6047,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -6071,7 +6072,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6392,6 +6392,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -6416,7 +6417,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:34:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:34:25 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 17:34:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:35:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 17:35:48 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... Patch Set 1: Code-Review+1 Wait, chan_state->ul_first_fn is not used then? why not dropping that field? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 17:35:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:42:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 12 May 2020 17:42:36 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Wait, chan_state->ul_first_fn is not used then? why not dropping that field? It's used by other lchan handlers, such as rx_data_fn() or rx_pdtch_fn(). -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 17:42:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 17:59:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 17:59:24 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18223 ) Change subject: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f Gerrit-Change-Number: 18223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 17:59:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:00:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:00:00 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:00:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:01:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:01:08 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 665 PS1, Line 665: if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { > This comment has not yet been addressesd It again has not been addressed? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 18:01:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:04:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:04:40 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 18:04:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:05:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:05:10 +0000 Subject: Change in pysim[master]: cards: remove len calculation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18205 ) Change subject: cards: remove len calculation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e Gerrit-Change-Number: 18205 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:05:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:06:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:06:03 +0000 Subject: Change in pysim[master]: cards: reset uninitalized EF.AD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18206 ) Change subject: cards: reset uninitalized EF.AD ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/18206/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/18206/3//COMMIT_MSG at 9 PS3, Line 9: me may? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e Gerrit-Change-Number: 18206 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:06:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:06:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:06:20 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:06:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:06:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:06:24 +0000 Subject: Change in pysim[master]: cards: remove len calculation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18205 ) Change subject: cards: remove len calculation ...................................................................... cards: remove len calculation The method update_ad() caluclates the size of the data it had just read from EF.AD, but the result is never used, lets remove that line Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e --- M pySim/cards.py 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 8937ee8..f469cae 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -149,7 +149,6 @@ raise RuntimeError('unable to calculate proper mnclen') data = self._scc.read_binary(EF['AD'], length=None, offset=0) - size = len(data[0]) // 2 content = data[0][0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id38c0dc725ab6874de3ea60132482a09372abe9e Gerrit-Change-Number: 18205 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:06:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:06:56 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/18208/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/18208/3//COMMIT_MSG at 12 PS3, Line 12: worls works -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:06:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:07:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:07:16 +0000 Subject: Change in pysim[master]: commands: add method to determine size of a non record oriented file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18209 ) Change subject: commands: add method to determine size of a non record oriented file ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c Gerrit-Change-Number: 18209 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:08:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:08:17 +0000 Subject: Change in pysim[master]: commands: add features to verify data written to files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18211 ) Change subject: commands: add features to verify data written to files ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7be842004102f4998af376790c97647c107be3d5 Gerrit-Change-Number: 18211 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:08:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:09:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:09:20 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 18:09:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:09:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:09:57 +0000 Subject: Change in libosmocore[master]: logging: do not allow multiple calls of log_init() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18222 ) Change subject: logging: do not allow multiple calls of log_init() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 Gerrit-Change-Number: 18222 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:09:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:09:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:09:59 +0000 Subject: Change in libosmocore[master]: logging: use LOGL_NOTICE when no loglevel is set In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17604 ) Change subject: logging: use LOGL_NOTICE when no loglevel is set ...................................................................... logging: use LOGL_NOTICE when no loglevel is set when the API user of libosmocores logging infrastructure does not set a pre-defined logging level in struct log_info_cat, the result would be an invalid logging level. In order to avoid problems with that and to spare all the additional .loglevel = LOGL_NOTICE (API users are advised to use LOGL_NOTICE as default) lines in the user code lets check the logging level on startup and set LOGL_NOTICE if there is no logging level set. Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Related: OS#2577 --- M src/logging.c 1 file changed, 17 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/logging.c b/src/logging.c index 4d6224d..4aaf515 100644 --- a/src/logging.c +++ b/src/logging.c @@ -1026,6 +1026,7 @@ int log_init(const struct log_info *inf, void *ctx) { int i; + struct log_info_cat *cat_ptr; tall_log_ctx = talloc_named_const(ctx, 1, "logging"); if (!tall_log_ctx) @@ -1043,29 +1044,36 @@ osmo_log_info->num_cat += inf->num_cat; } - osmo_log_info->cat = talloc_zero_array(osmo_log_info, - struct log_info_cat, - osmo_log_info->num_cat); - if (!osmo_log_info->cat) { + cat_ptr = talloc_zero_array(osmo_log_info, struct log_info_cat, + osmo_log_info->num_cat); + if (!cat_ptr) { talloc_free(osmo_log_info); osmo_log_info = NULL; return -ENOMEM; } - if (inf) { /* copy over the user part */ + /* copy over the user part and sanitize loglevel */ + if (inf) { for (i = 0; i < inf->num_cat; i++) { - memcpy((struct log_info_cat *) &osmo_log_info->cat[i], - &inf->cat[i], sizeof(struct log_info_cat)); + memcpy(&cat_ptr[i], &inf->cat[i], + sizeof(struct log_info_cat)); + + /* Make sure that the loglevel is set to NOTICE in case + * no loglevel has been preset. */ + if (!cat_ptr[i].loglevel) { + cat_ptr[i].loglevel = LOGL_NOTICE; + } } } /* copy over the library part */ for (i = 0; i < ARRAY_SIZE(internal_cat); i++) { unsigned int cn = osmo_log_info->num_cat_user + i; - memcpy((struct log_info_cat *) &osmo_log_info->cat[cn], - &internal_cat[i], sizeof(struct log_info_cat)); + memcpy(&cat_ptr[cn], &internal_cat[i], sizeof(struct log_info_cat)); } + osmo_log_info->cat = cat_ptr; + return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9e180261505062505fc4605a98023910f76cde6 Gerrit-Change-Number: 17604 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:10:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:10:00 +0000 Subject: Change in libosmocore[master]: logging: do not allow multiple calls of log_init() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18222 ) Change subject: logging: do not allow multiple calls of log_init() ...................................................................... logging: do not allow multiple calls of log_init() calling log_init() multiple times would lead into memory leaks. The function should only be called once on startup of the process. Lets make sure that it does not get called multiple times by accident. Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 --- M src/logging.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved laforge: Looks good to me, approved diff --git a/src/logging.c b/src/logging.c index 4aaf515..c14e696 100644 --- a/src/logging.c +++ b/src/logging.c @@ -1028,6 +1028,9 @@ int i; struct log_info_cat *cat_ptr; + /* Ensure that log_init is not called multiple times */ + OSMO_ASSERT(tall_log_ctx == NULL) + tall_log_ctx = talloc_named_const(ctx, 1, "logging"); if (!tall_log_ctx) return -ENOMEM; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibb300e4c9b04767581116ab530b2e6a9a195db08 Gerrit-Change-Number: 18222 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:11:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:11:32 +0000 Subject: Change in pysim[master]: pySim-prog, pySim-read, do not echo reader id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18221 ) Change subject: pySim-prog, pySim-read, do not echo reader id ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Gerrit-Change-Number: 18221 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:11:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:11:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:11:38 +0000 Subject: Change in pysim[master]: pySim-prog, pySim-read, do not echo reader id In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18221 ) Change subject: pySim-prog, pySim-read, do not echo reader id ...................................................................... pySim-prog, pySim-read, do not echo reader id pySim-prog and pySim-read currently echo back the pcsc reader id (or baudrate/socket, depending on the interface used). This makes the output unecessarly undeterministic, which becomes a problem when verifying the putput in tests. Lets not echo those variable, user supplied parameters back. Also lets move the code that does the initalization to utils, so that it can be used from pySim-prog and from pySim-read (code dup). Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Related: OS#4503 --- M pySim-prog.py M pySim-read.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok M tests/pysim-test.sh 10 files changed, 32 insertions(+), 47 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim-prog.py b/pySim-prog.py index c709959..67719b4 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -40,7 +40,7 @@ from pySim.commands import SimCardCommands from pySim.cards import _cards_classes, card_detect -from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid +from pySim.utils import h2b, swap_nibbles, rpad, derive_milenage_opc, calculate_luhn, dec_iccid, init_reader from pySim.ts_51_011 import EF from pySim.card_handler import * from pySim.utils import * @@ -688,21 +688,7 @@ opts = parse_options() # Init card reader driver - if opts.pcsc_dev is not None: - print("Using PC/SC reader (dev=%d) interface" - % opts.pcsc_dev) - from pySim.transport.pcsc import PcscSimLink - sl = PcscSimLink(opts.pcsc_dev) - elif opts.osmocon_sock is not None: - print("Using Calypso-based (OsmocomBB, sock=%s) reader interface" - % opts.osmocon_sock) - from pySim.transport.calypso import CalypsoSimLink - sl = CalypsoSimLink(sock_path=opts.osmocon_sock) - else: # Serial reader is default - print("Using serial reader (port=%s, baudrate=%d) interface" - % (opts.device, opts.baudrate)) - from pySim.transport.serial import SerialSimLink - sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + sl = init_reader(opts) # Create command layer scc = SimCardCommands(transport=sl) diff --git a/pySim-read.py b/pySim-read.py index 33e93a7..df21531 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -34,8 +34,8 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card -from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn, format_xplmn_w_act, dec_spn, dec_st - +from pySim.utils import h2b, swap_nibbles, rpad, dec_imsi, dec_iccid, dec_msisdn +from pySim.utils import format_xplmn_w_act, dec_spn, dec_st, init_reader def parse_options(): @@ -72,21 +72,7 @@ opts = parse_options() # Init card reader driver - if opts.pcsc_dev is not None: - print("Using PC/SC reader (dev=%d) interface" - % opts.pcsc_dev) - from pySim.transport.pcsc import PcscSimLink - sl = PcscSimLink(opts.pcsc_dev) - elif opts.osmocon_sock is not None: - print("Using Calypso-based (OsmocomBB, sock=%s) reader interface" - % opts.osmocon_sock) - from pySim.transport.calypso import CalypsoSimLink - sl = CalypsoSimLink(sock_path=opts.osmocon_sock) - else: # Serial reader is default - print("Using serial reader (port=%s, baudrate=%d) interface" - % (opts.device, opts.baudrate)) - from pySim.transport.serial import SerialSimLink - sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + sl = init_reader(opts) # Create command layer scc = SimCardCommands(transport=sl) diff --git a/pySim/utils.py b/pySim/utils.py index dbc7337..a1689ca 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -436,3 +436,22 @@ s += "\t%s # %s\n" % (i2h(content), i2s(content)) return s + +def init_reader(opts): + """ + Init card reader driver + """ + if opts.pcsc_dev is not None: + print("Using PC/SC reader interface") + from pySim.transport.pcsc import PcscSimLink + sl = PcscSimLink(opts.pcsc_dev) + elif opts.osmocon_sock is not None: + print("Using Calypso-based (OsmocomBB) reader interface") + from pySim.transport.calypso import CalypsoSimLink + sl = CalypsoSimLink(sock_path=opts.osmocon_sock) + else: # Serial reader is default + print("Using serial reader interface") + from pySim.transport.serial import SerialSimLink + sl = SerialSimLink(device=opts.device, baudrate=opts.baudrate) + + return sl diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index 0dbd89f..e5fa1af 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=0) interface +Using PC/SC reader interface Reading ... Autodetected card type: Fairwaves-SIM ICCID: 8988219000000117833 diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index 2de0892..a5c3a8e 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=3) interface +Using PC/SC reader interface Reading ... Autodetected card type: Wavemobile-SIM ICCID: 89445310150011013678 diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 80cf3d9..0168b13 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=5) interface +Using PC/SC reader interface Reading ... Autodetected card type: fakemagicsim Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 57500eb..8559bdb 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=4) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmoISIM-SJA2 ICCID: 8988211900000000004 diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 408f211..75c3862 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=1) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmoUSIM-SJS1 ICCID: 1122334455667788990 diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 833ba83..3fba8e1 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -1,4 +1,4 @@ -Using PC/SC reader (dev=0) interface +Using PC/SC reader interface Reading ... Autodetected card type: sysmosim-gr1 Can't read AIDs from SIM -- SW match failed! Expected 9000 and got 9404. diff --git a/tests/pysim-test.sh b/tests/pysim-test.sh index a22c372..7ee9834 100755 --- a/tests/pysim-test.sh +++ b/tests/pysim-test.sh @@ -78,13 +78,7 @@ stat ./$CARD_NAME.ok > /dev/null python $PYSIM_READ -p $TERMINAL > $TEMPFILE set +e - # Note: We ignore the first line of output in the diff because here - # pysim would print the device number of the reader and we do not - # want the test to fail just because the card is put into a different - # reader device. - tail -n +2 $CARD_NAME.ok > $CARD_NAME.ok.tmp - tail -n +2 $TEMPFILE > $CARD_NAME.chk.tmp - CARD_DIFF=$(diff $CARD_NAME.chk.tmp $CARD_NAME.ok.tmp) + CARD_DIFF=$(diff $TEMPFILE ./$CARD_NAME.ok) set -e if [ "$CARD_DIFF" != "" ]; then @@ -104,7 +98,7 @@ inc_card_list $CARD_NAME echo "Card contents match the test data -- success!" - rm *.tmp + rm $TEMPFILE } # Read out the card using pysim-read and store the result as .ok file. This -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I243cc332f075d007b1c111292effcc610e874eb3 Gerrit-Change-Number: 18221 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:12:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:12:00 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 ) Change subject: gsup: send RAT type on LU ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 12 May 2020 18:12:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:12:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:12:04 +0000 Subject: Change in osmo-sgsn[master]: gsup: send RAT type on LU In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 ) Change subject: gsup: send RAT type on LU ...................................................................... gsup: send RAT type on LU At 36c3, osmo-hlr was run with a patch that records the RAN type of attached subscribers. Even though this is not in osmo-hlr master, it is nice information to send along. Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 --- M src/sgsn/gprs_subscriber.c 1 file changed, 14 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sgsn/gprs_subscriber.c b/src/sgsn/gprs_subscriber.c index 484c7ef..c23b332 100644 --- a/src/sgsn/gprs_subscriber.c +++ b/src/sgsn/gprs_subscriber.c @@ -812,7 +812,7 @@ return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } -int gprs_subscr_location_update(struct gprs_subscr *subscr) +int gprs_subscr_location_update(struct gprs_subscr *subscr, enum sgsn_ran_type ran_type) { struct osmo_gsup_message gsup_msg = {0}; @@ -820,6 +820,18 @@ "subscriber data is not available\n"); gsup_msg.message_type = OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST; + + switch (ran_type) { + case MM_CTX_T_GERAN_Gb: + gsup_msg.current_rat_type = OSMO_RAT_GERAN_A; + break; + case MM_CTX_T_UTRAN_Iu: + gsup_msg.current_rat_type = OSMO_RAT_UTRAN_IU; + break; + default: + break; + } + return gprs_subscr_tx_gsup_message(subscr, &gsup_msg); } @@ -884,7 +896,7 @@ subscr->flags |= GPRS_SUBSCRIBER_UPDATE_LOCATION_PENDING; - rc = gprs_subscr_location_update(subscr); + rc = gprs_subscr_location_update(subscr, mmctx->ran_type); gprs_subscr_put(subscr); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/16745 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I5dbe610738aed7ea1edf6b33543b1c03818cc274 Gerrit-Change-Number: 16745 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:12:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:12:49 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 12 May 2020 18:12:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:12:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:12:53 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18218 ) Change subject: osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers ...................................................................... osmo-bts-trx/scheduler: remove a left-over from UL TCH handlers Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Signed-off-by: Vadim Yanitskiy --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index e5c5519..8a2bb12 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -1127,7 +1127,6 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; @@ -1161,7 +1160,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 464); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ @@ -1366,7 +1364,6 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; uint8_t *mask = &chan_state->ul_mask; uint8_t rsl_cmode = chan_state->rsl_cmode; uint8_t tch_mode = chan_state->tch_mode; @@ -1405,7 +1402,6 @@ if (bid == 0) { memset(*bursts_p + 464, 0, 232); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I58eedd611ecd31cc36017545de2cf29acf49f521 Gerrit-Change-Number: 18218 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:13:25 +0000 Subject: Change in libosmocore[master]: gsm0505_amr_dtx: add missing value strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17931 ) Change subject: gsm0505_amr_dtx: add missing value strings ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Gerrit-Change-Number: 17931 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 12 May 2020 18:13:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 18:13:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 18:13:30 +0000 Subject: Change in libosmocore[master]: gsm0505_amr_dtx: add missing value strings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/17931 ) Change subject: gsm0505_amr_dtx: add missing value strings ...................................................................... gsm0505_amr_dtx: add missing value strings The value string array that explain the type of the AMR DTX / SID frames is incomplete, lets add the missing strings. Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Related: OS#2978 --- M src/coding/gsm0503_amr_dtx.c M tests/dtx/dtx_gsm0503_test.ok 2 files changed, 7 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/coding/gsm0503_amr_dtx.c b/src/coding/gsm0503_amr_dtx.c index 724cf09..7069b96 100644 --- a/src/coding/gsm0503_amr_dtx.c +++ b/src/coding/gsm0503_amr_dtx.c @@ -45,16 +45,18 @@ static const ubit_t codec_mode_4_sid[] = { 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1 }; const struct value_string gsm0503_amr_dtx_frame_names[] = { + { AMR_OTHER, "AMR_OTHER (audio)" }, { AFS_SID_FIRST, "AFS_SID_FIRST" }, - { AFS_SID_UPDATE, "AFS_SID_UPDATE" }, + { AFS_SID_UPDATE, "AFS_SID_UPDATE (marker)" }, + { AFS_SID_UPDATE_CN, "AFS_SID_UPDATE_CN (audio)" }, { AFS_ONSET, "AFS_ONSET" }, - { AHS_SID_UPDATE, "AHS_SID_UPDATE" }, + { AHS_SID_UPDATE, "AHS_SID_UPDATE (marker)" }, + { AHS_SID_UPDATE_CN, "AHS_SID_UPDATE_CN (audio)" }, { AHS_SID_FIRST_P1, "AHS_SID_FIRST_P1" }, { AHS_SID_FIRST_P2, "AHS_SID_FIRST_P2" }, { AHS_ONSET, "AHS_ONSET" }, { AHS_SID_FIRST_INH, "AHS_SID_FIRST_INH" }, { AHS_SID_UPDATE_INH, "AHS_SID_UPDATE_INH" }, - { AMR_OTHER, "NON DTX FRAME (OTHER)" }, { 0, NULL } }; diff --git a/tests/dtx/dtx_gsm0503_test.ok b/tests/dtx/dtx_gsm0503_test.ok index a95a18b..77a4936 100644 --- a/tests/dtx/dtx_gsm0503_test.ok +++ b/tests/dtx/dtx_gsm0503_test.ok @@ -1,9 +1,9 @@ FR AMR DTX FRAMES: ==> AFS_SID_FIRST, n_errors=0, n_bits_total=212 - ==> AFS_SID_UPDATE, n_errors=0, n_bits_total=212 + ==> AFS_SID_UPDATE (marker), n_errors=0, n_bits_total=212 ==> AFS_ONSET, n_errors=0, n_bits_total=228 HR AMR DTX FRAMES: - ==> AHS_SID_UPDATE, n_errors=0, n_bits_total=212 + ==> AHS_SID_UPDATE (marker), n_errors=0, n_bits_total=212 ==> AHS_SID_FIRST_P1, n_errors=0, n_bits_total=212 ==> AHS_SID_FIRST_P2, n_errors=0, n_bits_total=114 ==> AHS_ONSET, n_errors=0, n_bits_total=114 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/17931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9e80b4bd8bdc31323c7c276155b2538e20a99be Gerrit-Change-Number: 17931 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 19:14:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 12 May 2020 19:14:37 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py 2 files changed, 19 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/1 diff --git a/pySim-prog.py b/pySim-prog.py index 67719b4..4ac480c 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -98,13 +98,13 @@ help="Country code [default: %default]", default=1, ) - parser.add_option("-x", "--mcc", dest="mcc", type="int", + parser.add_option("-x", "--mcc", dest="mcc", type="string", help="Mobile Country Code [default: %default]", - default=901, + default="901", ) - parser.add_option("-y", "--mnc", dest="mnc", type="int", + parser.add_option("-y", "--mnc", dest="mnc", type="string", help="Mobile Network Code [default: %default]", - default=55, + default="55", ) parser.add_option("--mnclen", dest="mnclen", type="choice", help="Length of Mobile Network Code [default: %default]", @@ -219,7 +219,7 @@ return d[0:len] def _mcc_mnc_digits(mcc, mnc): - return ('%03d%03d' if mnc > 100 else '%03d%02d') % (mcc, mnc) + return '%s%s' % (mcc, mnc) def _cc_digits(cc): return ('%03d' if cc > 100 else '%02d') % cc @@ -272,8 +272,17 @@ mcc = opts.mcc mnc = opts.mnc - if not ((0 < mcc < 999) and (0 < mnc < 999)): - raise ValueError('mcc & mnc must be between 0 and 999') + if not mcc.isdigit() or not mnc.isdigit(): + raise ValueError('mcc & mnc must only contain decimal digits') + if len(mcc) < 1 or len(mcc) > 3: + raise ValueError('mcc must be between 1 .. 3 digits') + if len(mnc) < 1 or len(mnc) > 3: + raise ValueError('mnc must be between 1 .. 3 digits') + + # MCC always has 3 digits + mcc = lpad(mcc, 3, "0") + # MNC must be at least 2 digits + mnc = lpad(mnc, 2, "0") # Digitize country code (2 or 3 digits) cc_digits = _cc_digits(opts.country) diff --git a/pySim/utils.py b/pySim/utils.py index a1689ca..43616a9 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -102,7 +102,9 @@ def enc_plmn(mcc, mnc): """Converts integer MCC/MNC into 3 bytes for EF""" - return swap_nibbles(lpad('%d' % int(mcc), 3) + lpad('%d' % int(mnc), 3)) + if len(mnc) == 2: + mnc = "F%s" % mnc + return swap_nibbles("%s%s" % (mcc, mnc)) def dec_spn(ef): byte1 = int(ef[0:2]) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 12 19:32:18 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 12 May 2020 19:32:18 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ebaf9e53b335_277d2aec44d985e0224546@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-uecups failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 593s] ^~~~~~~~~~~~~~~~~~~ [ 593s] main.c: In function 'main': [ 593s] main.c:776:23: error: implicit declaration of function 'osmo_signalfd_setup' [-Werror=implicit-function-declaration] [ 593s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 593s] ^~~~~~~~~~~~~~~~~~~ [ 593s] main.c:776:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] [ 593s] g_daemon->signalfd = osmo_signalfd_setup(g_daemon, sigset, signal_cb, g_daemon); [ 593s] ^ [ 593s] cc1: some warnings being treated as errors [ 593s] Makefile:469: recipe for target 'main.o' failed [ 593s] make[3]: *** [main.o] Error 1 [ 593s] make[3]: Leaving directory '/usr/src/packages/BUILD/daemon' [ 593s] Makefile:402: recipe for target 'all-recursive' failed [ 593s] make[2]: *** [all-recursive] Error 1 [ 593s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 593s] Makefile:349: recipe for target 'all' failed [ 593s] make[1]: *** [all] Error 2 [ 593s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 593s] dh_auto_build: make -j1 returned exit code 2 [ 593s] debian/rules:45: recipe for target 'build' failed [ 593s] make: *** [build] Error 2 [ 593s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 593s] ### VM INTERACTION START ### [ 596s] [ 552.276034] sysrq: SysRq : Power Off [ 596s] [ 552.279180] reboot: Power down [ 596s] ### VM INTERACTION END ### [ 596s] [ 596s] armbuild17 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Tue May 12 19:30:12 UTC 2020. [ 596s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 12 20:11:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 20:11:38 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... bts: Drop specific functions to increase counters Most of the commit was generated by following sh snippet: """ #!/bin/bash grep -r -l ^CREATE_COUNT_INLINE . | xargs cat | grep "^CREATE_COUNT_INLINE("| tr -d ",;" | tr "()" " " | awk '{ print $2 " " $3 }' >/tmp/hello while read -r func_name ctr_name do #echo "$func_name -> $ctr_name" files="$(grep -r -l "${func_name}()" .)" for f in $files; do echo "$f: $func_name -> $ctr_name"; sed -i "s#${func_name}()#do_rate_ctr_inc(${ctr_name})#g" $f done; done < /tmp/hello grep -r -l "void do_rate_ctr_inc" | xargs sed -i "/void do_rate_ctr_inc(CTR/d" grep -r -l "CREATE_COUNT_INLINE" | xargs sed -i "/^CREATE_COUNT_INLINE/d" """ Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/llc.cpp M src/pdch.cpp M src/rlc.cpp M src/sba.cpp M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 11 files changed, 188 insertions(+), 339 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/18226/1 diff --git a/src/bts.cpp b/src/bts.cpp index 2916ee7..2cf219a 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -344,7 +344,7 @@ LOGP(DRLCMAC, LOGL_NOTICE, "Late RLC block, FN delta: %d FN: %d curFN: %d\n", delay, fn, current_frame_number()); - rlc_late_block(); + do_rate_ctr_inc(CTR_RLC_LATE_BLOCK); } m_cur_blk_fn = fn; @@ -755,10 +755,10 @@ bool failure = false; GprsMs *ms; - rach_frame(); + do_rate_ctr_inc(CTR_RACH_REQUESTS); if (is_11bit) - rach_frame_11bit(); + do_rate_ctr_inc(CTR_11BIT_RACH_REQUESTS); /* Determine full frame number */ Fn = rfn_to_fn(Fn); @@ -831,7 +831,7 @@ plen = Encoding::write_immediate_assignment_reject( immediate_assignment, ra, Fn, burst_type); - immediate_assignment_reject(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_REJ); } else { LOGP(DRLCMAC, LOGL_DEBUG, @@ -845,7 +845,7 @@ } if (plen >= 0) { - immediate_assignment_ul_tbf(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_UL_TBF); pcu_l1if_tx_agch(immediate_assignment, plen); } @@ -920,7 +920,7 @@ tbf->poll_fn, m_bts.alpha, m_bts.gamma, -1, GSM_L1_BURST_TYPE_ACCESS_0); if (plen >= 0) { - immediate_assignment_dl_tbf(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_DL_TBF); pcu_l1if_tx_pch(immediate_assignment, plen, pgroup); } diff --git a/src/bts.h b/src/bts.h index 4fddc0b..76a6073 100644 --- a/src/bts.h +++ b/src/bts.h @@ -175,7 +175,97 @@ uint32_t app_info_pending; /* Count of MS with active TBF, to which we did not send app_info yet */ }; +enum { + CTR_TBF_DL_ALLOCATED, + CTR_TBF_DL_FREED, + CTR_TBF_DL_ABORTED, + CTR_TBF_UL_ALLOCATED, + CTR_TBF_UL_FREED, + CTR_TBF_UL_ABORTED, + CTR_TBF_REUSED, + CTR_TBF_ALLOC_ALGO_A, + CTR_TBF_ALLOC_ALGO_B, + CTR_TBF_FAILED_EGPRS_ONLY, + CTR_RLC_SENT, + CTR_RLC_RESENT, + CTR_RLC_RESTARTED, + CTR_RLC_STALLED, + CTR_RLC_NACKED, + CTR_RLC_FINAL_BLOCK_RESENT, + CTR_RLC_ASS_TIMEDOUT, + CTR_RLC_ASS_FAILED, + CTR_RLC_ACK_TIMEDOUT, + CTR_RLC_ACK_FAILED, + CTR_RLC_REL_TIMEDOUT, + CTR_RLC_LATE_BLOCK, + CTR_RLC_SENT_DUMMY, + CTR_RLC_SENT_CONTROL, + CTR_RLC_DL_BYTES, + CTR_RLC_DL_PAYLOAD_BYTES, + CTR_RLC_UL_BYTES, + CTR_RLC_UL_PAYLOAD_BYTES, + CTR_DECODE_ERRORS, + CTR_SBA_ALLOCATED, + CTR_SBA_FREED, + CTR_SBA_TIMEDOUT, + CTR_LLC_FRAME_TIMEDOUT, + CTR_LLC_FRAME_DROPPED, + CTR_LLC_FRAME_SCHED, + CTR_LLC_DL_BYTES, + CTR_LLC_UL_BYTES, + CTR_RACH_REQUESTS, + CTR_11BIT_RACH_REQUESTS, + CTR_SPB_UL_FIRST_SEGMENT, + CTR_SPB_UL_SECOND_SEGMENT, + CTR_SPB_DL_FIRST_SEGMENT, + CTR_SPB_DL_SECOND_SEGMENT, + CTR_IMMEDIATE_ASSIGN_UL_TBF, + CTR_IMMEDIATE_ASSIGN_REJ, + CTR_IMMEDIATE_ASSIGN_DL_TBF, + CTR_CHANNEL_REQUEST_DESCRIPTION, + CTR_PKT_UL_ASSIGNMENT, + CTR_PKT_ACCESS_REJ, + CTR_PKT_DL_ASSIGNMENT, + CTR_RLC_RECV_CONTROL, + CTR_PUA_POLL_TIMEDOUT, + CTR_PUA_POLL_FAILED, + CTR_PDA_POLL_TIMEDOUT, + CTR_PDA_POLL_FAILED, + CTR_PUAN_POLL_TIMEDOUT, + CTR_PUAN_POLL_FAILED, + CTR_PDAN_POLL_TIMEDOUT, + CTR_PDAN_POLL_FAILED, + CTR_GPRS_DL_CS1, + CTR_GPRS_DL_CS2, + CTR_GPRS_DL_CS3, + CTR_GPRS_DL_CS4, + CTR_EGPRS_DL_MCS1, + CTR_EGPRS_DL_MCS2, + CTR_EGPRS_DL_MCS3, + CTR_EGPRS_DL_MCS4, + CTR_EGPRS_DL_MCS5, + CTR_EGPRS_DL_MCS6, + CTR_EGPRS_DL_MCS7, + CTR_EGPRS_DL_MCS8, + CTR_EGPRS_DL_MCS9, + CTR_GPRS_UL_CS1, + CTR_GPRS_UL_CS2, + CTR_GPRS_UL_CS3, + CTR_GPRS_UL_CS4, + CTR_EGPRS_UL_MCS1, + CTR_EGPRS_UL_MCS2, + CTR_EGPRS_UL_MCS3, + CTR_EGPRS_UL_MCS4, + CTR_EGPRS_UL_MCS5, + CTR_EGPRS_UL_MCS6, + CTR_EGPRS_UL_MCS7, + CTR_EGPRS_UL_MCS8, + CTR_EGPRS_UL_MCS9, +}; + #ifdef __cplusplus + + /** * I represent a GSM BTS. I have one or more TRX, I know the current * GSM time and I have controllers that help with allocating resources @@ -184,94 +274,6 @@ struct BTS { public: enum { - CTR_TBF_DL_ALLOCATED, - CTR_TBF_DL_FREED, - CTR_TBF_DL_ABORTED, - CTR_TBF_UL_ALLOCATED, - CTR_TBF_UL_FREED, - CTR_TBF_UL_ABORTED, - CTR_TBF_REUSED, - CTR_TBF_ALLOC_ALGO_A, - CTR_TBF_ALLOC_ALGO_B, - CTR_TBF_FAILED_EGPRS_ONLY, - CTR_RLC_SENT, - CTR_RLC_RESENT, - CTR_RLC_RESTARTED, - CTR_RLC_STALLED, - CTR_RLC_NACKED, - CTR_RLC_FINAL_BLOCK_RESENT, - CTR_RLC_ASS_TIMEDOUT, - CTR_RLC_ASS_FAILED, - CTR_RLC_ACK_TIMEDOUT, - CTR_RLC_ACK_FAILED, - CTR_RLC_REL_TIMEDOUT, - CTR_RLC_LATE_BLOCK, - CTR_RLC_SENT_DUMMY, - CTR_RLC_SENT_CONTROL, - CTR_RLC_DL_BYTES, - CTR_RLC_DL_PAYLOAD_BYTES, - CTR_RLC_UL_BYTES, - CTR_RLC_UL_PAYLOAD_BYTES, - CTR_DECODE_ERRORS, - CTR_SBA_ALLOCATED, - CTR_SBA_FREED, - CTR_SBA_TIMEDOUT, - CTR_LLC_FRAME_TIMEDOUT, - CTR_LLC_FRAME_DROPPED, - CTR_LLC_FRAME_SCHED, - CTR_LLC_DL_BYTES, - CTR_LLC_UL_BYTES, - CTR_RACH_REQUESTS, - CTR_11BIT_RACH_REQUESTS, - CTR_SPB_UL_FIRST_SEGMENT, - CTR_SPB_UL_SECOND_SEGMENT, - CTR_SPB_DL_FIRST_SEGMENT, - CTR_SPB_DL_SECOND_SEGMENT, - CTR_IMMEDIATE_ASSIGN_UL_TBF, - CTR_IMMEDIATE_ASSIGN_REJ, - CTR_IMMEDIATE_ASSIGN_DL_TBF, - CTR_CHANNEL_REQUEST_DESCRIPTION, - CTR_PKT_UL_ASSIGNMENT, - CTR_PKT_ACCESS_REJ, - CTR_PKT_DL_ASSIGNMENT, - CTR_RLC_RECV_CONTROL, - CTR_PUA_POLL_TIMEDOUT, - CTR_PUA_POLL_FAILED, - CTR_PDA_POLL_TIMEDOUT, - CTR_PDA_POLL_FAILED, - CTR_PUAN_POLL_TIMEDOUT, - CTR_PUAN_POLL_FAILED, - CTR_PDAN_POLL_TIMEDOUT, - CTR_PDAN_POLL_FAILED, - CTR_GPRS_DL_CS1, - CTR_GPRS_DL_CS2, - CTR_GPRS_DL_CS3, - CTR_GPRS_DL_CS4, - CTR_EGPRS_DL_MCS1, - CTR_EGPRS_DL_MCS2, - CTR_EGPRS_DL_MCS3, - CTR_EGPRS_DL_MCS4, - CTR_EGPRS_DL_MCS5, - CTR_EGPRS_DL_MCS6, - CTR_EGPRS_DL_MCS7, - CTR_EGPRS_DL_MCS8, - CTR_EGPRS_DL_MCS9, - CTR_GPRS_UL_CS1, - CTR_GPRS_UL_CS2, - CTR_GPRS_UL_CS3, - CTR_GPRS_UL_CS4, - CTR_EGPRS_UL_MCS1, - CTR_EGPRS_UL_MCS2, - CTR_EGPRS_UL_MCS3, - CTR_EGPRS_UL_MCS4, - CTR_EGPRS_UL_MCS5, - CTR_EGPRS_UL_MCS6, - CTR_EGPRS_UL_MCS7, - CTR_EGPRS_UL_MCS8, - CTR_EGPRS_UL_MCS9, - }; - - enum { STAT_MS_PRESENT, }; @@ -320,91 +322,12 @@ /* * Statistics */ - void tbf_dl_created(); - void tbf_dl_freed(); - void tbf_dl_aborted(); - void tbf_ul_created(); - void tbf_ul_freed(); - void tbf_ul_aborted(); - void tbf_reused(); - void tbf_alloc_algo_a(); - void tbf_alloc_algo_b(); - void tbf_failed_egprs_only(); - void rlc_sent(); - void rlc_resent(); - void rlc_restarted(); - void rlc_stalled(); - void rlc_nacked(); - void rlc_final_block_resent(); - void rlc_ass_timedout(); - void rlc_ass_failed(); - void rlc_ack_timedout(); - void rlc_ack_failed(); - void rlc_rel_timedout(); - void rlc_late_block(); - void rlc_sent_dummy(); - void rlc_sent_control(); void rlc_dl_bytes(int bytes); void rlc_dl_payload_bytes(int bytes); void rlc_ul_bytes(int bytes); void rlc_ul_payload_bytes(int bytes); - void decode_error(); - void sba_allocated(); - void sba_freed(); - void sba_timedout(); - void llc_timedout_frame(); - void llc_dropped_frame(); - void llc_frame_sched(); void llc_dl_bytes(int bytes); void llc_ul_bytes(int bytes); - void rach_frame(); - void rach_frame_11bit(); - void spb_uplink_first_segment(); - void spb_uplink_second_segment(); - void spb_downlink_first_segment(); - void spb_downlink_second_segment(); - void immediate_assignment_ul_tbf(); - void immediate_assignment_reject(); - void immediate_assignment_dl_tbf(); - void channel_request_description(); - void pkt_ul_assignment(); - void pkt_access_reject(); - void pkt_dl_assignemnt(); - void rlc_rcvd_control(); - void pua_poll_timedout(); - void pua_poll_failed(); - void pda_poll_timedout(); - void pda_poll_failed(); - void pkt_ul_ack_nack_poll_timedout(); - void pkt_ul_ack_nack_poll_failed(); - void pkt_dl_ack_nack_poll_timedout(); - void pkt_dl_ack_nack_poll_failed(); - void gprs_dl_cs1(); - void gprs_dl_cs2(); - void gprs_dl_cs3(); - void gprs_dl_cs4(); - void egprs_dl_mcs1(); - void egprs_dl_mcs2(); - void egprs_dl_mcs3(); - void egprs_dl_mcs4(); - void egprs_dl_mcs5(); - void egprs_dl_mcs6(); - void egprs_dl_mcs7(); - void egprs_dl_mcs8(); - void egprs_dl_mcs9(); - void gprs_ul_cs1(); - void gprs_ul_cs2(); - void gprs_ul_cs3(); - void gprs_ul_cs4(); - void egprs_ul_mcs1(); - void egprs_ul_mcs2(); - void egprs_ul_mcs3(); - void egprs_ul_mcs4(); - void egprs_ul_mcs5(); - void egprs_ul_mcs6(); - void egprs_ul_mcs7(); - void egprs_ul_mcs8(); - void egprs_ul_mcs9(); void ms_present(int32_t n); int32_t ms_present_get(); @@ -414,6 +337,7 @@ */ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; + void do_rate_ctr_inc(unsigned int ctr_id); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -483,6 +407,10 @@ return m_statg; } +inline void BTS::do_rate_ctr_inc(unsigned int ctr_id) { + rate_ctr_inc(&m_ratectrs->ctr[ctr_id]); +} + #define CREATE_COUNT_ADD_INLINE(func_name, ctr_name) \ inline void BTS::func_name(int inc) {\ rate_ctr_add(&m_ratectrs->ctr[ctr_name], inc); \ @@ -493,91 +421,12 @@ rate_ctr_inc(&m_ratectrs->ctr[ctr_name]); \ } -CREATE_COUNT_INLINE(tbf_dl_created, CTR_TBF_DL_ALLOCATED) -CREATE_COUNT_INLINE(tbf_dl_freed, CTR_TBF_DL_FREED) -CREATE_COUNT_INLINE(tbf_dl_aborted, CTR_TBF_DL_ABORTED) -CREATE_COUNT_INLINE(tbf_ul_created, CTR_TBF_UL_ALLOCATED) -CREATE_COUNT_INLINE(tbf_ul_freed, CTR_TBF_UL_FREED) -CREATE_COUNT_INLINE(tbf_ul_aborted, CTR_TBF_UL_ABORTED) -CREATE_COUNT_INLINE(tbf_reused, CTR_TBF_REUSED) -CREATE_COUNT_INLINE(tbf_alloc_algo_a, CTR_TBF_ALLOC_ALGO_A) -CREATE_COUNT_INLINE(tbf_alloc_algo_b, CTR_TBF_ALLOC_ALGO_B) -CREATE_COUNT_INLINE(tbf_failed_egprs_only, CTR_TBF_FAILED_EGPRS_ONLY) -CREATE_COUNT_INLINE(rlc_sent, CTR_RLC_SENT) -CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT) -CREATE_COUNT_INLINE(rlc_restarted, CTR_RLC_RESTARTED) -CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED) -CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED) -CREATE_COUNT_INLINE(rlc_final_block_resent, CTR_RLC_FINAL_BLOCK_RESENT); -CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_ass_failed, CTR_RLC_ASS_FAILED); -CREATE_COUNT_INLINE(rlc_ack_timedout, CTR_RLC_ACK_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_ack_failed, CTR_RLC_ACK_FAILED); -CREATE_COUNT_INLINE(rlc_rel_timedout, CTR_RLC_REL_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_late_block, CTR_RLC_LATE_BLOCK); -CREATE_COUNT_INLINE(rlc_sent_dummy, CTR_RLC_SENT_DUMMY); -CREATE_COUNT_INLINE(rlc_sent_control, CTR_RLC_SENT_CONTROL); CREATE_COUNT_ADD_INLINE(rlc_dl_bytes, CTR_RLC_DL_BYTES); CREATE_COUNT_ADD_INLINE(rlc_dl_payload_bytes, CTR_RLC_DL_PAYLOAD_BYTES); CREATE_COUNT_ADD_INLINE(rlc_ul_bytes, CTR_RLC_UL_BYTES); CREATE_COUNT_ADD_INLINE(rlc_ul_payload_bytes, CTR_RLC_UL_PAYLOAD_BYTES); -CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS) -CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED) -CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED) -CREATE_COUNT_INLINE(sba_timedout, CTR_SBA_TIMEDOUT) -CREATE_COUNT_INLINE(llc_timedout_frame, CTR_LLC_FRAME_TIMEDOUT); -CREATE_COUNT_INLINE(llc_dropped_frame, CTR_LLC_FRAME_DROPPED); -CREATE_COUNT_INLINE(llc_frame_sched, CTR_LLC_FRAME_SCHED); CREATE_COUNT_ADD_INLINE(llc_dl_bytes, CTR_LLC_DL_BYTES); CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES); -CREATE_COUNT_INLINE(rach_frame, CTR_RACH_REQUESTS); -CREATE_COUNT_INLINE(rach_frame_11bit, CTR_11BIT_RACH_REQUESTS); -CREATE_COUNT_INLINE(spb_uplink_first_segment, CTR_SPB_UL_FIRST_SEGMENT); -CREATE_COUNT_INLINE(spb_uplink_second_segment, CTR_SPB_UL_SECOND_SEGMENT); -CREATE_COUNT_INLINE(spb_downlink_first_segment, CTR_SPB_DL_FIRST_SEGMENT); -CREATE_COUNT_INLINE(spb_downlink_second_segment, CTR_SPB_DL_SECOND_SEGMENT); -CREATE_COUNT_INLINE(immediate_assignment_ul_tbf, CTR_IMMEDIATE_ASSIGN_UL_TBF); -CREATE_COUNT_INLINE(immediate_assignment_reject, CTR_IMMEDIATE_ASSIGN_REJ); -CREATE_COUNT_INLINE(immediate_assignment_dl_tbf, CTR_IMMEDIATE_ASSIGN_DL_TBF); -CREATE_COUNT_INLINE(channel_request_description, CTR_CHANNEL_REQUEST_DESCRIPTION); -CREATE_COUNT_INLINE(pkt_ul_assignment, CTR_PKT_UL_ASSIGNMENT); -CREATE_COUNT_INLINE(pkt_access_reject, CTR_PKT_ACCESS_REJ); -CREATE_COUNT_INLINE(pkt_dl_assignemnt, CTR_PKT_DL_ASSIGNMENT); -CREATE_COUNT_INLINE(rlc_rcvd_control, CTR_RLC_RECV_CONTROL); -CREATE_COUNT_INLINE(pua_poll_timedout, CTR_PUA_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pua_poll_failed, CTR_PUA_POLL_FAILED); -CREATE_COUNT_INLINE(pda_poll_timedout, CTR_PDA_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pda_poll_failed, CTR_PDA_POLL_FAILED); -CREATE_COUNT_INLINE(pkt_ul_ack_nack_poll_timedout, CTR_PUAN_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pkt_ul_ack_nack_poll_failed, CTR_PUAN_POLL_FAILED); -CREATE_COUNT_INLINE(pkt_dl_ack_nack_poll_timedout, CTR_PDAN_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pkt_dl_ack_nack_poll_failed, CTR_PDAN_POLL_FAILED); -CREATE_COUNT_INLINE(gprs_dl_cs1, CTR_GPRS_DL_CS1); -CREATE_COUNT_INLINE(gprs_dl_cs2, CTR_GPRS_DL_CS2); -CREATE_COUNT_INLINE(gprs_dl_cs3, CTR_GPRS_DL_CS3); -CREATE_COUNT_INLINE(gprs_dl_cs4, CTR_GPRS_DL_CS4); -CREATE_COUNT_INLINE(egprs_dl_mcs1, CTR_EGPRS_DL_MCS1); -CREATE_COUNT_INLINE(egprs_dl_mcs2, CTR_EGPRS_DL_MCS2); -CREATE_COUNT_INLINE(egprs_dl_mcs3, CTR_EGPRS_DL_MCS3); -CREATE_COUNT_INLINE(egprs_dl_mcs4, CTR_EGPRS_DL_MCS4); -CREATE_COUNT_INLINE(egprs_dl_mcs5, CTR_EGPRS_DL_MCS5); -CREATE_COUNT_INLINE(egprs_dl_mcs6, CTR_EGPRS_DL_MCS6); -CREATE_COUNT_INLINE(egprs_dl_mcs7, CTR_EGPRS_DL_MCS7); -CREATE_COUNT_INLINE(egprs_dl_mcs8, CTR_EGPRS_DL_MCS8); -CREATE_COUNT_INLINE(egprs_dl_mcs9, CTR_EGPRS_DL_MCS9); -CREATE_COUNT_INLINE(gprs_ul_cs1, CTR_GPRS_UL_CS1); -CREATE_COUNT_INLINE(gprs_ul_cs2, CTR_GPRS_UL_CS2); -CREATE_COUNT_INLINE(gprs_ul_cs3, CTR_GPRS_UL_CS3); -CREATE_COUNT_INLINE(gprs_ul_cs4, CTR_GPRS_UL_CS4); -CREATE_COUNT_INLINE(egprs_ul_mcs1, CTR_EGPRS_UL_MCS1); -CREATE_COUNT_INLINE(egprs_ul_mcs2, CTR_EGPRS_UL_MCS2); -CREATE_COUNT_INLINE(egprs_ul_mcs3, CTR_EGPRS_UL_MCS3); -CREATE_COUNT_INLINE(egprs_ul_mcs4, CTR_EGPRS_UL_MCS4); -CREATE_COUNT_INLINE(egprs_ul_mcs5, CTR_EGPRS_UL_MCS5); -CREATE_COUNT_INLINE(egprs_ul_mcs6, CTR_EGPRS_UL_MCS6); -CREATE_COUNT_INLINE(egprs_ul_mcs7, CTR_EGPRS_UL_MCS7); -CREATE_COUNT_INLINE(egprs_ul_mcs8, CTR_EGPRS_UL_MCS8); -CREATE_COUNT_INLINE(egprs_ul_mcs9, CTR_EGPRS_UL_MCS9); #undef CREATE_COUNT_INLINE diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index fe6f159..6a53468 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -357,18 +357,18 @@ switch(cat) { case PCU_GSMTAP_C_DL_CTRL: - bts->bts->rlc_sent_control(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT_CONTROL); bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_CTRL, false, trx, ts, GSMTAP_CHANNEL_PACCH, fn, msg->data, msg->len); break; case PCU_GSMTAP_C_DL_DATA_GPRS: - bts->bts->rlc_sent(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT); /* FIXME: distinguish between GPRS and EGPRS */ bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_DATA_GPRS, false, trx, ts, GSMTAP_CHANNEL_PDTCH, fn, msg->data, msg->len); break; case PCU_GSMTAP_C_DL_DUMMY: - bts->bts->rlc_sent_dummy(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT_DUMMY); bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_DUMMY, false, trx, ts, GSMTAP_CHANNEL_PACCH, fn, msg->data, msg->len); break; diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index cf3f9a9..c4fbbad 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -423,7 +423,7 @@ ms_->set_reserved_slots(trx, 1 << ts, 1 << ts); tbf_->upgrade_to_multislot = 0; - bts->bts->tbf_alloc_algo_a(); + bts->bts->do_rate_ctr_inc(CTR_TBF_ALLOC_ALGO_A); return 0; } @@ -950,7 +950,7 @@ else assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); - bts->bts->tbf_alloc_algo_b(); + bts->bts->do_rate_ctr_inc(CTR_TBF_ALLOC_ALGO_B); return 0; } diff --git a/src/llc.cpp b/src/llc.cpp index 8ef7a53..e2d01c2 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -128,7 +128,7 @@ while ((msg = msgb_dequeue(&m_queue))) { if (bts) - bts->llc_dropped_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_DROPPED); msgb_free(msg); } diff --git a/src/pdch.cpp b/src/pdch.cpp index 88d5d31..202f642 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -115,7 +115,7 @@ static inline void sched_ul_ass_or_rej(BTS *bts, gprs_rlcmac_bts *bts_data, struct gprs_rlcmac_dl_tbf *tbf) { - bts->channel_request_description(); + bts->do_rate_ctr_inc(CTR_CHANNEL_REQUEST_DESCRIPTION); /* This call will register the new TBF with the MS on success */ gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); @@ -715,7 +715,7 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); - bts()->rlc_rcvd_control(); + bts()->do_rate_ctr_inc(CTR_RLC_RECV_CONTROL); switch (ul_control_block->u.MESSAGE_TYPE) { case MT_PACKET_CONTROL_ACK: rcv_control_ack(&ul_control_block->u.Packet_Control_Acknowledgement, fn); @@ -736,7 +736,7 @@ /* ignoring it. change the SI to not force sending these? */ break; default: - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] unknown control block(%d) received\n", ul_control_block->u.MESSAGE_TYPE); @@ -753,7 +753,7 @@ { GprsCodingScheme cs = GprsCodingScheme::getBySizeUL(len); if (!cs) { - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Dropping data block with invalid" "length: %d)\n", len); return -EINVAL; @@ -770,7 +770,7 @@ if (mcs_is_edge(cs)) return rcv_data_block(data, len, fn, meas, cs); - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Unsupported coding scheme %s\n", mcs_name(cs)); return -EINVAL; @@ -809,7 +809,7 @@ LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but header parsing has failed\n", mcs_name(cs)); - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); return rc; } diff --git a/src/rlc.cpp b/src/rlc.cpp index c6d4330..c44d27e 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -159,7 +159,7 @@ } else { LOGP(DRLCMACDL, LOGL_DEBUG, "- got NACK for BSN=%d\n", bsn); m_v_b.mark_nacked(bsn); - bts->rlc_nacked(); + bts->do_rate_ctr_inc(CTR_RLC_NACKED); *lost += 1; } } @@ -183,7 +183,7 @@ } else { LOGP(DRLCMACDL, LOGL_DEBUG, "- got NACK for BSN=%d\n", bsn); m_v_b.mark_nacked(bsn); - bts->rlc_nacked(); + bts->do_rate_ctr_inc(CTR_RLC_NACKED); *lost += 1; } } diff --git a/src/sba.cpp b/src/sba.cpp index 32735e8..cc58405 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -86,7 +86,7 @@ sba->ta = ta; llist_add(&sba->list, &m_sbas); - m_bts.sba_allocated(); + m_bts.do_rate_ctr_inc(CTR_SBA_ALLOCATED); *_trx = trx; *_ts = ts; @@ -132,14 +132,14 @@ LOGP(DRLCMAC, LOGL_NOTICE, "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no, sba->ts_no, sba->fn, sba->ta); - m_bts.sba_timedout(); + m_bts.do_rate_ctr_inc(CTR_SBA_TIMEDOUT); free_sba(sba); return 0; } void SBAController::free_sba(gprs_rlcmac_sba *sba) { - m_bts.sba_freed(); + m_bts.do_rate_ctr_inc(CTR_SBA_FREED); llist_del(&sba->list); talloc_free(sba); } diff --git a/src/tbf.cpp b/src/tbf.cpp index 2693223..ccf257d 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -456,9 +456,9 @@ /* update counters */ if (tbf->direction == GPRS_RLCMAC_UL_TBF) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - tbf->bts->tbf_ul_freed(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_FREED); if (tbf->state_is(GPRS_RLCMAC_FLOW)) - tbf->bts->tbf_ul_aborted(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); } else { @@ -468,9 +468,9 @@ } else { rate_ctr_group_free(dl_tbf->m_dl_gprs_ctrs); } - tbf->bts->tbf_dl_freed(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_FREED); if (tbf->state_is(GPRS_RLCMAC_FLOW)) - tbf->bts->tbf_dl_aborted(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_ABORTED); } /* Give final measurement report */ @@ -821,11 +821,11 @@ LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK\n"); rlcmac_diag(); } - bts->rlc_ack_timedout(); - bts->pkt_ul_ack_nack_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ACK_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PUAN_POLL_TIMEDOUT); if (state_is(GPRS_RLCMAC_FINISHED)) { if (ul_tbf->n_inc(N3103)) { - bts->pkt_ul_ack_nack_poll_failed(); + bts->do_rate_ctr_inc(CTR_PUAN_POLL_FAILED); TBF_SET_STATE(ul_tbf, GPRS_RLCMAC_RELEASING); T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; @@ -842,13 +842,13 @@ state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); } ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; - bts->rlc_ass_timedout(); - bts->pua_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); T_START(this, T3195, 3195, "MAX N3105 reached", true); - bts->rlc_ass_failed(); - bts->pua_poll_failed(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_FAILED); + bts->do_rate_ctr_inc(CTR_PUA_POLL_FAILED); return; } /* reschedule UL assignment */ @@ -861,13 +861,13 @@ state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); } dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; - bts->rlc_ass_timedout(); - bts->pda_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); T_START(this, T3195, 3195, "MAX N3105 reached", true); - bts->rlc_ass_failed(); - bts->pda_poll_failed(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_FAILED); + bts->do_rate_ctr_inc(CTR_PDA_POLL_FAILED); return; } /* reschedule DL assignment */ @@ -883,17 +883,17 @@ } if (dl_tbf->state_is(GPRS_RLCMAC_RELEASING)) - bts->rlc_rel_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_REL_TIMEDOUT); else { - bts->rlc_ack_timedout(); - bts->pkt_dl_ack_nack_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ACK_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PDAN_POLL_TIMEDOUT); } if (dl_tbf->n_inc(N3105)) { TBF_SET_STATE(dl_tbf, GPRS_RLCMAC_RELEASING); T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); - bts->pkt_dl_ack_nack_poll_failed(); - bts->rlc_ack_failed(); + bts->do_rate_ctr_inc(CTR_PDAN_POLL_FAILED); + bts->do_rate_ctr_inc(CTR_RLC_ACK_FAILED); return; } /* resend IMM.ASS on CCCH on timeout */ @@ -984,7 +984,7 @@ if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); + bts->bts->do_rate_ctr_inc(CTR_TBF_FAILED_EGPRS_ONLY); return NULL; } @@ -1026,7 +1026,7 @@ } llist_add(&tbf->list(), &bts->bts->ul_tbfs()); - tbf->bts->tbf_ul_created(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ALLOCATED); return tbf; } @@ -1057,7 +1057,7 @@ if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { if (ms->ms_class() > 0) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); + bts->bts->do_rate_ctr_inc(CTR_TBF_FAILED_EGPRS_ONLY); return NULL; } ms->set_egprs_ms_class(1); @@ -1109,7 +1109,7 @@ } llist_add(&tbf->list(), &bts->bts->dl_tbfs()); - tbf->bts->tbf_dl_created(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_ALLOCATED); tbf->m_last_dl_poll_fn = -1; tbf->m_last_dl_drained_fn = -1; @@ -1276,7 +1276,7 @@ goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); - bts->pkt_dl_assignemnt(); + bts->do_rate_ctr_inc(CTR_PKT_DL_ASSIGNMENT); bitvec_pack(ass_vec, msgb_put(msg, 23)); if (poll_ass_dl) { @@ -1315,7 +1315,7 @@ Encoding::write_packet_access_reject( packet_access_rej, tlli()); - bts->pkt_access_reject(); + bts->do_rate_ctr_inc(CTR_PKT_ACCESS_REJ); bitvec_pack(packet_access_rej, msgb_put(msg, 23)); @@ -1382,7 +1382,7 @@ goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); - bts->pkt_ul_assignment(); + bts->do_rate_ctr_inc(CTR_PKT_UL_ASSIGNMENT); set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); @@ -1422,7 +1422,7 @@ { struct gprs_rlcmac_dl_tbf *new_tbf = NULL; - bts->tbf_reused(); + bts->do_rate_ctr_inc(CTR_TBF_REUSED); new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), this->trx->trx_no, false); @@ -1577,7 +1577,7 @@ ms->set_tlli(tlli); llist_add(&ul_tbf->list(), &bts->bts->ul_tbfs()); - ul_tbf->bts->tbf_ul_created(); + ul_tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ALLOCATED); TBF_SET_ASS_ON(ul_tbf, GPRS_RLCMAC_FLAG_PACCH, false); ul_tbf->set_ms(ms); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 591f460..5197717 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -313,12 +313,12 @@ break; } - bts->llc_timedout_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_TIMEDOUT); drop_frame: frames++; octets += msg->len; msgb_free(msg); - bts->llc_dropped_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_DROPPED); continue; } @@ -424,7 +424,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Resending BSN %d\n", bsn); /* re-send block with negative aknowlegement */ m_window.m_v_b.mark_unacked(bsn); - bts->rlc_resent(); + bts->do_rate_ctr_inc(CTR_RLC_RESENT); } else if (state_is(GPRS_RLCMAC_FINISHED)) { /* If the TBF is in finished, we already sent all packages at least once. * If any packages could have been sent (because of unacked) it should have @@ -432,7 +432,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted.\n", m_window.v_a()); - bts->rlc_restarted(); + bts->do_rate_ctr_inc(CTR_RLC_RESTARTED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (dl_window_stalled()) { @@ -441,7 +441,7 @@ LOGPTBFDL(this, LOGL_NOTICE, "Restarting at BSN %d, because the window is stalled.\n", m_window.v_a()); - bts->rlc_stalled(); + bts->do_rate_ctr_inc(CTR_RLC_STALLED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { @@ -459,7 +459,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); - bts->rlc_restarted(); + bts->do_rate_ctr_inc(CTR_RLC_RESTARTED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else { @@ -476,8 +476,8 @@ LOGPTBFDL(this, LOGL_DEBUG, "Nothing else to send, Re-transmit final block!\n"); bsn = m_window.v_s_mod(-1); - bts->rlc_final_block_resent(); - bts->rlc_resent(); + bts->do_rate_ctr_inc(CTR_RLC_FINAL_BLOCK_RESENT); + bts->do_rate_ctr_inc(CTR_RLC_RESENT); } *may_combine = num_data_blocks(m_rlc.block(bsn)->cs_current_trans.headerTypeData()) > 1; @@ -556,7 +556,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Dequeue next LLC (len=%d)\n", msg->len); m_llc.put_frame(msg->data, msg->len); - bts->llc_frame_sched(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_SCHED); msgb_free(msg); m_last_dl_drained_fn = -1; } @@ -1360,15 +1360,15 @@ */ if (block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { /* statistics */ - bts->spb_downlink_second_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_SECOND_SEGMENT); return EGPRS_RLCMAC_DL_SEC_SEG; } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { - bts->spb_downlink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_FIRST_SEGMENT); return EGPRS_RLCMAC_DL_FIRST_SEG; } else if ((cs_init == MCS4) && (cs_current_trans == MCS1)) { - bts->spb_downlink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_FIRST_SEGMENT); return EGPRS_RLCMAC_DL_FIRST_SEG; } } @@ -1390,55 +1390,55 @@ { switch (cs) { case CS1: - bts->gprs_dl_cs1(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS1); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); break; case CS2: - bts->gprs_dl_cs2(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS2); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); break; case CS3: - bts->gprs_dl_cs3(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS3); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); break; case CS4: - bts->gprs_dl_cs4(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS4); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); break; case MCS1: - bts->egprs_dl_mcs1(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS1); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); break; case MCS2: - bts->egprs_dl_mcs2(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS2); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); break; case MCS3: - bts->egprs_dl_mcs3(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS3); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); break; case MCS4: - bts->egprs_dl_mcs4(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS4); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); break; case MCS5: - bts->egprs_dl_mcs5(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS5); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); break; case MCS6: - bts->egprs_dl_mcs6(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS6); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); break; case MCS7: - bts->egprs_dl_mcs7(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS7); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); break; case MCS8: - bts->egprs_dl_mcs8(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS8); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); break; case MCS9: - bts->egprs_dl_mcs9(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS9); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); break; default: diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 020285e..90cbf8d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -288,7 +288,7 @@ rdbi, rlc->cs, rlc_data, NULL, 0, &new_tlli); if (num_chunks < 0) { - bts->decode_error(); + bts->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGPTBFUL(this, LOGL_NOTICE, "Failed to decode TLLI of %s UL DATA TFI=%d.\n", mcs_name(rlc->cs), rlc->tfi); @@ -428,7 +428,7 @@ union split_block_status *spb_status = &block->spb_status; uint8_t *rlc_data = &block->block[0]; - bts->spb_uplink_second_segment(); + bts->do_rate_ctr_inc(CTR_SPB_UL_SECOND_SEGMENT); if (spb_status->block_status_ul & EGPRS_RESEG_FIRST_SEG_RXD) { @@ -461,7 +461,7 @@ uint8_t *rlc_data = &block->block[0]; union split_block_status *spb_status = &block->spb_status; - bts->spb_uplink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_UL_FIRST_SEGMENT); if (spb_status->block_status_ul & EGPRS_RESEG_SECOND_SEG_RXD) { LOGPTBFUL(this, LOGL_DEBUG, @@ -541,55 +541,55 @@ { switch (cs) { case CS1: - bts->gprs_ul_cs1(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS1); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); break; case CS2: - bts->gprs_ul_cs2(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS2); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); break; case CS3: - bts->gprs_ul_cs3(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS3); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); break; case CS4: - bts->gprs_ul_cs4(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS4); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); break; case MCS1: - bts->egprs_ul_mcs1(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS1); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); break; case MCS2: - bts->egprs_ul_mcs2(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS2); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); break; case MCS3: - bts->egprs_ul_mcs3(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS3); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); break; case MCS4: - bts->egprs_ul_mcs4(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS4); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); break; case MCS5: - bts->egprs_ul_mcs5(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS5); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); break; case MCS6: - bts->egprs_ul_mcs6(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS6); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); break; case MCS7: - bts->egprs_ul_mcs7(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS7); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); break; case MCS8: - bts->egprs_ul_mcs8(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS8); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); break; case MCS9: - bts->egprs_ul_mcs9(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS9); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 20:18:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 20:18:34 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... bts: Drop specific functions to increase counters It's super annoying seeing lots of functions being called everywhere only to find out they are only incrementing a counter. Let's drop all those functions and increment the counter so people looking at code doesn't see dozens of code paths evyerwhere. Most of the commit was generated by following sh snippet: """ #!/bin/bash grep -r -l ^CREATE_COUNT_INLINE . | xargs cat | grep "^CREATE_COUNT_INLINE("| tr -d ",;" | tr "()" " " | awk '{ print $2 " " $3 }' >/tmp/hello while read -r func_name ctr_name do #echo "$func_name -> $ctr_name" files="$(grep -r -l "${func_name}()" .)" for f in $files; do echo "$f: $func_name -> $ctr_name"; sed -i "s#${func_name}()#do_rate_ctr_inc(${ctr_name})#g" $f done; done < /tmp/hello grep -r -l "void do_rate_ctr_inc" | xargs sed -i "/void do_rate_ctr_inc(CTR/d" grep -r -l "CREATE_COUNT_INLINE" | xargs sed -i "/^CREATE_COUNT_INLINE/d" """ Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/llc.cpp M src/pdch.cpp M src/rlc.cpp M src/sba.cpp M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 11 files changed, 186 insertions(+), 346 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/18226/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 20:33:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 20:33:54 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to counters References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18227 ) Change subject: bts: Drop specific functions to add values to counters ...................................................................... bts: Drop specific functions to add values to counters It's super annoying seeing lots of functions being called everywhere only to find out they are only incrementing a counter. Let's drop all those functions and increment the counter so people looking at code doesn't see dozens of code paths evyerwhere. Most of the commit was generated by following sh snippet: """ #!/bin/bash define_pattern="^CREATE_COUNT_ADD_INLINE" generic_func="do_rate_ctr_add" grep -r -l "${define_pattern}" . | xargs cat | grep "${define_pattern}("| tr -d ",;" | tr "()" " " | awk '{ print $2 " " $3 }' >/tmp/hello while read -r func_name ctr_name do #echo "$func_name -> $ctr_name"; files="$(grep -r -l "${func_name}(" .)" for f in $files; do echo "$f: $func_name -> $ctr_name"; sed -i "s#${func_name}(#${generic_func}(${ctr_name}, #g" $f done; done < /tmp/hello grep -r -l "void ${generic_func}" | xargs sed -i "/void ${generic_func}(CTR/d" grep -r -l "$define_pattern" | xargs sed -i "/$define_pattern/d" """ Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed --- M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 5 files changed, 10 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/18227/1 diff --git a/src/bts.h b/src/bts.h index 471ac2e..5090f58 100644 --- a/src/bts.h +++ b/src/bts.h @@ -320,12 +320,6 @@ /* * Statistics */ - void rlc_dl_bytes(int bytes); - void rlc_dl_payload_bytes(int bytes); - void rlc_ul_bytes(int bytes); - void rlc_ul_payload_bytes(int bytes); - void llc_dl_bytes(int bytes); - void llc_ul_bytes(int bytes); void ms_present(int32_t n); int32_t ms_present_get(); @@ -336,6 +330,7 @@ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; void do_rate_ctr_inc(unsigned int ctr_id); + void do_rate_ctr_add(unsigned int ctr_id, int inc); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -409,17 +404,10 @@ rate_ctr_inc(&m_ratectrs->ctr[ctr_id]); } -#define CREATE_COUNT_ADD_INLINE(func_name, ctr_name) \ - inline void BTS::func_name(int inc) {\ - rate_ctr_add(&m_ratectrs->ctr[ctr_name], inc); \ - } +inline void BTS::do_rate_ctr_add(unsigned int ctr_id, int inc) { + rate_ctr_add(&m_ratectrs->ctr[ctr_id], inc); +} -CREATE_COUNT_ADD_INLINE(rlc_dl_bytes, CTR_RLC_DL_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_dl_payload_bytes, CTR_RLC_DL_PAYLOAD_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_ul_bytes, CTR_RLC_UL_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_ul_payload_bytes, CTR_RLC_UL_PAYLOAD_BYTES); -CREATE_COUNT_ADD_INLINE(llc_dl_bytes, CTR_LLC_DL_BYTES); -CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES); #define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \ inline void BTS::func_name(int32_t val) {\ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 6a53468..3db3365 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -444,7 +444,7 @@ if (!msg) return -ENOMEM; /* msg is now available */ - bts->bts->rlc_dl_bytes(msg->data_len); + bts->bts->do_rate_ctr_add(CTR_RLC_DL_BYTES, msg->data_len); /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); diff --git a/src/pdch.cpp b/src/pdch.cpp index 202f642..fb02d59 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -759,7 +759,7 @@ return -EINVAL; } - bts()->rlc_ul_bytes(len); + bts()->do_rate_ctr_add(CTR_RLC_UL_BYTES, len); LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 5197717..dab1e29 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -630,14 +630,14 @@ &m_llc, &write_offset, &num_chunks, data, is_final, &payload_written); if (payload_written > 0) - bts->rlc_dl_payload_bytes(payload_written); + bts->do_rate_ctr_add(CTR_RLC_DL_PAYLOAD_BYTES, payload_written); if (ar == Encoding::AR_NEED_MORE_BLOCKS) break; LOGPTBFDL(this, LOGL_DEBUG, "Complete DL frame, len=%d\n", m_llc.frame_length()); gprs_rlcmac_dl_bw(this, m_llc.frame_length()); - bts->llc_dl_bytes(m_llc.frame_length()); + bts->do_rate_ctr_add(CTR_LLC_DL_BYTES, m_llc.frame_length()); m_llc.reset(); if (is_final) { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 90cbf8d..fee9919 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -92,7 +92,7 @@ frame = frames + i; if (frame->length) { - bts->rlc_ul_payload_bytes(frame->length); + bts->do_rate_ctr_add(CTR_RLC_UL_PAYLOAD_BYTES, frame->length); LOGPTBFUL(this, LOGL_DEBUG, "Frame %d " "starts at offset %d, " @@ -108,7 +108,7 @@ /* send frame to SGSN */ LOGPTBFUL(this, LOGL_DEBUG, "complete UL frame len=%d\n", m_llc.frame_length()); snd_ul_ud(); - bts->llc_ul_bytes(m_llc.frame_length()); + bts->do_rate_ctr_add(CTR_LLC_UL_BYTES, m_llc.frame_length()); m_llc.reset(); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed Gerrit-Change-Number: 18227 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 20:45:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 12 May 2020 20:45:30 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to stats References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18228 ) Change subject: bts: Drop specific functions to add values to stats ...................................................................... bts: Drop specific functions to add values to stats Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a --- M src/bts.h M src/gprs_ms_storage.cpp 2 files changed, 11 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/18228/1 diff --git a/src/bts.h b/src/bts.h index 5090f58..15dd482 100644 --- a/src/bts.h +++ b/src/bts.h @@ -263,6 +263,10 @@ CTR_EGPRS_UL_MCS9, }; +enum { + STAT_MS_PRESENT, +}; + #ifdef __cplusplus /** * I represent a GSM BTS. I have one or more TRX, I know the current @@ -271,10 +275,6 @@ */ struct BTS { public: - enum { - STAT_MS_PRESENT, - }; - BTS(); ~BTS(); void cleanup(); @@ -318,19 +318,13 @@ const uint8_t *data, unsigned int len); /* - * Statistics - */ - - void ms_present(int32_t n); - int32_t ms_present_get(); - - /* * Below for C interface for the VTY */ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; void do_rate_ctr_inc(unsigned int ctr_id); void do_rate_ctr_add(unsigned int ctr_id, int inc); + void stat_item_add(unsigned int stat_id, int inc); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -408,18 +402,10 @@ rate_ctr_add(&m_ratectrs->ctr[ctr_id], inc); } - -#define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \ - inline void BTS::func_name(int32_t val) {\ - osmo_stat_item_set(m_statg->items[stat_name], val); \ - } \ - inline int32_t BTS::func_name_get() {\ - return osmo_stat_item_get_last(m_statg->items[stat_name]); \ - } - -CREATE_STAT_INLINE(ms_present, ms_present_get, STAT_MS_PRESENT); - -#undef CREATE_STAT_INLINE +inline void BTS::stat_item_add(unsigned int stat_id, int inc) { + int32_t val = osmo_stat_item_get_last(m_statg->items[stat_id]); + osmo_stat_item_set(m_statg->items[stat_id], val + inc); +} #endif diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp index 04518c5..19b6e1c 100644 --- a/src/gprs_ms_storage.cpp +++ b/src/gprs_ms_storage.cpp @@ -55,7 +55,7 @@ { llist_del(&ms->list()); if (m_bts) - m_bts->ms_present(m_bts->ms_present_get() - 1); + m_bts->stat_item_add(STAT_MS_PRESENT, -1); if (ms->is_idle()) delete ms; } @@ -102,7 +102,7 @@ ms->set_callback(this); llist_add(&ms->list(), &m_list); if (m_bts) - m_bts->ms_present(m_bts->ms_present_get() + 1); + m_bts->stat_item_add(STAT_MS_PRESENT, 1); return ms; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a Gerrit-Change-Number: 18228 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 21:46:18 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 21:46:18 +0000 Subject: Change in libosmocore[master]: gsm0808: Make a function to extract Cause IE publicly available. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18229 ) Change subject: gsm0808: Make a function to extract Cause IE publicly available. ...................................................................... gsm0808: Make a function to extract Cause IE publicly available. Function gsm0808_get_cipher_reject_cause() was previously available in private gsm0808_utils.h. In practice, the exact same code is useful to extract Cause IE value from any of the many other BSSMAP messages which use it. So let's rename it to gsm0808_get_cause() and make it avilable to everyone to use. Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c 6 files changed, 22 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/29/18229/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 373b434..5a33f60 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -315,6 +315,10 @@ const char *gsm0808_cause_name(enum gsm0808_cause cause); const char *gsm0808_cause_class_name(enum gsm0808_cause_class class); +/*! Parse Cause TLV 3GPP TS 08.08 ?3.2.2.5 + * \returns Cause value */ +enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp); + extern const struct value_string gsm0808_lcls_config_names[]; extern const struct value_string gsm0808_lcls_control_names[]; extern const struct value_string gsm0808_lcls_status_names[]; diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index ccdf5ed..1cdca8c 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -155,8 +155,6 @@ return (cause & 0x80) && !(cause & 0x0F); } -int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp); - /*! \returns 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */ static inline uint8_t gsm0808_current_channel_type_1(enum gsm_chan_t type) { diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 02288e6..788f6c3 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1654,6 +1654,22 @@ return get_value_string(gsm0808_cause_names, cause); } +enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp) +{ + const uint8_t *buf = TLVP_VAL_MINLEN(tp, GSM0808_IE_CAUSE, 1); + + if (!buf) + return -EBADMSG; + + if (TLVP_LEN(tp, GSM0808_IE_CAUSE) > 1) { + if (!gsm0808_cause_ext(buf[0])) + return -EINVAL; + return buf[1]; + } + + return buf[0]; +} + const struct value_string gsm0808_lcls_config_names[] = { { GSM0808_LCLS_CFG_BOTH_WAY, "Connect both-way" }, { GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL, diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 7416d8f..6f3c07a 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1563,22 +1563,6 @@ return 0; } -int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) -{ - const uint8_t *buf = TLVP_VAL_MINLEN(tp, GSM0808_IE_CAUSE, 1); - - if (!buf) - return -EBADMSG; - - if (TLVP_LEN(tp, GSM0808_IE_CAUSE) > 1) { - if (!gsm0808_cause_ext(buf[0])) - return -EINVAL; - return buf[1]; - } - - return buf[0]; -} - /*! Print a human readable name of the cell identifier to the char buffer. * This is useful both for struct gsm0808_cell_id and struct gsm0808_cell_id_list2. * See also gsm0808_cell_id_name() and gsm0808_cell_id_list_name(). diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index a518b28..1ff1286 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -157,6 +157,7 @@ gsm0808_bssmap_name; gsm0808_cause_name; gsm0808_cause_class_name; +gsm0808_get_cause; gsm0808_create_ass; gsm0808_create_ass2; gsm0808_create_assignment_completed; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index ec24914..ce73390 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -306,7 +306,7 @@ if (rc < 0) printf("FIXME: failed (%d) to parse created message %s\n", rc, msgb_hexdump(msg)); - rc = gsm0808_get_cipher_reject_cause(&tp); + rc = gsm0808_get_cause(&tp); if (rc < 0) printf("FIXME: failed (%s) to extract Cause from created message %s\n", strerror(-rc), msgb_hexdump(msg)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a Gerrit-Change-Number: 18229 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 21:46:18 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 21:46:18 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Fix gsm0808_cause_class() function References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18230 ) Change subject: gsm0808_utils: Fix gsm0808_cause_class() function ...................................................................... gsm0808_utils: Fix gsm0808_cause_class() function Cause class is in bits 5-7 of the cause value. For the cause value 0x52 old version returned 0xa instead of a correct 0x5. See section 3.2.2.5 Cause of TS 08.08 for the details. Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d --- M include/osmocom/gsm/gsm0808_utils.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/30/18230/1 diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 1cdca8c..a8852e4 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -145,7 +145,7 @@ /*! \returns 3GPP TS 08.08 ?3.2.2.5 Class of a given Cause */ static inline enum gsm0808_cause_class gsm0808_cause_class(enum gsm0808_cause cause) { - return (cause << 1) >> 4; + return (cause >> 4) & 0x7; } /*! \returns true if 3GPP TS 08.08 ?3.2.2.5 Class has extended bit set */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d Gerrit-Change-Number: 18230 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 21:46:19 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 21:46:19 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. Also add a test for an actual CONFUSION message parsing. Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/protocol/gsm_08_08.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 111 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/18231/1 diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 5a33f60..34cec3c 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -319,6 +319,9 @@ * \returns Cause value */ enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp); +const char *gsm0808_diagnostics_octet_location_str(uint8_t pointer); +const char *gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer); + extern const struct value_string gsm0808_lcls_config_names[]; extern const struct value_string gsm0808_lcls_control_names[]; extern const struct value_string gsm0808_lcls_status_names[]; diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index e791b07..8b7ed8c 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -669,3 +669,16 @@ GSM0808_LCLS_STS_LOCALLY_SWITCHED = 0x04, GSM0808_LCLS_STS_NA = 0xFF }; + +/* 3GPP TS 48.008 3.2.2.32 Diagnostics */ +struct gsm0808_diagnostics { + uint8_t error_pointer_octet; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t error_pointer_bit_spare:4, + error_pointer_bit:4; +#elif OSMO_IS_BIG_ENDIAN + uint8_t error_pointer_bit:4, + error_pointer_bit_spare:4; +#endif + uint8_t msg[0]; /*! received message which provoked the error */ +} __attribute__((packed)); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 788f6c3..28f487e 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -21,6 +21,8 @@ * */ +#include + #include #include #include @@ -34,6 +36,9 @@ * message generation/encoding. */ +/*! Char buffer to return strings from functions */ +static __thread char str_buff[512]; + /*! Create "Complete L3 Info" for AoIP, legacy implementation. * Instead use gsm0808_create_layer3_aoip2(), which is capable of three-digit MNC with leading zeros. * \param[in] msg_l3 msgb containing Layer 3 Message @@ -1670,6 +1675,37 @@ return buf[0]; } +const char *gsm0808_diagnostics_octet_location_str(uint8_t pointer) +{ + if (pointer == 0) + return "Error location not determined"; + else if (pointer == 1) + return "The first octet of the message received (i.e. the message type) was found erroneous (unknown)"; + else if (pointer == 0xfd) + return "The first octet of the BSSAP header (Discrimination) was found erroneous"; + else if (pointer == 0xfe) + return "(DTAP only) The DLCI (second) octet of the BSSAP header was found erroneous"; + else if (pointer == 0xff) + return "The last octet of the BSSAP header (length indicator) was found erroneous"; + + snprintf(str_buff, sizeof(str_buff), "The %d octet of the message received was found erroneous", pointer); + return str_buff; +} + +const char *gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer) +{ + if (bit_pointer == 0) { + return "No particular part of the octet is indicated"; + } else if (bit_pointer > 8) { + return "Reserved value"; + } + + snprintf(str_buff, sizeof(str_buff), + "An error was provoked by the field whose most significant bit is in bit position %d", + bit_pointer); + return str_buff; +} + const struct value_string gsm0808_lcls_config_names[] = { { GSM0808_LCLS_CFG_BOTH_WAY, "Connect both-way" }, { GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL, diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 1ff1286..bf0cc01 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -158,6 +158,8 @@ gsm0808_cause_name; gsm0808_cause_class_name; gsm0808_get_cause; +gsm0808_diagnostics_octet_location_str; +gsm0808_diagnostics_bit_location_str; gsm0808_create_ass; gsm0808_create_ass2; gsm0808_create_assignment_completed; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index ce73390..9e1e52e 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -379,6 +379,55 @@ msgb_free(msg); } +static void test_dec_confusion() +{ + static const uint8_t hex[] = + { 0x26, 0x04, 0x01, 0x52, 0x1f, 0x07, 0x00, 0xff, 0x00, 0x03, 0x25, 0x03, 0x25 }; + struct tlv_parsed tp; + int diag_len; + enum gsm0808_cause cause; + enum gsm0808_cause_class cause_class; + struct gsm0808_diagnostics *diag; + + printf("Testing decoding CONFUSION\n"); + + tlv_parse(&tp, gsm0808_att_tlvdef(), hex+1, sizeof(hex)-1, 0, 0); + + /* Check for the Cause and Diagnostic mandatory elements */ + if (!TLVP_PRESENT(&tp, GSM0808_IE_CAUSE) || !TLVP_PRESENT(&tp, GSM0808_IE_DIAGNOSTIC)) { + printf("Either Cause or Diagnostic mandatory IE are not detected\n"); + return; + } + + diag_len = TLVP_LEN(&tp, GSM0808_IE_DIAGNOSTIC); + if (diag_len < 5) { + printf("Diagnostic length is too short: %d (expected > 5)\n", + diag_len); + return; + } + + cause = gsm0808_get_cause(&tp); + if ((int)cause < 0) { + printf("ERROR: failed (%s) to extract Cause, aborting\n", strerror(-(int)cause)); + return; + } + cause_class = gsm0808_cause_class(cause); + printf(" Cause class %d/0x%x (%s)\n", + cause_class, cause_class, gsm0808_cause_class_name(cause_class)); + printf(" Cause %d/0x%x (%s)\n", + cause, cause, gsm0808_cause_name(cause)); + + diag = (struct gsm0808_diagnostics *)TLVP_VAL(&tp, GSM0808_IE_DIAGNOSTIC); + printf(" Diagnostics error octet location %d (%s)\n", + diag->error_pointer_octet, + gsm0808_diagnostics_octet_location_str(diag->error_pointer_octet)); + printf(" Diagnostics error bit location %d (%s)\n", + diag->error_pointer_bit, + gsm0808_diagnostics_bit_location_str(diag->error_pointer_bit)); + printf(" Diagnostics message that provoked the error: %s\n", + osmo_hexdump(diag->msg, diag_len-2)); +} + static void test_create_ass() { static const uint8_t res1[] = @@ -2422,6 +2471,8 @@ test_gsm0808_cell_id_to_from_cgi(); + test_dec_confusion(); + printf("Done\n"); return EXIT_SUCCESS; } diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index b620e36..eaae7a6 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -910,4 +910,10 @@ --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777 --> gsm0808_cell_id{LAI} = LAI:777-007-7777 --> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777 +Testing decoding CONFUSION + Cause class 5/0x5 (Invalid message) + Cause 82/0x52 (INFORMATION ELEMENT OR FIELD MISSING) + Diagnostics error octet location 0 (Error location not determined) + Diagnostics error bit location 15 (Reserved value) + Diagnostics message that provoked the error: 00 03 25 03 25 Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 21:49:26 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 21:49:26 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... bssap: Handle BSSMAP CONFUSION message. We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 3 files changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18232/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 74a6f3c..fc816b4 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -69,6 +69,7 @@ MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL, MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, + MSC_CTR_BSSMAP_RX_DT1_CONFUSION, MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, MSC_CTR_BSSMAP_RX_DT1_DTAP, MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f5aaa8..edc313b 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1006,6 +1006,66 @@ return -EINVAL; } +/* Handle Confusion message, MSC indicating an error to us: + * + * See 3GPP TS 48.008 ?3.2.1.45 + */ +static int bssmap_handle_confusion(struct gsm_subscriber_connection *conn, + struct msgb *msg, unsigned int length) +{ + struct tlv_parsed tp; + int diag_len; + enum gsm0808_cause cause; + enum gsm0808_cause_class cause_class; + struct gsm0808_diagnostics *diag; + + osmo_bssap_tlv_parse(&tp, msg->l4h + 1, length - 1); + + /* Check for the Cause and Diagnostic mandatory elements */ + if (!TLVP_PRESENT(&tp, GSM0808_IE_CAUSE) || !TLVP_PRESENT(&tp, GSM0808_IE_DIAGNOSTIC)) { + LOGPFSML(conn->fi, LOGL_ERROR, + "Received Confusion message," + " but either Cause or Diagnostic mandatory IE is not present: %s\n", + osmo_hexdump(msg->l4h, length)); + return -EINVAL; + } + + diag_len = TLVP_LEN(&tp, GSM0808_IE_DIAGNOSTIC); + if (diag_len < 5) { + LOGPFSML(conn->fi, LOGL_ERROR, + "Received Confusion message with short Diagnostic length: %d (expected > 5)\n", + diag_len); + return -EINVAL; + } + + cause = gsm0808_get_cause(&tp); + cause_class = gsm0808_cause_class(cause); + LOGPFSML(conn->fi, LOGL_ERROR, + "Received Confusion message: Cause %d/0x%x (%s)", + cause, cause, gsm0808_cause_name(cause)); + LOGPFSML(conn->fi, LOGL_ERROR, + "Received Confusion message: Cause class %d/0x%x (%s)", + cause_class, cause_class, gsm0808_cause_class_name(cause_class)); + + diag = (struct gsm0808_diagnostics *)TLVP_VAL(&tp, GSM0808_IE_DIAGNOSTIC); + /* octet location */ + LOGPFSML(conn->fi, LOGL_ERROR, + " Confusion Diagnostics error octet location %d (%s)\n", + diag->error_pointer_octet, + gsm0808_diagnostics_octet_location_str(diag->error_pointer_octet)); + /* bit location */ + LOGPFSML(conn->fi, LOGL_ERROR, + " Confusion Diagnostics error bit location: %d (%s)\n", + diag->error_pointer_bit, + gsm0808_diagnostics_bit_location_str(diag->error_pointer_bit)); + /* received message dump */ + LOGPFSML(conn->fi, LOGL_ERROR, + " Confusion Diagnostics message that provoked the error: %s\n", + osmo_hexdump(diag->msg, diag_len-2)); + + return 0; +} + static int bssmap_rcvmsg_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length) { @@ -1082,6 +1142,10 @@ rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST]); ret = gsm48_send_rr_classmark_enquiry(conn->lchan); break; + case BSS_MAP_MSG_CONFUSION: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CONFUSION]); + ret = bssmap_handle_confusion(conn, msg, length); + break; default: rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n", diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index db3ffe4..e58ff7f 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -55,6 +55,7 @@ [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CONFUSION] = {"bssmap:rx:dt1:confusion", "Number of received BSSMAP DT1 CONFUSION messages"}, [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 12 21:54:45 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Tue, 12 May 2020 21:54:45 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 1: I guess this will fail until the libosmocore changes hit the master -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Comment-Date: Tue, 12 May 2020 21:54:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:25:07 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:25:07 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/sysmosim-gr1.ok 3 files changed, 20 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:31:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:31:24 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/sysmosim-gr1.ok 4 files changed, 21 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:34:47 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:34:47 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 5 files changed, 25 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:38:40 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:38:40 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 6 files changed, 28 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:41:45 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:41:45 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#6) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 7 files changed, 32 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:44:17 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:44:17 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#7) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 8 files changed, 33 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/18225/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:46:39 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 09:46:39 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Patch Set 7: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 13 May 2020 09:46:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:52:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:52:54 +0000 Subject: Change in pysim[master]: Treat MCC and MNC as strings, not integers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18225 ) Change subject: Treat MCC and MNC as strings, not integers ...................................................................... Treat MCC and MNC as strings, not integers A MNC of 02 and 002 are *not* equal. The former is a two-digit MNC and the latter is a three-digit MNC. Hence, we shouldn't treat MNCs as integer values as we have no clue how many leading zeroes (if any) the user entered. Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Closes: OS#4523 --- M pySim-prog.py M pySim/utils.py M pysim-testdata/Fairwaves-SIM.ok M pysim-testdata/Wavemobile-SIM.ok M pysim-testdata/fakemagicsim.ok M pysim-testdata/sysmoISIM-SJA2.ok M pysim-testdata/sysmoUSIM-SJS1.ok M pysim-testdata/sysmosim-gr1.ok 8 files changed, 33 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved; Verified diff --git a/pySim-prog.py b/pySim-prog.py index 67719b4..4ac480c 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -98,13 +98,13 @@ help="Country code [default: %default]", default=1, ) - parser.add_option("-x", "--mcc", dest="mcc", type="int", + parser.add_option("-x", "--mcc", dest="mcc", type="string", help="Mobile Country Code [default: %default]", - default=901, + default="901", ) - parser.add_option("-y", "--mnc", dest="mnc", type="int", + parser.add_option("-y", "--mnc", dest="mnc", type="string", help="Mobile Network Code [default: %default]", - default=55, + default="55", ) parser.add_option("--mnclen", dest="mnclen", type="choice", help="Length of Mobile Network Code [default: %default]", @@ -219,7 +219,7 @@ return d[0:len] def _mcc_mnc_digits(mcc, mnc): - return ('%03d%03d' if mnc > 100 else '%03d%02d') % (mcc, mnc) + return '%s%s' % (mcc, mnc) def _cc_digits(cc): return ('%03d' if cc > 100 else '%02d') % cc @@ -272,8 +272,17 @@ mcc = opts.mcc mnc = opts.mnc - if not ((0 < mcc < 999) and (0 < mnc < 999)): - raise ValueError('mcc & mnc must be between 0 and 999') + if not mcc.isdigit() or not mnc.isdigit(): + raise ValueError('mcc & mnc must only contain decimal digits') + if len(mcc) < 1 or len(mcc) > 3: + raise ValueError('mcc must be between 1 .. 3 digits') + if len(mnc) < 1 or len(mnc) > 3: + raise ValueError('mnc must be between 1 .. 3 digits') + + # MCC always has 3 digits + mcc = lpad(mcc, 3, "0") + # MNC must be at least 2 digits + mnc = lpad(mnc, 2, "0") # Digitize country code (2 or 3 digits) cc_digits = _cc_digits(opts.country) diff --git a/pySim/utils.py b/pySim/utils.py index a1689ca..43616a9 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -102,7 +102,9 @@ def enc_plmn(mcc, mnc): """Converts integer MCC/MNC into 3 bytes for EF""" - return swap_nibbles(lpad('%d' % int(mcc), 3) + lpad('%d' % int(mnc), 3)) + if len(mnc) == 2: + mnc = "F%s" % mnc + return swap_nibbles("%s%s" % (mcc, mnc)) def dec_spn(ef): byte1 = int(ef[0:2]) diff --git a/pysim-testdata/Fairwaves-SIM.ok b/pysim-testdata/Fairwaves-SIM.ok index e5fa1af..930dae0 100644 --- a/pysim-testdata/Fairwaves-SIM.ok +++ b/pysim-testdata/Fairwaves-SIM.ok @@ -31,7 +31,7 @@ ffffff0000 # unused HPLMNAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/Wavemobile-SIM.ok b/pysim-testdata/Wavemobile-SIM.ok index a5c3a8e..dc23e2a 100644 --- a/pysim-testdata/Wavemobile-SIM.ok +++ b/pysim-testdata/Wavemobile-SIM.ok @@ -9,9 +9,9 @@ SPN: wavemobile Display HPLMN: False Display OPLMN: False -PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -29,7 +29,7 @@ ffffff0000 # unused OPLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/fakemagicsim.ok b/pysim-testdata/fakemagicsim.ok index 0168b13..7ac9e2a 100644 --- a/pysim-testdata/fakemagicsim.ok +++ b/pysim-testdata/fakemagicsim.ok @@ -10,7 +10,7 @@ SPN: Magic Display HPLMN: True Display OPLMN: False -PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. diff --git a/pysim-testdata/sysmoISIM-SJA2.ok b/pysim-testdata/sysmoISIM-SJA2.ok index 8559bdb..6fe4404 100644 --- a/pysim-testdata/sysmoISIM-SJA2.ok +++ b/pysim-testdata/sysmoISIM-SJA2.ok @@ -9,9 +9,9 @@ SPN: Not available Display HPLMN: False Display OPLMN: False -PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmoUSIM-SJS1.ok b/pysim-testdata/sysmoUSIM-SJS1.ok index 75c3862..fb8e472 100644 --- a/pysim-testdata/sysmoUSIM-SJS1.ok +++ b/pysim-testdata/sysmoUSIM-SJS1.ok @@ -9,9 +9,9 @@ SPN: Magic Display HPLMN: True Display OPLMN: True -PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -25,7 +25,7 @@ ffffff0000 # unused OPLMNwAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused @@ -39,7 +39,7 @@ ffffff0000 # unused HPLMNAcT: - fff11fffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT + 00f110ffff # MCC: 001 MNC: 001 AcT: UTRAN, E-UTRAN, GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT ffffff0000 # unused ffffff0000 # unused ffffff0000 # unused diff --git a/pysim-testdata/sysmosim-gr1.ok b/pysim-testdata/sysmosim-gr1.ok index 3fba8e1..684fda7 100644 --- a/pysim-testdata/sysmosim-gr1.ok +++ b/pysim-testdata/sysmosim-gr1.ok @@ -10,7 +10,7 @@ SPN: Not available Display HPLMN: False Display OPLMN: False -PLMNsel: fff11fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +PLMNsel: 00f110ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff PLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. OPLMNwAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. HPLMNAcT: Can't read file -- SW match failed! Expected 9000 and got 9404. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9d1d07a64888c76703c3e430bbdd822080c05819 Gerrit-Change-Number: 18225 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:53:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:53:41 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Fix gsm0808_cause_class() function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18230 ) Change subject: gsm0808_utils: Fix gsm0808_cause_class() function ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d Gerrit-Change-Number: 18230 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 13 May 2020 09:53:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:54:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:54:34 +0000 Subject: Change in libosmocore[master]: gsm0808: Make a function to extract Cause IE publicly available. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18229 ) Change subject: gsm0808: Make a function to extract Cause IE publicly available. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a Gerrit-Change-Number: 18229 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 13 May 2020 09:54:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:56:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:56:24 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 13 May 2020 09:56:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:56:28 +0000 Subject: Change in libosmocore[master]: gsm0808: Make a function to extract Cause IE publicly available. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18229 ) Change subject: gsm0808: Make a function to extract Cause IE publicly available. ...................................................................... gsm0808: Make a function to extract Cause IE publicly available. Function gsm0808_get_cipher_reject_cause() was previously available in private gsm0808_utils.h. In practice, the exact same code is useful to extract Cause IE value from any of the many other BSSMAP messages which use it. So let's rename it to gsm0808_get_cause() and make it avilable to everyone to use. Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808.c M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c 6 files changed, 22 insertions(+), 19 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 373b434..5a33f60 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -315,6 +315,10 @@ const char *gsm0808_cause_name(enum gsm0808_cause cause); const char *gsm0808_cause_class_name(enum gsm0808_cause_class class); +/*! Parse Cause TLV 3GPP TS 08.08 ?3.2.2.5 + * \returns Cause value */ +enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp); + extern const struct value_string gsm0808_lcls_config_names[]; extern const struct value_string gsm0808_lcls_control_names[]; extern const struct value_string gsm0808_lcls_status_names[]; diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index ccdf5ed..1cdca8c 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -155,8 +155,6 @@ return (cause & 0x80) && !(cause & 0x0F); } -int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp); - /*! \returns 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */ static inline uint8_t gsm0808_current_channel_type_1(enum gsm_chan_t type) { diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 02288e6..788f6c3 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1654,6 +1654,22 @@ return get_value_string(gsm0808_cause_names, cause); } +enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp) +{ + const uint8_t *buf = TLVP_VAL_MINLEN(tp, GSM0808_IE_CAUSE, 1); + + if (!buf) + return -EBADMSG; + + if (TLVP_LEN(tp, GSM0808_IE_CAUSE) > 1) { + if (!gsm0808_cause_ext(buf[0])) + return -EINVAL; + return buf[1]; + } + + return buf[0]; +} + const struct value_string gsm0808_lcls_config_names[] = { { GSM0808_LCLS_CFG_BOTH_WAY, "Connect both-way" }, { GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL, diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 7416d8f..6f3c07a 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1563,22 +1563,6 @@ return 0; } -int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) -{ - const uint8_t *buf = TLVP_VAL_MINLEN(tp, GSM0808_IE_CAUSE, 1); - - if (!buf) - return -EBADMSG; - - if (TLVP_LEN(tp, GSM0808_IE_CAUSE) > 1) { - if (!gsm0808_cause_ext(buf[0])) - return -EINVAL; - return buf[1]; - } - - return buf[0]; -} - /*! Print a human readable name of the cell identifier to the char buffer. * This is useful both for struct gsm0808_cell_id and struct gsm0808_cell_id_list2. * See also gsm0808_cell_id_name() and gsm0808_cell_id_list_name(). diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index a518b28..1ff1286 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -157,6 +157,7 @@ gsm0808_bssmap_name; gsm0808_cause_name; gsm0808_cause_class_name; +gsm0808_get_cause; gsm0808_create_ass; gsm0808_create_ass2; gsm0808_create_assignment_completed; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index ec24914..ce73390 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -306,7 +306,7 @@ if (rc < 0) printf("FIXME: failed (%d) to parse created message %s\n", rc, msgb_hexdump(msg)); - rc = gsm0808_get_cipher_reject_cause(&tp); + rc = gsm0808_get_cause(&tp); if (rc < 0) printf("FIXME: failed (%s) to extract Cause from created message %s\n", strerror(-rc), msgb_hexdump(msg)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a Gerrit-Change-Number: 18229 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 09:56:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 09:56:29 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Fix gsm0808_cause_class() function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18230 ) Change subject: gsm0808_utils: Fix gsm0808_cause_class() function ...................................................................... gsm0808_utils: Fix gsm0808_cause_class() function Cause class is in bits 5-7 of the cause value. For the cause value 0x52 old version returned 0xa instead of a correct 0x5. See section 3.2.2.5 Cause of TS 08.08 for the details. Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d --- M include/osmocom/gsm/gsm0808_utils.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 1cdca8c..a8852e4 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -145,7 +145,7 @@ /*! \returns 3GPP TS 08.08 ?3.2.2.5 Class of a given Cause */ static inline enum gsm0808_cause_class gsm0808_cause_class(enum gsm0808_cause cause) { - return (cause << 1) >> 4; + return (cause >> 4) & 0x7; } /*! \returns true if 3GPP TS 08.08 ?3.2.2.5 Class has extended bit set */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46646740c5daaafe20123e709f26dd1d2c1b6f8d Gerrit-Change-Number: 18230 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 10:13:51 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 10:13:51 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check for conn early References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18233 ) Change subject: osmo_bsc_bssap: check for conn early ...................................................................... osmo_bsc_bssap: check for conn early Check the conn pointer in bsc_handle_dt() before dereferencing it. Change-Id: Ib7bdfa03ee1d186a94720c65dd72a594de21e783 Related: CID#210261 --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/33/18233/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f5aaa8..72f42eb 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1220,6 +1220,11 @@ int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len) { + if (!conn) { + LOGP(DMSC, LOGL_ERROR, "No subscriber connection available\n"); + return -1; + } + log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); if (len < sizeof(struct bssmap_header)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib7bdfa03ee1d186a94720c65dd72a594de21e783 Gerrit-Change-Number: 18233 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 10:48:07 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 13 May 2020 10:48:07 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 6: (3 comments) (forcing gerrit to send stuck review comments) https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c File src/common/measurement.c: https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 623 PS1, Line 623: * negotiated in AMD, so we can not know if and how many > AMD? you mean AMR Done https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 627 PS1, Line 627: num_meas_sub_expect - num_meas_sub) { > better keep this in one line, it's more readable. Done https://gerrit.osmocom.org/c/osmo-bts/+/17929/1/src/common/measurement.c at 665 PS1, Line 665: if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { > Can we move all these checks together with the ones above in line 643 please? (I am sorry, gerrit did not send this for some reason in the previous patchset) I have checked this. I don't think that this is a good idea. What I wanted to express in the log here is something like this: 1. Thats what we received ... 2. Thats what we have replaced ... 3. Error! Looks like we couldn't make it fix. Unfortunately 2 is inbetween and it makes less sense if I move it to the outside. Just add another comment if you still want to have that changed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 10:48:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:40:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 11:40:35 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h File include/osmocom/gsm/protocol/gsm_08_08.h: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h at 674 PS1, Line 674: struct gsm0808_diagnostics { Hint: Probably better to generate bigendian/littleendian with ./contrib/struct_endianess.py, to make sure when run afterwards it won't generate a different output. https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c at 40 PS1, Line 40: static __thread char str_buff[512]; As Usual, I don't really like adding more and more static buffers every time we add some function. Let's change the APIs to use caller allocated buf. https://gerrit.osmocom.org/c/libosmocore/+/18231/1/tests/gsm0808/gsm0808_test.c File tests/gsm0808/gsm0808_test.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/tests/gsm0808/gsm0808_test.c at 393 PS1, Line 393: whitespace -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 13 May 2020 11:40:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:45:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 11:45:06 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_bssap: check for conn early In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18233 ) Change subject: osmo_bsc_bssap: check for conn early ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18233/1/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18233/1/src/osmo-bsc/osmo_bsc_bssap.c at 1220 PS1, Line 1220: int bsc_handle_dt(struct gsm_subscriber_connection *conn, Only call path of this function is: sccp_sap_up handle_data_from_msc bsc_handle_dt and all calls to handle_data_from_msc() in sccp_sap_up are already guarded by an "if (conn)" condition. So what's the point of this patch? I don't really understand. Let's try to fix the root cause instead of guarding against null pointers everywhere. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib7bdfa03ee1d186a94720c65dd72a594de21e783 Gerrit-Change-Number: 18233 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 11:45:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:48:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 11:48:49 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 11:48:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:52:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 11:52:00 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/gsm0808.h File include/osmocom/gsm/gsm0808.h: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/gsm0808.h at 322 PS1, Line 322: diagnostics Could be shortened to '_diag_oct_loc_str'. Not critical. https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h File include/osmocom/gsm/protocol/gsm_08_08.h: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h at 674 PS1, Line 674: diagnostics Same here, can be just '_diag'. https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c at 1682 PS1, Line 1682: else if (pointer == 1) If possible, would be nice to use a 'value_string' here, or at least the 'switch' statement. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 13 May 2020 11:52:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:54:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 11:54:38 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17600 ) Change subject: doc: do not use loglevel info for log category ss ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 11:54:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:54:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 11:54:44 +0000 Subject: Change in osmo-hlr[master]: doc: do not use loglevel info for log category ss In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/17600 ) Change subject: doc: do not use loglevel info for log category ss ...................................................................... doc: do not use loglevel info for log category ss The log category ss uses info as loglevel vor ss, this is to verbose, lets use notice instead. Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 --- M doc/examples/osmo-hlr.cfg M tests/test_nodes.vty 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/doc/examples/osmo-hlr.cfg b/doc/examples/osmo-hlr.cfg index a685858..dabfc8e 100644 --- a/doc/examples/osmo-hlr.cfg +++ b/doc/examples/osmo-hlr.cfg @@ -12,7 +12,7 @@ logging level main notice logging level db notice logging level auc notice - logging level ss info + logging level ss notice logging level linp error ! line vty diff --git a/tests/test_nodes.vty b/tests/test_nodes.vty index d7d25c1..cf41207 100644 --- a/tests/test_nodes.vty +++ b/tests/test_nodes.vty @@ -89,7 +89,7 @@ logging level main notice logging level db notice logging level auc notice - logging level ss info + logging level ss notice logging level mslookup notice logging level lu notice logging level dgsm notice -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/17600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I192a5f07cb7f45adb6f3af1c511b706738bdadf4 Gerrit-Change-Number: 17600 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 11:58:55 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 11:58:55 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17609 ) Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 4: Looks good to me, the only reservation would be that we may not want to change the default behavior for "compat" reasons (in the sense of users being surprised after upgrading). -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 13 May 2020 11:58:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 12:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 12:35:00 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18223 ) Change subject: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f Gerrit-Change-Number: 18223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 12:35:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 12:42:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 12:42:25 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Patch Set 1: Requiring a ta argument can be a good way to make sure callers never forget to set the ta. For sched_ul_ass_or_rej(), can there ever be a situation where ta was forgotten to set in the ms? IIUC this isn't a functional change. API design wise I tend to prefer the "safer" API that ensures ta is never omitted...? I'm not sure why you spent time to write this patch, but to not drag out a bikeshed: if you insist that this must happen, and if you are certain that ta is never forgotten, consider this a +1 from me. If you're unsure then why not just leave this API as it is... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Wed, 13 May 2020 12:42:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 12:48:01 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 12:48:01 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... Patch Set 2: Code-Review+1 This patch makes it nicer to read indeed. No functional change, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 12:48:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 12:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 12:51:03 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to counters In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18227 ) Change subject: bts: Drop specific functions to add values to counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed Gerrit-Change-Number: 18227 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 12:51:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 12:53:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 12:53:07 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to stats In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18228 ) Change subject: bts: Drop specific functions to add values to stats ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a Gerrit-Change-Number: 18228 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 12:53:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 13:06:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 13:06:07 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 4: Code-Review-1 (3 comments) This change is ready for review. https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/bsc_vty.c at 5010 PS4, Line 5010: if (lchan->fi->state == LCHAN_ST_UNUSED) { (unrelated cosmetic change) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/lchan_fsm.c at 1413 PS4, Line 1413: { you need to also change the stat item and possibly also add a counter here, to track those lchans leaving the BORKEN state because the BTS restarted. The lchan will be deallocated, which calls this cleanup function. The fi->state should still be valid. https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/timeslot_fsm.c at 899 PS4, Line 899: .allstate_action = ts_fsm_allstate, you also need to add a cleanup function to track those TS leaving the BORKEN state due to FSM deallocation (BTS restart) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 13:06:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 13:21:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 13:21:36 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Patch Set 1: > Patch Set 1: > > Requiring a ta argument can be a good way to make sure callers never forget to set the ta. > For sched_ul_ass_or_rej(), can there ever be a situation where ta was forgotten to set in the ms? IIUC this isn't a functional change. API design wise I tend to prefer the "safer" API that ensures ta is never omitted...? > > I'm not sure why you spent time to write this patch, but to not drag out a bikeshed: if you insist that this must happen, and if you are certain that ta is never forgotten, consider this a +1 from me. If you're unsure then why not just leave this API as it is... The data structure architecture in osmo-pcu is totally fucked up, with classes totally entangled one with another, and these patches clearly show what I'm saying. I'm trying to split stuff consistently so we can finally make some sense out of this code. It makes no sense to pass a TA value (even invalid one) to a TBF function which then sets that MS attribute to the MS object. If the TA is forgotten to be set at any time, it contains the same INVALID default value, so there's no change. So just to be really clear here: I don't think I'm losing my time, and I think all these patches are needed to be able to finally have some code which we can extend and understand properly. Be sure that a lot more of these patches will come over time. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 13 May 2020 13:21:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 13:23:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 13:23:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 ) Change subject: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() ...................................................................... pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f --- M pcu/PCU_Tests.ttcn 1 file changed, 14 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/18234/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a232a7f..efb7d94 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -503,7 +503,7 @@ f_pcuif_tx_data_ind(data, lqual_cb, fn); } -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -511,8 +511,10 @@ bsn := 0, /* TODO: what should be here? */ blocks := { /* To be generated in loop */ }); - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; + if (not istemplatekind(tlli, "omit")) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := tlli; + } for (var integer i := 0; i < num_blocks; i := i + 1) { /* Prepare a new UL block (CV, random payload) */ @@ -1295,8 +1297,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1417,8 +1420,9 @@ } } - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1517,8 +1521,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f Gerrit-Change-Number: 18234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 13:40:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 13:40:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 ) Change subject: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f Gerrit-Change-Number: 18234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 13 May 2020 13:40:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 14:43:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 14:43:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 ) Change subject: pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() ...................................................................... pcu: Properly pass tlli in f_tx_rlcmac_ul_n_blocks() Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f --- M pcu/PCU_Tests.ttcn 1 file changed, 14 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a232a7f..efb7d94 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -503,7 +503,7 @@ f_pcuif_tx_data_ind(data, lqual_cb, fn); } -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1) +private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := ul_tbf_ass.dynamic.tfi_assignment, @@ -511,8 +511,10 @@ bsn := 0, /* TODO: what should be here? */ blocks := { /* To be generated in loop */ }); - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; + if (not istemplatekind(tlli, "omit")) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := tlli; + } for (var integer i := 0; i < num_blocks; i := i + 1) { /* Prepare a new UL block (CV, random payload) */ @@ -1295,8 +1297,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1417,8 +1420,9 @@ } } - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1517,8 +1521,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - /* Send one UL block and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Idb8febbbff732f02d05b0043c75e2a0729e01d4f Gerrit-Change-Number: 18234 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 14:45:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 14:45:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 ) Change subject: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block ...................................................................... pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block Downlink Control blocks like Packet Uplink Assignment (PACCH) contain rrbp + rrbp_valid in mac headers Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/18235/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index efb7d94..5ef53a9 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -708,9 +708,8 @@ rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; } else { - /* Should not happen, but the caller may theoretically give us a CTRL block */ - setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); - f_shutdown(__BFILE__, __LINE__); + rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; + rrbp := dl_block.ctrl.mac_hdr.rrbp; } /* Make sure that the given block really needs to be ACKnowledged */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab Gerrit-Change-Number: 18235 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:00:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 15:00:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 ) Change subject: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab Gerrit-Change-Number: 18235 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 15:00:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:16:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 15:16:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 ) Change subject: pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block ...................................................................... pcu: f_dl_block_ack_fn(): Allow passing ctrl dl_block Downlink Control blocks like Packet Uplink Assignment (PACCH) contain rrbp + rrbp_valid in mac headers Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index efb7d94..5ef53a9 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -708,9 +708,8 @@ rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; } else { - /* Should not happen, but the caller may theoretically give us a CTRL block */ - setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); - f_shutdown(__BFILE__, __LINE__); + rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; + rrbp := dl_block.ctrl.mac_hdr.rrbp; } /* Make sure that the given block really needs to be ACKnowledged */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0401b0b378c7770d06a15d14dac6436303b4ccab Gerrit-Change-Number: 18235 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:17:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 15:17:42 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... deprecate 'msc' / 'ip.access rtp-base ' The bsc_msc_data->rtp_base has been unused ever since we introduced the exernal MGW in osmo-bsc [1]. The vty command also still exists. Deprecate the vty command, remove the member. [1] "mgcp: use osmo-mgw to switch RTP streams" commit 39c609b7c924524172ad311bdf89f92b7ccf175a Change-Id Ia2882b7ca31a3219c676986e85045fa08a425d7a Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c 3 files changed, 3 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/18236/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index dc9628b..6de48c4 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -99,7 +99,6 @@ struct osmo_plmn_id core_plmn; int core_lac; int core_ci; - int rtp_base; /* audio codecs */ struct gsm48_multi_rate_conf amr_conf; diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 544341b..60d41b0 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -152,7 +152,6 @@ }; msc_data->core_ci = -1; msc_data->core_lac = -1; - msc_data->rtp_base = 4000; msc_data->nr = nr; msc_data->allow_emerg = 1; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index c372b48..7174de1 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -36,9 +36,6 @@ #include - -#define IPA_STR "IP.ACCESS specific\n" - static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty) { return bsc_gsmnet->bsc_data; @@ -123,7 +120,6 @@ if (msc->core_ci != -1) vty_out(vty, " core-cell-identity %d%s", msc->core_ci, VTY_NEWLINE); - vty_out(vty, " ip.access rtp-base %d%s", msc->rtp_base, VTY_NEWLINE); if (msc->ussd_welcome_txt) vty_out(vty, " bsc-welcome-text %s%s", msc->ussd_welcome_txt, VTY_NEWLINE); @@ -297,15 +293,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_bsc_rtp_base, +DEFUN_DEPRECATED(cfg_net_bsc_rtp_base, cfg_net_bsc_rtp_base_cmd, "ip.access rtp-base <1-65000>", - IPA_STR - "Set the rtp-base port for the RTP stream\n" - "Port number\n") + "deprecated\n" "deprecated, RTP is handled by the MGW\n" "deprecated\n") { - struct bsc_msc_data *data = bsc_msc_data(vty); - data->rtp_base = atoi(argv[0]); + vty_out(vty, "%% deprecated: 'ip.access rtp-base' has no effect, RTP is handled by the MGW%s", VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:21:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 15:21:11 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... Patch Set 1: Code-Review-1 You miss updating doc/manuals/vty/bsc_vty_reference.xml -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 13 May 2020 15:21:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:27:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 15:27:52 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... Patch Set 2: No functional change indeed. I'm trying to avoid functional changes in code refactoring I'm doing as much as possible, even if sometimes leaves a bit uglier code. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 15:27:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 15:59:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 15:59:05 +0000 Subject: Change in docker-playground[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18237 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config osmo-bsc does not use an rtp-base for years, ever since we're using an MGW. Related: Id14fa3066ca5d472a817593074a6222f159168a8 Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/37/18237/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 618dd9a..f19d74c 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -376,7 +376,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c Gerrit-Change-Number: 18237 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:01:53 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 16:01:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config osmo-bsc does not use an rtp-base for years, ever since we're using an MGW. Related: Id14fa3066ca5d472a817593074a6222f159168a8 Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7 --- M bsc/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/18238/1 diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index f490433..cd698b0 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -367,7 +367,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7 Gerrit-Change-Number: 18238 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 16:19:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... pcu: use correct RA type to properly test 2phase access Old code was not setting Single Block Packet Access type, and 2phase access was not properly triggered. Once it's triggered, message flow changes quite a lot from the 1phase access, specially because the 2nd Ul Assignment arrives through PDCH instead of CCCH, which means a different record is received and hence code for 1phase cannot be easily re-used. For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive the only required tfi param instead of a full dl_block. Some functions are also extended to support SingleBlock Allocation instead of usual DynamicAllocation. Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d --- M pcu/PCU_Tests.ttcn 1 file changed, 117 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/18239/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5ef53a9..b130321 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -243,12 +243,28 @@ receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B } -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT return uint5_t { if (ischosen(dl_block.data)) { return dl_block.data.mac_hdr.hdr_ext.tfi; - } else { + } else if (ischosen(dl_block.data_egprs)) { return dl_block.data_egprs.mac_hdr.tfi; + } else { /* Ctrl block */ + if (ischosen(dl_block.ctrl.payload.u.ul_assignment)) { + if (ischosen(dl_block.ctrl.payload.u.ul_assignment)) { + if (dl_block.ctrl.payload.u.ul_assignment.is_egprs == '0'B) { + if (ispresent(dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc)) { + if (dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_ass_present == '1'B) { + return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + } + } + } + } + } } + setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ } /* TS 44.060 sec 12.3 Ack/Nack Description */ @@ -381,11 +397,11 @@ bts_nr := bts_nr); } -private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) runs on RAW_PCU_Test_CT { /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; log("Rx Uplink TBF assignment: ", ul_tbf_ass); setverdict(pass); @@ -393,12 +409,6 @@ setverdict(fail, "Failed to match UL TBF Assignment"); f_shutdown(__BFILE__, __LINE__); } - - /* Make sure we have got a TBF with Dynamic Block Allocation */ - if (ul_tbf_ass.dynamic == omit) { - setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - f_shutdown(__BFILE__, __LINE__); - } } private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) @@ -503,10 +513,10 @@ f_pcuif_tx_data_ind(data, lqual_cb, fn); } -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, + tfi := tfi, cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ bsn := 0, /* TODO: what should be here? */ blocks := { /* To be generated in loop */ }); @@ -589,6 +599,19 @@ poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } +private function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { @@ -1298,7 +1321,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1307,7 +1330,7 @@ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -1374,7 +1397,7 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong_1phase_access(template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1407,21 +1430,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not istemplatekind(ms_racap, "omit")) { - /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS - * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") - */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - f_shutdown(__BFILE__, __LINE__); - } - } - /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1453,9 +1464,84 @@ */ testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { var CodingScheme exp_cs_mcs := CS_1; - f_TC_mo_ping_pong(omit, exp_cs_mcs); + f_TC_mo_ping_pong_1phase_access(exp_cs_mcs); } +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var uint32_t dl_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ + var uint16_t ra := oct2int('70'O); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass, ra := ra); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass, tr_PacketUlSglAssign); + + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + f_shutdown(__BFILE__, __LINE__); + } + + /* Send one UL block (without TLLI since we are in Second-Phase Access) + and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); + + //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on PACCH */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_rx_rlcmac_dl_block_exp_pkt_dl_ass(dl_block, sched_fn); + /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { var MultislotCap_GPRS mscap_gprs := { @@ -1465,7 +1551,7 @@ var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; var CodingScheme exp_cs_mcs := CS_2; - f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_cs_mcs); } /* Test scenario where SGSN wants to send some data against MS and it is @@ -1522,7 +1608,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:20:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 16:20:27 +0000 Subject: Change in docker-playground[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18237 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c Gerrit-Change-Number: 18237 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:20:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:20:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 16:20:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7 Gerrit-Change-Number: 18238 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:20:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:24:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 16:24:06 +0000 Subject: Change in libosmocore[master]: gsm0808: Make a function to extract Cause IE publicly available. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18229 ) Change subject: gsm0808: Make a function to extract Cause IE publicly available. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18229/1/include/osmocom/gsm/gsm0808_utils.h File include/osmocom/gsm/gsm0808_utils.h: https://gerrit.osmocom.org/c/libosmocore/+/18229/1/include/osmocom/gsm/gsm0808_utils.h at a158 PS1, Line 158: int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp); This commit broke build of osmo-msc, which uses this function since release 1.3.0. So please submit a patch putting back this function (marking it as deprecated if needed). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a Gerrit-Change-Number: 18229 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:24:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:38:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:38:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn at 253 PS1, Line 253: if (ischosen(dl_block.ctrl.payload.u.ul_assignment)) { : if (ischosen(dl_block.ctrl.payload.u.ul_assignment)) { : if (dl_block.ctrl.payload.u.ul_assignment.is_egprs == '0'B) { : if (ispresent(dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc)) { : if (dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_ass_present == '1'B) { This code is very un-TTCN-ic, i.e. lots of imperative programming like one would do in C, not using the power of templates. I would assume you could simply have a single match instruction against a respective template as opposd to 5 nested if statements. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 13 May 2020 16:38:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:38:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:38:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config osmo-bsc does not use an rtp-base for years, ever since we're using an MGW. Related: Id14fa3066ca5d472a817593074a6222f159168a8 Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7 --- M bsc/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index f490433..cd698b0 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -367,7 +367,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia4866fc603877b2ab8ce16683e9f6145764117c7 Gerrit-Change-Number: 18238 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:39:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:39:01 +0000 Subject: Change in docker-playground[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18237 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c Gerrit-Change-Number: 18237 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:39:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:39:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:39:12 +0000 Subject: Change in docker-playground[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18237 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c Gerrit-Change-Number: 18237 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:39:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:39:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:39:14 +0000 Subject: Change in docker-playground[master]: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18237 ) Change subject: bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config ...................................................................... bsc/osmo-bsc.cfg: remove legacy 'rtp-base' config osmo-bsc does not use an rtp-base for years, ever since we're using an MGW. Related: Id14fa3066ca5d472a817593074a6222f159168a8 Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 618dd9a..f19d74c 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -376,7 +376,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I267840ecb816e9de6d89ebbacb3e296c59fad57c Gerrit-Change-Number: 18237 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:40:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:40:25 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 16:40:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:40:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:40:47 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to counters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18227 ) Change subject: bts: Drop specific functions to add values to counters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed Gerrit-Change-Number: 18227 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 16:40:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:40:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:40:59 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to stats In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18228 ) Change subject: bts: Drop specific functions to add values to stats ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a Gerrit-Change-Number: 18228 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 16:40:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:41:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:41:51 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17609 ) Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 13 May 2020 16:41:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:41:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:41:55 +0000 Subject: Change in osmo-pcu[master]: gprs_debug: Use only LOGL_NOTICE as default loglevel In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17609 ) Change subject: gprs_debug: Use only LOGL_NOTICE as default loglevel ...................................................................... gprs_debug: Use only LOGL_NOTICE as default loglevel The default loglevels of some log categories are configured to LOGL_INFO. This is still to verbose, lets use LOGL_NOTICE here. Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Related: OS#2577 --- M src/gprs_debug.cpp M tests/alloc/AllocTest.cpp M tests/types/TypesTest.cpp 3 files changed, 12 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_debug.cpp b/src/gprs_debug.cpp index 58b7e3e..da5974b 100644 --- a/src/gprs_debug.cpp +++ b/src/gprs_debug.cpp @@ -32,14 +32,14 @@ .name = "DCSN1", .color = "\033[1;31m", .description = "Concrete Syntax Notation One (CSN1)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 0, }, [DL1IF] = { .name = "DL1IF", .color = "\033[1;32m", .description = "GPRS PCU L1 interface (L1IF)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DRLCMAC] = { @@ -81,42 +81,42 @@ .name = "DRLCMACMEAS", .color = "\033[1;31m", .description = "GPRS RLC/MAC layer Measurements (RLCMAC)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DTBF] = { .name = "DTBF", .color = "\033[1;34m", .description = "Temporary Block Flow (TBF)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DTBFDL] = { .name = "DTBFDL", .color = "\033[1;34m", .description = "Temporary Block Flow (TBF) Downlink", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DTBFUL] = { .name = "DTBFUL", .color = "\033[1;34m", .description = "Temporary Block Flow (TBF) Uplink", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DNS] = { .name = "DNS", .color = "\033[1;34m", .description = "GPRS Network Service Protocol (NS)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DBSSGP] = { .name = "DBSSGP", .color = "\033[1;34m", .description = "GPRS BSS Gateway Protocol (BSSGP)", - .loglevel = LOGL_INFO, + .loglevel = LOGL_NOTICE, .enabled = 1, }, [DPCU] = { diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index fec2c31..8ebf159 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -809,6 +809,7 @@ osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); + log_set_category_filter(osmo_stderr_target, DTBF, 1, LOGL_INFO); if (getenv("LOGL_DEBUG")) log_set_log_level(osmo_stderr_target, LOGL_DEBUG); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index e3c0991..b46a82b 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -915,6 +915,9 @@ log_set_use_color(osmo_stderr_target, 0); log_set_print_filename(osmo_stderr_target, 0); + log_set_category_filter(osmo_stderr_target, DTBF, 1, LOGL_INFO); + log_set_category_filter(osmo_stderr_target, DTBFUL, 1, LOGL_INFO); + printf("Making some basic type testing.\n"); test_llc(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibb1cd1a94fb4fdd0147e073f8c1c82562c2c14ef Gerrit-Change-Number: 17609 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:45:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 16:45:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn at 253 PS1, Line 253: ischosen Please use template(s) here, otherwise it's hard to read this code. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn at 608 PS1, Line 608: Uplink Downlink https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn at 612 PS1, Line 612: f_rrbp_ack_fn So here we assume that RRBP is always valid for DL Assignment? If so, let's add a comment. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 13 May 2020 16:45:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:52:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 13 May 2020 16:52:35 +0000 Subject: Change in libosmo-abis[master]: Fix subchan_demux_test compiler warning on some gcc versions References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18240 ) Change subject: Fix subchan_demux_test compiler warning on some gcc versions ...................................................................... Fix subchan_demux_test compiler warning on some gcc versions In commit Ia082b9fddf03d02afd007825a1588a3ef0dbedae we switched from 'uint8_t *' to 'const ubit_t *' - change the test case accordingly. Change-Id: I7d24b891a21e6e485738ddf4a302583579b012d5 --- M tests/subchan_demux/subchan_demux_test.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/40/18240/1 diff --git a/tests/subchan_demux/subchan_demux_test.c b/tests/subchan_demux/subchan_demux_test.c index 2a9a678..9afd765 100644 --- a/tests/subchan_demux/subchan_demux_test.c +++ b/tests/subchan_demux/subchan_demux_test.c @@ -199,7 +199,7 @@ -static int data_cb(struct subch_demux *demux, int ch, uint8_t *data, int len, void *p) +static int data_cb(struct subch_demux *demux, int ch, const ubit_t *data, int len, void *p) { printf("DATA_CB Channel(%d): %s\n", ch, osmo_hexdump(data, len)); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7d24b891a21e6e485738ddf4a302583579b012d5 Gerrit-Change-Number: 18240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 16:54:03 +0000 Subject: Change in libosmo-abis[master]: Fix subchan_demux_test compiler warning on some gcc versions In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18240 ) Change subject: Fix subchan_demux_test compiler warning on some gcc versions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7d24b891a21e6e485738ddf4a302583579b012d5 Gerrit-Change-Number: 18240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 13 May 2020 16:54:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 16:54:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 16:54:07 +0000 Subject: Change in libosmo-abis[master]: Fix subchan_demux_test compiler warning on some gcc versions In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18240 ) Change subject: Fix subchan_demux_test compiler warning on some gcc versions ...................................................................... Fix subchan_demux_test compiler warning on some gcc versions In commit Ia082b9fddf03d02afd007825a1588a3ef0dbedae we switched from 'uint8_t *' to 'const ubit_t *' - change the test case accordingly. Change-Id: I7d24b891a21e6e485738ddf4a302583579b012d5 --- M tests/subchan_demux/subchan_demux_test.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/tests/subchan_demux/subchan_demux_test.c b/tests/subchan_demux/subchan_demux_test.c index 2a9a678..9afd765 100644 --- a/tests/subchan_demux/subchan_demux_test.c +++ b/tests/subchan_demux/subchan_demux_test.c @@ -199,7 +199,7 @@ -static int data_cb(struct subch_demux *demux, int ch, uint8_t *data, int len, void *p) +static int data_cb(struct subch_demux *demux, int ch, const ubit_t *data, int len, void *p) { printf("DATA_CB Channel(%d): %s\n", ch, osmo_hexdump(data, len)); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7d24b891a21e6e485738ddf4a302583579b012d5 Gerrit-Change-Number: 18240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 17:18:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 17:18:27 +0000 Subject: Change in osmo-bsc[master]: manual: fix config example typo 'msc-addr' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18241 ) Change subject: manual: fix config example typo 'msc-addr' ...................................................................... manual: fix config example typo 'msc-addr' Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb --- M doc/manuals/chapters/running.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/41/18241/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index eeefa6c..ae45afc 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -93,7 +93,7 @@ sccp-address msc point-code 0.23.1 msc 0 - msc-address msc + msc-addr msc ---- This configuration is explained in detail in <>. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb Gerrit-Change-Number: 18241 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 17:19:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 13 May 2020 17:19:34 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... Patch Set 1: > You miss updating doc/manuals/vty/bsc_vty_reference.xml I thought that was auto generated... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 17:19:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 17:34:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 17:34:39 +0000 Subject: Change in osmo-bsc[master]: manual: fix config example typo 'msc-addr' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18241 ) Change subject: manual: fix config example typo 'msc-addr' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb Gerrit-Change-Number: 18241 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 17:34:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 17:35:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 17:35:30 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... Patch Set 1: It's autogenerated using osmo-python scripts, but still you need to update the generated documentation stored in the git repo. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 17:35:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 17:50:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 17:50:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 to look at the new patch set (#2). Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... pcu: use correct RA type to properly test 2phase access Old code was not setting Single Block Packet Access type, and 2phase access was not properly triggered. Once it's triggered, message flow changes quite a lot from the 1phase access, specially because the 2nd Ul Assignment arrives through PDCH instead of CCCH, which means a different record is received and hence code for 1phase cannot be easily re-used. For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive the only required tfi param instead of a full dl_block. Some functions are also extended to support SingleBlock Allocation instead of usual DynamicAllocation. Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 164 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/18239/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 18:59:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 18:59:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/2/library/RLCMAC_Templates.ttcn File library/RLCMAC_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/2/library/RLCMAC_Templates.ttcn at 439 PS2, Line 439: tr_RLCMAC_UL_PACKET_ASS You could do it without code duplication by extending (inheriting) this template using 'extends' keyword. Alternatively, you could join both ul_assignment.gprs and ul_assignment.egprs into a union, and accept a template parameter here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 13 May 2020 18:59:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 19:38:46 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 13 May 2020 19:38:46 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 --- M include/osmocom/gsm/gsm0808_utils.h 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/18242/1 diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index a8852e4..59db6ed 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -155,6 +155,9 @@ return (cause & 0x80) && !(cause & 0x0F); } +int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) +OSMO_DEPRECATED("Use gsm0808_get_cause() instead"); + /*! \returns 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */ static inline uint8_t gsm0808_current_channel_type_1(enum gsm_chan_t type) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 19:39:29 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Wed, 13 May 2020 19:39:29 +0000 Subject: Change in libosmocore[master]: gsm0808: Make a function to extract Cause IE publicly available. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18229 ) Change subject: gsm0808: Make a function to extract Cause IE publicly available. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18229/1/include/osmocom/gsm/gsm0808_utils.h File include/osmocom/gsm/gsm0808_utils.h: https://gerrit.osmocom.org/c/libosmocore/+/18229/1/include/osmocom/gsm/gsm0808_utils.h at a158 PS1, Line 158: int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp); > This commit broke build of osmo-msc, which uses this function since release 1.3.0. [?] See https://gerrit.osmocom.org/c/libosmocore/+/18242 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a Gerrit-Change-Number: 18229 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 13 May 2020 19:39:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:30:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:30:30 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: use '%u' instead of PRIu32 for uint32_t References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18243 ) Change subject: libosmogsm: cosmetic: use '%u' instead of PRIu32 for uint32_t ...................................................................... libosmogsm: cosmetic: use '%u' instead of PRIu32 for uint32_t There is no real need to use PRIu32, '%u' handles uint32_t too. Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 --- M src/gsm/gsm0502.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/18243/1 diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 1a71e61..68740dc 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -29,7 +29,6 @@ #include #include #include -#include unsigned int gsm0502_calc_paging_group(struct gsm48_control_channel_descr *chan_desc, uint64_t imsi) @@ -193,7 +192,7 @@ } if (sub == -1) { - LOGP(DLGLOBAL, LOGL_ERROR, "could not remap frame number!, fn=%"PRIu32"\n", fn); + LOGP(DLGLOBAL, LOGL_ERROR, "could not remap frame number!, fn=%u\n", fn); return fn; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:30:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:30:31 +0000 Subject: Change in libosmocore[master]: libosmogsm: import hopping sequence generation code References: Message-ID: Hello tnt, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18244 to review the following change. Change subject: libosmogsm: import hopping sequence generation code ...................................................................... libosmogsm: import hopping sequence generation code This implementation is taken from OsmocomBB, in particular from: target/firmware/layer1/rfch.c Change return type to uint16_t, because neither ARFCN, nor MAI can be negative. Add prefix 'gsm0502_' to the function's name. Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Related: OS#4546 --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map 3 files changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/18244/1 diff --git a/include/osmocom/gsm/gsm0502.h b/include/osmocom/gsm/gsm0502.h index c9901df..cb993dc 100644 --- a/include/osmocom/gsm/gsm0502.h +++ b/include/osmocom/gsm/gsm0502.h @@ -47,3 +47,7 @@ }; uint32_t gsm0502_fn_remap(uint32_t fn, enum gsm0502_fn_remap_channel channel); + +uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, + uint8_t hsn, uint8_t maio, + size_t n, const uint16_t *ma); diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 68740dc..7e8dc92 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -2,6 +2,8 @@ * Paging helper code */ /* * (C) 2009 by Holger Hans Peter Freyther + * (C) 2010 by Sylvain Munaut + * * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -200,3 +202,54 @@ return fn_map; } + +/* Magic numbers (RNTABLE) for pseudo-random hopping sequence generation. */ +static const uint8_t rn_table[114] = { + 48, 98, 63, 1, 36, 95, 78, 102, 94, 73, + 0, 64, 25, 81, 76, 59, 124, 23, 104, 100, + 101, 47, 118, 85, 18, 56, 96, 86, 54, 2, + 80, 34, 127, 13, 6, 89, 57, 103, 12, 74, + 55, 111, 75, 38, 109, 71, 112, 29, 11, 88, + 87, 19, 3, 68, 110, 26, 33, 31, 8, 45, + 82, 58, 40, 107, 32, 5, 106, 92, 62, 67, + 77, 108, 122, 37, 60, 66, 121, 42, 51, 126, + 117, 114, 4, 90, 43, 52, 53, 113, 120, 72, + 16, 49, 7, 79, 119, 61, 22, 84, 9, 97, + 91, 15, 21, 24, 46, 39, 93, 105, 65, 70, + 125, 99, 17, 123, +}; + +/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. */ +uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, + uint8_t hsn, uint8_t maio, + size_t n, const uint16_t *ma) +{ + unsigned int mai; + + if (hsn == 0) { + /* cyclic hopping */ + mai = (t->fn + maio) % n; + } else { + /* pseudo random hopping */ + int m, mp, tp, s, pnm; + + pnm = (n >> 0) | (n >> 1) + | (n >> 2) | (n >> 3) + | (n >> 4) | (n >> 5) + | (n >> 6); + + m = t->t2 + rn_table[(hsn ^ (t->t1 & 63)) + t->t3]; + mp = m & pnm; + + if (mp < n) + s = mp; + else { + tp = t->t3 & pnm; + s = (mp + tp) % n; + } + + mai = (s + maio) % n; + } + + return ma ? ma[mai] : mai; +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 1ff1286..ce55746 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -110,6 +110,7 @@ gsm0502_calc_paging_group; gsm0502_fn_remap; +gsm0502_hop_seq_gen; gsm0503_xcch; gsm0503_rach; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Gerrit-Change-Number: 18244 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: tnt Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:30:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:30:31 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18245 to review the following change. Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Related: OS#4546 --- M src/gsm/gsm0502.c 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/18245/1 diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 7e8dc92..025912f 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -219,7 +219,15 @@ 125, 99, 17, 123, }; -/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. */ +/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. + * \param[in] t GSM time (TDMA frame number, T1/T2/T3). + * \param[in] hsn Hopping Sequence Number. + * \param[in] maio Mobile Allocation Index Offset. + * \param[in] n number of entries in mobile allocation (arfcn table). + * \param[in] ma array of ARFCN representing the Mobile Allocation. + * \returns ARFCN to use for given input parameters at time 't' + * or Mobile Allocation Index if ma == NULL. + */ uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, uint8_t hsn, uint8_t maio, size_t n, const uint16_t *ma) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:41:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:41:40 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: add spaces before and after PRIu32 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18243 to look at the new patch set (#2). Change subject: libosmogsm: cosmetic: add spaces before and after PRIu32 ...................................................................... libosmogsm: cosmetic: add spaces before and after PRIu32 As was pointed out by pespin, some compilers may not like the lack of spaces around the format macro constants. Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 --- M src/gsm/gsm0502.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/18243/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:41:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:41:40 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18245 to look at the new patch set (#2). Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() This is basically I16d5190b3cdc997c5609b52d41203f10264b017c. Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Related: OS#4546 --- M src/gsm/gsm0502.c 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/18245/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 20:53:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 13 May 2020 20:53:55 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: add spaces before and after PRIu32 In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18243 to look at the new patch set (#3). Change subject: libosmogsm: cosmetic: add spaces before and after PRIu32 ...................................................................... libosmogsm: cosmetic: add spaces before and after PRIu32 As was pointed out by pespin, some compilers may not like the lack of spaces around the format macro constants. Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 --- M src/gsm/gsm0502.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/18243/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 13 22:02:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 13 May 2020 22:02:59 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... Patch Set 1: Code-Review-2 You missed re-adding the implementation! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 13 May 2020 22:02:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 00:39:03 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 00:39:03 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18242 to look at the new patch set (#2). Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/18242/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 00:40:47 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 00:40:47 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-2 > > You missed re-adding the implementation! Indeed. Sorry! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 00:40:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 04:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 04:26:59 +0000 Subject: Change in libosmocore[master]: libosmogsm: import hopping sequence generation code In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18244 ) Change subject: libosmogsm: import hopping sequence generation code ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Gerrit-Change-Number: 18244 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 04:26:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 06:47:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 06:47:04 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c at 228 PS3, Line 228: * \param[in] ma array of ARFCN representing the Mobile Allocation. I'd maybe just add array need to be sorted by ascending ARFCN IIRC. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 06:47:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 06:48:31 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 06:48:31 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: add spaces before and after PRIu32 In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18243 ) Change subject: libosmogsm: cosmetic: add spaces before and after PRIu32 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 06:48:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 06:48:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 06:48:48 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c at 228 PS3, Line 228: * \param[in] ma array of ARFCN representing the Mobile Allocation. > I'd maybe just add array need to be sorted by ascending ARFCN IIRC. ACK. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 06:48:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: tnt Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:01:42 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by ipse. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. In Change-Id Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a we accidentially removed this symbol, let's re-introduce it. Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/18242/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:01:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:01:54 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 09:01:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:02:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:02:14 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... Removed Code-Review-2 by pespin -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:07:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:07:56 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a depr... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18242 ) Change subject: gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. ...................................................................... gsm0808_utils: Add gsm0808_get_cipher_reject_cause() back with a deprecation notice. In Change-Id Idf2b99e9ef014eba26e3d4f0f38c2714d3a0520a we accidentially removed this symbol, let's re-introduce it. Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c 2 files changed, 8 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index a8852e4..59db6ed 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -155,6 +155,9 @@ return (cause & 0x80) && !(cause & 0x0F); } +int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) +OSMO_DEPRECATED("Use gsm0808_get_cause() instead"); + /*! \returns 3GPP TS 48.008 3.2.2.49 Current Channel Type 1 from enum gsm_chan_t. */ static inline uint8_t gsm0808_current_channel_type_1(enum gsm_chan_t type) { diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index 6f3c07a..6bf771f 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1563,6 +1563,11 @@ return 0; } +int gsm0808_get_cipher_reject_cause(const struct tlv_parsed *tp) +{ + return gsm0808_get_cause(tp); +} + /*! Print a human readable name of the cell identifier to the char buffer. * This is useful both for struct gsm0808_cell_id and struct gsm0808_cell_id_list2. * See also gsm0808_cell_id_name() and gsm0808_cell_id_list_name(). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9fbcbcc6619ef0c63d3682fc86adc80045baab02 Gerrit-Change-Number: 18242 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:10:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:10:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 14 May 2020 09:10:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:11:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:11:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/2/library/RLCMAC_Templates.ttcn File library/RLCMAC_Templates.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/2/library/RLCMAC_Templates.ttcn at 439 PS2, Line 439: tr_RLCMAC_UL_PACKET_ASS > You could do it without code duplication by extending (inheriting) this template using 'extends' key [?] 'extends' is used for components; 'modifies' for teplates. Apart from that formality, I agree with fixeria. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 14 May 2020 09:11:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:11:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:11:51 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: add spaces before and after PRIu32 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18243 ) Change subject: libosmogsm: cosmetic: add spaces before and after PRIu32 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 09:11:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:12:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:12:46 +0000 Subject: Change in libosmocore[master]: libosmogsm: cosmetic: add spaces before and after PRIu32 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18243 ) Change subject: libosmogsm: cosmetic: add spaces before and after PRIu32 ...................................................................... libosmogsm: cosmetic: add spaces before and after PRIu32 As was pointed out by pespin, some compilers may not like the lack of spaces around the format macro constants. Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 --- M src/gsm/gsm0502.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved tnt: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 1a71e61..5c5aa12 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -193,7 +193,7 @@ } if (sub == -1) { - LOGP(DLGLOBAL, LOGL_ERROR, "could not remap frame number!, fn=%"PRIu32"\n", fn); + LOGP(DLGLOBAL, LOGL_ERROR, "could not remap frame number!, fn=%" PRIu32 "\n", fn); return fn; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b6517989030c8e3f6a1bf16c43044e4e9137f40 Gerrit-Change-Number: 18243 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:36:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:36:29 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18246 ) Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... codec: Add functions for AMR s->d bits and d->s bits These functions implement re-ordering of bits as per TS 06.90 / 26.101 based on the already existing tables we've had in libosmocoding. Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 --- M include/osmocom/codec/codec.h M src/codec/gsm690.c 2 files changed, 100 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/18246/1 diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h index 6a1bf9f..cceedc5 100644 --- a/include/osmocom/codec/codec.h +++ b/include/osmocom/codec/codec.h @@ -6,6 +6,7 @@ #include #include +#include /* TS 101318 Chapter 5.1: 260 bits + 4bit sig */ #define GSM_FR_BYTES 33 @@ -51,6 +52,9 @@ AMR_GOOD = 1 }; +int osmo_amr_s_to_d(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); +int osmo_amr_d_to_s(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); + /*! Check if given AMR Frame Type is a speech frame * \param[in] ft AMR Frame Type * \returns true if AMR with given Frame Type contains voice, false otherwise diff --git a/src/codec/gsm690.c b/src/codec/gsm690.c index 8ab1df1..c01bd5f 100644 --- a/src/codec/gsm690.c +++ b/src/codec/gsm690.c @@ -2,6 +2,7 @@ * GSM 06.90 - GSM AMR Codec. */ /* * (C) 2010 Sylvain Munaut + * (C) 2020 Harald Welte * * All Rights Reserved * @@ -29,6 +30,7 @@ #include #include +#include #include /* * These table map between the raw encoder parameter output and @@ -216,6 +218,100 @@ 92, 31, 52, 65, 86, }; +struct ts26101_reorder_table { + /*! Table as per TS 26.101 Annex B to compute d-bits from s-bits */ + const uint16_t *s_to_d; + /*! size of table */ + uint8_t len; +}; + +static const struct ts26101_reorder_table ts26101_reorder_tables[8] = { + [AMR_4_75] = { + .s_to_d = gsm690_4_75_bitorder, + .len = ARRAY_SIZE(gsm690_4_75_bitorder), + }, + [AMR_5_15] = { + .s_to_d = gsm690_5_15_bitorder, + .len = ARRAY_SIZE(gsm690_5_15_bitorder), + }, + [AMR_5_90] = { + .s_to_d = gsm690_5_9_bitorder, + .len = ARRAY_SIZE(gsm690_5_9_bitorder), + }, + [AMR_6_70] = { + .s_to_d = gsm690_6_7_bitorder, + .len = ARRAY_SIZE(gsm690_6_7_bitorder), + }, + [AMR_7_40] = { + .s_to_d = gsm690_7_4_bitorder, + .len = ARRAY_SIZE(gsm690_7_4_bitorder), + }, + [AMR_7_95] = { + .s_to_d = gsm690_7_95_bitorder, + .len = ARRAY_SIZE(gsm690_7_95_bitorder), + }, + [AMR_10_2] = { + .s_to_d = gsm690_10_2_bitorder, + .len = ARRAY_SIZE(gsm690_10_2_bitorder), + }, + [AMR_12_2] = { + .s_to_d = gsm690_12_2_bitorder, + .len = ARRAY_SIZE(gsm690_12_2_bitorder), + }, +}; + +/*! Convert from S-bits (codec output) to d-bits. + * \param[out] out user-provided output buffer for generated unpacked d-bits + * \param[in] in input buffer for unpacked s-bits + * \param[in] n_bits number of bits (in both in and out) + * \param[in] AMR mode (0..7) */ +int osmo_amr_s_to_d(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode) +{ + const struct ts26101_reorder_table *tbl; + int i; + + if (amr_mode >= ARRAY_SIZE(ts26101_reorder_tables)) + return -ENODEV; + + tbl = &ts26101_reorder_tables[amr_mode]; + + if (n_bits >= tbl->len) + return -EINVAL; + + for (i = 0; i < n_bits; i++) { + uint16_t n = tbl->s_to_d[i]; + out[i] = in[n]; + } + + return n_bits; +} + +/*! Convert from d-bits to s-bits (codec input). + * \param[out] out user-provided output buffer for generated unpacked s-bits + * \param[in] in input buffer for unpacked d-bits + * \param[in] n_bits number of bits (in both in and out) + * \param[in] AMR mode (0..7) */ +int osmo_amr_d_to_s(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode) +{ + const struct ts26101_reorder_table *tbl; + int i; + + if (amr_mode >= ARRAY_SIZE(ts26101_reorder_tables)) + return -ENODEV; + + tbl = &ts26101_reorder_tables[amr_mode]; + + if (n_bits >= tbl->len) + return -EINVAL; + + for (i = 0; i < n_bits; i++) { + uint16_t n = tbl->s_to_d[i]; + out[n] = in[i]; + } + + return n_bits; +} + /* See also RFC 4867 ?3.6, Table 1, Column "Total speech bits" */ static const uint8_t amr_len_by_ft[16] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:46:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:46:46 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am M src/gsm/libosmogsm.map 4 files changed, 88 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/1 diff --git a/include/Makefile.am b/include/Makefile.am index 572c880..456b8ef 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -103,6 +103,7 @@ osmocom/gsm/gsm_utils.h \ osmocom/gsm/gsup.h \ osmocom/gsm/gsup_sms.h \ + osmocom/gsm/i460_mux.h \ osmocom/gsm/ipa.h \ osmocom/gsm/lapd_core.h \ osmocom/gsm/lapdm.h \ diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h new file mode 100644 index 0000000..759e392 --- /dev/null +++ b/include/osmocom/gsm/i460_mux.h @@ -0,0 +1,79 @@ +#pragma once +#include +#include +#include +#include + +/* I.460 sub-slot rate */ +enum osmo_i460_rate { + OSMO_I460_RATE_NONE, /* disabled */ + OSMO_I460_RATE_64k, + OSMO_I460_RATE_32k, + OSMO_I460_RATE_16k, + OSMO_I460_RATE_8k, +}; + +typedef void (*out_cb_bits_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); +typedef void (*out_cb_bytes_t)(void *user_data, const uint8_t *bytes, unsigned int num_bytes); + +struct osmo_i460_subchan_demux { + /*! bit-buffer for output bits */ + uint8_t *out_bitbuf; + /*! size of out_bitbuf in bytes */ + unsigned int out_bitbuf_size; + /*! offset of next bit to be written in out_bitbuf */ + unsigned int out_idx; + /*! callback to be called once we have received out_bitbuf_size bits */ + out_cb_bits_t out_cb_bits; + out_cb_bytes_t out_cb_bytes; + void *user_data; +}; + +struct osmo_i460_subchan_mux { + /*! list of to-be-transmitted message buffers */ + struct llist_head tx_queue; +}; + +struct osmo_i460_subchan { + enum osmo_i460_rate rate; /* 8/16/32/64k */ + uint8_t bit_offset; /* bit offset inside each byte of the B-channel */ + struct osmo_i460_subchan_demux demux; + struct osmo_i460_subchan_mux mux; +}; + +struct osmo_i460_timeslot { + struct osmo_i460_subchan schan[8]; +}; + +/*! description of a sub-channel; passed by caller */ +struct osmo_i460_schan_desc { + enum osmo_i460_rate rate; + uint8_t bit_offset; + struct { + /* size (in bits) of the internal buffer; determines granularity */ + size_t num_bits; + /*! call-back function called whenever we received num_bits */ + out_cb_bits_t out_cb_bits; + /*! out_cb_bytes call-back function called whenever we received num_bits. + * The user is usually expected to provide either out_cb_bits or out_cb_bytes. If only + * out_cb_bits is provided, output data will always be provided as unpacked bits; if only + * out_cb_bytes is provided, output data will always be provided as packet bits (bytes). If + * both are provided, it is up to the I.460 multiplex to decide if it calls either of the two, + * depending on what can be provided without extra conversion. */ + out_cb_bytes_t out_cb_bytes; + /* opaque user data pointer to pass to out_cb */ + void *user_data; + } demux; +}; + +void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len); + +void osmo_i460_mux_enqueue(struct osmo_i460_subchan *schan, struct msgb *msg); +int osmo_i460_mux_out(struct osmo_i460_timeslot *ts, uint8_t *out, size_t out_len); + +void osmo_i460_ts_init(struct osmo_i460_timeslot *ts); + +struct osmo_i460_subchan * +osmo_i460_subchan_add(void *ctx, struct osmo_i460_timeslot *ts, const struct osmo_i460_schan_desc *chd); + +void osmo_i460_subchan_del(struct osmo_i460_subchan *schan); diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 6935eab..eeb1164 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -32,7 +32,7 @@ milenage/milenage.c gan.c ipa.c gsm0341.c apn.c \ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ gsm23003.c mncc.c bts_features.c oap_client.c \ - gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c + gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c i460_mux.c libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 1ff1286..372b0f1 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -664,5 +664,12 @@ osmo_cbsp_recv_buffered; osmo_cbsp_errstr; +osmo_i460_demux_in; +osmo_i460_mux_enqueue; +osmo_i460_mux_out; +osmo_i460_subchan_add; +osmo_i460_subchan_del; +osmo_i460_ts_init; + local: *; }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:55:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:55:34 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 8 files changed, 568 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 09:59:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 09:59:52 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 8 files changed, 568 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 10:06:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 10:06:05 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18247 to look at the new patch set (#4). Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am A src/gsm/i460_mux.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 9 files changed, 898 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 10:11:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 10:11:06 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18246 to look at the new patch set (#2). Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... codec: Add functions for AMR s->d bits and d->s bits These functions implement re-ordering of bits as per TS 06.90 / 26.101 based on the already existing tables we've had in libosmocoding. Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 --- M include/osmocom/codec/codec.h M src/codec/Makefile.am M src/codec/gsm690.c 3 files changed, 101 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/18246/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 10:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 10:46:54 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18246 ) Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/18246/2/src/codec/gsm690.c File src/codec/gsm690.c: https://gerrit.osmocom.org/c/libosmocore/+/18246/2/src/codec/gsm690.c at 4 PS2, Line 4: * (C) 2010 Sylvain Munaut wtf ... 10 years ago ... damn. https://gerrit.osmocom.org/c/libosmocore/+/18246/2/src/codec/gsm690.c at 278 PS2, Line 278: if (n_bits >= tbl->len) Should be > and not >= https://gerrit.osmocom.org/c/libosmocore/+/18246/2/src/codec/gsm690.c at 304 PS2, Line 304: if (n_bits >= tbl->len) Same as above -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-Comment-Date: Thu, 14 May 2020 10:46:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:05:57 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 11:05:57 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18247/5/src/gsm/i460_mux.c File src/gsm/i460_mux.c: https://gerrit.osmocom.org/c/libosmocore/+/18247/5/src/gsm/i460_mux.c at 208 PS5, Line 208: static uint8_t mux_timeslot_provide_bits(struct osmo_i460_timeslot *ts) According to the specs, any bits that's not used by a subchannel should be set to 1. This doesn't do that AFAICT. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-Comment-Date: Thu, 14 May 2020 11:05:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:16:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 11:16:58 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 14 May 2020 11:16:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:19:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:19:05 +0000 Subject: Change in osmo-pcu[master]: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18223 ) Change subject: pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand ...................................................................... pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand Variable found is used to always call Guard() on MS to avoid possible unexpected freeing regressions. Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f --- M src/pdch.cpp 1 file changed, 25 insertions(+), 23 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 149ca1f..048577d 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -548,38 +548,41 @@ struct gprs_rlcmac_sba *sba; if (request->ID.UnionType) { - struct gprs_rlcmac_ul_tbf *ul_tbf = NULL; - struct gprs_rlcmac_dl_tbf *dl_tbf = NULL; + struct gprs_rlcmac_ul_tbf *ul_tbf; + struct gprs_rlcmac_dl_tbf *dl_tbf; uint32_t tlli = request->ID.u.TLLI; uint8_t ta = GSM48_TA_INVALID; + bool found = true; GprsMs *ms = bts()->ms_by_tlli(tlli); - if (!ms) + if (!ms) { + found = false; ms = bts()->ms_alloc(0, 0); /* ms class updated later */ + } /* Keep the ms, even if it gets idle temporarily */ GprsMs::Guard guard(ms); - ul_tbf = ms->ul_tbf(); - dl_tbf = ms->dl_tbf(); - ta = ms->ta(); - /* We got a RACH so the MS was in packet idle mode and thus - * didn't have any active TBFs */ - if (ul_tbf) { - LOGPTBFUL(ul_tbf, LOGL_NOTICE, - "Got RACH from TLLI=0x%08x while TBF still exists. Killing pending UL TBF\n", - tlli); - tbf_free(ul_tbf); - ul_tbf = NULL; + if (found) { + ul_tbf = ms->ul_tbf(); + dl_tbf = ms->dl_tbf(); + ta = ms->ta(); + /* We got a RACH so the MS was in packet idle mode and thus + * didn't have any active TBFs */ + if (ul_tbf) { + LOGPTBFUL(ul_tbf, LOGL_NOTICE, + "Got RACH from TLLI=0x%08x while TBF still exists. Killing pending UL TBF\n", + tlli); + tbf_free(ul_tbf); + } + if (dl_tbf) { + LOGPTBFUL(dl_tbf, LOGL_NOTICE, + "Got RACH from TLLI=0x%08x while TBF still exists. Release pending DL TBF\n", + tlli); + tbf_free(dl_tbf); + } } - if (dl_tbf) { - LOGPTBFUL(dl_tbf, LOGL_NOTICE, - "Got RACH from TLLI=0x%08x while TBF still exists. Release pending DL TBF\n", - tlli); - tbf_free(dl_tbf); - dl_tbf = NULL; - } LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF " "in packet resource request of single " "block, so we provide one:\n"); @@ -606,12 +609,11 @@ if (!ms->ms_class()) LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n"); if (ms->egprs_ms_class()) - LOGP(DRLCMAC, LOGL_NOTICE, + LOGP(DRLCMAC, LOGL_INFO, "MS supports EGPRS multislot class %d.\n", ms->egprs_ms_class()); ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); - if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, trx_no(), ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I62f24fe04ca10fca19bedda288fe3ed3ce75413f Gerrit-Change-Number: 18223 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:19:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:19:06 +0000 Subject: Change in osmo-pcu[master]: Drop unneeded arg 'ta' in tbf_alloc_ul() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18224 ) Change subject: Drop unneeded arg 'ta' in tbf_alloc_ul() ...................................................................... Drop unneeded arg 'ta' in tbf_alloc_ul() The function is simply setting the ta on the ms, so simply make sure ta is set on callers before passing the ms object. Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M tests/tbf/TbfTest.err 4 files changed, 16 insertions(+), 20 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 048577d..88d5d31 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -118,7 +118,7 @@ bts->channel_request_description(); /* This call will register the new TBF with the MS on success */ - gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli(), tbf->ta()); + gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); /* schedule uplink assignment or reject */ if (ul_tbf) { @@ -551,7 +551,6 @@ struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; uint32_t tlli = request->ID.u.TLLI; - uint8_t ta = GSM48_TA_INVALID; bool found = true; GprsMs *ms = bts()->ms_by_tlli(tlli); @@ -566,7 +565,6 @@ if (found) { ul_tbf = ms->ul_tbf(); dl_tbf = ms->dl_tbf(); - ta = ms->ta(); /* We got a RACH so the MS was in packet idle mode and thus * didn't have any active TBFs */ if (ul_tbf) { @@ -593,7 +591,7 @@ "block, but there is no resource request " "scheduled!\n"); } else { - ta = sba->ta; + ms->set_ta(sba->ta); bts()->sba()->free_sba(sba); } if (request->Exist_MS_Radio_Access_capability2) { @@ -613,7 +611,7 @@ "MS supports EGPRS multislot class %d.\n", ms->egprs_ms_class()); - ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli, ta); + ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli); if (!ul_tbf) { handle_tbf_reject(bts_data(), ms, tlli, trx_no(), ts_no); diff --git a/src/tbf.cpp b/src/tbf.cpp index 56fdcd1..2693223 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -416,7 +416,7 @@ } gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, - uint32_t tlli, uint8_t ta) + uint32_t tlli) { struct gprs_rlcmac_ul_tbf *tbf; @@ -435,8 +435,6 @@ tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); - tbf->ms()->set_ta(ta); - return tbf; } diff --git a/src/tbf.h b/src/tbf.h index 5ebd2e8..2b4cf6d 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -347,7 +347,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, GprsMs *ms, - int8_t use_trx, uint32_t tlli, uint8_t ta); + int8_t use_trx, uint32_t tlli); struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms, int8_t use_trx, bool single_slot); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 6019def..ca16149 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1526,6 +1526,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1545,7 +1546,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) @@ -1608,6 +1608,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1627,7 +1628,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) @@ -1738,6 +1738,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1757,7 +1758,6 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf5667788, not yet confirmed -Modifying MS object, TLLI = 0xf5667788, TA 220 -> 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1805,6 +1805,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1824,7 +1825,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -1977,6 +1977,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -1996,7 +1997,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -2128,6 +2128,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 ********** UL-TBF starts here ********** Allocating UL TBF: MS_CLASS=1/0 @@ -2147,7 +2148,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -3151,6 +3151,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -3175,7 +3176,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3243,6 +3243,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -3267,7 +3268,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -5882,6 +5882,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -5906,7 +5907,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6047,6 +6047,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -6071,7 +6072,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6392,6 +6392,7 @@ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 MS requests UL TBF in packet resource request of single block, so we provide one: +Modifying MS object, TLLI = 0x00000000, TA 220 -> 7 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1 MS supports EGPRS multislot class 1. @@ -6416,7 +6417,6 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed -Modifying MS object, TLLI = 0xf1223344, TA 220 -> 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS max_cs_ul cannot be derived (current UL CS: UNKNOWN) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebb9c57f458690e045ddc45c800209ad8cf621e0 Gerrit-Change-Number: 18224 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:19:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:19:07 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to increase counters In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18226 ) Change subject: bts: Drop specific functions to increase counters ...................................................................... bts: Drop specific functions to increase counters It's super annoying seeing lots of functions being called everywhere only to find out they are only incrementing a counter. Let's drop all those functions and increment the counter so people looking at code doesn't see dozens of code paths evyerwhere. Most of the commit was generated by following sh snippet: """ #!/bin/bash grep -r -l ^CREATE_COUNT_INLINE . | xargs cat | grep "^CREATE_COUNT_INLINE("| tr -d ",;" | tr "()" " " | awk '{ print $2 " " $3 }' >/tmp/hello while read -r func_name ctr_name do #echo "$func_name -> $ctr_name" files="$(grep -r -l "${func_name}()" .)" for f in $files; do echo "$f: $func_name -> $ctr_name"; sed -i "s#${func_name}()#do_rate_ctr_inc(${ctr_name})#g" $f done; done < /tmp/hello grep -r -l "void do_rate_ctr_inc" | xargs sed -i "/void do_rate_ctr_inc(CTR/d" grep -r -l "CREATE_COUNT_INLINE" | xargs sed -i "/^CREATE_COUNT_INLINE/d" """ Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/llc.cpp M src/pdch.cpp M src/rlc.cpp M src/sba.cpp M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 11 files changed, 186 insertions(+), 346 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 2916ee7..2cf219a 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -344,7 +344,7 @@ LOGP(DRLCMAC, LOGL_NOTICE, "Late RLC block, FN delta: %d FN: %d curFN: %d\n", delay, fn, current_frame_number()); - rlc_late_block(); + do_rate_ctr_inc(CTR_RLC_LATE_BLOCK); } m_cur_blk_fn = fn; @@ -755,10 +755,10 @@ bool failure = false; GprsMs *ms; - rach_frame(); + do_rate_ctr_inc(CTR_RACH_REQUESTS); if (is_11bit) - rach_frame_11bit(); + do_rate_ctr_inc(CTR_11BIT_RACH_REQUESTS); /* Determine full frame number */ Fn = rfn_to_fn(Fn); @@ -831,7 +831,7 @@ plen = Encoding::write_immediate_assignment_reject( immediate_assignment, ra, Fn, burst_type); - immediate_assignment_reject(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_REJ); } else { LOGP(DRLCMAC, LOGL_DEBUG, @@ -845,7 +845,7 @@ } if (plen >= 0) { - immediate_assignment_ul_tbf(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_UL_TBF); pcu_l1if_tx_agch(immediate_assignment, plen); } @@ -920,7 +920,7 @@ tbf->poll_fn, m_bts.alpha, m_bts.gamma, -1, GSM_L1_BURST_TYPE_ACCESS_0); if (plen >= 0) { - immediate_assignment_dl_tbf(); + do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_DL_TBF); pcu_l1if_tx_pch(immediate_assignment, plen, pgroup); } diff --git a/src/bts.h b/src/bts.h index 4fddc0b..471ac2e 100644 --- a/src/bts.h +++ b/src/bts.h @@ -175,6 +175,94 @@ uint32_t app_info_pending; /* Count of MS with active TBF, to which we did not send app_info yet */ }; +enum { + CTR_TBF_DL_ALLOCATED, + CTR_TBF_DL_FREED, + CTR_TBF_DL_ABORTED, + CTR_TBF_UL_ALLOCATED, + CTR_TBF_UL_FREED, + CTR_TBF_UL_ABORTED, + CTR_TBF_REUSED, + CTR_TBF_ALLOC_ALGO_A, + CTR_TBF_ALLOC_ALGO_B, + CTR_TBF_FAILED_EGPRS_ONLY, + CTR_RLC_SENT, + CTR_RLC_RESENT, + CTR_RLC_RESTARTED, + CTR_RLC_STALLED, + CTR_RLC_NACKED, + CTR_RLC_FINAL_BLOCK_RESENT, + CTR_RLC_ASS_TIMEDOUT, + CTR_RLC_ASS_FAILED, + CTR_RLC_ACK_TIMEDOUT, + CTR_RLC_ACK_FAILED, + CTR_RLC_REL_TIMEDOUT, + CTR_RLC_LATE_BLOCK, + CTR_RLC_SENT_DUMMY, + CTR_RLC_SENT_CONTROL, + CTR_RLC_DL_BYTES, + CTR_RLC_DL_PAYLOAD_BYTES, + CTR_RLC_UL_BYTES, + CTR_RLC_UL_PAYLOAD_BYTES, + CTR_DECODE_ERRORS, + CTR_SBA_ALLOCATED, + CTR_SBA_FREED, + CTR_SBA_TIMEDOUT, + CTR_LLC_FRAME_TIMEDOUT, + CTR_LLC_FRAME_DROPPED, + CTR_LLC_FRAME_SCHED, + CTR_LLC_DL_BYTES, + CTR_LLC_UL_BYTES, + CTR_RACH_REQUESTS, + CTR_11BIT_RACH_REQUESTS, + CTR_SPB_UL_FIRST_SEGMENT, + CTR_SPB_UL_SECOND_SEGMENT, + CTR_SPB_DL_FIRST_SEGMENT, + CTR_SPB_DL_SECOND_SEGMENT, + CTR_IMMEDIATE_ASSIGN_UL_TBF, + CTR_IMMEDIATE_ASSIGN_REJ, + CTR_IMMEDIATE_ASSIGN_DL_TBF, + CTR_CHANNEL_REQUEST_DESCRIPTION, + CTR_PKT_UL_ASSIGNMENT, + CTR_PKT_ACCESS_REJ, + CTR_PKT_DL_ASSIGNMENT, + CTR_RLC_RECV_CONTROL, + CTR_PUA_POLL_TIMEDOUT, + CTR_PUA_POLL_FAILED, + CTR_PDA_POLL_TIMEDOUT, + CTR_PDA_POLL_FAILED, + CTR_PUAN_POLL_TIMEDOUT, + CTR_PUAN_POLL_FAILED, + CTR_PDAN_POLL_TIMEDOUT, + CTR_PDAN_POLL_FAILED, + CTR_GPRS_DL_CS1, + CTR_GPRS_DL_CS2, + CTR_GPRS_DL_CS3, + CTR_GPRS_DL_CS4, + CTR_EGPRS_DL_MCS1, + CTR_EGPRS_DL_MCS2, + CTR_EGPRS_DL_MCS3, + CTR_EGPRS_DL_MCS4, + CTR_EGPRS_DL_MCS5, + CTR_EGPRS_DL_MCS6, + CTR_EGPRS_DL_MCS7, + CTR_EGPRS_DL_MCS8, + CTR_EGPRS_DL_MCS9, + CTR_GPRS_UL_CS1, + CTR_GPRS_UL_CS2, + CTR_GPRS_UL_CS3, + CTR_GPRS_UL_CS4, + CTR_EGPRS_UL_MCS1, + CTR_EGPRS_UL_MCS2, + CTR_EGPRS_UL_MCS3, + CTR_EGPRS_UL_MCS4, + CTR_EGPRS_UL_MCS5, + CTR_EGPRS_UL_MCS6, + CTR_EGPRS_UL_MCS7, + CTR_EGPRS_UL_MCS8, + CTR_EGPRS_UL_MCS9, +}; + #ifdef __cplusplus /** * I represent a GSM BTS. I have one or more TRX, I know the current @@ -184,94 +272,6 @@ struct BTS { public: enum { - CTR_TBF_DL_ALLOCATED, - CTR_TBF_DL_FREED, - CTR_TBF_DL_ABORTED, - CTR_TBF_UL_ALLOCATED, - CTR_TBF_UL_FREED, - CTR_TBF_UL_ABORTED, - CTR_TBF_REUSED, - CTR_TBF_ALLOC_ALGO_A, - CTR_TBF_ALLOC_ALGO_B, - CTR_TBF_FAILED_EGPRS_ONLY, - CTR_RLC_SENT, - CTR_RLC_RESENT, - CTR_RLC_RESTARTED, - CTR_RLC_STALLED, - CTR_RLC_NACKED, - CTR_RLC_FINAL_BLOCK_RESENT, - CTR_RLC_ASS_TIMEDOUT, - CTR_RLC_ASS_FAILED, - CTR_RLC_ACK_TIMEDOUT, - CTR_RLC_ACK_FAILED, - CTR_RLC_REL_TIMEDOUT, - CTR_RLC_LATE_BLOCK, - CTR_RLC_SENT_DUMMY, - CTR_RLC_SENT_CONTROL, - CTR_RLC_DL_BYTES, - CTR_RLC_DL_PAYLOAD_BYTES, - CTR_RLC_UL_BYTES, - CTR_RLC_UL_PAYLOAD_BYTES, - CTR_DECODE_ERRORS, - CTR_SBA_ALLOCATED, - CTR_SBA_FREED, - CTR_SBA_TIMEDOUT, - CTR_LLC_FRAME_TIMEDOUT, - CTR_LLC_FRAME_DROPPED, - CTR_LLC_FRAME_SCHED, - CTR_LLC_DL_BYTES, - CTR_LLC_UL_BYTES, - CTR_RACH_REQUESTS, - CTR_11BIT_RACH_REQUESTS, - CTR_SPB_UL_FIRST_SEGMENT, - CTR_SPB_UL_SECOND_SEGMENT, - CTR_SPB_DL_FIRST_SEGMENT, - CTR_SPB_DL_SECOND_SEGMENT, - CTR_IMMEDIATE_ASSIGN_UL_TBF, - CTR_IMMEDIATE_ASSIGN_REJ, - CTR_IMMEDIATE_ASSIGN_DL_TBF, - CTR_CHANNEL_REQUEST_DESCRIPTION, - CTR_PKT_UL_ASSIGNMENT, - CTR_PKT_ACCESS_REJ, - CTR_PKT_DL_ASSIGNMENT, - CTR_RLC_RECV_CONTROL, - CTR_PUA_POLL_TIMEDOUT, - CTR_PUA_POLL_FAILED, - CTR_PDA_POLL_TIMEDOUT, - CTR_PDA_POLL_FAILED, - CTR_PUAN_POLL_TIMEDOUT, - CTR_PUAN_POLL_FAILED, - CTR_PDAN_POLL_TIMEDOUT, - CTR_PDAN_POLL_FAILED, - CTR_GPRS_DL_CS1, - CTR_GPRS_DL_CS2, - CTR_GPRS_DL_CS3, - CTR_GPRS_DL_CS4, - CTR_EGPRS_DL_MCS1, - CTR_EGPRS_DL_MCS2, - CTR_EGPRS_DL_MCS3, - CTR_EGPRS_DL_MCS4, - CTR_EGPRS_DL_MCS5, - CTR_EGPRS_DL_MCS6, - CTR_EGPRS_DL_MCS7, - CTR_EGPRS_DL_MCS8, - CTR_EGPRS_DL_MCS9, - CTR_GPRS_UL_CS1, - CTR_GPRS_UL_CS2, - CTR_GPRS_UL_CS3, - CTR_GPRS_UL_CS4, - CTR_EGPRS_UL_MCS1, - CTR_EGPRS_UL_MCS2, - CTR_EGPRS_UL_MCS3, - CTR_EGPRS_UL_MCS4, - CTR_EGPRS_UL_MCS5, - CTR_EGPRS_UL_MCS6, - CTR_EGPRS_UL_MCS7, - CTR_EGPRS_UL_MCS8, - CTR_EGPRS_UL_MCS9, - }; - - enum { STAT_MS_PRESENT, }; @@ -320,91 +320,12 @@ /* * Statistics */ - void tbf_dl_created(); - void tbf_dl_freed(); - void tbf_dl_aborted(); - void tbf_ul_created(); - void tbf_ul_freed(); - void tbf_ul_aborted(); - void tbf_reused(); - void tbf_alloc_algo_a(); - void tbf_alloc_algo_b(); - void tbf_failed_egprs_only(); - void rlc_sent(); - void rlc_resent(); - void rlc_restarted(); - void rlc_stalled(); - void rlc_nacked(); - void rlc_final_block_resent(); - void rlc_ass_timedout(); - void rlc_ass_failed(); - void rlc_ack_timedout(); - void rlc_ack_failed(); - void rlc_rel_timedout(); - void rlc_late_block(); - void rlc_sent_dummy(); - void rlc_sent_control(); void rlc_dl_bytes(int bytes); void rlc_dl_payload_bytes(int bytes); void rlc_ul_bytes(int bytes); void rlc_ul_payload_bytes(int bytes); - void decode_error(); - void sba_allocated(); - void sba_freed(); - void sba_timedout(); - void llc_timedout_frame(); - void llc_dropped_frame(); - void llc_frame_sched(); void llc_dl_bytes(int bytes); void llc_ul_bytes(int bytes); - void rach_frame(); - void rach_frame_11bit(); - void spb_uplink_first_segment(); - void spb_uplink_second_segment(); - void spb_downlink_first_segment(); - void spb_downlink_second_segment(); - void immediate_assignment_ul_tbf(); - void immediate_assignment_reject(); - void immediate_assignment_dl_tbf(); - void channel_request_description(); - void pkt_ul_assignment(); - void pkt_access_reject(); - void pkt_dl_assignemnt(); - void rlc_rcvd_control(); - void pua_poll_timedout(); - void pua_poll_failed(); - void pda_poll_timedout(); - void pda_poll_failed(); - void pkt_ul_ack_nack_poll_timedout(); - void pkt_ul_ack_nack_poll_failed(); - void pkt_dl_ack_nack_poll_timedout(); - void pkt_dl_ack_nack_poll_failed(); - void gprs_dl_cs1(); - void gprs_dl_cs2(); - void gprs_dl_cs3(); - void gprs_dl_cs4(); - void egprs_dl_mcs1(); - void egprs_dl_mcs2(); - void egprs_dl_mcs3(); - void egprs_dl_mcs4(); - void egprs_dl_mcs5(); - void egprs_dl_mcs6(); - void egprs_dl_mcs7(); - void egprs_dl_mcs8(); - void egprs_dl_mcs9(); - void gprs_ul_cs1(); - void gprs_ul_cs2(); - void gprs_ul_cs3(); - void gprs_ul_cs4(); - void egprs_ul_mcs1(); - void egprs_ul_mcs2(); - void egprs_ul_mcs3(); - void egprs_ul_mcs4(); - void egprs_ul_mcs5(); - void egprs_ul_mcs6(); - void egprs_ul_mcs7(); - void egprs_ul_mcs8(); - void egprs_ul_mcs9(); void ms_present(int32_t n); int32_t ms_present_get(); @@ -414,6 +335,7 @@ */ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; + void do_rate_ctr_inc(unsigned int ctr_id); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -483,103 +405,21 @@ return m_statg; } +inline void BTS::do_rate_ctr_inc(unsigned int ctr_id) { + rate_ctr_inc(&m_ratectrs->ctr[ctr_id]); +} + #define CREATE_COUNT_ADD_INLINE(func_name, ctr_name) \ inline void BTS::func_name(int inc) {\ rate_ctr_add(&m_ratectrs->ctr[ctr_name], inc); \ } -#define CREATE_COUNT_INLINE(func_name, ctr_name) \ - inline void BTS::func_name() {\ - rate_ctr_inc(&m_ratectrs->ctr[ctr_name]); \ - } - -CREATE_COUNT_INLINE(tbf_dl_created, CTR_TBF_DL_ALLOCATED) -CREATE_COUNT_INLINE(tbf_dl_freed, CTR_TBF_DL_FREED) -CREATE_COUNT_INLINE(tbf_dl_aborted, CTR_TBF_DL_ABORTED) -CREATE_COUNT_INLINE(tbf_ul_created, CTR_TBF_UL_ALLOCATED) -CREATE_COUNT_INLINE(tbf_ul_freed, CTR_TBF_UL_FREED) -CREATE_COUNT_INLINE(tbf_ul_aborted, CTR_TBF_UL_ABORTED) -CREATE_COUNT_INLINE(tbf_reused, CTR_TBF_REUSED) -CREATE_COUNT_INLINE(tbf_alloc_algo_a, CTR_TBF_ALLOC_ALGO_A) -CREATE_COUNT_INLINE(tbf_alloc_algo_b, CTR_TBF_ALLOC_ALGO_B) -CREATE_COUNT_INLINE(tbf_failed_egprs_only, CTR_TBF_FAILED_EGPRS_ONLY) -CREATE_COUNT_INLINE(rlc_sent, CTR_RLC_SENT) -CREATE_COUNT_INLINE(rlc_resent, CTR_RLC_RESENT) -CREATE_COUNT_INLINE(rlc_restarted, CTR_RLC_RESTARTED) -CREATE_COUNT_INLINE(rlc_stalled, CTR_RLC_STALLED) -CREATE_COUNT_INLINE(rlc_nacked, CTR_RLC_NACKED) -CREATE_COUNT_INLINE(rlc_final_block_resent, CTR_RLC_FINAL_BLOCK_RESENT); -CREATE_COUNT_INLINE(rlc_ass_timedout, CTR_RLC_ASS_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_ass_failed, CTR_RLC_ASS_FAILED); -CREATE_COUNT_INLINE(rlc_ack_timedout, CTR_RLC_ACK_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_ack_failed, CTR_RLC_ACK_FAILED); -CREATE_COUNT_INLINE(rlc_rel_timedout, CTR_RLC_REL_TIMEDOUT); -CREATE_COUNT_INLINE(rlc_late_block, CTR_RLC_LATE_BLOCK); -CREATE_COUNT_INLINE(rlc_sent_dummy, CTR_RLC_SENT_DUMMY); -CREATE_COUNT_INLINE(rlc_sent_control, CTR_RLC_SENT_CONTROL); CREATE_COUNT_ADD_INLINE(rlc_dl_bytes, CTR_RLC_DL_BYTES); CREATE_COUNT_ADD_INLINE(rlc_dl_payload_bytes, CTR_RLC_DL_PAYLOAD_BYTES); CREATE_COUNT_ADD_INLINE(rlc_ul_bytes, CTR_RLC_UL_BYTES); CREATE_COUNT_ADD_INLINE(rlc_ul_payload_bytes, CTR_RLC_UL_PAYLOAD_BYTES); -CREATE_COUNT_INLINE(decode_error, CTR_DECODE_ERRORS) -CREATE_COUNT_INLINE(sba_allocated, CTR_SBA_ALLOCATED) -CREATE_COUNT_INLINE(sba_freed, CTR_SBA_FREED) -CREATE_COUNT_INLINE(sba_timedout, CTR_SBA_TIMEDOUT) -CREATE_COUNT_INLINE(llc_timedout_frame, CTR_LLC_FRAME_TIMEDOUT); -CREATE_COUNT_INLINE(llc_dropped_frame, CTR_LLC_FRAME_DROPPED); -CREATE_COUNT_INLINE(llc_frame_sched, CTR_LLC_FRAME_SCHED); CREATE_COUNT_ADD_INLINE(llc_dl_bytes, CTR_LLC_DL_BYTES); CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES); -CREATE_COUNT_INLINE(rach_frame, CTR_RACH_REQUESTS); -CREATE_COUNT_INLINE(rach_frame_11bit, CTR_11BIT_RACH_REQUESTS); -CREATE_COUNT_INLINE(spb_uplink_first_segment, CTR_SPB_UL_FIRST_SEGMENT); -CREATE_COUNT_INLINE(spb_uplink_second_segment, CTR_SPB_UL_SECOND_SEGMENT); -CREATE_COUNT_INLINE(spb_downlink_first_segment, CTR_SPB_DL_FIRST_SEGMENT); -CREATE_COUNT_INLINE(spb_downlink_second_segment, CTR_SPB_DL_SECOND_SEGMENT); -CREATE_COUNT_INLINE(immediate_assignment_ul_tbf, CTR_IMMEDIATE_ASSIGN_UL_TBF); -CREATE_COUNT_INLINE(immediate_assignment_reject, CTR_IMMEDIATE_ASSIGN_REJ); -CREATE_COUNT_INLINE(immediate_assignment_dl_tbf, CTR_IMMEDIATE_ASSIGN_DL_TBF); -CREATE_COUNT_INLINE(channel_request_description, CTR_CHANNEL_REQUEST_DESCRIPTION); -CREATE_COUNT_INLINE(pkt_ul_assignment, CTR_PKT_UL_ASSIGNMENT); -CREATE_COUNT_INLINE(pkt_access_reject, CTR_PKT_ACCESS_REJ); -CREATE_COUNT_INLINE(pkt_dl_assignemnt, CTR_PKT_DL_ASSIGNMENT); -CREATE_COUNT_INLINE(rlc_rcvd_control, CTR_RLC_RECV_CONTROL); -CREATE_COUNT_INLINE(pua_poll_timedout, CTR_PUA_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pua_poll_failed, CTR_PUA_POLL_FAILED); -CREATE_COUNT_INLINE(pda_poll_timedout, CTR_PDA_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pda_poll_failed, CTR_PDA_POLL_FAILED); -CREATE_COUNT_INLINE(pkt_ul_ack_nack_poll_timedout, CTR_PUAN_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pkt_ul_ack_nack_poll_failed, CTR_PUAN_POLL_FAILED); -CREATE_COUNT_INLINE(pkt_dl_ack_nack_poll_timedout, CTR_PDAN_POLL_TIMEDOUT); -CREATE_COUNT_INLINE(pkt_dl_ack_nack_poll_failed, CTR_PDAN_POLL_FAILED); -CREATE_COUNT_INLINE(gprs_dl_cs1, CTR_GPRS_DL_CS1); -CREATE_COUNT_INLINE(gprs_dl_cs2, CTR_GPRS_DL_CS2); -CREATE_COUNT_INLINE(gprs_dl_cs3, CTR_GPRS_DL_CS3); -CREATE_COUNT_INLINE(gprs_dl_cs4, CTR_GPRS_DL_CS4); -CREATE_COUNT_INLINE(egprs_dl_mcs1, CTR_EGPRS_DL_MCS1); -CREATE_COUNT_INLINE(egprs_dl_mcs2, CTR_EGPRS_DL_MCS2); -CREATE_COUNT_INLINE(egprs_dl_mcs3, CTR_EGPRS_DL_MCS3); -CREATE_COUNT_INLINE(egprs_dl_mcs4, CTR_EGPRS_DL_MCS4); -CREATE_COUNT_INLINE(egprs_dl_mcs5, CTR_EGPRS_DL_MCS5); -CREATE_COUNT_INLINE(egprs_dl_mcs6, CTR_EGPRS_DL_MCS6); -CREATE_COUNT_INLINE(egprs_dl_mcs7, CTR_EGPRS_DL_MCS7); -CREATE_COUNT_INLINE(egprs_dl_mcs8, CTR_EGPRS_DL_MCS8); -CREATE_COUNT_INLINE(egprs_dl_mcs9, CTR_EGPRS_DL_MCS9); -CREATE_COUNT_INLINE(gprs_ul_cs1, CTR_GPRS_UL_CS1); -CREATE_COUNT_INLINE(gprs_ul_cs2, CTR_GPRS_UL_CS2); -CREATE_COUNT_INLINE(gprs_ul_cs3, CTR_GPRS_UL_CS3); -CREATE_COUNT_INLINE(gprs_ul_cs4, CTR_GPRS_UL_CS4); -CREATE_COUNT_INLINE(egprs_ul_mcs1, CTR_EGPRS_UL_MCS1); -CREATE_COUNT_INLINE(egprs_ul_mcs2, CTR_EGPRS_UL_MCS2); -CREATE_COUNT_INLINE(egprs_ul_mcs3, CTR_EGPRS_UL_MCS3); -CREATE_COUNT_INLINE(egprs_ul_mcs4, CTR_EGPRS_UL_MCS4); -CREATE_COUNT_INLINE(egprs_ul_mcs5, CTR_EGPRS_UL_MCS5); -CREATE_COUNT_INLINE(egprs_ul_mcs6, CTR_EGPRS_UL_MCS6); -CREATE_COUNT_INLINE(egprs_ul_mcs7, CTR_EGPRS_UL_MCS7); -CREATE_COUNT_INLINE(egprs_ul_mcs8, CTR_EGPRS_UL_MCS8); -CREATE_COUNT_INLINE(egprs_ul_mcs9, CTR_EGPRS_UL_MCS9); - -#undef CREATE_COUNT_INLINE #define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \ inline void BTS::func_name(int32_t val) {\ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index fe6f159..6a53468 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -357,18 +357,18 @@ switch(cat) { case PCU_GSMTAP_C_DL_CTRL: - bts->bts->rlc_sent_control(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT_CONTROL); bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_CTRL, false, trx, ts, GSMTAP_CHANNEL_PACCH, fn, msg->data, msg->len); break; case PCU_GSMTAP_C_DL_DATA_GPRS: - bts->bts->rlc_sent(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT); /* FIXME: distinguish between GPRS and EGPRS */ bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_DATA_GPRS, false, trx, ts, GSMTAP_CHANNEL_PDTCH, fn, msg->data, msg->len); break; case PCU_GSMTAP_C_DL_DUMMY: - bts->bts->rlc_sent_dummy(); + bts->bts->do_rate_ctr_inc(CTR_RLC_SENT_DUMMY); bts->bts->send_gsmtap(PCU_GSMTAP_C_DL_DUMMY, false, trx, ts, GSMTAP_CHANNEL_PACCH, fn, msg->data, msg->len); break; diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index cf3f9a9..c4fbbad 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -423,7 +423,7 @@ ms_->set_reserved_slots(trx, 1 << ts, 1 << ts); tbf_->upgrade_to_multislot = 0; - bts->bts->tbf_alloc_algo_a(); + bts->bts->do_rate_ctr_inc(CTR_TBF_ALLOC_ALGO_A); return 0; } @@ -950,7 +950,7 @@ else assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); - bts->bts->tbf_alloc_algo_b(); + bts->bts->do_rate_ctr_inc(CTR_TBF_ALLOC_ALGO_B); return 0; } diff --git a/src/llc.cpp b/src/llc.cpp index 8ef7a53..e2d01c2 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -128,7 +128,7 @@ while ((msg = msgb_dequeue(&m_queue))) { if (bts) - bts->llc_dropped_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_DROPPED); msgb_free(msg); } diff --git a/src/pdch.cpp b/src/pdch.cpp index 88d5d31..202f642 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -115,7 +115,7 @@ static inline void sched_ul_ass_or_rej(BTS *bts, gprs_rlcmac_bts *bts_data, struct gprs_rlcmac_dl_tbf *tbf) { - bts->channel_request_description(); + bts->do_rate_ctr_inc(CTR_CHANNEL_REQUEST_DESCRIPTION); /* This call will register the new TBF with the MS on success */ gprs_rlcmac_ul_tbf *ul_tbf = tbf_alloc_ul(bts_data, tbf->ms(), tbf->trx->trx_no, tbf->tlli()); @@ -715,7 +715,7 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); - bts()->rlc_rcvd_control(); + bts()->do_rate_ctr_inc(CTR_RLC_RECV_CONTROL); switch (ul_control_block->u.MESSAGE_TYPE) { case MT_PACKET_CONTROL_ACK: rcv_control_ack(&ul_control_block->u.Packet_Control_Acknowledgement, fn); @@ -736,7 +736,7 @@ /* ignoring it. change the SI to not force sending these? */ break; default: - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMAC, LOGL_NOTICE, "RX: [PCU <- BTS] unknown control block(%d) received\n", ul_control_block->u.MESSAGE_TYPE); @@ -753,7 +753,7 @@ { GprsCodingScheme cs = GprsCodingScheme::getBySizeUL(len); if (!cs) { - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Dropping data block with invalid" "length: %d)\n", len); return -EINVAL; @@ -770,7 +770,7 @@ if (mcs_is_edge(cs)) return rcv_data_block(data, len, fn, meas, cs); - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Unsupported coding scheme %s\n", mcs_name(cs)); return -EINVAL; @@ -809,7 +809,7 @@ LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but header parsing has failed\n", mcs_name(cs)); - bts()->decode_error(); + bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); return rc; } diff --git a/src/rlc.cpp b/src/rlc.cpp index c6d4330..c44d27e 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -159,7 +159,7 @@ } else { LOGP(DRLCMACDL, LOGL_DEBUG, "- got NACK for BSN=%d\n", bsn); m_v_b.mark_nacked(bsn); - bts->rlc_nacked(); + bts->do_rate_ctr_inc(CTR_RLC_NACKED); *lost += 1; } } @@ -183,7 +183,7 @@ } else { LOGP(DRLCMACDL, LOGL_DEBUG, "- got NACK for BSN=%d\n", bsn); m_v_b.mark_nacked(bsn); - bts->rlc_nacked(); + bts->do_rate_ctr_inc(CTR_RLC_NACKED); *lost += 1; } } diff --git a/src/sba.cpp b/src/sba.cpp index 32735e8..cc58405 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -86,7 +86,7 @@ sba->ta = ta; llist_add(&sba->list, &m_sbas); - m_bts.sba_allocated(); + m_bts.do_rate_ctr_inc(CTR_SBA_ALLOCATED); *_trx = trx; *_ts = ts; @@ -132,14 +132,14 @@ LOGP(DRLCMAC, LOGL_NOTICE, "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no, sba->ts_no, sba->fn, sba->ta); - m_bts.sba_timedout(); + m_bts.do_rate_ctr_inc(CTR_SBA_TIMEDOUT); free_sba(sba); return 0; } void SBAController::free_sba(gprs_rlcmac_sba *sba) { - m_bts.sba_freed(); + m_bts.do_rate_ctr_inc(CTR_SBA_FREED); llist_del(&sba->list); talloc_free(sba); } diff --git a/src/tbf.cpp b/src/tbf.cpp index 2693223..ccf257d 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -456,9 +456,9 @@ /* update counters */ if (tbf->direction == GPRS_RLCMAC_UL_TBF) { gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - tbf->bts->tbf_ul_freed(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_FREED); if (tbf->state_is(GPRS_RLCMAC_FLOW)) - tbf->bts->tbf_ul_aborted(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); } else { @@ -468,9 +468,9 @@ } else { rate_ctr_group_free(dl_tbf->m_dl_gprs_ctrs); } - tbf->bts->tbf_dl_freed(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_FREED); if (tbf->state_is(GPRS_RLCMAC_FLOW)) - tbf->bts->tbf_dl_aborted(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_ABORTED); } /* Give final measurement report */ @@ -821,11 +821,11 @@ LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK\n"); rlcmac_diag(); } - bts->rlc_ack_timedout(); - bts->pkt_ul_ack_nack_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ACK_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PUAN_POLL_TIMEDOUT); if (state_is(GPRS_RLCMAC_FINISHED)) { if (ul_tbf->n_inc(N3103)) { - bts->pkt_ul_ack_nack_poll_failed(); + bts->do_rate_ctr_inc(CTR_PUAN_POLL_FAILED); TBF_SET_STATE(ul_tbf, GPRS_RLCMAC_RELEASING); T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; @@ -842,13 +842,13 @@ state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); } ul_ass_state = GPRS_RLCMAC_UL_ASS_NONE; - bts->rlc_ass_timedout(); - bts->pua_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); T_START(this, T3195, 3195, "MAX N3105 reached", true); - bts->rlc_ass_failed(); - bts->pua_poll_failed(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_FAILED); + bts->do_rate_ctr_inc(CTR_PUA_POLL_FAILED); return; } /* reschedule UL assignment */ @@ -861,13 +861,13 @@ state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); } dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; - bts->rlc_ass_timedout(); - bts->pda_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); T_START(this, T3195, 3195, "MAX N3105 reached", true); - bts->rlc_ass_failed(); - bts->pda_poll_failed(); + bts->do_rate_ctr_inc(CTR_RLC_ASS_FAILED); + bts->do_rate_ctr_inc(CTR_PDA_POLL_FAILED); return; } /* reschedule DL assignment */ @@ -883,17 +883,17 @@ } if (dl_tbf->state_is(GPRS_RLCMAC_RELEASING)) - bts->rlc_rel_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_REL_TIMEDOUT); else { - bts->rlc_ack_timedout(); - bts->pkt_dl_ack_nack_poll_timedout(); + bts->do_rate_ctr_inc(CTR_RLC_ACK_TIMEDOUT); + bts->do_rate_ctr_inc(CTR_PDAN_POLL_TIMEDOUT); } if (dl_tbf->n_inc(N3105)) { TBF_SET_STATE(dl_tbf, GPRS_RLCMAC_RELEASING); T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); - bts->pkt_dl_ack_nack_poll_failed(); - bts->rlc_ack_failed(); + bts->do_rate_ctr_inc(CTR_PDAN_POLL_FAILED); + bts->do_rate_ctr_inc(CTR_RLC_ACK_FAILED); return; } /* resend IMM.ASS on CCCH on timeout */ @@ -984,7 +984,7 @@ if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); + bts->bts->do_rate_ctr_inc(CTR_TBF_FAILED_EGPRS_ONLY); return NULL; } @@ -1026,7 +1026,7 @@ } llist_add(&tbf->list(), &bts->bts->ul_tbfs()); - tbf->bts->tbf_ul_created(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ALLOCATED); return tbf; } @@ -1057,7 +1057,7 @@ if (ms->egprs_ms_class() == 0 && bts->egprs_enabled) { if (ms->ms_class() > 0) { LOGP(DTBF, LOGL_NOTICE, "Not accepting non-EGPRS phone in EGPRS-only mode\n"); - bts->bts->tbf_failed_egprs_only(); + bts->bts->do_rate_ctr_inc(CTR_TBF_FAILED_EGPRS_ONLY); return NULL; } ms->set_egprs_ms_class(1); @@ -1109,7 +1109,7 @@ } llist_add(&tbf->list(), &bts->bts->dl_tbfs()); - tbf->bts->tbf_dl_created(); + tbf->bts->do_rate_ctr_inc(CTR_TBF_DL_ALLOCATED); tbf->m_last_dl_poll_fn = -1; tbf->m_last_dl_drained_fn = -1; @@ -1276,7 +1276,7 @@ goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Downlink Assignment -------------------------\n"); - bts->pkt_dl_assignemnt(); + bts->do_rate_ctr_inc(CTR_PKT_DL_ASSIGNMENT); bitvec_pack(ass_vec, msgb_put(msg, 23)); if (poll_ass_dl) { @@ -1315,7 +1315,7 @@ Encoding::write_packet_access_reject( packet_access_rej, tlli()); - bts->pkt_access_reject(); + bts->do_rate_ctr_inc(CTR_PKT_ACCESS_REJ); bitvec_pack(packet_access_rej, msgb_put(msg, 23)); @@ -1382,7 +1382,7 @@ goto free_ret; } LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); - bts->pkt_ul_assignment(); + bts->do_rate_ctr_inc(CTR_PKT_UL_ASSIGNMENT); set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); @@ -1422,7 +1422,7 @@ { struct gprs_rlcmac_dl_tbf *new_tbf = NULL; - bts->tbf_reused(); + bts->do_rate_ctr_inc(CTR_TBF_REUSED); new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(), this->trx->trx_no, false); @@ -1577,7 +1577,7 @@ ms->set_tlli(tlli); llist_add(&ul_tbf->list(), &bts->bts->ul_tbfs()); - ul_tbf->bts->tbf_ul_created(); + ul_tbf->bts->do_rate_ctr_inc(CTR_TBF_UL_ALLOCATED); TBF_SET_ASS_ON(ul_tbf, GPRS_RLCMAC_FLAG_PACCH, false); ul_tbf->set_ms(ms); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 591f460..5197717 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -313,12 +313,12 @@ break; } - bts->llc_timedout_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_TIMEDOUT); drop_frame: frames++; octets += msg->len; msgb_free(msg); - bts->llc_dropped_frame(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_DROPPED); continue; } @@ -424,7 +424,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Resending BSN %d\n", bsn); /* re-send block with negative aknowlegement */ m_window.m_v_b.mark_unacked(bsn); - bts->rlc_resent(); + bts->do_rate_ctr_inc(CTR_RLC_RESENT); } else if (state_is(GPRS_RLCMAC_FINISHED)) { /* If the TBF is in finished, we already sent all packages at least once. * If any packages could have been sent (because of unacked) it should have @@ -432,7 +432,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted.\n", m_window.v_a()); - bts->rlc_restarted(); + bts->do_rate_ctr_inc(CTR_RLC_RESTARTED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (dl_window_stalled()) { @@ -441,7 +441,7 @@ LOGPTBFDL(this, LOGL_NOTICE, "Restarting at BSN %d, because the window is stalled.\n", m_window.v_a()); - bts->rlc_stalled(); + bts->do_rate_ctr_inc(CTR_RLC_STALLED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { @@ -459,7 +459,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Restarting at BSN %d, because all blocks have been transmitted (FLOW).\n", m_window.v_a()); - bts->rlc_restarted(); + bts->do_rate_ctr_inc(CTR_RLC_RESTARTED); if (restart_bsn_cycle()) return take_next_bsn(fn, previous_bsn, may_combine); } else { @@ -476,8 +476,8 @@ LOGPTBFDL(this, LOGL_DEBUG, "Nothing else to send, Re-transmit final block!\n"); bsn = m_window.v_s_mod(-1); - bts->rlc_final_block_resent(); - bts->rlc_resent(); + bts->do_rate_ctr_inc(CTR_RLC_FINAL_BLOCK_RESENT); + bts->do_rate_ctr_inc(CTR_RLC_RESENT); } *may_combine = num_data_blocks(m_rlc.block(bsn)->cs_current_trans.headerTypeData()) > 1; @@ -556,7 +556,7 @@ LOGPTBFDL(this, LOGL_DEBUG, "Dequeue next LLC (len=%d)\n", msg->len); m_llc.put_frame(msg->data, msg->len); - bts->llc_frame_sched(); + bts->do_rate_ctr_inc(CTR_LLC_FRAME_SCHED); msgb_free(msg); m_last_dl_drained_fn = -1; } @@ -1360,15 +1360,15 @@ */ if (block_status_dl == EGPRS_RESEG_FIRST_SEG_SENT) { /* statistics */ - bts->spb_downlink_second_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_SECOND_SEGMENT); return EGPRS_RLCMAC_DL_SEC_SEG; } else if ((ht_cs_init == HEADER_EGPRS_DATA_TYPE_1) || (ht_cs_init == HEADER_EGPRS_DATA_TYPE_2)) { - bts->spb_downlink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_FIRST_SEGMENT); return EGPRS_RLCMAC_DL_FIRST_SEG; } else if ((cs_init == MCS4) && (cs_current_trans == MCS1)) { - bts->spb_downlink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_DL_FIRST_SEGMENT); return EGPRS_RLCMAC_DL_FIRST_SEG; } } @@ -1390,55 +1390,55 @@ { switch (cs) { case CS1: - bts->gprs_dl_cs1(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS1); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS1]); break; case CS2: - bts->gprs_dl_cs2(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS2); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS2]); break; case CS3: - bts->gprs_dl_cs3(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS3); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS3]); break; case CS4: - bts->gprs_dl_cs4(); + bts->do_rate_ctr_inc(CTR_GPRS_DL_CS4); rate_ctr_inc(&m_dl_gprs_ctrs->ctr[TBF_CTR_GPRS_DL_CS4]); break; case MCS1: - bts->egprs_dl_mcs1(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS1); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS1]); break; case MCS2: - bts->egprs_dl_mcs2(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS2); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS2]); break; case MCS3: - bts->egprs_dl_mcs3(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS3); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS3]); break; case MCS4: - bts->egprs_dl_mcs4(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS4); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS4]); break; case MCS5: - bts->egprs_dl_mcs5(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS5); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS5]); break; case MCS6: - bts->egprs_dl_mcs6(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS6); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS6]); break; case MCS7: - bts->egprs_dl_mcs7(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS7); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS7]); break; case MCS8: - bts->egprs_dl_mcs8(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS8); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS8]); break; case MCS9: - bts->egprs_dl_mcs9(); + bts->do_rate_ctr_inc(CTR_EGPRS_DL_MCS9); rate_ctr_inc(&m_dl_egprs_ctrs->ctr[TBF_CTR_EGPRS_DL_MCS9]); break; default: diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 020285e..90cbf8d 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -288,7 +288,7 @@ rdbi, rlc->cs, rlc_data, NULL, 0, &new_tlli); if (num_chunks < 0) { - bts->decode_error(); + bts->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGPTBFUL(this, LOGL_NOTICE, "Failed to decode TLLI of %s UL DATA TFI=%d.\n", mcs_name(rlc->cs), rlc->tfi); @@ -428,7 +428,7 @@ union split_block_status *spb_status = &block->spb_status; uint8_t *rlc_data = &block->block[0]; - bts->spb_uplink_second_segment(); + bts->do_rate_ctr_inc(CTR_SPB_UL_SECOND_SEGMENT); if (spb_status->block_status_ul & EGPRS_RESEG_FIRST_SEG_RXD) { @@ -461,7 +461,7 @@ uint8_t *rlc_data = &block->block[0]; union split_block_status *spb_status = &block->spb_status; - bts->spb_uplink_first_segment(); + bts->do_rate_ctr_inc(CTR_SPB_UL_FIRST_SEGMENT); if (spb_status->block_status_ul & EGPRS_RESEG_SECOND_SEG_RXD) { LOGPTBFUL(this, LOGL_DEBUG, @@ -541,55 +541,55 @@ { switch (cs) { case CS1: - bts->gprs_ul_cs1(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS1); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS1]); break; case CS2: - bts->gprs_ul_cs2(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS2); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS2]); break; case CS3: - bts->gprs_ul_cs3(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS3); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS3]); break; case CS4: - bts->gprs_ul_cs4(); + bts->do_rate_ctr_inc(CTR_GPRS_UL_CS4); rate_ctr_inc(&m_ul_gprs_ctrs->ctr[TBF_CTR_GPRS_UL_CS4]); break; case MCS1: - bts->egprs_ul_mcs1(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS1); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS1]); break; case MCS2: - bts->egprs_ul_mcs2(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS2); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS2]); break; case MCS3: - bts->egprs_ul_mcs3(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS3); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS3]); break; case MCS4: - bts->egprs_ul_mcs4(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS4); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS4]); break; case MCS5: - bts->egprs_ul_mcs5(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS5); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS5]); break; case MCS6: - bts->egprs_ul_mcs6(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS6); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS6]); break; case MCS7: - bts->egprs_ul_mcs7(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS7); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS7]); break; case MCS8: - bts->egprs_ul_mcs8(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS8); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS8]); break; case MCS9: - bts->egprs_ul_mcs9(); + bts->do_rate_ctr_inc(CTR_EGPRS_UL_MCS9); rate_ctr_inc(&m_ul_egprs_ctrs->ctr[TBF_CTR_EGPRS_UL_MCS9]); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I360e322a30edf639aefb3c0f0e4354d98c9035a3 Gerrit-Change-Number: 18226 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:19:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:19:07 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to counters In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18227 ) Change subject: bts: Drop specific functions to add values to counters ...................................................................... bts: Drop specific functions to add values to counters It's super annoying seeing lots of functions being called everywhere only to find out they are only incrementing a counter. Let's drop all those functions and increment the counter so people looking at code doesn't see dozens of code paths evyerwhere. Most of the commit was generated by following sh snippet: """ #!/bin/bash define_pattern="^CREATE_COUNT_ADD_INLINE" generic_func="do_rate_ctr_add" grep -r -l "${define_pattern}" . | xargs cat | grep "${define_pattern}("| tr -d ",;" | tr "()" " " | awk '{ print $2 " " $3 }' >/tmp/hello while read -r func_name ctr_name do #echo "$func_name -> $ctr_name"; files="$(grep -r -l "${func_name}(" .)" for f in $files; do echo "$f: $func_name -> $ctr_name"; sed -i "s#${func_name}(#${generic_func}(${ctr_name}, #g" $f done; done < /tmp/hello grep -r -l "void ${generic_func}" | xargs sed -i "/void ${generic_func}(CTR/d" grep -r -l "$define_pattern" | xargs sed -i "/$define_pattern/d" """ Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed --- M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp 5 files changed, 10 insertions(+), 22 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.h b/src/bts.h index 471ac2e..5090f58 100644 --- a/src/bts.h +++ b/src/bts.h @@ -320,12 +320,6 @@ /* * Statistics */ - void rlc_dl_bytes(int bytes); - void rlc_dl_payload_bytes(int bytes); - void rlc_ul_bytes(int bytes); - void rlc_ul_payload_bytes(int bytes); - void llc_dl_bytes(int bytes); - void llc_ul_bytes(int bytes); void ms_present(int32_t n); int32_t ms_present_get(); @@ -336,6 +330,7 @@ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; void do_rate_ctr_inc(unsigned int ctr_id); + void do_rate_ctr_add(unsigned int ctr_id, int inc); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -409,17 +404,10 @@ rate_ctr_inc(&m_ratectrs->ctr[ctr_id]); } -#define CREATE_COUNT_ADD_INLINE(func_name, ctr_name) \ - inline void BTS::func_name(int inc) {\ - rate_ctr_add(&m_ratectrs->ctr[ctr_name], inc); \ - } +inline void BTS::do_rate_ctr_add(unsigned int ctr_id, int inc) { + rate_ctr_add(&m_ratectrs->ctr[ctr_id], inc); +} -CREATE_COUNT_ADD_INLINE(rlc_dl_bytes, CTR_RLC_DL_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_dl_payload_bytes, CTR_RLC_DL_PAYLOAD_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_ul_bytes, CTR_RLC_UL_BYTES); -CREATE_COUNT_ADD_INLINE(rlc_ul_payload_bytes, CTR_RLC_UL_PAYLOAD_BYTES); -CREATE_COUNT_ADD_INLINE(llc_dl_bytes, CTR_LLC_DL_BYTES); -CREATE_COUNT_ADD_INLINE(llc_ul_bytes, CTR_LLC_UL_BYTES); #define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \ inline void BTS::func_name(int32_t val) {\ diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 6a53468..3db3365 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -444,7 +444,7 @@ if (!msg) return -ENOMEM; /* msg is now available */ - bts->bts->rlc_dl_bytes(msg->data_len); + bts->bts->do_rate_ctr_add(CTR_RLC_DL_BYTES, msg->data_len); /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); diff --git a/src/pdch.cpp b/src/pdch.cpp index 202f642..fb02d59 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -759,7 +759,7 @@ return -EINVAL; } - bts()->rlc_ul_bytes(len); + bts()->do_rate_ctr_add(CTR_RLC_UL_BYTES, len); LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 5197717..dab1e29 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -630,14 +630,14 @@ &m_llc, &write_offset, &num_chunks, data, is_final, &payload_written); if (payload_written > 0) - bts->rlc_dl_payload_bytes(payload_written); + bts->do_rate_ctr_add(CTR_RLC_DL_PAYLOAD_BYTES, payload_written); if (ar == Encoding::AR_NEED_MORE_BLOCKS) break; LOGPTBFDL(this, LOGL_DEBUG, "Complete DL frame, len=%d\n", m_llc.frame_length()); gprs_rlcmac_dl_bw(this, m_llc.frame_length()); - bts->llc_dl_bytes(m_llc.frame_length()); + bts->do_rate_ctr_add(CTR_LLC_DL_BYTES, m_llc.frame_length()); m_llc.reset(); if (is_final) { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 90cbf8d..fee9919 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -92,7 +92,7 @@ frame = frames + i; if (frame->length) { - bts->rlc_ul_payload_bytes(frame->length); + bts->do_rate_ctr_add(CTR_RLC_UL_PAYLOAD_BYTES, frame->length); LOGPTBFUL(this, LOGL_DEBUG, "Frame %d " "starts at offset %d, " @@ -108,7 +108,7 @@ /* send frame to SGSN */ LOGPTBFUL(this, LOGL_DEBUG, "complete UL frame len=%d\n", m_llc.frame_length()); snd_ul_ud(); - bts->llc_ul_bytes(m_llc.frame_length()); + bts->do_rate_ctr_add(CTR_LLC_UL_BYTES, m_llc.frame_length()); m_llc.reset(); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I966221d6f9fb9bb4f6068bf45ca2978008a0efed Gerrit-Change-Number: 18227 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:19:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:19:08 +0000 Subject: Change in osmo-pcu[master]: bts: Drop specific functions to add values to stats In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18228 ) Change subject: bts: Drop specific functions to add values to stats ...................................................................... bts: Drop specific functions to add values to stats Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a --- M src/bts.h M src/gprs_ms_storage.cpp 2 files changed, 11 insertions(+), 25 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.h b/src/bts.h index 5090f58..15dd482 100644 --- a/src/bts.h +++ b/src/bts.h @@ -263,6 +263,10 @@ CTR_EGPRS_UL_MCS9, }; +enum { + STAT_MS_PRESENT, +}; + #ifdef __cplusplus /** * I represent a GSM BTS. I have one or more TRX, I know the current @@ -271,10 +275,6 @@ */ struct BTS { public: - enum { - STAT_MS_PRESENT, - }; - BTS(); ~BTS(); void cleanup(); @@ -318,19 +318,13 @@ const uint8_t *data, unsigned int len); /* - * Statistics - */ - - void ms_present(int32_t n); - int32_t ms_present_get(); - - /* * Below for C interface for the VTY */ struct rate_ctr_group *rate_counters() const; struct osmo_stat_item_group *stat_items() const; void do_rate_ctr_inc(unsigned int ctr_id); void do_rate_ctr_add(unsigned int ctr_id, int inc); + void stat_item_add(unsigned int stat_id, int inc); LListHead& ul_tbfs(); LListHead& dl_tbfs(); @@ -408,18 +402,10 @@ rate_ctr_add(&m_ratectrs->ctr[ctr_id], inc); } - -#define CREATE_STAT_INLINE(func_name, func_name_get, stat_name) \ - inline void BTS::func_name(int32_t val) {\ - osmo_stat_item_set(m_statg->items[stat_name], val); \ - } \ - inline int32_t BTS::func_name_get() {\ - return osmo_stat_item_get_last(m_statg->items[stat_name]); \ - } - -CREATE_STAT_INLINE(ms_present, ms_present_get, STAT_MS_PRESENT); - -#undef CREATE_STAT_INLINE +inline void BTS::stat_item_add(unsigned int stat_id, int inc) { + int32_t val = osmo_stat_item_get_last(m_statg->items[stat_id]); + osmo_stat_item_set(m_statg->items[stat_id], val + inc); +} #endif diff --git a/src/gprs_ms_storage.cpp b/src/gprs_ms_storage.cpp index 04518c5..19b6e1c 100644 --- a/src/gprs_ms_storage.cpp +++ b/src/gprs_ms_storage.cpp @@ -55,7 +55,7 @@ { llist_del(&ms->list()); if (m_bts) - m_bts->ms_present(m_bts->ms_present_get() - 1); + m_bts->stat_item_add(STAT_MS_PRESENT, -1); if (ms->is_idle()) delete ms; } @@ -102,7 +102,7 @@ ms->set_callback(this); llist_add(&ms->list(), &m_list); if (m_bts) - m_bts->ms_present(m_bts->ms_present_get() + 1); + m_bts->stat_item_add(STAT_MS_PRESENT, 1); return ms; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I877a9c9a35b6c94c3dd6b1ab3019bc57f6c8568a Gerrit-Change-Number: 18228 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:30:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:30:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 to look at the new patch set (#3). Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... pcu: use correct RA type to properly test 2phase access Old code was not setting Single Block Packet Access type, and 2phase access was not properly triggered. Once it's triggered, message flow changes quite a lot from the 1phase access, specially because the 2nd Ul Assignment arrives through PDCH instead of CCCH, which means a different record is received and hence code for 1phase cannot be easily re-used. For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive the only required tfi param instead of a full dl_block. Some functions are also extended to support SingleBlock Allocation instead of usual DynamicAllocation. Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 152 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/18239/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:32:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 11:32:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 to look at the new patch set (#4). Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... pcu: use correct RA type to properly test 2phase access Old code was not setting Single Block Packet Access type, and 2phase access was not properly triggered. Once it's triggered, message flow changes quite a lot from the 1phase access, specially because the 2nd Ul Assignment arrives through PDCH instead of CCCH, which means a different record is received and hence code for 1phase cannot be easily re-used. For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive the only required tfi param instead of a full dl_block. Some functions are also extended to support SingleBlock Allocation instead of usual DynamicAllocation. Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 152 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/18239/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:33:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 11:33:06 +0000 Subject: Change in libosmo-abis[master]: WIP: unixsocket: Add support for TRAU frames References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18248 ) Change subject: WIP: unixsocket: Add support for TRAU frames ...................................................................... WIP: unixsocket: Add support for TRAU frames Change-Id: I4baa02f061cc05c8364dc7169cd9b70f07b0615a --- M include/osmocom/abis/unixsocket_proto.h M src/input/unixsocket.c 2 files changed, 52 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/48/18248/1 diff --git a/include/osmocom/abis/unixsocket_proto.h b/include/osmocom/abis/unixsocket_proto.h index 25718ff..08e511e 100644 --- a/include/osmocom/abis/unixsocket_proto.h +++ b/include/osmocom/abis/unixsocket_proto.h @@ -11,6 +11,7 @@ * * data: | 0x1 | 0x0 | lapd ..| * control: | 0x1 | 0x1 | control payload | + * traffic: | 0x1 | 0x2 | timeslot | rae E1 bitstream data | * * Atm there is only one control packet: * - set_altc (superchannel or timeslot) @@ -26,6 +27,7 @@ enum { UNIXSOCKET_PROTO_DATA = 0x0, UNIXSOCKET_PROTO_CONTROL = 0x1, + UNIXSOCKET_PROTO_TRAFFIC = 0x2, }; #endif /* UNIXSOCKET_PROTO_H */ diff --git a/src/input/unixsocket.c b/src/input/unixsocket.c index cfb4979..c99b801 100644 --- a/src/input/unixsocket.c +++ b/src/input/unixsocket.c @@ -80,6 +80,7 @@ { struct e1inp_line *line = bfd->data; struct msgb *msg = msgb_alloc(UNIXSOCKET_ALLOC_SIZE, "UNIXSOCKET TS"); + uint8_t ts_nr; uint8_t version; uint8_t controldata; int ret; @@ -117,11 +118,19 @@ switch (controldata) { case UNIXSOCKET_PROTO_DATA: + /* FIXME: don't blindly assume TS0 is the signaling slot */ return e1inp_rx_ts_lapd(&line->ts[0], msg); case UNIXSOCKET_PROTO_CONTROL: LOGPIL(line, DLMI, LOGL_ERROR, "received (invalid) control message."); ret = -1; break; + case UNIXSOCKET_PROTO_TRAFFIC: + ts_nr = msgb_pull_u8(msg); + if (ts_nr >= line->num_ts) { + ret = -1; + } else + return e1inp_rx_ts(&line->ts[ts_nr], msg, 0, 0); + break; default: LOGPIL(line, DLMI, LOGL_ERROR, "received invalid message."); ret = -1; @@ -143,29 +152,52 @@ static int unixsocket_write_cb(struct osmo_fd *bfd) { struct e1inp_line *line = bfd->data; - struct e1inp_ts *e1i_ts = &line->ts[0]; - struct msgb *msg; - struct e1inp_sign_link *sign_link; + int i; bfd->when &= ~BSC_FD_WRITE; - /* get the next msg for this timeslot */ - msg = e1inp_tx_ts(e1i_ts, &sign_link); - if (!msg) { - /* no message after tx delay timer */ - LOGPITS(e1i_ts, DLINP, LOGL_INFO, "no message available (line=%p)\n", line); - return 0; + for (i = 0; i < line->num_ts; i++) { + struct e1inp_ts *e1i_ts = &line->ts[i]; + struct e1inp_sign_link *sign_link; + struct msgb *msg; + int rc; + + /* get the next msg for this timeslot */ + msg = e1inp_tx_ts(e1i_ts, &sign_link); + if (!msg) { + /* no message after tx delay timer */ + LOGPITS(e1i_ts, DLINP, LOGL_INFO, "no message available (line=%p)\n", line); + continue; + } + + LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "sending: %s (line=%p)\n", msgb_hexdump(msg), line); + switch (e1i_ts->type) { + case E1INP_TS_TYPE_SIGN: + lapd_transmit(e1i_ts->lapd, sign_link->tei, sign_link->sapi, msg); + /* set tx delay timer for next event */ + osmo_timer_setup(&e1i_ts->sign.tx_timer, timeout_ts1_write, e1i_ts); + osmo_timer_schedule(&e1i_ts->sign.tx_timer, 0, e1i_ts->sign.delay); + break; + case E1INP_TS_TYPE_RAW: + msgb_push_u8(msg, i); /* timeslot number */ + msgb_push_u8(msg, UNIXSOCKET_PROTO_TRAFFIC); + msgb_push_u8(msg, UNIXSOCKET_PROTO_VERSION); + rc = write(bfd->fd, msg->data, msg->len); + if (rc < msg->len) { + LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "write returne d%d instead of %d\n", + rc, msg->len); + msgb_free(msg); + return 0; + } + msgb_free(msg); + break; + default: + LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "unsupported timeslot type %s\n", + e1inp_tstype_name(e1i_ts->type)); + break; + } } - /* set tx delay timer for next event */ - osmo_timer_setup(&e1i_ts->sign.tx_timer, timeout_ts1_write, e1i_ts); - - osmo_timer_schedule(&e1i_ts->sign.tx_timer, 0, e1i_ts->sign.delay); - - LOGPITS(e1i_ts, DLINP, LOGL_DEBUG, "sending: %s (line=%p)\n", msgb_hexdump(msg), line); - lapd_transmit(e1i_ts->lapd, sign_link->tei, - sign_link->sapi, msg); - return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I4baa02f061cc05c8364dc7169cd9b70f07b0615a Gerrit-Change-Number: 18248 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:33:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 11:33:06 +0000 Subject: Change in libosmo-abis[master]: WIP: trau_frame: New API References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18249 ) Change subject: WIP: trau_frame: New API ...................................................................... WIP: trau_frame: New API Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/osmocom/abis/trau_frame.h M src/trau_frame.c 2 files changed, 1,295 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/1 diff --git a/include/osmocom/abis/trau_frame.h b/include/osmocom/abis/trau_frame.h index 0f3d1d2..f14b439 100644 --- a/include/osmocom/abis/trau_frame.h +++ b/include/osmocom/abis/trau_frame.h @@ -21,6 +21,7 @@ */ #include +#include #include /*! \defgroup trau_frame TRAU frame handling @@ -29,6 +30,10 @@ * \file trau_frame.h */ +/********************************************************************************* + * Old API + *********************************************************************************/ + /*! \brief Maximum number of C-bits in a TRAU frame: * 21 for FR/EFR, 25 for AMR, 15 for OM, 15 for data, 13 for E-data, 21 idle */ #define MAX_C_BITS 25 @@ -41,6 +46,8 @@ #define MAX_S_BITS 6 /*! \brief Maximum number of M-bits in a TRAU frame for E-data */ #define MAX_M_BITS 2 +/*! \brief Maximum number of XC-bits in a TRAU frame for 8k */ +#define MAX_XC_BITS 6 /*! \brief a decoded TRAU frame, extracted C/D/T/S/M bits */ struct decoded_trau_frame { @@ -51,6 +58,7 @@ ubit_t m_bits[MAX_M_BITS]; }; +/*! 16k sub-slot types: Bits C1..C5 */ #define TRAU_FT_FR_UP 0x02 /* 0 0 0 1 0 - 3.5.1.1.1 */ #define TRAU_FT_HR_UP 0x03 /* 0 0 0 1 1 - TS 08.61 5.1.4.1.1 */ #define TRAU_FT_FR_DOWN 0x1c /* 1 1 1 0 0 - 3.5.1.1.1 */ @@ -62,12 +70,19 @@ #define TRAU_FT_DATA_UP 0x08 /* 0 1 0 0 0 - 3.5.3 */ #define TRAU_FT_DATA_UP_HR 0x09 /* 0 1 0 0 1 - TS 08.61 5.1.4.2 */ #define TRAU_FT_DATA_DOWN 0x16 /* 1 0 1 1 0 - 3.5.3 */ -#define TRAU_FT_DATA_DOWN_HR 0x17 /* 0 1 0 0 1 - TS 08.61 5.1.4.2 */ +#define TRAU_FT_DATA_DOWN_HR 0x17 /* 1 0 1 1 1 - TS 08.61 5.1.4.2 */ #define TRAU_FT_D145_SYNC 0x14 /* 1 0 1 0 0 - 3.5.3 */ #define TRAU_FT_EDATA 0x1f /* 1 1 1 1 1 - 3.5.4 */ #define TRAU_FT_IDLE_UP 0x10 /* 1 0 0 0 0 - 3.5.5 */ #define TRAU_FT_IDLE_DOWN 0x0e /* 0 1 1 1 0 - 3.5.5 */ +/* 8k sub-slot types: Bits C1..C5*/ +#define TRAU8_FT_SPEECH_UP 0x02 /* 0 0 0 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_DATA_UP 0x06 /* 0 0 1 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_OM_UP 0x0a /* 0 1 0 1 P - TS 08.61 5.2.4.1.1 */ +#define TRAU8_FT_SPEECH_DOWN 0x00 /* 0 0 0 U P - TS 08.61 5.2.4.1.2 */ +#define TRAU8_FT_DATA_DOWN 0x04 /* 0 0 1 U P - TS 08.61 5.2.4.1.2 */ +#define TRAU8_FT_OM_DOWN 0x08 /* 0 1 0 U P - TS 08.61 5.2.4.1.2 */ int decode_trau_frame(struct decoded_trau_frame *fr, const ubit_t *trau_bits); int encode_trau_frame(ubit_t *trau_bits, const struct decoded_trau_frame *fr); @@ -75,6 +90,74 @@ ubit_t *trau_idle_frame(void); + +/********************************************************************************* + * New API + *********************************************************************************/ + +enum osmo_trau_frame_type { + OSMO_TRAU16_FT_NONE, + OSMO_TRAU16_FT_FR = 1, + OSMO_TRAU16_FT_HR, + OSMO_TRAU16_FT_EFR, + OSMO_TRAU16_FT_AMR, + OSMO_TRAU16_FT_OAM, + OSMO_TRAU16_FT_DATA, + OSMO_TRAU16_FT_EDATA, + OSMO_TRAU16_FT_D145_SYNC, + OSMO_TRAU16_FT_DATA_HR, + OSMO_TRAU16_FT_IDLE, + + OSMO_TRAU8_SPEECH, + OSMO_TRAU8_DATA, + OSMO_TRAU8_OAM, + OSMO_TRAU8_AMR_LOW, + OSMO_TRAU8_AMR_6k7, + OSMO_TRAU8_AMR_7k4, +}; + +enum osmo_trau_frame_direction { + OSMO_TRAU_DIR_UL = 0, + OSMO_TRAU_DIR_DL = 1, +}; + +struct osmo_trau_frame { + enum osmo_trau_frame_type type; + enum osmo_trau_frame_direction dir; + + ubit_t c_bits[MAX_C_BITS]; + ubit_t d_bits[MAX_D_BITS]; + ubit_t t_bits[MAX_T_BITS]; + ubit_t s_bits[MAX_S_BITS]; + ubit_t m_bits[MAX_M_BITS]; + ubit_t ufi; /*!< Unreliable Frame Indication (HR) */ + ubit_t crc_bits[3]; /*!< CRC0..CRC2 (HR) */ + ubit_t xc_bits[MAX_XC_BITS]; /*!< XC1..XC6 (8k) */ +}; + +/*! decode an 8k TRAU frame + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked input bits + * \param[in] dir direction + * \return 0 on success; negative in case of error */ +int osmo_trau_frame_decode_8k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir); + +/*! decode an 16k TRAU frame + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked input bits + * \param[in] dir direction + * \return 0 on success; negative in case of error */ +int osmo_trau_frame_decode_16k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir); + +/*! encode a TRAU frame + * \param[out] bits caller-allocated memory for unpacked output bits + * \param[out] fr input data structure describing TRAU frame + * \return number of bits encoded */ +int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr); + + /* }@ */ #endif /* _TRAU_FRAME_H */ diff --git a/src/trau_frame.c b/src/trau_frame.c index bc6c5bf..c990c1d 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -1,4 +1,4 @@ -/* TRAU frame handling according to GSM TS 08.60 */ +/* TRAU frame handling according to GSM TS 08.60 + 08.61 */ /* (C) 2009,2020 by Harald Welte * All Rights Reserved @@ -37,6 +37,10 @@ * \file trau_frame.c */ +/********************************************************************************* + * Old API; introduced in 2009 for original bs11_abis/OsmoNITB + *********************************************************************************/ + static uint32_t get_bits(const ubit_t *bitbuf, int offset, int num) { int i; @@ -480,4 +484,1210 @@ return encoded_idle_frame; } +/********************************************************************************* + * New API; introduced in 2020 for use by osmo-mgw + *********************************************************************************/ + +/* 16k sub-slots */ +static const ubit_t ft_fr_up_bits[5] = { 0, 0, 0, 1, 0 }; +static const ubit_t ft_data_up_bits[5] = { 0, 1, 0, 0, 0 }; +static const ubit_t ft_idle_up_bits[5] = { 1, 0, 0, 0, 0 }; +static const ubit_t ft_efr_bits[5] = { 1, 1, 0, 1, 0 }; +static const ubit_t ft_amr_bits[5] = { 0, 0, 1, 1, 0 }; +static const ubit_t ft_oam_up_bits[5] = { 0, 0, 1, 0, 1 }; +static const ubit_t ft_oam_down_bits[5] = { 1, 1, 0, 1, 1 }; +static const ubit_t ft_d145s_bits[5] = { 1, 0, 1, 0, 0 }; +static const ubit_t ft_edata_bits[5] = { 1, 1, 1, 1, 1 }; + +/* 8k sub-slots */ +static const ubit_t ft_hr_up_bits[5] = { 0, 0, 0, 1, 1 }; +static const ubit_t ft_hr_down_bits[5] = { 1, 1, 1, 0, 1 }; +static const ubit_t ft_data_hr_up_bits[5] = { 0, 1, 0, 0, 1 }; +static const ubit_t ft_data_hr_down_bits[5] = { 1, 0, 1, 1, 1 }; + + +/* generate the sync pattern described in TS 08.60 4.8.1 */ +static void encode_sync16(ubit_t *trau_bits) +{ + int i; + + /* 16 '0' bits in header */ + memset(trau_bits, 0, 16); + /* '1'-bit in regular intervals */ + for (i = 16; i < 40*8; i += 16) + trau_bits[i] = 1; +} + +/* TS 08.60 Section 3.1.1 */ +static int encode16_fr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i; + int d_idx = 0; + + switch (fr->type) { + case OSMO_TRAU16_FT_IDLE: + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_idle_up_bits; + else + cbits5 = ft_idle_down_bits; + break; + case OSMO_TRAU16_FT_FR: + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_fr_up_bits; + else + cbits5 = ft_fr_down_bits; + break; + case OSMO_TRAU16_FT_EFR: + cbits5 = ft_efr_bits; + break; + default: + return -EINVAL; + } + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5 + 0, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + /* D1 .. D255 */ + for (i = 32; i < 304; i += 16) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + d_idx += 15; + } + /* D256 .. D260 */ + trau_bits[304] = 1; + memcpy(trau_bits + 305, fr->d_bits + d_idx, 5); + /* C16 .. C21 */ + memcpy(trau_bits + 310, fr->c_bits + 15, 6); + + /* FIXME: handle timing adjustment */ + + /* T1 .. T4 */ + memcpy(trau_bits + 316, fr->t_bits+0, 4); + + return 40 * 8; +} + +/* TS 08.60 Section 3.1.1 */ +static int decode16_fr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i; + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C21 */ + memcpy(fr->c_bits + 15, trau_bits + 310, 6); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 316, 4); + /* D1 .. D255 */ + for (i = 32; i < 304; i+= 16) { + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + d_idx += 15; + } + /* D256 .. D260 */ + memcpy(fr->d_bits + d_idx, trau_bits + 305, 5); + + return 0; +} + +/* TS 08.60 Section 3.1.2 */ +static int encode16_amr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5 = ft_amr_bits; + int i, d_idx; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5 + 0, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + trau_bits[32] = 1; + /* C16 .. C25 */ + memcpy(trau_bits + 33, fr->c_bits + 15, 10); + /* D1 .. D5 */ + memcpy(trau_bits + 43, fr->d_bits + 0, 5); + + /* D6 .. D256 */ + for (i = 48, d_idx = 5; i <= 315; i += 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + } + + /* FIXME: handle timing adjustment */ + + /* T1 .. T4 */ + memcpy(trau_bits + 316, fr->t_bits + 0, 4); + + return 40 * 8; +} + +/* TS 08.60 Section 3.1.2 */ +static int decode16_amr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i; + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C25 */ + memcpy(fr->c_bits + 15, trau_bits + 33, 10); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 316, 4); + /* D1 .. D5 */ + memcpy(fr->d_bits, trau_bits + 43, 5); + d_idx += 5; + /* D6 .. D245 */ + for (i = 48; i < 304; i += 16) { + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + d_idx += 15; + } + /* D246 .. D256 */ + memcpy(fr->d_bits + d_idx, trau_bits + 305, 11); + + return 0; +} + +/* TS 08.60 Section 3.2 */ +static int encode16_oam(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_oam_up_bits; + else + cbits5 = ft_oam_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits, 15 - 5); + + /* D1 .. D255 */ + for (i = 32, d_idx = 0; i < 304; i += 16, d_idx += 15) { + trau_bits[i] = 1; + memcpy(trau_bits + i + 1, fr->d_bits + d_idx, 15); + } + /* D256 .. D264 */ + memcpy(trau_bits + 305, fr->d_bits + 256, 9); + + /* S1 .. S6 */ + memcpy(trau_bits + 314, fr->s_bits, 6); + + return 40 * 8; +} + +/* TS 08.60 Section 3.2 */ +static int decode16_oam(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + + /* D1 .. D255 */ + for (i = 33, d_idx = 0; i < 312; i+= 16, d_idx += 15) + memcpy(fr->d_bits + d_idx, trau_bits + i + 1, 15); + /* D256 .. D264 */ + memcpy(fr->d_bits+d_idx, trau_bits + 305, 9); + + /* S1 .. S6 */ + memcpy(fr->s_bits, trau_bits + 314, 6); + + return 0; +} + +/* TS 08.61 Section 5.1.1.1 */ +static int encode16_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int d_idx = 0; + const ubit_t *cbits5; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_hr_up_bits; + else + cbits5 = ft_hr_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 10); + + /* UFI */ + trau_bits[33] = fr->ufi; + + /* D1 .. D14 */ + memcpy(trau_bits + 4 * 8 + 2, fr->d_bits+d_idx, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(trau_bits + 6 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(trau_bits + 8 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* CRC */ + memcpy(trau_bits + 10 * 8 + 1, fr->crc_bits, 3); + /* D45 .. D56 */ + memcpy(trau_bits + 10 * 8 + 4, fr->d_bits+d_idx, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(trau_bits + 12 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(trau_bits + 14 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(trau_bits + 16 * 8 + 1, fr->d_bits+d_idx, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(trau_bits + 18 * 8 + 1, fr->d_bits+d_idx, 11); d_idx += 11; + + memset(trau_bits + 19 * 8 + 4, 0x01, 4 + 18 * 8 + 6); + /* C16 .. C21 */ + memcpy(trau_bits + 38 * 8 + 6, fr->c_bits + 15, 6); + + /* FIXME: handle timing adjustment */ + /* T1 .. T4 */ + memcpy(trau_bits + 39 * 8 + 4, fr->t_bits, 4); + + return 40 * 8; +} + +/* TS 08.61 Section 5.1.1.1 */ +static int decode16_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + /* C16 .. C21 */ + memcpy(fr->c_bits + 15, trau_bits + 38 * 8 + 6, 6); + /* T1 .. T4 */ + memcpy(fr->t_bits + 0, trau_bits + 39 * 8 + 4, 4); + + /* UFI */ + fr->ufi = trau_bits[33]; + /* D1 .. D14 */ + memcpy(fr->d_bits + d_idx, trau_bits + 4 * 8 + 2, 14); d_idx += 14; + /* D15 .. D29 */ + memcpy(fr->d_bits + d_idx, trau_bits + 6 * 8 + 1, 15); d_idx += 15; + /* D30 .. D44 */ + memcpy(fr->d_bits + d_idx, trau_bits + 8 * 8 + 1, 15); d_idx += 15; + /* CRC0..2 */ + memcpy(fr->crc_bits, trau_bits + 10 * 8 + 1, 3); + /* D45 .. D56 */ + memcpy(fr->d_bits + d_idx, trau_bits + 10 * 8 + 4, 12); d_idx += 12; + /* D57 .. D71 */ + memcpy(fr->d_bits + d_idx, trau_bits + 12 * 8 + 1, 15); d_idx += 15; + /* D72 .. D86 */ + memcpy(fr->d_bits + d_idx, trau_bits + 14 * 8 + 1, 15); d_idx += 15; + /* D87 .. D101 */ + memcpy(fr->d_bits + d_idx, trau_bits + 16 * 8 + 1, 15); d_idx += 15; + /* D102 .. D112 */ + memcpy(fr->d_bits + d_idx, trau_bits + 18 * 8 + 1, 11); d_idx += 11; + + return 0; +} + +/* TS 08.60 Section 3.4 */ +static int encode16_idle(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + memcpy(trau_bits, trau_idle_frame(), 40*8); + return 40 * 8; +} + +/* TS 08.60 Section 3.3.1 */ +static int decode16_data(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits + 0, trau_bits + 17, 15); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (4 + i) * 8 + 1, 7); + d_idx += 7; + } + /* D64 .. D126 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (13 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D127 .. D189 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (22 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D190 .. D252 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (31 + i) * 8 + 1, 7); + d_idx += 7; + } + + return 0; +} + +/* TS 08.60 Section 3.3.1 */ +static int encode16_data(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx = 0; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_data_up_bits; + else + cbits5 = ft_data_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (4 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D64 .. D126 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (13 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D127 .. D189 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (22 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D190 .. D252 */ + for (i = 0; i < 9; i++) { + unsigned int offset = (31 + i) * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + return 40 * 8; +} + +/* TS 08.60 3.3.2 */ +static int decode16_edata(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + /* C1 .. C13 */ + memcpy(fr->c_bits, trau_bits + 17, 13); + + /* M1 .. M2 */ + memcpy(fr->m_bits, trau_bits + 30, 2); + + /* D1 .. D288 */ + memcpy(fr->d_bits, trau_bits + 4 * 8, 288); + + return 0; +} + +/* TS 08.60 Section 3.3.2 */ +static int encode16_edata(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + + if (fr->type == OSMO_TRAU16_FT_D145_SYNC) + cbits5 = ft_d145s_bits; + else + cbits5 = ft_edata_bits; + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + + /* C6 .. C13 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 8); + + /* M1 .. M2 */ + memcpy(trau_bits + 30, fr->m_bits, 2); + + /* D1 .. D288 */ + memcpy(trau_bits + 4 * 8, fr->d_bits, 288); + + return 40 * 8; +} + +/* TS 08.61 Section 5.1.2 */ +static int decode16_data_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C15 */ + memcpy(fr->c_bits+0, trau_bits + 17, 15); + + /* D1 .. D63 */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (4 + i) * 8 + 1, 7); + d_idx += 7; + } + + /* D'1 .. D'63 (mapped to D64..D127) */ + for (i = 0; i < 9; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + (22 + i) * 8 + 1, 7); + d_idx += 7; + } + + return 0; +} + +/* TS 08.61 Section 5.1.2 */ +static int encode16_data_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + const ubit_t *cbits5; + int i, d_idx = 0; + + if (fr->dir == OSMO_TRAU_DIR_UL) + cbits5 = ft_data_hr_up_bits; + else + cbits5 = ft_data_hr_down_bits; + + encode_sync16(trau_bits); + + /* C1 .. C5 */ + memcpy(trau_bits + 17, cbits5, 5); + /* C6 .. C15 */ + memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5); + + /* D1 .. D63 */ + for (i = 4; i < 4 + 9; i++) { + unsigned int offset = i * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + memset(trau_bits + 13*8, 1, 9*8); + + /* D'1 .. D'63 (mapped to D64..D127) */ + for (i = 22; i < 22 + 9; i++) { + unsigned int offset = i * 8; + trau_bits[offset] = 1; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + memset(trau_bits + 31*8, 1, 9*8); + + return 40 * 8; +} + +/* TS 08.61 Section 5.2.1.1 */ +static int decode8_hr(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 9, 5); + /* XC1 .. XC2 */ + memcpy(fr->xc_bits, trau_bits + 8 + 6, 2); + /* XC3 .. XC6 */ + memcpy(fr->xc_bits + 2, trau_bits + 2 * 8 + 2, 4); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + + /* D1 .. D44 */ + for (i = 3; i < 3 + 6; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + + /* CRC0 .. CRC2 */ + fr->crc_bits[2] = trau_bits[82]; + fr->crc_bits[1] = trau_bits[83]; + fr->crc_bits[0] = trau_bits[84]; + + /* D45 .. D48 */ + memcpy(fr->d_bits + d_idx, trau_bits + 85, 4); + + /* D49 .. D111 */ + for (i = 10; i < 10 + 10; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + /* D112 */ + fr->d_bits[d_idx++] = trau_bits[19 * 8 + 1]; + + /* C6 .. C9 */ + memcpy(fr->c_bits + 5, trau_bits + 19 * 8 + 2, 4); + + /* FIXME: handle timing adjustment */ + /* T1 .. T2 */ + fr->t_bits[0] = trau_bits[19 * 8 + 6]; + fr->t_bits[1] = trau_bits[19 * 8 + 7]; + + return 0; +} + +/* compute the odd parity bit of the given input bit sequence */ +static ubit_t compute_odd_parity(const ubit_t *in, unsigned int num_bits) +{ + int i; + unsigned int sum = 0; + + for (i = 0; i < num_bits; i++) { + if (in[i]) + sum++; + } + + if (sum % 1) + return 0; + else + return 1; +} + +/* TS 08.61 Section 5.2.1.1 */ +static int encode8_hr(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[8] = 1; + trau_bits[16] = 0; + trau_bits[17] = 1; + for (i = 3; i < 20; i++) + trau_bits[i * 8] = 1; + + /* C1 .. C5 */ + ubit_t *cbits_out = trau_bits + 1 * 8 + 1; + if (fr->dir == OSMO_TRAU_DIR_UL) { + cbits_out[0] = 0; + cbits_out[1] = 0; + cbits_out[2] = 0; + cbits_out[3] = 1; + cbits_out[4] = 1; + } else { + cbits_out[0] = 0; + cbits_out[1] = 0; + cbits_out[2] = 0; + cbits_out[3] = fr->c_bits[3]; + cbits_out[4] = compute_odd_parity(cbits_out, 4); + } + + /* XC1 .. XC2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->xc_bits, 2); + /* XC3 .. XC6 */ + memcpy(trau_bits + 2 * 8 + 2, fr->xc_bits, 4); + /* D1 .. D2 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits, 2); + d_idx += 2; + + /* D1 .. D44 */ + for (i = 3; i < 3 + 6; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + }; + + /* CRC0 .. CRC2 */ + trau_bits[82] = fr->crc_bits[2]; + trau_bits[83] = fr->crc_bits[1]; + trau_bits[84] = fr->crc_bits[0]; + + /* D49 .. D111 */ + for (i = 10; i < 10 + 10; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D112 */ + trau_bits[19 * 8 + 1] = fr->d_bits[d_idx++]; + + /* C6 .. C9 */ + memcpy(trau_bits + 19 * 8 + 2, fr->c_bits + 5, 4); + + /* FIXME: handle timing adjustment */ + /* T1 .. T2 */ + trau_bits[19 * 8 + 6] = fr->t_bits[0]; + trau_bits[19 * 8 + 7] = fr->t_bits[1]; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.1.2.1 */ +static int decode8_amr_low(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* D1 .. D7 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 5); + /* D8 .. D9 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + /* D10 .. D15 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3 * 8 + 2, 6); + d_idx += 6; + /* D16 .. D120 */ + for (i = 4; i < 19; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 7); + d_idx += 7; + } + /* D121 .. D126 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 6; + + /* FIXME: handle timing adjustment */ + /* T1 */ + fr->t_bits[0] = trau_bits[19 * 8 + 7]; + + return 0; +} + +/* TS 08.61 Section 5.2.1.2.1 */ +static int encode8_amr_low(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[8] = 1; + trau_bits[16] = 1; + trau_bits[24] = 0; + trau_bits[25] = 1; + for (i = 4; i < 20; i++) + trau_bits[i * 8] = 1; + + /* D1 .. D7 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1 .. C5 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 5); + /* D8 .. D9 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D10 .. D15 */ + memcpy(trau_bits + 3 * 8 + 2, fr->d_bits + d_idx, 6); + d_idx += 6; + /* D16 .. D120 */ + for (i = 4; i < 19; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D121 .. D126 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 6; + + /* T1 */ + trau_bits[19 * 8 + 7] = fr->t_bits[0]; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.1.2.2 */ +static int decode8_amr_67(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* D1 .. D7 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1 .. C3 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 3); + /* D8 .. D11 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 4, 4); + d_idx += 4; + /* D12 .. D39 */ + for (i = 3; i < 7; i++) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 2, 7); + d_idx += 7; + } + + /* D40 .. D137 */ + for (i = 7; i < 20; i+= 2) { + int offset = i * 8; + memcpy(fr->d_bits + d_idx, trau_bits + offset + 1, 15); + d_idx += 15; + } + + return 0; +} + +/* TS 08.61 Section 5.1.2.2 */ +static int encode8_amr_67(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8] = 1; + trau_bits[2 * 8] = 1; + trau_bits[3 * 8] = 1; + trau_bits[4 * 8] = 1; + trau_bits[5 * 8] = 0; + for (i = 5; i < 20; i += 2) + trau_bits[i * 8] = 1; + + /* D1 .. D7 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1 .. C3 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 3); + /* D8 .. D11 */ + memcpy(trau_bits + 2 * 8 + 4, fr->d_bits + d_idx, 4); + d_idx += 4; + /* D12 .. D39 */ + for (i = 3; i < 7; i++) { + int offset = i * 8; + memcpy(trau_bits + offset + 2, fr->d_bits + d_idx, 7); + d_idx += 7; + } + + /* D40 .. D137 */ + for (i = 7; i < 20; i+= 2) { + int offset = i * 8; + memcpy(trau_bits + offset + 1, fr->d_bits + d_idx, 15); + d_idx += 15; + } + + return 20 * 8; +} + +/* TS 08.61 Section 5.1.2.3 */ +static int decode8_amr_74(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int d_idx = 0; + + /* D1 .. D5 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3, 5); + d_idx += 5; + /* D6 .. D12 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 1, 7); + d_idx += 7; + /* C1.. C3 */ + memcpy(fr->c_bits, trau_bits + 2 * 8 + 1, 3); + /* D13 .. D16 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 4, 4); + d_idx += 4; + /* D17 .. D23 */ + memcpy(fr->d_bits + d_idx, trau_bits + 3 * 8 + 1, 7); + d_idx += 7; + /* D24 .. D151 */ + memcpy(fr->d_bits + d_idx, trau_bits + 4 * 8, 16 * 8); + + return 0; +} + +/* TS 08.61 Section 5.1.2.3 */ +static int encode8_amr_74(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int d_idx = 0; + + /* sync pattern */ + trau_bits[0] = 0; + trau_bits[1] = 0; + trau_bits[2] = 1; + trau_bits[1*8] = 0; + trau_bits[2*8] = 1; + trau_bits[3*8] = 0; + + /* D1 .. D5 */ + memcpy(trau_bits + 3, fr->d_bits + d_idx, 5); + d_idx += 5; + /* D6 .. D12 */ + memcpy(trau_bits + 1 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* C1.. C3 */ + memcpy(trau_bits + 2 * 8 + 1, fr->c_bits, 3); + /* D13 .. D16 */ + memcpy(trau_bits + 2 * 8 + 4, fr->d_bits + d_idx, 4); + d_idx += 4; + /* D17 .. D23 */ + memcpy(trau_bits + 3 * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + /* D24 .. D151 */ + memcpy(trau_bits + 4 * 8, fr->d_bits + d_idx, 16 * 8); + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.2 */ +static int decode8_data(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 1 * 8 + 1, 5); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 1 * 8 + 6, 2); + d_idx += 2; + /* D3 .. D8 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 2, 6); + /* D9 .. D57 + D'1 .. D'57 */ + for (i = 3; i < 20; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + i * 8 + 1, 7); + d_idx += 7; + } + /* D'58 .. D'62 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 6; + + return 0; +} + +/* TS 08.61 Section 5.2.2 */ +static int encode8_data(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8] = 1; + trau_bits[2 * 8] = 0; + trau_bits[2 * 8 + 1] = 1; + for (i = 3; i < 19; i++) + trau_bits[i * 8] = 1; + trau_bits[19 * 8 + 7] = 1; + + /* C1 .. C5 */ + memcpy(trau_bits + 1 * 8 + 1, fr->c_bits, 5); + /* D1 .. D2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D3 .. D8 */ + memcpy(trau_bits + 2 * 8 + 2, fr->d_bits + d_idx, 6); + /* D9 .. D57 + D'1 .. D'57 */ + for (i = 3; i < 20; i++) { + memcpy(trau_bits + i * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D'58 .. D'62 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 6; + + return 20 * 8; +} + +/* TS 08.61 Section 5.2.3 */ +static int decode8_oam(struct osmo_trau_frame *fr, const ubit_t *trau_bits, + enum osmo_trau_frame_direction dir) +{ + int i, d_idx = 0; + + /* C1 .. C5 */ + memcpy(fr->c_bits, trau_bits + 1 * 8 + 1, 5); + /* XC1 .. XC2 */ + memcpy(fr->xc_bits, trau_bits + 1 * 8 + 6, 2); + /* XC3 .. XC6 */ + memcpy(fr->xc_bits + 2, trau_bits + 2 * 8 + 2, 4); + /* D1 .. D2 */ + memcpy(fr->d_bits + d_idx, trau_bits + 2 * 8 + 6, 2); + d_idx += 2; + /* D3 .. D114 */ + for (i = 3; i < 19; i++) { + memcpy(fr->d_bits + d_idx, trau_bits + i * 8 + 1, 7); + d_idx += 7; + } + /* D115 .. D120 */ + memcpy(fr->d_bits + d_idx, trau_bits + 19 * 8 + 1, 6); + d_idx += 7; + + return 0; +} + +/* TS 08.61 Section 5.2.3 */ +static int encode8_oam(ubit_t *trau_bits, const struct osmo_trau_frame *fr) +{ + int i, d_idx = 0; + + /* sync pattern */ + memset(trau_bits, 0, 8); + trau_bits[1 * 8 + 0] = 1; + trau_bits[2 * 8 + 0] = 0; + trau_bits[2 * 8 + 1] = 1; + for (i = 3; i < 20; i++) + trau_bits[i * 8] = 1; + + /* C1 .. C5 */ + memcpy(trau_bits + 1 * 8 + 1, fr->c_bits, 5); + /* XC1 .. XC2 */ + memcpy(trau_bits + 1 * 8 + 6, fr->xc_bits, 2); + /* XC3 .. XC6 */ + memcpy(trau_bits + 2 * 8 + 2, fr->xc_bits + 2, 4); + /* D1 .. D2 */ + memcpy(trau_bits + 2 * 8 + 6, fr->d_bits + d_idx, 2); + d_idx += 2; + /* D3 .. D114 */ + for (i = 3; i < 19; i++) { + memcpy(trau_bits + i * 8 + 1, fr->d_bits + d_idx, 7); + d_idx += 7; + } + /* D115 .. D120 */ + memcpy(trau_bits + 19 * 8 + 1, fr->d_bits + d_idx, 6); + d_idx += 7; + + return 20 * 8; +} + + +/*! Encode a TRAU frame from its decoded representation to a sequence of unpacked bits. + * \param[out] bits caller-allocated buffer for unpacked outpud bits + * \param[in] n_bits size of 'bits' oputput buffer in number of unpacked bits + * \param[in] fr decoded representation of TRAU frame to be encoded + * \return 0 number of unpacked output bits generated; negative in case of error */ +int osmo_trau_frame_encode(ubit_t *bits, size_t n_bits, const struct osmo_trau_frame *fr) +{ + switch (fr->type) { + case OSMO_TRAU16_FT_FR: + case OSMO_TRAU16_FT_EFR: + return encode16_fr(bits, fr); + case OSMO_TRAU16_FT_HR: + return encode16_hr(bits, fr); + case OSMO_TRAU16_FT_AMR: + return encode16_amr(bits, fr); + case OSMO_TRAU16_FT_OAM: + return encode16_oam(bits, fr); + case OSMO_TRAU16_FT_IDLE: + return encode16_idle(bits, fr); + case OSMO_TRAU16_FT_DATA_HR: + return encode16_data_hr(bits, fr); + case OSMO_TRAU16_FT_DATA: + return encode16_data(bits, fr); + case OSMO_TRAU16_FT_D145_SYNC: + case OSMO_TRAU16_FT_EDATA: + return encode16_edata(bits, fr); + case OSMO_TRAU8_SPEECH: + return encode8_hr(bits, fr); + case OSMO_TRAU8_DATA: + return encode8_data(bits, fr); + case OSMO_TRAU8_OAM: + return encode8_oam(bits, fr); + case OSMO_TRAU8_AMR_LOW: + return encode8_amr_low(bits, fr); + case OSMO_TRAU8_AMR_6k7: + return encode8_amr_67(bits, fr); + case OSMO_TRAU8_AMR_7k4: + return encode8_amr_74(bits, fr); + case OSMO_TRAU16_FT_NONE: + default: + return -EINVAL; + } +} + +/*! Decode/parse a 16k TRAU frame from unpacked bits to decoded format. + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked bits containing raw TRAU frame; must be aligned + * \param[in] dir direction (uplink/downlink) + * \returns 0 in case of success; negative on error */ +int osmo_trau_frame_decode_16k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir) +{ + uint8_t cbits5 = get_bits(bits, 17, 5); + + fr->type = OSMO_TRAU16_FT_NONE; + fr->dir = dir; + + switch (cbits5) { + case TRAU_FT_FR_UP: + case TRAU_FT_FR_DOWN: + fr->type = OSMO_TRAU16_FT_FR; + return decode16_fr(fr, bits, dir); + case TRAU_FT_IDLE_UP: + case TRAU_FT_IDLE_DOWN: + fr->type = OSMO_TRAU16_FT_IDLE; + return decode16_fr(fr, bits, dir); + case TRAU_FT_EFR: + fr->type = OSMO_TRAU16_FT_EFR; + return decode16_fr(fr, bits, dir); + case TRAU_FT_AMR: + fr->type = OSMO_TRAU16_FT_AMR; + return decode16_amr(fr, bits, dir); + case TRAU_FT_OM_UP: + case TRAU_FT_OM_DOWN: + fr->type = OSMO_TRAU16_FT_OAM; + return decode16_oam(fr, bits, dir); + case TRAU_FT_DATA_UP: + case TRAU_FT_DATA_DOWN: + fr->type = OSMO_TRAU16_FT_DATA; + return decode16_data(fr, bits, dir); + case TRAU_FT_HR_UP: + case TRAU_FT_HR_DOWN: + fr->type = OSMO_TRAU16_FT_HR; + return decode16_hr(fr, bits, dir); + case TRAU_FT_DATA_UP_HR: + case TRAU_FT_DATA_DOWN_HR: + fr->type = OSMO_TRAU16_FT_DATA_HR; + return decode16_data_hr(fr, bits, dir); + case TRAU_FT_EDATA: + fr->type = OSMO_TRAU16_FT_EDATA; + return decode16_edata(fr, bits, dir); + case TRAU_FT_D145_SYNC: + fr->type = OSMO_TRAU16_FT_D145_SYNC; + return decode16_edata(fr, bits, dir); + + default: + return -EINVAL; + } +} + +#define TRAU8_FT_AMR_NO_SPEECH_CMI 0x10 /* 1, 0, 0, 0, 0 */ +#define TRAU8_FT_AMR_NO_SPEECH_CMR 0x14 /* 1, 0, 1, 0, 0 */ +#define TRAU8_FT_AMR_475_515_590 0..7 + +const uint8_t bit8_0[16] = { 0, }; + +/*!< check sync pattern for hr/data/oam */ +static bool is_hr(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.1 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 0 || bits[17] != 1) + return false; + for (i = 24; i < 20 * 8; i += 16) { + if (bits[i] != 1) + return false; + } + return true; +} + + +/*!< check sync pattern for AMR No_Speech + low bit rate */ +static bool is_amr_low(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.2 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 0 || bits[25] != 1) + return false; + for (i = 32; i < 20 * 8; i += 16) { + if (bits[i] != 1) + return false; + } + return true; +} + +/*!< check sync pattern for AMR 6.7kBit/s */ +static bool is_amr_67(const ubit_t *bits) +{ + int i; + + /* TS 08.61 Section 6.8.2.1.3 */ + if (memcmp(bits, bit8_0, sizeof(bit8_0))) + return false; + if (bits[8] != 1) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 1) + return false; + if (bits[32] != 1) + return false; + if (bits[40] != 0) + return false; + for (i = 48; i < 20 * 8; i+= 16) + if (bits[i] != 1) + return false; + + return true; +} + +/*!< check sync pattern for AMR 7.4kBit/s */ +static bool is_amr_74(const ubit_t *bits) +{ + if (bits[0] != 0 || bits[1] != 0 || bits[2] != 0) + return false; + if (bits[8] != 0) + return false; + if (bits[16] != 1) + return false; + if (bits[24] != 0) + return false; + + return true; +} + +/*! Decode/parse a 8k TRAU frame from unpacked bits to decoded format. + * \param[out] fr caller-allocated output data structure + * \param[in] bits unpacked bits containing raw TRAU frame; must be aligned + * \param[in] dir direction (uplink/downlink) + * \returns 0 in case of success; negative on error */ +int osmo_trau_frame_decode_8k(struct osmo_trau_frame *fr, const ubit_t *bits, + enum osmo_trau_frame_direction dir) +{ + fr->dir = dir; + + if (is_hr(bits)) { + /* normal sync pattern */ + uint8_t cbits5 = get_bits(bits, 9, 5); + if (dir == OSMO_TRAU_DIR_UL) { + switch (cbits5) { /* Section 5.2.4.1.1 */ + case 0x02: + return decode8_hr(fr, bits, dir); + case 0x07: + return decode8_data(fr, bits, dir); + case 0x13: + return decode8_oam(fr, bits, dir); + } + } else { + /* Downlink */ + switch (cbits5 >> 2) { /* Section 5.2.4.1.2 */ + case 0: + return decode8_hr(fr, bits, dir); + case 1: + return decode8_data(fr, bits, dir); + case 2: + return decode8_oam(fr, bits, dir); + } + } + } else if (is_amr_low(bits)) { + return decode8_amr_low(fr, bits, dir); + } else if (is_amr_67(bits)) { + return decode8_amr_67(fr, bits, dir); + } else if (is_amr_74(bits)) { + return decode8_amr_74(fr, bits, dir); + } + + return -EINVAL; +} + /* }@ */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:33:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 11:33:07 +0000 Subject: Change in libosmo-abis[master]: WIP: Add new TRAU frame sync code References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18250 ) Change subject: WIP: Add new TRAU frame sync code ...................................................................... WIP: Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 9 files changed, 640 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/1 diff --git a/include/Makefile.am b/include/Makefile.am index 2048520..2e57565 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -4,4 +4,4 @@ osmocom/abis/ipa_proxy.h osmocom/abis/ipaccess.h osmocom/abis/abis.h \ osmocom/abis/subchan_demux.h osmocom/abis/e1_input.h \ osmocom/abis/lapd.h osmocom/abis/lapd_pcap.h osmocom/trau/osmo_ortp.h \ - osmocom/abis/unixsocket_proto.h + osmocom/abis/unixsocket_proto.h osmocom/trau/trau_sync.h diff --git a/include/osmocom/trau/trau_sync.h b/include/osmocom/trau/trau_sync.h new file mode 100644 index 0000000..94507e8 --- /dev/null +++ b/include/osmocom/trau/trau_sync.h @@ -0,0 +1,10 @@ +#pragma once +#include +#include + +typedef void (*frame_out_cb_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); + +struct osmo_fsm_inst * +osmo_trau_sync_alloc(void *ctx, const char *name, frame_out_cb_t frame_out_cb, void *user_data); + +void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits); diff --git a/src/Makefile.am b/src/Makefile.am index 3838a5a..a4f91cb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,4 +35,6 @@ libosmotrau_la_CFLAGS = $(AM_CFLAGS) $(ORTP_CFLAGS) libosmotrau_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(TRAU_LIBVERSION) libosmotrau_la_LIBADD = $(COMMONLIBS) $(ORTP_LIBS) -libosmotrau_la_SOURCES = trau/osmo_ortp.c +libosmotrau_la_SOURCES = trau/osmo_ortp.c trau/trau_sync.c + +noinst_HEADERS = trau/ubit_buf.h diff --git a/src/trau/trau_sync.c b/src/trau/trau_sync.c new file mode 100644 index 0000000..e35f88a --- /dev/null +++ b/src/trau/trau_sync.c @@ -0,0 +1,504 @@ +/* GSM A-bis TRAU frame synchronization as per TS 08.60 / 08.61 */ + +#include + +#include +#include +#include + +#include "ubit_buf.h" +#include + +#define S(x) (1 << (x)) + +#define MAX_TRAU_BYTES 40 + +#define T_SYNC 1 + +struct sync_pattern { + /* provided by user */ + const char *name; /*!< human-readable name */ + const uint8_t byte_pattern[MAX_TRAU_BYTES]; /*!< bytes to match against */ + const uint8_t byte_mask[MAX_TRAU_BYTES]; /*!< mask applied before matching */ + uint8_t byte_len; /*!< length of mask in bytes */ + + /* generated by code */ + ubit_t ubit_pattern[MAX_TRAU_BYTES*8]; /*!< bits to match against */ + ubit_t ubit_mask[MAX_TRAU_BYTES*8]; /*!< mask applied before matching */ + uint8_t bitcount; /*!< number of high bits in mask */ +}; + + +/* TS 08.60 Section 4.8.1 */ +static struct sync_pattern ts0860_fr_pattern = { + .name = "FR/EFR", + .byte_pattern = { + 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + }, + .byte_len = 40, +}; + +/* TS 08.61 Section 6.8.2.1.1 */ +static struct sync_pattern ts0861_hr8_pattern = { + .name = "HR8", + .byte_pattern = { + 0x00, 0x80, 0x40, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_mask = { + 0xff, 0x80, 0xC0, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_len = 20, +}; + +/* TS 08.61 Section 6.8.2.1.2 */ +/* The frame synchronisation for No_Speech frames and the speech frames of the three lower codec modes */ +static struct sync_pattern ts0861_amr8_low_pattern = { + .name = "AMR8_LOW", + .byte_pattern = { + 0x00, 0x80, 0x80, 0x40, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_mask = { + 0xff, 0x80, 0x80, 0xC0, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, + }, + .byte_len = 20, +}; + +/* The frame synchronisation for the speech frames for codec mode 6,70 kBit/s */ +static struct sync_pattern ts0861_amr8_67_pattern = { + .name = "AMR8_67", + .byte_pattern = { + 0x00, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + }, + .byte_mask = { + 0xff, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, + }, + .byte_len = 20 +}; + +/* The frame synchronisation for the speech frames for codec mode 7,40 kBit/s */ +static struct sync_pattern ts0861_amr8_74_pattern = { + .name = "AMR8_74", + .byte_pattern = { + 0x20, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + }, + .byte_mask = { + 0xe0, 0x80, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + }, + .byte_len = 20, +}; + +#if 0 +static struct sync_pattern rbs_ccu_sync_ind_16_pattern = { + .name ="RBS_CCU_SYNC_IND_16", + .byte_pattern = { + 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x01, 0x00, + }, +}; + +static struct sync_pattern rbs_ccu_data_ind_16_pattern = { + .name ="RBS_CCU_DATA_IND_16", + .byte_pattern = { + 0x00, 0x00, 0x01, 0x00, + }, + .byte_mask = { + 0xff, 0xff, 0x01, 0x00, + }, +}; +#endif + + +static void expand_sync_pattern(struct sync_pattern *pat) +{ + osmo_pbit2ubit(pat->ubit_pattern, pat->byte_pattern, pat->byte_len*8); + osmo_pbit2ubit(pat->ubit_mask, pat->byte_mask, pat->byte_len*8); +} + +static unsigned int count_one_bits(const ubit_t *in, unsigned int in_bits) +{ + unsigned int i, count = 0; + + for (i = 0; i < in_bits; i++) { + if (in[i]) + count++; + } + return count; +} + +static void sync_pattern_register(struct sync_pattern *p) +{ + expand_sync_pattern(p); + p->bitcount = count_one_bits(p->ubit_mask, p->byte_len*8); +} + +#if 0 +/*! correlate pattern with unpacked bits from buffer. + * \param[in] pattern sync_pattern against which we shall compare + * \param[in] bits unpacked bits to compare against pattern + * \param[in] num_bits number of unpacked bits + * \returns number of bits not matching pattern; -1 if insufficient bits available. */ +static int correlate_pattern_ubits(const struct sync_pattern *pattern, + const ubit_t *bits, size_t num_bits) +{ + int i, num_wrong = 0; + + if (num_bits < pattern->byte_len*8) + return -1; /* insufficient data */ + + for (i = 0; i < pattern->byte_len *8; i++) { + /* if mask doesn't contain '1', we can skip this octet */ + if (!pattern->ubit_mask) + continue; + if (bits[i] != pattern->ubit_pattern[i]) + num_wrong++; + } + + return num_wrong; +} +#endif + +struct trau_rx_sync_state { + /*! call-back to be called for every TRAU frame (called with + * bits=NULL in case of frame sync loss */ + frame_out_cb_t out_cb; + /*! opaque user data; passed to out_cb */ + void *user_data; + + /*! history of received bits */ + ubit_t history[MAX_TRAU_BYTES*8+1]; /* +1 not required, but helps to expose bugs */ + /*! index of next-to-be-written ubit in history */ + unsigned int history_idx; + /*! the pattern we are trying to sync to */ + const struct sync_pattern *pattern; + /*! number of consecutive frames without sync */ + unsigned int num_consecutive_errors; +}; + +/* correlate the history (up to the last received bit) against the pattern */ +static int correlate_history_against_pattern(struct trau_rx_sync_state *tss) +{ + const struct sync_pattern *pattern = tss->pattern; + int i, start, num_wrong = 0; + + /* compute index of first bit in history array */ + start = (ARRAY_SIZE(tss->history) + tss->history_idx - pattern->byte_len*8) + % ARRAY_SIZE(tss->history); + + OSMO_ASSERT(ARRAY_SIZE(tss->history) >= pattern->byte_len*8); + + for (i = 0; i < pattern->byte_len*8; i++) { + unsigned int pos = (start + i) % ARRAY_SIZE(tss->history); + + /* if mask doesn't contain '1', we can skip this octet */ + if (!pattern->ubit_mask) + continue; + if (tss->history[pos] != pattern->ubit_pattern[i]) + num_wrong++; + } + + return num_wrong; +} + +/* add (append) one ubit to the history; wrap as needed */ +static void rx_history_add_bit(struct trau_rx_sync_state *tss, ubit_t bit) +{ + tss->history[tss->history_idx] = bit; + /* simply wrap around at the end */ + tss->history_idx = (tss->history_idx + 1) % ARRAY_SIZE(tss->history); +} + +/* append bits to history. We assume that this does NOT wrap */ +static void rx_history_add_bits(struct trau_rx_sync_state *tss, const ubit_t *bits, size_t n_bits) +{ + unsigned int frame_bits_remaining = tss->pattern->byte_len*8 - tss->history_idx; + OSMO_ASSERT(frame_bits_remaining >= n_bits); + memcpy(&tss->history[tss->history_idx], bits, n_bits); + tss->history_idx = tss->history_idx + n_bits; +} + +/* align the history, i.e. next received bit is start of frame */ +static void rx_history_align(struct trau_rx_sync_state *tss) +{ + ubit_t tmp[sizeof(tss->history)]; + size_t history_size = sizeof(tss->history); + size_t pattern_bits = tss->pattern->byte_len*8; + size_t first_bit = (history_size + tss->history_idx - pattern_bits) % history_size; + int i; + + /* we need to shift the last received frame to the start of the history buffer; + * do this in two steps: First copy to a local buffer on the stack, using modulo-arithmetic + * as index into the history. Second, copy it back to history */ + + for (i = 0; i < pattern_bits; i++) + tmp[i] = tss->history[(first_bit + i) % history_size]; + + memcpy(tss->history, tmp, history_size); + tss->history_idx = 0; +} + +enum trau_sync_state { + WAIT_FRAME_ALIGN, + FRAME_ALIGNED, + /* if at least 3 consecutive frames with each at least one framing error have been received */ + FRAME_ALIGNMENT_LOST, +}; + +enum trau_sync_event { + TRAUSYNC_E_RESET, + /*! a buffer of bits was received (msgb with ubits) */ + TRAUSYNC_E_RX_BITS, +}; + +static const struct value_string trau_sync_event_names[] = { + { TRAUSYNC_E_RESET, "RESET" }, + { TRAUSYNC_E_RX_BITS, "RX_BITS" }, + { 0, NULL } +}; + + +static void trau_sync_wait_align(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + struct ubit_buf *ubb; + + switch (event) { + case TRAUSYNC_E_RX_BITS: + ubb = data; + /* append every bit individually + check if we have sync */ + while (ubb_length(ubb) > 0) { + ubit_t bit = ubb_pull_ubit(ubb); + int rc; + + rx_history_add_bit(tss, bit); + rc = correlate_history_against_pattern(tss); + if (!rc) { + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNED, 0, 0); + /* treat remainder of input bits in correct state */ + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, ubb); + return; + } + } + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_aligned_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + /* dispatch aligned frame to user */ + rx_history_align(tss); + tss->out_cb(tss->user_data, tss->history, tss->pattern->byte_len*8); +} + +static void trau_sync_aligned(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct trau_rx_sync_state *tss = (struct trau_rx_sync_state *) fi->priv; + unsigned int frame_bits_remaining = tss->pattern->byte_len*8 - tss->history_idx; + struct ubit_buf *ubb; + int rc; + + switch (event) { + case TRAUSYNC_E_RX_BITS: + ubb = data; + while (ubb_length(ubb)) { + unsigned int frame_bits_remaining = tss->pattern->byte_len*8 - tss->history_idx; + if (ubb_length(ubb) < frame_bits_remaining) { + /* frame not filled by this message; just add data */ + rx_history_add_bits(tss, ubb_data(ubb), ubb_length(ubb)); + ubb_pull(ubb, ubb_length(ubb)); + } else { + /* append as many bits as are missing in the current frame */ + rx_history_add_bits(tss, ubb_data(ubb), frame_bits_remaining); + ubb_pull(ubb, frame_bits_remaining); + + /* check if we still have frame sync */ + rc = correlate_history_against_pattern(tss); + if (rc > 0) { + tss->num_consecutive_errors++; + if (tss->num_consecutive_errors >= 3) { + tss->history_idx = 0; + /* send NULL frame to user */ + tss->out_cb(tss->user_data, NULL, 0); + osmo_fsm_inst_state_chg(fi, FRAME_ALIGNMENT_LOST, 1, T_SYNC); + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, ubb); + return; + } + } else + tss->num_consecutive_errors = 0; + + /* dispatch aligned frame to user */ + tss->out_cb(tss->user_data, tss->history, tss->history_idx); + tss->history_idx = 0; + } + } + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_alignment_lost(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + /* we try to restore sync for some amount of time before generating an error */ + + switch (event) { + case TRAUSYNC_E_RX_BITS: + trau_sync_wait_align(fi, event, data); + break; + default: + OSMO_ASSERT(0); + } +} + +static void trau_sync_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TRAUSYNC_E_RESET: + osmo_fsm_inst_state_chg(fi, WAIT_FRAME_ALIGN, 0, 0); + break; + default: + OSMO_ASSERT(0); + } +} + +static int trau_sync_timeout(struct osmo_fsm_inst *fi) +{ + switch (fi->T) { + case T_SYNC: + /* if Tsync expires before frame synchronization is + * again obtained the TRAU initiates sending of the + * urgent alarm pattern described in clause 4.10.2. */ + osmo_fsm_inst_state_chg(fi, WAIT_FRAME_ALIGN, 0, 0); + break; + default: + OSMO_ASSERT(0); + } + return 0; +} + +static const struct osmo_fsm_state trau_sync_states[] = { + [WAIT_FRAME_ALIGN] = { + .name = "WAIT_FRAME_ALIGN", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(FRAME_ALIGNED), + .action = trau_sync_wait_align, + }, + [FRAME_ALIGNED] = { + .name = "FRAME_ALIGNED", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(FRAME_ALIGNMENT_LOST) | S(WAIT_FRAME_ALIGN), + .action = trau_sync_aligned, + .onenter = trau_sync_aligned_onenter, + }, + [FRAME_ALIGNMENT_LOST] = { + .name = "FRAME_ALIGNMENT_LOST", + .in_event_mask = S(TRAUSYNC_E_RX_BITS), + .out_state_mask = S(WAIT_FRAME_ALIGN) | S(FRAME_ALIGNED), + .action = trau_sync_alignment_lost, + }, +}; + +static struct osmo_fsm trau_sync_fsm = { + .name = "trau_sync", + .states = trau_sync_states, + .num_states = ARRAY_SIZE(trau_sync_states), + .allstate_event_mask = S(TRAUSYNC_E_RESET), + .allstate_action = trau_sync_allstate, + .timer_cb = trau_sync_timeout, + .log_subsys = DLGLOBAL, + .event_names = trau_sync_event_names, +}; + + +struct osmo_fsm_inst * +osmo_trau_sync_alloc(void *ctx, const char *name, frame_out_cb_t frame_out_cb, void *user_data) +{ + struct trau_rx_sync_state *tss; + struct osmo_fsm_inst *fi; + + fi = osmo_fsm_inst_alloc(&trau_sync_fsm, ctx, NULL, LOGL_NOTICE, name); + if (!fi) + return NULL; + tss = talloc_zero(fi, struct trau_rx_sync_state); + if (!tss) { + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; + } + fi->priv = tss; + + tss->out_cb = frame_out_cb; + tss->user_data = user_data; + /* FIXME: this must be configurable */ + tss->pattern = &ts0860_fr_pattern; + + return fi; +} + +void osmo_trau_sync_rx_ubits(struct osmo_fsm_inst *fi, const ubit_t *bits, size_t n_bits) +{ + struct ubit_buf ubb; + ubb_init(&ubb, bits, n_bits); + osmo_fsm_inst_dispatch(fi, TRAUSYNC_E_RX_BITS, &ubb); +} + + +static void __attribute__((constructor)) on_dso_load_sync(void) +{ + sync_pattern_register(&ts0860_fr_pattern); + sync_pattern_register(&ts0861_hr8_pattern); + sync_pattern_register(&ts0861_amr8_low_pattern); + sync_pattern_register(&ts0861_amr8_67_pattern); + sync_pattern_register(&ts0861_amr8_74_pattern); + osmo_fsm_register(&trau_sync_fsm); +} diff --git a/tests/Makefile.am b/tests/Makefile.am index bd95cf5..dcd9a4f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -7,7 +7,8 @@ ipa_proxy_test \ subchan_demux/subchan_demux_test \ ipa_recv/ipa_recv_test \ - rtp_test/rtp_test + rtp_test/rtp_test \ + trau_sync/trau_sync_test e1inp_ipa_bsc_test_SOURCES = e1inp_ipa_bsc_test.c e1inp_ipa_bsc_test_LDADD = $(top_builddir)/src/libosmoabis.la \ @@ -36,6 +37,10 @@ rtp_test_rtp_test_LDADD = $(top_builddir)/src/libosmotrau.la \ $(LIBOSMOCORE_LIBS) +trau_sync_trau_sync_test_SOURCES = trau_sync/trau_sync_test.c +trau_sync_trau_sync_test_LDADD = $(top_builddir)/src/libosmotrau.la \ + $(LIBOSMOCORE_LIBS) + # boilerplate for the tests # The `:;' works around a Bash 3.2 bug when the output is not writeable. @@ -59,7 +64,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ subchan_demux/subchan_demux_test.ok \ ipa_recv/ipa_recv_test.ok \ - rtp_test/rtp_test.ok + rtp_test/rtp_test.ok \ + trau_sync/trau_sync_test.ok trau_sync/trau_sync_test.err TESTSUITE = $(srcdir)/testsuite diff --git a/tests/testsuite.at b/tests/testsuite.at index 5e87248..4faf429 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -29,3 +29,9 @@ AT_CHECK([$abs_top_builddir/tests/rtp_test/rtp_test], [ignore], [expout]) AT_CLEANUP +AT_SETUP([trau_sync]) +AT_KEYWORDS([trau_sync]) +cat $abs_srcdir/trau_sync/trau_sync_test.ok > expout +cat $abs_srcdir/trau_sync/trau_sync_test.err > experr +AT_CHECK([$abs_top_builddir/tests/trau_sync/trau_sync_test], [0], [expout], [experr]) +AT_CLEANUP diff --git a/tests/trau_sync/trau_sync_test.c b/tests/trau_sync/trau_sync_test.c new file mode 100644 index 0000000..286f0c8 --- /dev/null +++ b/tests/trau_sync/trau_sync_test.c @@ -0,0 +1,84 @@ + +#include +#include +#include + +#include + +static void frame_out_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +{ + char *str = user_data; + printf("demux_bits_cb '%s': %s\n", str, osmo_ubit_dump(bits, num_bits)); +} + +static const uint8_t sync_pattern[] = { + 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, + 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, +}; + +#define ASSERT_STATE(fi, x) OSMO_ASSERT(!strcmp(osmo_fsm_inst_state_name(fi), x)) + +static void test_body(void) +{ + struct osmo_fsm_inst *fi = osmo_trau_sync_alloc(NULL, "test", frame_out_cb, "test"); + OSMO_ASSERT(fi); + + printf("\n==> %s\n", __func__); + + ubit_t bits[40*8]; + + /* send some invalid data */ + memset(bits, 0, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, 23); + + /* first valid frame */ + osmo_pbit2ubit(bits, sync_pattern, sizeof(sync_pattern)*8); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* second valid frame */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* send wrong frame */ + memset(bits, 1, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* intersperse a valid frame */ + osmo_pbit2ubit(bits, sync_pattern, sizeof(sync_pattern)*8); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + + /* second wrong frame - but not consecutive */ + memset(bits, 1, sizeof(bits)); + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* third wrong frame - second consecutive */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNED"); + + /* only from third consecutive invalid frame onwards we should loose alignment */ + osmo_trau_sync_rx_ubits(fi, bits, sizeof(bits)); + ASSERT_STATE(fi, "FRAME_ALIGNMENT_LOST"); +} + + +static const struct log_info_cat default_categories[] = { +}; + +const struct log_info log_info = { + .cat = default_categories, + .num_cat = ARRAY_SIZE(default_categories), +}; + +int main(int argc, char **argv) +{ + osmo_init_logging2(NULL, NULL); + osmo_fsm_log_addr(false); + test_body(); +} diff --git a/tests/trau_sync/trau_sync_test.err b/tests/trau_sync/trau_sync_test.err new file mode 100644 index 0000000..4305c46 --- /dev/null +++ b/tests/trau_sync/trau_sync_test.err @@ -0,0 +1,15 @@ +<0000> fsm.c:461 trau_sync(test){WAIT_FRAME_ALIGN}: Allocated +<0000> trau/trau_sync.c:491 trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){WAIT_FRAME_ALIGN}: Received Event RX_BITS +<0000> trau/trau_sync.c:324 trau_sync(test){WAIT_FRAME_ALIGN}: state_chg to FRAME_ALIGNED +<0000> trau/trau_sync.c:326 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:491 trau_sync(test){FRAME_ALIGNED}: Received Event RX_BITS +<0000> trau/trau_sync.c:373 trau_sync(test){FRAME_ALIGNED}: state_chg to FRAME_ALIGNMENT_LOST +<0000> trau/trau_sync.c:374 trau_sync(test){FRAME_ALIGNMENT_LOST}: Received Event RX_BITS + \ No newline at end of file diff --git a/tests/trau_sync/trau_sync_test.ok b/tests/trau_sync/trau_sync_test.ok new file mode 100644 index 0000000..2555913 --- /dev/null +++ b/tests/trau_sync/trau_sync_test.ok @@ -0,0 +1,9 @@ + +==> test_body +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': 00000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000100000000000000010000000000000001000000000000000 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 +demux_bits_cb 'test': -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 11:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 11:57:18 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18181 ) Change subject: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding ...................................................................... Patch Set 2: Code-Review-1 Actually I'm not sure if it's worth adding this to the old API as I'm introducing a new API anyway (with support for more types than the old one could) -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I589a0e97e48e7f89d9166793b9887462756e8f09 Gerrit-Change-Number: 18181 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 11:57:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 12:02:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 12:02:25 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18002/4/TODO-RELEASE File TODO-RELEASE: https://gerrit.osmocom.org/c/libosmocore/+/18002/4/TODO-RELEASE at 12 PS4, Line 12: sim API/ABI change all over the place > Not related to this patch? this patch adds a 'name' member to the lapd_datalink. Maybe you missed that? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 12:02:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 12:03:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 12:03:40 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 12:03:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 12:03:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 12:03:42 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 145 insertions(+), 75 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 6e37c99..c5a8e28 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -78,20 +78,34 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 -/* AMR voice frame length (in bytes, rounded), - * See also RFC 3267, chapter 3.6 */ -#define AMR_FT_0_LEN 12 /* 4.75 */ -#define AMR_FT_1_LEN 13 /* 5.15 */ -#define AMR_FT_2_LEN 15 /* 5.90 */ -#define AMR_FT_3_LEN 17 /* 6.70 */ -#define AMR_FT_4_LEN 19 /* 7.40 */ -#define AMR_FT_5_LEN 20 /* 7.95 */ -#define AMR_FT_6_LEN 26 /* 10.2 */ -#define AMR_FT_7_LEN 31 /* 12.2 */ -#define AMR_FT_SID_LEN 5 /* SID */ - -/* NOTE: the above constant refers to the length of one AMR speech frame-block, +/* AMR voice frame length (in bits). + * See also RFC 3267, chapter 3.6. + * + * NOTE: These constants refer to the length of one AMR speech frame-block, * not counting CMR, TOC. */ +#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ +#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ +#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ +#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ +#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ +#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ +#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ +#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ +#define AMR_FT_SID_LEN_BITS 39 /* SID */ + +/* AMR voice frame length (in bytes, rounded). + * + * NOTE: These constants refer to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ +#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ +#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ +#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ +#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ +#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ +#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ +#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ +#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ +#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index 5609c46..a6b8361 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,6 +29,18 @@ * 7 12.20 244 31 */ +static size_t amr_ft_to_bits[AMR_FT_MAX] = { + [AMR_FT_0] = AMR_FT_0_LEN_BITS, + [AMR_FT_1] = AMR_FT_1_LEN_BITS, + [AMR_FT_2] = AMR_FT_2_LEN_BITS, + [AMR_FT_3] = AMR_FT_3_LEN_BITS, + [AMR_FT_4] = AMR_FT_4_LEN_BITS, + [AMR_FT_5] = AMR_FT_5_LEN_BITS, + [AMR_FT_6] = AMR_FT_6_LEN_BITS, + [AMR_FT_7] = AMR_FT_7_LEN_BITS, + [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, +}; + static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -41,6 +53,11 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; +size_t osmo_amr_bits(uint8_t amr_ft) +{ + return amr_ft_to_bits[amr_ft]; +} + size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -119,8 +136,10 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; + int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -137,8 +156,10 @@ payload[i + 2] = payload[i + 2] << 6; } - /* The overall saving is one byte! */ - return payload_len - 1; + /* Calculate new payload length */ + bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + + return bwe_payload_len; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. @@ -150,8 +171,10 @@ unsigned int payload_maxlen) { uint8_t buf[256]; - unsigned int frame_len = payload_len - 1; + /* The header is only valid after shifting first two bytes to OA mode */ + struct amr_hdr *oa_hdr; unsigned int i; + int oa_payload_len; memset(buf, 0, sizeof(buf)); @@ -165,12 +188,16 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - for (i = 0; i < frame_len - 1; i++) { + /* Calculate new payload length */ + oa_hdr = (struct amr_hdr *)buf; + oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); + + for (i = 0; i < oa_payload_len - 2; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } buf[i + 2] = payload[i + 1] << 2; - memcpy(payload, buf, payload_len + 1); - return payload_len + 1; + memcpy(payload, buf, oa_payload_len); + return oa_payload_len; } diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c index fff686c..af10289 100644 --- a/tests/amr/amr_test.c +++ b/tests/amr/amr_test.c @@ -44,6 +44,9 @@ "100c4e9ba850e30d5d53d04de41e7c", "100c6c18e7b7fff53aeb055e7d1c54", "100c1fb967f7f1fdf547bf2e61c060", + "0004f89d67f1160935bde1996840", + "0004633cc7f0630439ffe0000000", + "0004eb81fc0758973b9edc782552", "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ "END", }; @@ -87,7 +90,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -102,11 +104,6 @@ dump_bits(buf, rc); printf("\n"); printf(" rc: %i\n", rc); - - if (rc > 0) { - OSMO_ASSERT(rc == len - 1); - OSMO_ASSERT(buf[len - 1] == 0x00); - } i++; } } @@ -126,7 +123,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(bwe_amr_samples[i]); len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -142,7 +138,6 @@ printf("\n"); printf(" rc: %i\n", rc); - OSMO_ASSERT(rc == len + 1); i++; } } @@ -151,6 +146,8 @@ { uint8_t buf[256]; uint8_t buf_chk[256]; + struct amr_hdr *oa_hd = (struct amr_hdr *)buf; + unsigned int ft; unsigned int i = 0; int len; @@ -163,16 +160,21 @@ while (1) { if (strcmp(oa_amr_samples[i], "END") == 0) return; - printf("Sample No.: %i...\n", i); - len = strlen(oa_amr_samples[i]); + printf("Sample No.: %i...", i); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); + ft = oa_hd->ft; + OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); + printf(" AMR mode: %d, OA: %d bytes,", ft, len); memcpy(buf_chk, buf, sizeof(buf)); rc = osmo_amr_oa_to_bwe(buf, len); OSMO_ASSERT(rc > 0); + printf(" BE: %d bytes,", rc); rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); + printf(" OA: %d bytes\n", rc); + OSMO_ASSERT(len == rc); OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); i++; } diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok index ea34fea..692563d 100644 --- a/tests/amr/amr_test.ok +++ b/tests/amr/amr_test.ok @@ -47,23 +47,23 @@ Sample No.: 6 octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 - bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c - 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 - rc: 21 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 + 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 + rc: 22 Sample No.: 7 octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 - bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc - 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 - rc: 21 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 + 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 + rc: 22 Sample No.: 8 octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 - bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 - 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 - rc: 21 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 + 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 + rc: 22 Sample No.: 9 octet aligned: 40240343e959c79bacd20c77501054880a718db200 @@ -110,25 +110,46 @@ Sample No.: 15 octet aligned: 100c4e9ba850e30d5d53d04de41e7c 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 - bw-efficient: 10d3a6ea1438c35754f41379079f - 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 - rc: 14 + bw-efficient: 10d3a6ea1438c35754f41379079f00 + 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 + rc: 15 Sample No.: 16 octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 - bw-efficient: 10db0639edfffd4ebac1579f4715 - 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 - rc: 14 + bw-efficient: 10db0639edfffd4ebac1579f471500 + 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 + rc: 15 Sample No.: 17 octet aligned: 100c1fb967f7f1fdf547bf2e61c060 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 - bw-efficient: 10c7ee59fdfc7f7d51efcb987018 - 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 - rc: 14 + bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 + 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 + rc: 15 Sample No.: 18 + octet aligned: 0004f89d67f1160935bde1996840 + 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 + bw-efficient: 007e2759fc45824d6f78665a1000 + 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 + rc: 14 + +Sample No.: 19 + octet aligned: 0004633cc7f0630439ffe0000000 + 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 + bw-efficient: 0058cf31fc18c10e7ff800000000 + 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 + rc: 14 + +Sample No.: 20 + octet aligned: 0004eb81fc0758973b9edc782552 + 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010 + bw-efficient: 007ae07f01d625cee7b71e095480 + 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010000000 + rc: 14 + +Sample No.: 21 octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f @@ -141,16 +162,16 @@ Sample No.: 0 bw-efficient: f4495c7cda8f80 11110100010010010101110001111100110110101000111110000000 - octet aligned: f0442571f36a3e00 - 1111000001000100001001010111000111110011011010100011111000000000 - rc: 8 + octet aligned: f0442571f36a3e + 11110000010001000010010101110001111100110110101000111110 + rc: 7 Sample No.: 1 bw-efficient: f44aaa6c969780 11110100010010101010101001101100100101101001011110000000 - octet aligned: f0442aa9b25a5e00 - 1111000001000100001010101010100110110010010110100101111000000000 - rc: 8 + octet aligned: f0442aa9b25a5e + 11110000010001000010101010101001101100100101101001011110 + rc: 7 Sample No.: 2 bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 @@ -183,31 +204,34 @@ Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc - 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 - rc: 33 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + 10100000011110001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + rc: 136 Testing conversion from octet-aligned to bw-efficient and inverse: -Sample No.: 0... -Sample No.: 1... -Sample No.: 2... -Sample No.: 3... -Sample No.: 4... -Sample No.: 5... -Sample No.: 6... -Sample No.: 7... -Sample No.: 8... -Sample No.: 9... -Sample No.: 10... -Sample No.: 11... -Sample No.: 12... -Sample No.: 13... -Sample No.: 14... -Sample No.: 15... -Sample No.: 16... -Sample No.: 17... -Sample No.: 18... +Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 21... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes Testing detection of octet-aligned mode payloads: @@ -230,6 +254,9 @@ Sample No.: 16 ==>octet aligned Sample No.: 17 ==>octet aligned Sample No.: 18 ==>octet aligned +Sample No.: 19 ==>octet aligned +Sample No.: 20 ==>octet aligned +Sample No.: 21 ==>octet aligned Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 12:45:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 12:45:00 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18246 to look at the new patch set (#3). Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... codec: Add functions for AMR s->d bits and d->s bits These functions implement re-ordering of bits as per TS 06.90 / 26.101 based on the already existing tables we've had in libosmocoding. Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 --- M include/osmocom/codec/codec.h M src/codec/Makefile.am M src/codec/gsm690.c M tests/codec/codec_test.c M tests/codec/codec_test.ok 5 files changed, 163 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/18246/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 12:52:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 12:52:01 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18246 to look at the new patch set (#4). Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... codec: Add functions for AMR s->d bits and d->s bits These functions implement re-ordering of bits as per TS 06.90 / 26.101 based on the already existing tables we've had in libosmocoding. Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 --- M include/osmocom/codec/codec.h M src/codec/Makefile.am M src/codec/gsm690.c M tests/codec/codec_test.c M tests/codec/codec_test.ok 5 files changed, 165 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/18246/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:04:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 13:04:04 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18246 ) Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 13:04:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:04:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 13:04:29 +0000 Subject: Change in osmo-bsc[master]: manual: fix config example typo 'msc-addr' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18241 ) Change subject: manual: fix config example typo 'msc-addr' ...................................................................... manual: fix config example typo 'msc-addr' Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb --- M doc/manuals/chapters/running.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index eeefa6c..ae45afc 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -93,7 +93,7 @@ sccp-address msc point-code 0.23.1 msc 0 - msc-address msc + msc-addr msc ---- This configuration is explained in detail in <>. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb Gerrit-Change-Number: 18241 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:19:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 13:19:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239/1/pcu/PCU_Tests.ttcn at 612 PS1, Line 612: f_rrbp_ack_fn > So here we assume that RRBP is always valid for DL Assignment? If so, let's add a comment. Same as for f_rx_rlcmac_dl_block_exp_pkt_ul_ass(). TBH I'm not sure whether it's always expected. For now I'm assuming it it seeing the behavior of osmo-pcu, but it's still unknown (didn't look at the relevant parts of the spec yet to confirm). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 14 May 2020 13:19:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:20:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 13:20:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 ) Change subject: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn ...................................................................... Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn Some types already available in GSM_RR_Types.ttcn will also be required by messages sent over PDCH and which belong to RLCMAC_CSN1_Types. Since GSM_RR_Types.ttcn already requires RLCMAC_CSN1_Types.ttcn, let's move them there so they can be used in both places. Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 --- M library/GSM_RR_Types.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 56 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/18251/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index dcf12ae..b09a760 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -512,67 +512,6 @@ } with { variant (compressed_irat_ho_info_ind) "CSN.1 L/H" }; - - - type record of AccessTechnologiesRequest - AccessTechnologiesRequestRepetition - with { variant "EXTENSION_BIT(reverse)" }; - - type record AccessTechnologiesRequest - { - BIT4 accessTechnType, - BIT1 extensionBit - } with { variant "FIELDORDER(msb)" }; - - type enumerated EgprsChCodingCommand { - CH_CODING_MCS1 ('0000'B), - CH_CODING_MCS2 ('0001'B), - CH_CODING_MCS3 ('0010'B), - CH_CODING_MCS4 ('0011'B), - CH_CODING_MCS5 ('0100'B), - CH_CODING_MCS6 ('0101'B), - CH_CODING_MCS7 ('0110'B), - CH_CODING_MCS8 ('0111'B), - CH_CODING_MCS9 ('1000'B), - CH_CODING_MCS5_7 ('1001'B), - CH_CODING_MCS6_9 ('1010'B) - } with { variant "FIELDLENGTH(4)" }; - - /* TS 44.060 Table 12.5.2.1 */ - type enumerated EgprsWindowSize { - EGPRS_WS_64 ('00000'B), - EGPRS_WS_96 ('00001'B), - EGPRS_WS_128 ('00010'B), - EGPRS_WS_160 ('00011'B), - EGPRS_WS_192 ('00100'B), - EGPRS_WS_224 ('00101'B), - EGPRS_WS_256 ('00110'B), - EGPRS_WS_288 ('00111'B), - EGPRS_WS_320 ('01000'B), - EGPRS_WS_352 ('01001'B), - EGPRS_WS_384 ('01010'B), - EGPRS_WS_416 ('01011'B), - EGPRS_WS_448 ('01100'B), - EGPRS_WS_480 ('01101'B), - EGPRS_WS_512 ('01110'B), - EGPRS_WS_544 ('01111'B), - EGPRS_WS_576 ('10000'B), - EGPRS_WS_608 ('10001'B), - EGPRS_WS_640 ('10010'B), - EGPRS_WS_672 ('10011'B), - EGPRS_WS_704 ('10100'B), - EGPRS_WS_736 ('10101'B), - EGPRS_WS_768 ('10110'B), - EGPRS_WS_800 ('10111'B), - EGPRS_WS_832 ('11000'B), - EGPRS_WS_864 ('11001'B), - EGPRS_WS_896 ('11010'B), - EGPRS_WS_928 ('11011'B), - EGPRS_WS_960 ('11100'B), - EGPRS_WS_992 ('11101'B), - EGPRS_WS_1024 ('11110'B) - } with { variant "FIELDLENGTH(5)" }; - type record EgprsUlAssignDyn { uint5_t tfi_assignment, BIT1 polling, diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index bca4351..447e52b 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -56,6 +56,55 @@ MBMS_DL_ACK_NACK ('010000'B) } with { variant "FIELDLENGTH(6)" }; + type enumerated EgprsChCodingCommand { + CH_CODING_MCS1 ('0000'B), + CH_CODING_MCS2 ('0001'B), + CH_CODING_MCS3 ('0010'B), + CH_CODING_MCS4 ('0011'B), + CH_CODING_MCS5 ('0100'B), + CH_CODING_MCS6 ('0101'B), + CH_CODING_MCS7 ('0110'B), + CH_CODING_MCS8 ('0111'B), + CH_CODING_MCS9 ('1000'B), + CH_CODING_MCS5_7 ('1001'B), + CH_CODING_MCS6_9 ('1010'B) + } with { variant "FIELDLENGTH(4)" }; + + /* TS 44.060 Table 12.5.2.1 */ + type enumerated EgprsWindowSize { /* This probably needs to be moved to RLCMAC_CSN1_Types.ttcn */ + EGPRS_WS_64 ('00000'B), + EGPRS_WS_96 ('00001'B), + EGPRS_WS_128 ('00010'B), + EGPRS_WS_160 ('00011'B), + EGPRS_WS_192 ('00100'B), + EGPRS_WS_224 ('00101'B), + EGPRS_WS_256 ('00110'B), + EGPRS_WS_288 ('00111'B), + EGPRS_WS_320 ('01000'B), + EGPRS_WS_352 ('01001'B), + EGPRS_WS_384 ('01010'B), + EGPRS_WS_416 ('01011'B), + EGPRS_WS_448 ('01100'B), + EGPRS_WS_480 ('01101'B), + EGPRS_WS_512 ('01110'B), + EGPRS_WS_544 ('01111'B), + EGPRS_WS_576 ('10000'B), + EGPRS_WS_608 ('10001'B), + EGPRS_WS_640 ('10010'B), + EGPRS_WS_672 ('10011'B), + EGPRS_WS_704 ('10100'B), + EGPRS_WS_736 ('10101'B), + EGPRS_WS_768 ('10110'B), + EGPRS_WS_800 ('10111'B), + EGPRS_WS_832 ('11000'B), + EGPRS_WS_864 ('11001'B), + EGPRS_WS_896 ('11010'B), + EGPRS_WS_928 ('11011'B), + EGPRS_WS_960 ('11100'B), + EGPRS_WS_992 ('11101'B), + EGPRS_WS_1024 ('11110'B) + } with { variant "FIELDLENGTH(5)" }; + type record NullGlobalTfi { BIT1 presence ('0'B), GlobalTfi global_tfi @@ -184,6 +233,13 @@ variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" variant (sgl_block_alloc) "PRESENCE(alloc_present = '10'B)" }; + type record of AccessTechnologiesRequest AccessTechnologiesRequestRepetition + with { variant "EXTENSION_BIT(reverse)" }; + type record AccessTechnologiesRequest + { + BIT4 accessTechnType, + BIT1 extensionBit + } with { variant "FIELDORDER(msb)" }; type record PacketUlAssignment { PageMode page_mode, BIT1 persistence_levels_present, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 Gerrit-Change-Number: 18251 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 13:20:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 ) Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... pcu: Support decoding Egprs Pkt Ul Ass on PDCH Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 4 files changed, 131 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/18252/1 diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 2c1bc04..772df13 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -167,27 +167,54 @@ return '1'B; } - template PktUlAssGprs tr_PktUlAssGprsDynamic(template uint5_t tfi := ?) := { + template DynamicAllocation tr_DynamicAllocation(template uint5_t tfi:= ?) := { + extd_dyn_alloc := ?, + p0_present := ?, + p0 := *, + pr_mode := *, + usf_granularity := ?, + ul_tfi_ass_present := f_presence_bit_tfi(tfi), + ul_tfi_assignment := tfi, + reserved := '0'B, + tbf_starting_time_present := ?, + tbf_starting_time := *, + ts_allocation := ? + }; + + template PktUlAssGprs tr_PktUlAssGprsDynamic(template DynamicAllocation dyn_alloc := ?) := { ch_coding_cmd := ?, tlli_block_chan_coding := ?, pkt_ta := ?, freq_par_present := ?, freq_par := *, alloc_present := '01'B, - dyn_block_alloc := { - extd_dyn_alloc := ?, - p0_present := ?, - p0 := *, - pr_mode := *, - usf_granularity := ?, - ul_tfi_ass_present := f_presence_bit_tfi(tfi), - ul_tfi_assignment := tfi, - reserved := '0'B, - tbf_starting_time_present := ?, - tbf_starting_time := *, - ts_allocation := ? - }, + dyn_block_alloc := dyn_alloc, sgl_block_alloc := omit }; + template PktUlAssEgprs tr_PktUlAssEgprsDynamic(template DynamicAllocation dyn_alloc := ?) := { + dual_carrier := '00'B, + tlli_present := ?, + tlli := *, + compact_reduced_ma_present := ?, + compact_reduced_ma := *, + chan_coding_cmd := ?, + resegment := ?, + window_size := ?, + ats_present := ?, + ats := *, /* ? */ + arac_retrans_req := ?, + tlli_block_chan_coding := ?, + bep_period2_present := ?, + bep_period2 := *, + pkt_ta := ?, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + freq_par_present := ?, + freq_par := *, + alloc_present := ?, + dyn_block_alloc := dyn_alloc, + multi_block_alloc := omit + }; + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 447e52b..a74789d 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -233,6 +233,16 @@ variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" variant (sgl_block_alloc) "PRESENCE(alloc_present = '10'B)" }; + type record COMPACTreducedMA { + uint7_t ma_bitmap_length, + bitstring ma_bitmap, + BIT1 maio_2_present, + BIT6 maio_2 + } with { + variant (ma_bitmap_length) "LENGTHTO (ma_bitmap)" + variant (ma_bitmap_length) "UNIT(bits)" + variant (maio_2) "PRESENCE(maio_2_present = '1'B)" + }; type record of AccessTechnologiesRequest AccessTechnologiesRequestRepetition with { variant "EXTENSION_BIT(reverse)" }; type record AccessTechnologiesRequest @@ -240,16 +250,72 @@ BIT4 accessTechnType, BIT1 extensionBit } with { variant "FIELDORDER(msb)" }; + type record MultiBlockAllocation { + uint3_t timeslot_nr, + BIT1 alpha_gamma_present, + uint4_t alpha optional, + uint5_t gamma_tn optional, + BIT1 p0_present, + uint4_t p0 optional, + BIT1 reserved ('0'B) optional, + BIT1 pr_mode optional, + StartingFnDesc tbf_starting_time, + uint2_t num_radio_blocks_alloc + } with { + variant (alpha) "PRESENCE(alpha_gamma_present = '1'B)" + variant (gamma_tn) "PRESENCE(alpha_gamma_present = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (reserved) "PRESENCE(p0_present = '1'B)" + variant (pr_mode) "PRESENCE(p0_present = '1'B)" + }; + type record PktUlAssEgprs { + BIT2 dual_carrier('00'B), /*TODO 01 -- Message escape for dual carrier, RTTI, BTTI with FANR activated, EGPRS2 */ + BIT1 tlli_present, + GprsTlli tlli optional, + BIT1 compact_reduced_ma_present, + COMPACTreducedMA compact_reduced_ma optional, + EgprsChCodingCommand chan_coding_cmd, + BIT1 resegment, + EgprsWindowSize window_size, + BIT1 ats_present, + AccessTechnologiesRequestRepetition ats optional, /* ? */ + BIT1 arac_retrans_req, + BIT1 tlli_block_chan_coding, + BIT1 bep_period2_present, + BIT4 bep_period2 optional, + PacketTimingAdvance pkt_ta, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 freq_par_present, + FrequencyParameters freq_par optional, + BIT2 alloc_present, + DynamicAllocation dyn_block_alloc optional, + MultiBlockAllocation multi_block_alloc optional + /* TODO: Additions for Rel-5 and more */ + } with { + variant (tlli) "PRESENCE(tlli_present = '1'B)" + variant (compact_reduced_ma) "PRESENCE(compact_reduced_ma_present = '1'B)" + variant (ats) "PRESENCE(ats_present = '1'B)" + variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (freq_par) "PRESENCE(freq_par_present = '1'B)" + variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" + variant (multi_block_alloc) "PRESENCE(alloc_present = '10'B)" + }; type record PacketUlAssignment { PageMode page_mode, BIT1 persistence_levels_present, PersistenceLevels persistence_levels optional, PktUlAssUnion identity, BIT1 is_egprs, /* msg escape */ - PktUlAssGprs gprs optional + PktUlAssGprs gprs optional, + PktUlAssEgprs egprs optional + /* TODO: Table 11.2.29.1: PACKET UPLINK ASSIGNMENT information elements + https://www.etsi.org/deliver/etsi_ts/144000_144099/144060/09.03.00_60/ts_144060v090300p.pdf */ } with { variant (persistence_levels) "PRESENCE(persistence_levels_present = '1'B)" variant (gprs) "PRESENCE(is_egprs = '0'B)" + variant (egprs) "PRESENCE(is_egprs = '1'B)" }; /* 11.2.10 Packet Paging Request */ diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 0bd9792..be751d7 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -429,7 +429,8 @@ persistence_levels := *, identity := ?, is_egprs := ?, /* msg escape */ - gprs := * + gprs := *, + egprs := * } } } @@ -443,7 +444,23 @@ u := { ul_assignment := { is_egprs := '0'B, - gprs := gprs + gprs := gprs, + egprs := omit + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS_EGPRS(template uint3_t usf := ?, template PktUlAssEgprs egprs := ?) + modifies tr_RLCMAC_UL_PACKET_ASS := { + ctrl := { + payload := { + u := { + ul_assignment := { + is_egprs := '1'B, + gprs := omit, + egprs := egprs } } } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5b822bb..18189fa 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -250,9 +250,12 @@ } else if (ischosen(dl_block.data_egprs)) { return dl_block.data_egprs.mac_hdr.tfi; } else { /* Ctrl block */ - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + } } setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); f_shutdown(__BFILE__, __LINE__); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 13:20:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 ) Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 95 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/18253/1 diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index be751d7..1774197 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -93,6 +93,46 @@ return CS_1; } + function f_rlcmac_block_ChCodingCommand2cs_mcs(ChCodingCommand chcc) return CodingScheme { + select (chcc) { + case (CH_CODING_CS1) { return CS_1; } + case (CH_CODING_CS2) { return CS_2; } + case (CH_CODING_CS3) { return CS_3; } + case (CH_CODING_CS4) { return CS_4; } + } + return CS_1; + } + + function f_rlcmac_block_EgprsChCodingCommand2cs_mcs(EgprsChCodingCommand echcc) return CodingScheme { + select (echcc) { + case (CH_CODING_MCS1) { return MCS_1; } + case (CH_CODING_MCS2) { return MCS_2; } + case (CH_CODING_MCS3) { return MCS_3; } + case (CH_CODING_MCS4) { return MCS_4; } + case (CH_CODING_MCS5) { return MCS_5; } + case (CH_CODING_MCS6) { return MCS_6; } + case (CH_CODING_MCS7) { return MCS_7; } + case (CH_CODING_MCS8) { return MCS_8; } + case (CH_CODING_MCS9) { return MCS_9; } + /* CH_CODING_MCS5_7 */ + /* CH_CODING_MCS6_9 */ + } + return MCS_1; + } + + /* 1 -> CS_1 / MCS_1, 2 -> CS_2 / MCS_2, etc. */ + function f_rlcmac_block_int2cs_mcs(integer n, boolean is_mcs) return CodingScheme { + var CodingScheme cs_mcs; + if (not is_mcs) { + int2enum(n - 1, cs_mcs); + return cs_mcs; + } else { + cs_mcs := MCS_0; + int2enum(enum2int(cs_mcs) + n, cs_mcs); + return cs_mcs; + } + } + /* Coding and Puncturing Scheme indicator field for Header type 1 in EGPRS TBF or EC TBF or downlink EGPRS2 TBF */ function f_rlcmac_cps_htype1_to_mcs(uint3_t cps) return CodingScheme { var CodingSchemeArray egprs_Header_type1_coding_puncturing_scheme_to_mcs := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 18189fa..986bbd5 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -262,6 +262,25 @@ return 0; /* make compiler happy */ } +private function f_rlcmac_dl_block_get_cs_mcs(RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT return CodingScheme { + if (ischosen(dl_block.data)) { + /* TODO: get it from data header */ + } else if (ischosen(dl_block.data_egprs)) { + /* TODO: get it from data header */ + } else { /* Ctrl block */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { + return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); + } + } + setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return CS_1; /* make compiler happy */ +} + /* TS 44.060 sec 12.3 Ack/Nack Description */ private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) { @@ -1465,7 +1484,10 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, + template (present) CodingScheme exp_ul_cs_mcs := ?, + template (present) CodingScheme exp_dl_cs_mcs := ?) +runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1477,6 +1499,7 @@ var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var CodingScheme cs_mcs; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); @@ -1509,10 +1532,15 @@ setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); f_shutdown(__BFILE__, __LINE__); } + cs_mcs := f_rlcmac_dl_block_get_cs_mcs(dl_block); + if (not match(cs_mcs, exp_ul_cs_mcs)) { + setverdict(fail, "Wrong CS_MCS ", cs_mcs, " received vs exp ", exp_ul_cs_mcs); + f_shutdown(__BFILE__, __LINE__); + } /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); /* TODO: send using cs_mcs */ //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ @@ -1528,7 +1556,7 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); @@ -1544,9 +1572,29 @@ gprsextendeddynalloccap := '0'B }; var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, false); + var CodingScheme exp_dl_cs_mcs := CS_2; - f_TC_mo_ping_pong_2phase_access(ms_racap, exp_cs_mcs); + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); +} + +testcase TC_mo_ping_pong_with_ul_racap_egprs_only() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction with EGPRS-only */ + g_egprs_only := true; + + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MultislotCap_EGPRS mscap_egprs := { + egprsmultislotclass := '00011'B, + egprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, mscap_egprs)) }; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, true); + var CodingScheme exp_dl_cs_mcs := MCS_1; + + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); } /* Test scenario where SGSN wants to send some data against MS and it is @@ -2108,6 +2156,8 @@ execute( TC_egprs_pkt_chan_req_signalling() ); execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); + + execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 13:57:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 13:57:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_force_two_phase_access References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 ) Change subject: Introduce test TC_force_two_phase_access ...................................................................... Introduce test TC_force_two_phase_access Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d --- M pcu/PCU_Tests.ttcn 1 file changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/18254/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 986bbd5..2077ac6 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -137,6 +137,7 @@ var uint8_t g_mcs_max_ul := 9; var boolean g_egprs_only := false; + var boolean g_force_two_phase_access := false; /* Guard timeout */ timer g_T_guard := 60.0; @@ -190,6 +191,12 @@ } else { f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); } + + if (g_force_two_phase_access) { + f_vty_config2(PCUVTY, {"pcu"}, "two-phase-access"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no two-phase-access"); + } } function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) @@ -1502,6 +1509,12 @@ var CodingScheme cs_mcs; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); + if (g_force_two_phase_access) { + /* If 2phase access is enforced by the network, then let's + request a One phase packet access, we'll receive a single block + anyway */ + ra := bit2int(chan_req_def); + } /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1597,6 +1610,21 @@ f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); } +testcase TC_force_two_phase_access() runs on RAW_PCU_Test_CT { + /* Configure PCU to force two phase access */ + g_force_two_phase_access := true; + + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, false); + var CodingScheme exp_dl_cs_mcs := CS_2; + + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); +} + /* Test scenario where SGSN wants to send some data against MS and it is * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ @@ -2140,6 +2168,7 @@ execute( TC_t3193() ); execute( TC_mo_ping_pong() ); execute( TC_mo_ping_pong_with_ul_racap() ); + execute( TC_force_two_phase_access() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d Gerrit-Change-Number: 18254 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 14:48:58 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 14:48:58 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix AMR frame decoding In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18182 ) Change subject: trau_frame: Fix AMR frame decoding ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 Gerrit-Change-Number: 18182 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 14 May 2020 14:48:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:41:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 15:41:15 +0000 Subject: Change in libosmocore[master]: add missing endian.h in gsm_23_041.h References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18255 ) Change subject: add missing endian.h in gsm_23_041.h ...................................................................... add missing endian.h in gsm_23_041.h Change-Id: I593cc5e8272469b570559206bb02b6e79797340b --- M include/osmocom/gsm/protocol/gsm_23_041.h 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/18255/1 diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h index c75c088..e60c324 100644 --- a/include/osmocom/gsm/protocol/gsm_23_041.h +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -1,5 +1,7 @@ #pragma once +#include + /* Section 9.4.1.2: GSM Message Format */ struct gsm23041_msg_param_gsm { uint16_t serial_nr; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I593cc5e8272469b570559206bb02b6e79797340b Gerrit-Change-Number: 18255 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:41:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 15:41:16 +0000 Subject: Change in libosmocore[master]: struct_endianess.py: also recognise unnamed substructs References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18256 ) Change subject: struct_endianess.py: also recognise unnamed substructs ...................................................................... struct_endianess.py: also recognise unnamed substructs Before this, the new dtap_header substruct construct would end up being split up in a weird way: struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ }; }; uint8_t length; } __attribute__((packed)); would previously become struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { #if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ }; }; uint8_t length; #elif OSMO_IS_BIG_ENDIAN /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; }; }; uint8_t length; #endif } __attribute__((packed)); now becomes struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { #if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ #elif OSMO_IS_BIG_ENDIAN /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; #endif }; }; uint8_t length; } __attribute__((packed)); Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 --- M contrib/struct_endianess.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/18256/1 diff --git a/contrib/struct_endianess.py b/contrib/struct_endianess.py index be73fbe..6ce75fc 100755 --- a/contrib/struct_endianess.py +++ b/contrib/struct_endianess.py @@ -17,6 +17,7 @@ re_substruct_start = re.compile(r'^\s+struct\s*{\s*$') re_substruct_end = re.compile(r'^\s+}\s*([^;]*\s)[a-zA-Z_][a-zA-Z_0-9]*\s*;\s*$') +re_unnamed_substruct_end = re.compile(r'^\s+}\s*;\s*$') re_int_def = re.compile(r'(^\s*((const|unsigned|signed|char|int|long|int[0-9]+_t|uint[0-9]_t)\s+)+\s*)([^;]*;)', re.DOTALL | re.MULTILINE) @@ -73,7 +74,8 @@ line = struct_body_lines[j] if (re_substruct_start.fullmatch(line) - or re_substruct_end.fullmatch(line)): + or re_substruct_end.fullmatch(line) + or re_unnamed_substruct_end.fullmatch(line)): end_def() arbitrary_part.append(line) j += 1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 Gerrit-Change-Number: 18256 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:41:17 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 15:41:17 +0000 Subject: Change in libosmocore[master]: cosmetic: apply changes to match struct_endianess.py output References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18257 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... cosmetic: apply changes to match struct_endianess.py output gsm48_pag_resp and gsm48_service_request: omit comments in big endian part. dtap_header: better segment the substruct. gsm23041_msg_param_gsm: match up whitespace / comments. Rationale: the script is a good way to avoid bugs from manually composing the big endian parts (for example, it detected the missing endian.h include, fixed in I593cc5e8272469b570559206bb02b6e79797340b). However, it becomes cumbersome if it creates numerous edits in the source tree, which cause more time spent for whoever wanted to rather save time with it. So let's keep the code tree matching that struct's output. Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 --- M include/osmocom/gsm/protocol/gsm_04_08.h M include/osmocom/gsm/protocol/gsm_08_08.h M include/osmocom/gsm/protocol/gsm_23_041.h 3 files changed, 8 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/57/18257/1 diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 1bca068..f8f2eab 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -664,7 +664,7 @@ /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t key_seq:4, spare:4; union { - uint32_t classmark2; /* Backward compatibility */ + uint32_t classmark2; struct { uint8_t cm2_len; struct gsm48_classmark2 cm2; @@ -815,7 +815,7 @@ /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t cipher_key_seq:4, cm_service_type:4; union { - uint32_t classmark; /* Backward compatibility */ + uint32_t classmark; struct { uint8_t cm2_len; struct gsm48_classmark2 classmark2; diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index e791b07..d8a7773 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -41,27 +41,21 @@ } __attribute__((packed)); struct dtap_header { -#if OSMO_IS_LITTLE_ENDIAN uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { +#if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ - }; - }; - uint8_t length; #elif OSMO_IS_BIG_ENDIAN - uint8_t type; - union { - uint8_t link_id; - struct { +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; +#endif }; }; uint8_t length; -#endif } __attribute__((packed)); /* Data Link Control SAPI, GSM 08.06 ? 6.3.2, GSM 04.06 ? 3.3.3 */ diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h index e60c324..e726cff 100644 --- a/include/osmocom/gsm/protocol/gsm_23_041.h +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -11,9 +11,9 @@ #if OSMO_IS_LITTLE_ENDIAN uint8_t num_pages:4, page_nr:4; -#else - uint8_t page_nr:4, - num_pages:4; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t page_nr:4, num_pages:4; #endif } page_param; uint8_t content[0]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 Gerrit-Change-Number: 18257 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:47:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:47:39 +0000 Subject: Change in libosmocore[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18257 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 Gerrit-Change-Number: 18257 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 14 May 2020 15:47:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:48:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:48:02 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix AMR frame decoding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18182 ) Change subject: trau_frame: Fix AMR frame decoding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 Gerrit-Change-Number: 18182 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 14 May 2020 15:48:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:49:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:49:37 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18181 ) Change subject: trau_frame: Add 16k HR + OAM encoding/decoding; add AMR encoding ...................................................................... Abandoned let's not add thsi to the old code, but to the new code instead. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I589a0e97e48e7f89d9166793b9887462756e8f09 Gerrit-Change-Number: 18181 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:49:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:49:44 +0000 Subject: Change in libosmo-abis[master]: trau_frame: Fix AMR frame decoding In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18182 ) Change subject: trau_frame: Fix AMR frame decoding ...................................................................... trau_frame: Fix AMR frame decoding Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 --- M src/trau_frame.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/trau_frame.c b/src/trau_frame.c index 9558b3f..ac373aa 100644 --- a/src/trau_frame.c +++ b/src/trau_frame.c @@ -85,6 +85,7 @@ memcpy(fr->t_bits+0, trau_bits+316, 4); /* D1 .. D5 */ memcpy(fr->d_bits, trau_bits+43, 5); + d_idx += 5; /* D6 .. D245 */ for (i = 48; i < 304; i += 16) { memcpy(fr->d_bits + d_idx, trau_bits+i+1, 15); -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I9b2dbca05217ee78cade2a47a02857f7cf7e0cd7 Gerrit-Change-Number: 18182 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:50:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 15:50:43 +0000 Subject: Change in libosmocore[master]: lapd/lapdm: print user-defined string name instead of (dl=%p) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18002 ) Change subject: lapd/lapdm: print user-defined string name instead of (dl=%p) ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18002 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie6742843fff809edffcac24c4dce4edf66bc71be Gerrit-Change-Number: 18002 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 15:50:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:51:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:51:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 14 May 2020 15:51:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:52:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:52:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 ) Change subject: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 Gerrit-Change-Number: 18251 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 14 May 2020 15:52:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:52:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:52:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 ) Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 14 May 2020 15:52:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:53:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:53:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 ) Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 14 May 2020 15:53:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_force_two_phase_access In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 ) Change subject: Introduce test TC_force_two_phase_access ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d Gerrit-Change-Number: 18254 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 14 May 2020 15:53:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:54:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:54:33 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18246 ) Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 15:54:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:54:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 14 May 2020 15:54:36 +0000 Subject: Change in libosmocore[master]: codec: Add functions for AMR s->d bits and d->s bits In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18246 ) Change subject: codec: Add functions for AMR s->d bits and d->s bits ...................................................................... codec: Add functions for AMR s->d bits and d->s bits These functions implement re-ordering of bits as per TS 06.90 / 26.101 based on the already existing tables we've had in libosmocoding. Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 --- M include/osmocom/codec/codec.h M src/codec/Makefile.am M src/codec/gsm690.c M tests/codec/codec_test.c M tests/codec/codec_test.ok 5 files changed, 165 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h index 6a1bf9f..cbdad75 100644 --- a/include/osmocom/codec/codec.h +++ b/include/osmocom/codec/codec.h @@ -6,6 +6,7 @@ #include #include +#include /* TS 101318 Chapter 5.1: 260 bits + 4bit sig */ #define GSM_FR_BYTES 33 @@ -51,6 +52,11 @@ AMR_GOOD = 1 }; +extern const uint8_t gsm690_bitlength[AMR_NO_DATA+1]; + +int osmo_amr_s_to_d(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); +int osmo_amr_d_to_s(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode); + /*! Check if given AMR Frame Type is a speech frame * \param[in] ft AMR Frame Type * \returns true if AMR with given Frame Type contains voice, false otherwise diff --git a/src/codec/Makefile.am b/src/codec/Makefile.am index ac33aa0..778eb2a 100644 --- a/src/codec/Makefile.am +++ b/src/codec/Makefile.am @@ -3,7 +3,7 @@ # before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html LIBVERSION=2:0:2 -AM_CPPFLAGS = -I$(top_srcdir)/include $(TALLOC_CFLAGS) +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include $(TALLOC_CFLAGS) AM_CFLAGS = -Wall if ENABLE_PSEUDOTALLOC diff --git a/src/codec/gsm690.c b/src/codec/gsm690.c index 8ab1df1..cc6cdf0 100644 --- a/src/codec/gsm690.c +++ b/src/codec/gsm690.c @@ -2,6 +2,7 @@ * GSM 06.90 - GSM AMR Codec. */ /* * (C) 2010 Sylvain Munaut + * (C) 2020 Harald Welte * * All Rights Reserved * @@ -29,6 +30,7 @@ #include #include +#include #include /* * These table map between the raw encoder parameter output and @@ -216,6 +218,114 @@ 92, 31, 52, 65, 86, }; +/*! These constants refer to the length of one "AMR core frame" as per + * TS 26.101 Section 4.2.2 / Table 2. */ +const uint8_t gsm690_bitlength[AMR_NO_DATA+1] = { + [AMR_4_75] = 95, + [AMR_5_15] = 103, + [AMR_5_90] = 118, + [AMR_6_70] = 134, + [AMR_7_40] = 148, + [AMR_7_95] = 159, + [AMR_10_2] = 204, + [AMR_12_2] = 244, + [AMR_SID] = 39, +}; + +struct ts26101_reorder_table { + /*! Table as per TS 26.101 Annex B to compute d-bits from s-bits */ + const uint16_t *s_to_d; + /*! size of table */ + uint8_t len; +}; + +static const struct ts26101_reorder_table ts26101_reorder_tables[8] = { + [AMR_4_75] = { + .s_to_d = gsm690_4_75_bitorder, + .len = ARRAY_SIZE(gsm690_4_75_bitorder), + }, + [AMR_5_15] = { + .s_to_d = gsm690_5_15_bitorder, + .len = ARRAY_SIZE(gsm690_5_15_bitorder), + }, + [AMR_5_90] = { + .s_to_d = gsm690_5_9_bitorder, + .len = ARRAY_SIZE(gsm690_5_9_bitorder), + }, + [AMR_6_70] = { + .s_to_d = gsm690_6_7_bitorder, + .len = ARRAY_SIZE(gsm690_6_7_bitorder), + }, + [AMR_7_40] = { + .s_to_d = gsm690_7_4_bitorder, + .len = ARRAY_SIZE(gsm690_7_4_bitorder), + }, + [AMR_7_95] = { + .s_to_d = gsm690_7_95_bitorder, + .len = ARRAY_SIZE(gsm690_7_95_bitorder), + }, + [AMR_10_2] = { + .s_to_d = gsm690_10_2_bitorder, + .len = ARRAY_SIZE(gsm690_10_2_bitorder), + }, + [AMR_12_2] = { + .s_to_d = gsm690_12_2_bitorder, + .len = ARRAY_SIZE(gsm690_12_2_bitorder), + }, +}; + +/*! Convert from S-bits (codec output) to d-bits. + * \param[out] out user-provided output buffer for generated unpacked d-bits + * \param[in] in input buffer for unpacked s-bits + * \param[in] n_bits number of bits (in both in and out) + * \param[in] AMR mode (0..7) */ +int osmo_amr_s_to_d(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode) +{ + const struct ts26101_reorder_table *tbl; + int i; + + if (amr_mode >= ARRAY_SIZE(ts26101_reorder_tables)) + return -ENODEV; + + tbl = &ts26101_reorder_tables[amr_mode]; + + if (n_bits > tbl->len) + return -EINVAL; + + for (i = 0; i < n_bits; i++) { + uint16_t n = tbl->s_to_d[i]; + out[i] = in[n]; + } + + return n_bits; +} + +/*! Convert from d-bits to s-bits (codec input). + * \param[out] out user-provided output buffer for generated unpacked s-bits + * \param[in] in input buffer for unpacked d-bits + * \param[in] n_bits number of bits (in both in and out) + * \param[in] AMR mode (0..7) */ +int osmo_amr_d_to_s(ubit_t *out, const ubit_t *in, uint16_t n_bits, enum osmo_amr_type amr_mode) +{ + const struct ts26101_reorder_table *tbl; + int i; + + if (amr_mode >= ARRAY_SIZE(ts26101_reorder_tables)) + return -ENODEV; + + tbl = &ts26101_reorder_tables[amr_mode]; + + if (n_bits > tbl->len) + return -EINVAL; + + for (i = 0; i < n_bits; i++) { + uint16_t n = tbl->s_to_d[i]; + out[n] = in[i]; + } + + return n_bits; +} + /* See also RFC 4867 ?3.6, Table 1, Column "Total speech bits" */ static const uint8_t amr_len_by_ft[16] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 diff --git a/tests/codec/codec_test.c b/tests/codec/codec_test.c index 7a10fc5..5579e99 100644 --- a/tests/codec/codec_test.c +++ b/tests/codec/codec_test.c @@ -190,6 +190,42 @@ } } + + +static void test_amr_s_d(void) +{ + ubit_t in[244]; + ubit_t mid[244]; + ubit_t out[244]; + int i, j; + + for (j = AMR_4_75; j <= AMR_12_2; j++) { + unsigned int n_bits = gsm690_bitlength[j]; + + printf("=> AMR Mode %d (%d bits)\n", j, n_bits); + /* set a single bit in the input buffer */ + for (i = 0; i < n_bits; i++) { + + memset(in, 0, sizeof(in)); + in[i] = 1; + + /* re-order from s to d */ + osmo_amr_s_to_d(mid, in, n_bits, j); + + /* and back to d */ + osmo_amr_d_to_s(out, mid, n_bits, j); + + if (memcmp(in, out, n_bits)) { + printf("Error in bit %d of mode %d!\n", i, j); + printf("inp s-bits: %s\n", osmo_ubit_dump(in, n_bits)); + printf("mid d-bits: %s\n", osmo_ubit_dump(mid, n_bits)); + printf("out s-bits: %s\n", osmo_ubit_dump(out, n_bits)); + //OSMO_ASSERT(0); + } + } + } +} + int main(int argc, char **argv) { printf("AMR RTP payload decoder test:\n"); @@ -213,6 +249,9 @@ printf("FR RTP payload SID test:\n"); test_sid_fr(); + printf("AMR s/d bit re-ordering test:\n"); + test_amr_s_d(); + return 0; } diff --git a/tests/codec/codec_test.ok b/tests/codec/codec_test.ok index b8cba19..7d8609b 100644 --- a/tests/codec/codec_test.ok +++ b/tests/codec/codec_test.ok @@ -30,3 +30,12 @@ FR SID d8 62 a2 61 60 00 00 10 00 00 92 00 00 00 00 40 00 00 08 00 00 00 01 00 00 01 00 00 80 00 40 02 40 : 1 FR SID d9 e4 c3 6d 12 00 00 80 00 20 00 40 00 00 00 00 00 10 00 00 00 10 48 00 10 48 00 00 00 00 2d 04 00 : 1 FR SID d9 a4 c3 29 59 00 00 10 00 00 12 00 00 00 00 41 00 00 01 00 00 00 01 00 80 00 00 00 00 42 00 12 02 : 1 +AMR s/d bit re-ordering test: +=> AMR Mode 0 (95 bits) +=> AMR Mode 1 (103 bits) +=> AMR Mode 2 (118 bits) +=> AMR Mode 3 (134 bits) +=> AMR Mode 4 (148 bits) +=> AMR Mode 5 (159 bits) +=> AMR Mode 6 (204 bits) +=> AMR Mode 7 (244 bits) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia4ac2aea2e96f9185f082a07ca64dfc5276efb46 Gerrit-Change-Number: 18246 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 15:56:08 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 14 May 2020 15:56:08 +0000 Subject: Change in libosmocore[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18257 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 Gerrit-Change-Number: 18257 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 14 May 2020 15:56:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 17:22:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks Also increment BSN with each new submitted packet. Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 --- M pcu/PCU_Tests.ttcn 1 file changed, 11 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/18258/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 2077ac6..e11ff44 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -136,6 +136,9 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ + var uint4_t g_bs_cv_max := 4; + var boolean g_egprs_only := false; var boolean g_force_two_phase_access := false; @@ -538,8 +541,8 @@ runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := tfi, - cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ + cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be initial value? */ blocks := { /* To be generated in loop */ }); if (not istemplatekind(tlli, "omit")) { @@ -549,7 +552,12 @@ for (var integer i := 0; i < num_blocks; i := i + 1) { /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + ul_data.data.mac_hdr.countdown := cv; + ul_data.data.mac_hdr.bsn := i; ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; f_tx_rlcmac_ul_block(ul_data); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:22:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 17:22:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent These features will be used in test added in next commit. Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b --- M pcu/PCU_Tests.ttcn 1 file changed, 26 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/18259/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index e11ff44..ce4ea8d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -527,22 +527,26 @@ } private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { +runs on RAW_PCU_Test_CT return integer { var octetstring data; + var integer padding_len; /* Encode the payload of DATA.ind */ data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); data := f_pad_oct(data, 23, '00'O); /* CS-1 */ /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ f_pcuif_tx_data_ind(data, lqual_cb, fn); + return padding_len; } -private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on RAW_PCU_Test_CT { +private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +runs on RAW_PCU_Test_CT return octetstring { + var octetstring total_payload := ''O; var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := tfi, cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be initial value? */ + bsn := 0, /* To be generated in loop */ blocks := { /* To be generated in loop */ }); if (not istemplatekind(tlli, "omit")) { @@ -551,16 +555,21 @@ } for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); /* Prepare a new UL block (CV, random payload) */ var integer cv := num_blocks - i - 1; if (cv > g_bs_cv_max) { cv := 15; } ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - f_tx_rlcmac_ul_block(ul_data); + ul_data.data.mac_hdr.bsn := bsn + i; + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; + padding_len := f_tx_rlcmac_ul_block(ul_data); + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); } + bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ + return total_payload; } private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) @@ -1323,6 +1332,7 @@ var boolean ok; var uint32_t unused_fn; var OCT4 tlli := '00000001'O; + var uint14_t bsn := 0; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1350,7 +1360,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1359,7 +1369,8 @@ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1); + bsn := 0; + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -1438,6 +1449,7 @@ var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var uint14_t bsn := 0; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1461,7 +1473,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1515,6 +1527,7 @@ var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); var CodingScheme cs_mcs; + var uint14_t bsn := 0; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); if (g_force_two_phase_access) { @@ -1561,7 +1574,7 @@ /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); /* TODO: send using cs_mcs */ + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), bsn, 1); /* TODO: send using cs_mcs */ //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ @@ -1647,6 +1660,7 @@ var uint32_t sched_fn; var uint32_t dl_fn; var OCT4 tlli := '00000001'O; + var uint14_t bsn := 0; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); /* Initialize NS/BSSGP side */ @@ -1687,7 +1701,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:22:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 17:22:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_countdown_procedure References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 ) Change subject: pcu: Introduce test TC_countdown_procedure ...................................................................... pcu: Introduce test TC_countdown_procedure Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 --- M pcu/PCU_Tests.ttcn 1 file changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/18260/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ce4ea8d..cc2add2 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1434,6 +1434,65 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ +testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var uint14_t bsn := 1; + var PDU_BSSGP bssgp_pdu; + var octetstring total_payload; + var integer padding_len; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA_TLLI( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + bsn := 0, + blocks := { valueof(t_RLCMAC_LLCBLOCK(total_payload)) }, + tlli := tlli); + + f_tx_rlcmac_ul_block(ul_data, 0); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* Send enough blocks to test whole procedure: Until Nth block + (N=BS_CV_MAX), CV=15 is sent, and then the decreasing countdown value is sent. + */ + total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 20); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* receive one message on BSSGP with all aggregated data in payload: */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); +} + /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ @@ -2188,6 +2247,7 @@ execute( TC_cs_max_ul() ); execute( TC_t3169() ); execute( TC_t3193() ); + execute( TC_countdown_procedure() ); execute( TC_mo_ping_pong() ); execute( TC_mo_ping_pong_with_ul_racap() ); execute( TC_force_two_phase_access() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 Gerrit-Change-Number: 18260 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:53:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 17:53:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 ) Change subject: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 Gerrit-Change-Number: 18251 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 17:53:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:53:41 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 17:53:41 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/gsm0808.h File include/osmocom/gsm/gsm0808.h: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/gsm0808.h at 322 PS1, Line 322: diagnostics > Could be shortened to '_diag_oct_loc_str'. Not critical. Why speak in riddles and make reading the code hard? https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h File include/osmocom/gsm/protocol/gsm_08_08.h: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/include/osmocom/gsm/protocol/gsm_08_08.h at 674 PS1, Line 674: struct gsm0808_diagnostics { > Hint: Probably better to generate bigendian/littleendian with ./contrib/struct_endianess. [?] Done https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c at 40 PS1, Line 40: static __thread char str_buff[512]; > As Usual, I don't really like adding more and more static buffers every time we add some function. [?] Is this really critical? Using a caller allocated but makes the user code quite ugly https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c at 1682 PS1, Line 1682: else if (pointer == 1) > If possible, would be nice to use a 'value_string' here, or at least the 'switch' statement. Makes sense https://gerrit.osmocom.org/c/libosmocore/+/18231/1/tests/gsm0808/gsm0808_test.c File tests/gsm0808/gsm0808_test.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/tests/gsm0808/gsm0808_test.c at 393 PS1, Line 393: > whitespace Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 14 May 2020 17:53:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 17:55:14 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 17:55:14 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18231 to look at the new patch set (#2). Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. Also add a test for an actual CONFUSION message parsing. Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/protocol/gsm_08_08.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 113 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/18231/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 19:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 19:19:26 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: implement hopping sequence generation References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18261 ) Change subject: trx_toolkit/gsm_shared.py: implement hopping sequence generation ...................................................................... trx_toolkit/gsm_shared.py: implement hopping sequence generation Based on firmware/layer1/rfch.c:rfch_hop_seq_gen() by Sylvain Munaut. Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd --- M src/target/trx_toolkit/gsm_shared.py 1 file changed, 73 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/61/18261/1 diff --git a/src/target/trx_toolkit/gsm_shared.py b/src/target/trx_toolkit/gsm_shared.py index 71f43a7..c8c6b8f 100644 --- a/src/target/trx_toolkit/gsm_shared.py +++ b/src/target/trx_toolkit/gsm_shared.py @@ -2,9 +2,10 @@ # -*- coding: utf-8 -*- # TRX Toolkit -# Common GSM constants +# Common GSM constants and helpers # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -106,3 +107,73 @@ return ts return None + +class HoppingParams: + """ Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. + + Based on firmware/layer1/rfch.c:rfch_hop_seq_gen() by Sylvain Munaut. + + """ + + # Magic numbers for pseudo-random hopping sequence generation + RNTABLE = [ + 48, 98, 63, 1, 36, 95, 78, 102, 94, 73, + 0, 64, 25, 81, 76, 59, 124, 23, 104, 100, + 101, 47, 118, 85, 18, 56, 96, 86, 54, 2, + 80, 34, 127, 13, 6, 89, 57, 103, 12, 74, + 55, 111, 75, 38, 109, 71, 112, 29, 11, 88, + 87, 19, 3, 68, 110, 26, 33, 31, 8, 45, + 82, 58, 40, 107, 32, 5, 106, 92, 62, 67, + 77, 108, 122, 37, 60, 66, 121, 42, 51, 126, + 117, 114, 4, 90, 43, 52, 53, 113, 120, 72, + 16, 49, 7, 79, 119, 61, 22, 84, 9, 97, + 91, 15, 21, 24, 46, 39, 93, 105, 65, 70, + 125, 99, 17, 123, + ] + + def __init__(self, hsn, maio, ma): + # Make sure MA is not empty + ma_len = len(ma) + if ma_len == 0: # TODO: or rather > 1? + raise ValueError("Mobile Allocation is empty") + + self.hsn = hsn + self.maio = maio + self.ma = ma + + # Pre-calculate 2 ** NBIN in advance + self._pnm = (ma_len >> 0) | (ma_len >> 1) \ + | (ma_len >> 2) | (ma_len >> 3) \ + | (ma_len >> 4) | (ma_len >> 5) \ + | (ma_len >> 6) + + def __str__(self): + fmt = "hsn=%u, maio=%u, ma_len=%u" + return fmt % (self.hsn, self.maio, len(self.ma)) + + @staticmethod + def fn2gsm_time(fn): + t1 = fn // (26 * 51) + t2 = fn % 26 + t3 = fn % 51 + tc = (fn // 51) % 8 + return (t1, t2, t3, tc) + + # Resolve current ARFCN using the given TDMA frame number + def resolve(self, fn): + # Cyclic hopping + if self.hsn == 0: + mai = (fn + self.maio) % len(self.ma) + return self.ma[mai] + + # Pseudo random hopping + (t1, t2, t3, tc) = self.fn2gsm_time(fn) + ma_len = len(self.ma) + + rn_idx = (self.hsn ^ (t1 & 63)) + t3 + m = t2 + self.RNTABLE[rn_idx] + mp = m & self._pnm + + s = mp if mp < ma_len else (mp + t3 & self._pnm) % ma_len + mai = (s + self.maio) % ma_len + return self.ma[mai] -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd Gerrit-Change-Number: 18261 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 19:19:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 19:19:26 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... trx_toolkit/transceiver.py: add frequency hopping support There are two ways to implement frequency hopping: a) The Transceiver is configured with the hopping parameters, in particular HSN, MAIO, and the list of ARFCNs (channels), so the actual Rx/Tx frequencies are changed by the Transceiver itself depending on the current TDMA frame number. b) The L1 maintains several Transceivers (two or more), so each instance is assigned one dedicated RF carrier frequency, and hence the number of available hopping frequencies is equal to the number of Transceivers. In this case, it's the task of the L1 to commutate bursts between Transceivers (frequencies). For the MS side, a) is preferred, because a phone usually has only one Transceiver (per RAT). On the other hand, b) is more suitable for the BTS side, because it's relatively easy to implement and there is no technical limitation on the amount of Transceivers. FakeTRX obviously does support b) since multi-TRX feature has been implemented, as well as a) by resolving UL/DL frequencies using a preconfigured (by the L1) set of the hopping parameters. The later can be enabled using the SETFH control command: CMD SETFH [... ] where and is a pair of Rx/Tx frequencies (in kHz) corresponding to one ARFCN the Mobile Allocation. Note that the channel list is expected to be sorted in ascending order. NOTE: in the current implementation, mode a) applies to the whole Transceiver and all its timeslots, so using in for the BTS side does not make any sense (imagine BCCH hopping together with DCCH). Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd --- M src/target/trx_toolkit/burst_fwd.py M src/target/trx_toolkit/ctrl_if.py M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/fake_pm.py M src/target/trx_toolkit/transceiver.py 5 files changed, 147 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/18262/1 diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py index fd6013b..9fb308f 100644 --- a/src/target/trx_toolkit/burst_fwd.py +++ b/src/target/trx_toolkit/burst_fwd.py @@ -4,7 +4,8 @@ # TRX Toolkit # Burst forwarding between transceivers # -# (C) 2017-2018 by Vadim Yanitskiy +# (C) 2017-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -65,6 +66,10 @@ self.trx_list.remove(trx) def forward_msg(self, src_trx, rx_msg): + # Originating Transceiver may use frequency hopping, + # so let's precalculate its Tx frequency in advance + tx_freq = src_trx.get_tx_freq(rx_msg.fn) + # Iterate over all known transceivers for trx in self.trx_list: if trx == src_trx: @@ -73,11 +78,13 @@ # Check transceiver state if not trx.running: continue - if trx.rx_freq != src_trx.tx_freq: - continue if rx_msg.tn not in trx.ts_list: continue + # Match Tx/Rx frequencies of the both transceivers + if trx.get_rx_freq(rx_msg.fn) != tx_freq: + continue + # Transform from L12TRX to TRX2L1 and forward tx_msg = rx_msg.gen_trx2l1(ver = trx.data_if._hdr_ver) trx.handle_data_msg(src_trx, rx_msg, tx_msg) diff --git a/src/target/trx_toolkit/ctrl_if.py b/src/target/trx_toolkit/ctrl_if.py index 89dfe46..7333501 100644 --- a/src/target/trx_toolkit/ctrl_if.py +++ b/src/target/trx_toolkit/ctrl_if.py @@ -4,7 +4,8 @@ # TRX Toolkit # CTRL interface implementation # -# (C) 2016-2017 by Vadim Yanitskiy +# (C) 2016-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -61,13 +62,17 @@ # Now we have something like ["TXTUNE", "941600"] return request - def verify_cmd(self, request, cmd, argc): + # If va is True, the command can have variable number of arguments + def verify_cmd(self, request, cmd, argc, va = False): # Check if requested command matches if request[0] != cmd: return False # And has enough arguments - if len(request) - 1 != argc: + req_len = len(request[1:]) + if not va and req_len != argc: + return False + elif va and req_len < argc: return False return True diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index e44f8a9..aab161b 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -4,7 +4,8 @@ # TRX Toolkit # CTRL interface implementation (common commands) # -# (C) 2016-2019 by Vadim Yanitskiy +# (C) 2016-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -105,9 +106,9 @@ log.error("(%s) Transceiver already started" % self.trx) return -1 - # Ensure RX / TX freq. are set - if (self.trx.rx_freq is None) or (self.trx.tx_freq is None): - log.error("(%s) RX / TX freq. are not set" % self.trx) + # Ensure that transceiver is ready + if not self.trx.ready: + log.error("(%s) Transceiver is not ready" % self.trx) return -1 log.info("(%s) Starting transceiver..." % self.trx) @@ -187,6 +188,44 @@ return (0, [str(meas_dbm)]) + # Frequency hopping configuration (variable length list). + # + # Format: CMD SETFH + # + # [... ] + # + # where and is a pair of Rx/Tx frequencies (in kHz) + # corresponding to one ARFCN the Mobile Allocation. Note that the + # channel list is expected to be sorted in ascending order. + if self.verify_cmd(request, "SETFH", 2, va = True): + log.debug("(%s) Recv SETFH cmd" % self.trx) + + # Parse HSN and MAIO + hsn = int(request[1]) + maio = int(request[2]) + + # List of MA frequencies + ma = request[3:] + ma_len = len(ma) + + # Make sure that MA length is even and contains at least 2 pairs + if (ma_len // 2 < 2) or (ma_len % 2 != 0): + log.error("(%s) Hopping channel list is incomplete " + "(N=%d)" % (self.trx, ma_len)) + return -1 + + # Parse the list of hopping frequencies + ma = [int(f) * 1000 for f in ma] # kHz -> Hz + ma = [(rx, tx) for rx, tx in zip(ma[0::2], ma[1::2])] + + # Ask the Transceiver to enable frequency hopping + try: + self.trx.enable_fh(hsn, maio, ma) + return 0 + except: + log.error("(%s) Failed to enable frequency hopping" % trx) + return -1 + # TRXD header version negotiation if self.verify_cmd(request, "SETFORMAT", 1): log.debug("(%s) Recv SETFORMAT cmd" % self.trx) diff --git a/src/target/trx_toolkit/fake_pm.py b/src/target/trx_toolkit/fake_pm.py index 51dc057..0d66099 100644 --- a/src/target/trx_toolkit/fake_pm.py +++ b/src/target/trx_toolkit/fake_pm.py @@ -64,14 +64,19 @@ def rssi_trx(self): return randint(self.trx_min, self.trx_max) - def measure(self, freq): + def measure(self, freq, fn = None): # Iterate over all known transceivers for trx in self.trx_list: if not trx.running: continue + # FIXME: we need to know current TDMA frame number here, + # because some transceivers may use frequency hopping + if trx.fh is not None and fn is None: + continue + # Match by given frequency - if trx.tx_freq == freq: + if trx.get_tx_freq(fn) == freq: return self.rssi_trx return self.rssi_noise diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index b1a5c11..3e1f14c 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -4,7 +4,8 @@ # TRX Toolkit # Transceiver implementation # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -29,6 +30,8 @@ from udp_link import UDPLink from trx_list import TRXList +from gsm_shared import HoppingParams + class Transceiver: """ Base transceiver implementation. @@ -88,6 +91,35 @@ that shall provide at least one method: measure(freq). This is required for the MS side (i.e. OsmocomBB). + == Frequency hopping (optional) + + There are two ways to implement frequency hopping: + + a) The Transceiver is configured with the hopping parameters, in + particular HSN, MAIO, and the list of ARFCNs (channels), so the + actual Rx/Tx frequencies are changed by the Transceiver itself + depending on the current TDMA frame number. + + b) The L1 maintains several Transceivers (two or more), so each + instance is assigned one dedicated RF carrier frequency, and + hence the number of available hopping frequencies is equal to + the number of Transceivers. In this case, it's the task of + the L1 to commutate bursts between Transceivers (frequencies). + + For the MS side, a) is preferred, because a phone usually has only + one Transceiver (per RAT). On the other hand, b) is more suitable + for the BTS side, because it's relatively easy to implement and + there is no technical limitation on the amount of Transceivers. + + FakeTRX obviously does support b) since multi-TRX feature has been + implemented, as well as a) by resolving UL/DL frequencies using a + preconfigured (by the L1) set of the hopping parameters. The later + can be enabled using the SETFH control command. + + NOTE: in the current implementation, mode a) applies to the whole + Transceiver and all its timeslots, so using in for the BTS side + does not make any sense (imagine BCCH hopping together with DCCH). + """ def __init__(self, bind_addr, remote_addr, base_port, name = None, @@ -131,8 +163,11 @@ self.running = False # Actual RX / TX frequencies - self.rx_freq = None - self.tx_freq = None + self._rx_freq = None + self._tx_freq = None + + # Frequency hopping parameters (set by CTRL) + self.fh = None # List of active (configured) timeslots self.ts_list = [] @@ -149,6 +184,41 @@ return desc + @property + def ready(self): + # Make sure that either both Rx/Tx frequencies are set + if self._rx_freq is None or self._tx_freq is None: + # ... or frequency hopping is in use + if self.fh is None: + return False + + return True + + def get_rx_freq(self, fn): + if self.fh is None: + return self._rx_freq + + # Frequency hopping in use, resolve by TDMA fn + (rx_freq, _) = self.fh.resolve(fn) + return rx_freq + + def get_tx_freq(self, fn): + if self.fh is None: + return self._tx_freq + + # Frequency hopping in use, resolve by TDMA fn + (_, tx_freq) = self.fh.resolve(fn) + return tx_freq + + def enable_fh(self, *args): + self.fh = HoppingParams(*args) + log.info("(%s) Frequency hopping enabled: %s" % (self, self.fh)) + + def disable_fh(self): + if self.fh is not None: + log.info("(%s) Frequency hopping disabled" % self) + self.fh = None + # To be overwritten if required, # no custom command handlers by default def ctrl_cmd_handler(self, request): @@ -159,8 +229,13 @@ for trx in self.child_trx_list.trx_list: if event == "POWERON": trx.running = True - else: + elif event == "POWEROFF": trx.running = False + trx.disable_fh() + + # Reset frequency hopping parameters + if event == "POWEROFF": + self.disable_fh() # Trigger clock generator if required if self.clck_gen is not None: -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 19:24:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 14 May 2020 19:24:01 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 1: Let's keep it WIP for now. I need to change some things in trxcon. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 14 May 2020 19:24:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 21:24:58 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 21:24:58 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 4: (3 comments) This change is ready for review. https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/bsc_vty.c at 5010 PS4, Line 5010: if (lchan->fi->state == LCHAN_ST_UNUSED) { > (unrelated cosmetic change) Sorry, a leftover from a previous version where there was a counter here as well. https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/lchan_fsm.c at 1413 PS4, Line 1413: { > you need to also change the stat item and possibly also add a counter here, [?] Thanks a lot for the hint! Fixed in the new patchset https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/4/src/osmo-bsc/timeslot_fsm.c at 899 PS4, Line 899: .allstate_action = ts_fsm_allstate, > you also need to add a cleanup function to track those TS leaving the BORKEN state due to FSM deallo [?] Yep. Will add. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 21:24:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 21:25:10 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 21:25:10 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#5). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 134 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 21:25:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 21:25:12 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Coding style fix - brackets around a complex if/else References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18263 ) Change subject: bsc_vty: Coding style fix - brackets around a complex if/else ...................................................................... bsc_vty: Coding style fix - brackets around a complex if/else Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/18263/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 83a7e2a..d699cf7 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5007,9 +5007,9 @@ return CMD_WARNING; if (!strcmp(argv[4], "borken")) { - if (lchan->fi->state == LCHAN_ST_UNUSED) + if (lchan->fi->state == LCHAN_ST_UNUSED) { osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_BORKEN, 0, 0); - else { + } else { vty_out(vty, "%% lchan is in state %s, only lchans that are in state %s may be moved to state %s manually%s", osmo_fsm_state_name(lchan->fi->fsm, lchan->fi->state), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377 Gerrit-Change-Number: 18263 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 21:59:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 21:59:06 +0000 Subject: Change in libosmocore[master]: add missing endian.h in gsm_23_041.h In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18255 ) Change subject: add missing endian.h in gsm_23_041.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I593cc5e8272469b570559206bb02b6e79797340b Gerrit-Change-Number: 18255 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 21:59:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:00:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 22:00:45 +0000 Subject: Change in libosmocore[master]: struct_endianess.py: also recognise unnamed substructs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18256 ) Change subject: struct_endianess.py: also recognise unnamed substructs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 Gerrit-Change-Number: 18256 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 22:00:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:18:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 22:18:18 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: implement hopping sequence generation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18261 ) Change subject: trx_toolkit/gsm_shared.py: implement hopping sequence generation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd Gerrit-Change-Number: 18261 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 22:18:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:28:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 22:28:50 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/lchan_fsm.c at 1417 PS6, Line 1417: osmo_stat_item_set(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 0); I this set(0) correct? https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/timeslot_fsm.c at 767 PS6, Line 767: osmo_stat_item_set(ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKEN], 0); Same here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 22:28:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 14 May 2020 22:29:09 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Coding style fix - brackets around a complex if/else In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18263 ) Change subject: bsc_vty: Coding style fix - brackets around a complex if/else ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377 Gerrit-Change-Number: 18263 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 22:29:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:42:54 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 22:42:54 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 6: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/lchan_fsm.c at 1417 PS6, Line 1417: osmo_stat_item_set(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 0); > I this set(0) correct? Ok, you're right. We should decrease the stat. I forgot that it's per-BTS. https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/6/src/osmo-bsc/timeslot_fsm.c at 767 PS6, Line 767: osmo_stat_item_set(ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKEN], 0); > Same here. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 22:42:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:44:46 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 22:44:46 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#7). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 136 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 22:57:19 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 22:57:19 +0000 Subject: Change in osmo-bsc[master]: bsc_vty: Coding style fix - brackets around a complex if/else In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18263 ) Change subject: bsc_vty: Coding style fix - brackets around a complex if/else ...................................................................... bsc_vty: Coding style fix - brackets around a complex if/else Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 0fd462f..30f685f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5007,9 +5007,9 @@ return CMD_WARNING; if (!strcmp(argv[4], "borken")) { - if (lchan->fi->state == LCHAN_ST_UNUSED) + if (lchan->fi->state == LCHAN_ST_UNUSED) { osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_BORKEN, 0, 0); - else { + } else { vty_out(vty, "%% lchan is in state %s, only lchans that are in state %s may be moved to state %s manually%s", osmo_fsm_state_name(lchan->fi->fsm, lchan->fi->state), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377 Gerrit-Change-Number: 18263 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 23:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 23:22:59 +0000 Subject: Change in libosmo-netif[master]: Revert "amr: Fix OA<->BWE conversion." References: Message-ID: Hello dexter, pespin, ipse, laforge, Jenkins Builder, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18264 to review the following change. Change subject: Revert "amr: Fix OA<->BWE conversion." ...................................................................... Revert "amr: Fix OA<->BWE conversion." This reverts commit 002a51e2180cf19bf5e11e16d78271998d0b3f5c. Reason for revert: amr_test fails with sanitizer build: Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 ../../../src/libosmo-netif/src/amr.c:63:24: runtime error: index 15 out of bounds for type 'size_t [9]' ../../../src/libosmo-netif/src/amr.c:63:24: runtime error: load of address 0x7f69498e56b8 with insufficient space for an object of type 'size_t' 0x7f69498e56b8: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 5f 00 00 00 00 00 00 00 67 00 00 00 00 00 00 00 76 00 00 00 ^ ================================================================= ==489935==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7f69498e56b8 at pc 0x7f69498abec7 bp 0x7ffeafb35330 sp 0x7ffeafb35328 READ of size 8 at 0x7f69498e56b8 thread T0 #0 0x7f69498abec6 in osmo_amr_bytes ../../../src/libosmo-netif/src/amr.c:63 #1 0x7f69498ac661 in osmo_amr_bwe_to_oa ../../../src/libosmo-netif/src/amr.c:193 #2 0x5648b11afb96 in osmo_amr_bwe_to_oa_test ../../../src/libosmo-netif/tests/amr/amr_test.c:134 #3 0x5648b11af31d in main ../../../src/libosmo-netif/tests/amr/amr_test.c:235 #4 0x7f6948d5de0a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26e0a) #5 0x5648b11af3d9 in _start (/n/s/dev/make/libosmo-netif/tests/amr/amr_test+0x43d9) 0x7f69498e56b8 is located 8 bytes to the left of global variable 'amr_ft_to_bits' defined in '../../../src/libosmo-netif/src/amr.c:32:15' (0x7f69498e56c0) of size 72 0x7f69498e56b8 is located 48 bytes to the right of global variable 'amr_ft_to_bytes' defined in '../../../src/libosmo-netif/src/amr.c:44:15' (0x7f69498e5640) of size 72 SUMMARY: AddressSanitizer: global-buffer-overflow ../../../src/libosmo-netif/src/amr.c:63 in osmo_amr_bytes Change-Id: I8232521c513722435e71dc90bdbfee10f8f83496 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 74 insertions(+), 144 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/64/18264/1 diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index c5a8e28..6e37c99 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -78,34 +78,20 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 -/* AMR voice frame length (in bits). - * See also RFC 3267, chapter 3.6. - * - * NOTE: These constants refer to the length of one AMR speech frame-block, - * not counting CMR, TOC. */ -#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ -#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ -#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ -#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ -#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ -#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ -#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ -#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ -#define AMR_FT_SID_LEN_BITS 39 /* SID */ +/* AMR voice frame length (in bytes, rounded), + * See also RFC 3267, chapter 3.6 */ +#define AMR_FT_0_LEN 12 /* 4.75 */ +#define AMR_FT_1_LEN 13 /* 5.15 */ +#define AMR_FT_2_LEN 15 /* 5.90 */ +#define AMR_FT_3_LEN 17 /* 6.70 */ +#define AMR_FT_4_LEN 19 /* 7.40 */ +#define AMR_FT_5_LEN 20 /* 7.95 */ +#define AMR_FT_6_LEN 26 /* 10.2 */ +#define AMR_FT_7_LEN 31 /* 12.2 */ +#define AMR_FT_SID_LEN 5 /* SID */ -/* AMR voice frame length (in bytes, rounded). - * - * NOTE: These constants refer to the length of one AMR speech frame-block, +/* NOTE: the above constant refers to the length of one AMR speech frame-block, * not counting CMR, TOC. */ -#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ -#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ -#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ -#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ -#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ -#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ -#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ -#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ -#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index a6b8361..5609c46 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,18 +29,6 @@ * 7 12.20 244 31 */ -static size_t amr_ft_to_bits[AMR_FT_MAX] = { - [AMR_FT_0] = AMR_FT_0_LEN_BITS, - [AMR_FT_1] = AMR_FT_1_LEN_BITS, - [AMR_FT_2] = AMR_FT_2_LEN_BITS, - [AMR_FT_3] = AMR_FT_3_LEN_BITS, - [AMR_FT_4] = AMR_FT_4_LEN_BITS, - [AMR_FT_5] = AMR_FT_5_LEN_BITS, - [AMR_FT_6] = AMR_FT_6_LEN_BITS, - [AMR_FT_7] = AMR_FT_7_LEN_BITS, - [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, -}; - static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -53,11 +41,6 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; -size_t osmo_amr_bits(uint8_t amr_ft) -{ - return amr_ft_to_bits[amr_ft]; -} - size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -136,10 +119,8 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; - unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; - int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -156,10 +137,8 @@ payload[i + 2] = payload[i + 2] << 6; } - /* Calculate new payload length */ - bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; - - return bwe_payload_len; + /* The overall saving is one byte! */ + return payload_len - 1; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. @@ -171,10 +150,8 @@ unsigned int payload_maxlen) { uint8_t buf[256]; - /* The header is only valid after shifting first two bytes to OA mode */ - struct amr_hdr *oa_hdr; + unsigned int frame_len = payload_len - 1; unsigned int i; - int oa_payload_len; memset(buf, 0, sizeof(buf)); @@ -188,16 +165,12 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - /* Calculate new payload length */ - oa_hdr = (struct amr_hdr *)buf; - oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); - - for (i = 0; i < oa_payload_len - 2; i++) { + for (i = 0; i < frame_len - 1; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } buf[i + 2] = payload[i + 1] << 2; - memcpy(payload, buf, oa_payload_len); - return oa_payload_len; + memcpy(payload, buf, payload_len + 1); + return payload_len + 1; } diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c index af10289..fff686c 100644 --- a/tests/amr/amr_test.c +++ b/tests/amr/amr_test.c @@ -44,9 +44,6 @@ "100c4e9ba850e30d5d53d04de41e7c", "100c6c18e7b7fff53aeb055e7d1c54", "100c1fb967f7f1fdf547bf2e61c060", - "0004f89d67f1160935bde1996840", - "0004633cc7f0630439ffe0000000", - "0004eb81fc0758973b9edc782552", "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ "END", }; @@ -90,6 +87,7 @@ return; printf("\n"); printf("Sample No.: %i\n", i); + len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -104,6 +102,11 @@ dump_bits(buf, rc); printf("\n"); printf(" rc: %i\n", rc); + + if (rc > 0) { + OSMO_ASSERT(rc == len - 1); + OSMO_ASSERT(buf[len - 1] == 0x00); + } i++; } } @@ -123,6 +126,7 @@ return; printf("\n"); printf("Sample No.: %i\n", i); + len = strlen(bwe_amr_samples[i]); len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -138,6 +142,7 @@ printf("\n"); printf(" rc: %i\n", rc); + OSMO_ASSERT(rc == len + 1); i++; } } @@ -146,8 +151,6 @@ { uint8_t buf[256]; uint8_t buf_chk[256]; - struct amr_hdr *oa_hd = (struct amr_hdr *)buf; - unsigned int ft; unsigned int i = 0; int len; @@ -160,21 +163,16 @@ while (1) { if (strcmp(oa_amr_samples[i], "END") == 0) return; - printf("Sample No.: %i...", i); + printf("Sample No.: %i...\n", i); + len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); - ft = oa_hd->ft; - OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); - printf(" AMR mode: %d, OA: %d bytes,", ft, len); memcpy(buf_chk, buf, sizeof(buf)); rc = osmo_amr_oa_to_bwe(buf, len); OSMO_ASSERT(rc > 0); - printf(" BE: %d bytes,", rc); rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); - printf(" OA: %d bytes\n", rc); - OSMO_ASSERT(len == rc); OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); i++; } diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok index 692563d..ea34fea 100644 --- a/tests/amr/amr_test.ok +++ b/tests/amr/amr_test.ok @@ -47,23 +47,23 @@ Sample No.: 6 octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 - bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 - 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 - rc: 22 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c + 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 + rc: 21 Sample No.: 7 octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 - bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 - 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 - rc: 22 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc + 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 + rc: 21 Sample No.: 8 octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 - bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 - 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 - rc: 22 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 + 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 + rc: 21 Sample No.: 9 octet aligned: 40240343e959c79bacd20c77501054880a718db200 @@ -110,46 +110,25 @@ Sample No.: 15 octet aligned: 100c4e9ba850e30d5d53d04de41e7c 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 - bw-efficient: 10d3a6ea1438c35754f41379079f00 - 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 - rc: 15 + bw-efficient: 10d3a6ea1438c35754f41379079f + 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 + rc: 14 Sample No.: 16 octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 - bw-efficient: 10db0639edfffd4ebac1579f471500 - 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 - rc: 15 + bw-efficient: 10db0639edfffd4ebac1579f4715 + 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 + rc: 14 Sample No.: 17 octet aligned: 100c1fb967f7f1fdf547bf2e61c060 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 - bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 - 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 - rc: 15 + bw-efficient: 10c7ee59fdfc7f7d51efcb987018 + 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 + rc: 14 Sample No.: 18 - octet aligned: 0004f89d67f1160935bde1996840 - 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 - bw-efficient: 007e2759fc45824d6f78665a1000 - 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 - rc: 14 - -Sample No.: 19 - octet aligned: 0004633cc7f0630439ffe0000000 - 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 - bw-efficient: 0058cf31fc18c10e7ff800000000 - 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 - rc: 14 - -Sample No.: 20 - octet aligned: 0004eb81fc0758973b9edc782552 - 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010 - bw-efficient: 007ae07f01d625cee7b71e095480 - 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010000000 - rc: 14 - -Sample No.: 21 octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f @@ -162,16 +141,16 @@ Sample No.: 0 bw-efficient: f4495c7cda8f80 11110100010010010101110001111100110110101000111110000000 - octet aligned: f0442571f36a3e - 11110000010001000010010101110001111100110110101000111110 - rc: 7 + octet aligned: f0442571f36a3e00 + 1111000001000100001001010111000111110011011010100011111000000000 + rc: 8 Sample No.: 1 bw-efficient: f44aaa6c969780 11110100010010101010101001101100100101101001011110000000 - octet aligned: f0442aa9b25a5e - 11110000010001000010101010101001101100100101101001011110 - rc: 7 + octet aligned: f0442aa9b25a5e00 + 1111000001000100001010101010100110110010010110100101111000000000 + rc: 8 Sample No.: 2 bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 @@ -204,34 +183,31 @@ Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - 10100000011110001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - rc: 136 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + rc: 33 Testing conversion from octet-aligned to bw-efficient and inverse: -Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 21... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 0... +Sample No.: 1... +Sample No.: 2... +Sample No.: 3... +Sample No.: 4... +Sample No.: 5... +Sample No.: 6... +Sample No.: 7... +Sample No.: 8... +Sample No.: 9... +Sample No.: 10... +Sample No.: 11... +Sample No.: 12... +Sample No.: 13... +Sample No.: 14... +Sample No.: 15... +Sample No.: 16... +Sample No.: 17... +Sample No.: 18... Testing detection of octet-aligned mode payloads: @@ -254,9 +230,6 @@ Sample No.: 16 ==>octet aligned Sample No.: 17 ==>octet aligned Sample No.: 18 ==>octet aligned -Sample No.: 19 ==>octet aligned -Sample No.: 20 ==>octet aligned -Sample No.: 21 ==>octet aligned Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8232521c513722435e71dc90bdbfee10f8f83496 Gerrit-Change-Number: 18264 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 23:23:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 23:23:00 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: neels has created a revert of this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/17997 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/17997 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I9fc5fb92e9bada22a47a82fcfb0925e892e50ced Gerrit-Change-Number: 17997 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: revert -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 23:27:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 23:27:22 +0000 Subject: Change in libosmo-netif[master]: Revert "amr: Fix OA<->BWE conversion." In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18264 ) Change subject: Revert "amr: Fix OA<->BWE conversion." ...................................................................... Patch Set 1: Code-Review+2 self +2 to fix the current master build -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8232521c513722435e71dc90bdbfee10f8f83496 Gerrit-Change-Number: 18264 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 14 May 2020 23:27:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 23:27:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 14 May 2020 23:27:26 +0000 Subject: Change in libosmo-netif[master]: Revert "amr: Fix OA<->BWE conversion." In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18264 ) Change subject: Revert "amr: Fix OA<->BWE conversion." ...................................................................... Revert "amr: Fix OA<->BWE conversion." This reverts commit 002a51e2180cf19bf5e11e16d78271998d0b3f5c. Reason for revert: amr_test fails with sanitizer build: Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 ../../../src/libosmo-netif/src/amr.c:63:24: runtime error: index 15 out of bounds for type 'size_t [9]' ../../../src/libosmo-netif/src/amr.c:63:24: runtime error: load of address 0x7f69498e56b8 with insufficient space for an object of type 'size_t' 0x7f69498e56b8: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 5f 00 00 00 00 00 00 00 67 00 00 00 00 00 00 00 76 00 00 00 ^ ================================================================= ==489935==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7f69498e56b8 at pc 0x7f69498abec7 bp 0x7ffeafb35330 sp 0x7ffeafb35328 READ of size 8 at 0x7f69498e56b8 thread T0 #0 0x7f69498abec6 in osmo_amr_bytes ../../../src/libosmo-netif/src/amr.c:63 #1 0x7f69498ac661 in osmo_amr_bwe_to_oa ../../../src/libosmo-netif/src/amr.c:193 #2 0x5648b11afb96 in osmo_amr_bwe_to_oa_test ../../../src/libosmo-netif/tests/amr/amr_test.c:134 #3 0x5648b11af31d in main ../../../src/libosmo-netif/tests/amr/amr_test.c:235 #4 0x7f6948d5de0a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26e0a) #5 0x5648b11af3d9 in _start (/n/s/dev/make/libosmo-netif/tests/amr/amr_test+0x43d9) 0x7f69498e56b8 is located 8 bytes to the left of global variable 'amr_ft_to_bits' defined in '../../../src/libosmo-netif/src/amr.c:32:15' (0x7f69498e56c0) of size 72 0x7f69498e56b8 is located 48 bytes to the right of global variable 'amr_ft_to_bytes' defined in '../../../src/libosmo-netif/src/amr.c:44:15' (0x7f69498e5640) of size 72 SUMMARY: AddressSanitizer: global-buffer-overflow ../../../src/libosmo-netif/src/amr.c:63 in osmo_amr_bytes Change-Id: I8232521c513722435e71dc90bdbfee10f8f83496 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 74 insertions(+), 144 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index c5a8e28..6e37c99 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -78,34 +78,20 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 -/* AMR voice frame length (in bits). - * See also RFC 3267, chapter 3.6. - * - * NOTE: These constants refer to the length of one AMR speech frame-block, - * not counting CMR, TOC. */ -#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ -#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ -#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ -#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ -#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ -#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ -#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ -#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ -#define AMR_FT_SID_LEN_BITS 39 /* SID */ +/* AMR voice frame length (in bytes, rounded), + * See also RFC 3267, chapter 3.6 */ +#define AMR_FT_0_LEN 12 /* 4.75 */ +#define AMR_FT_1_LEN 13 /* 5.15 */ +#define AMR_FT_2_LEN 15 /* 5.90 */ +#define AMR_FT_3_LEN 17 /* 6.70 */ +#define AMR_FT_4_LEN 19 /* 7.40 */ +#define AMR_FT_5_LEN 20 /* 7.95 */ +#define AMR_FT_6_LEN 26 /* 10.2 */ +#define AMR_FT_7_LEN 31 /* 12.2 */ +#define AMR_FT_SID_LEN 5 /* SID */ -/* AMR voice frame length (in bytes, rounded). - * - * NOTE: These constants refer to the length of one AMR speech frame-block, +/* NOTE: the above constant refers to the length of one AMR speech frame-block, * not counting CMR, TOC. */ -#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ -#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ -#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ -#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ -#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ -#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ -#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ -#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ -#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index a6b8361..5609c46 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,18 +29,6 @@ * 7 12.20 244 31 */ -static size_t amr_ft_to_bits[AMR_FT_MAX] = { - [AMR_FT_0] = AMR_FT_0_LEN_BITS, - [AMR_FT_1] = AMR_FT_1_LEN_BITS, - [AMR_FT_2] = AMR_FT_2_LEN_BITS, - [AMR_FT_3] = AMR_FT_3_LEN_BITS, - [AMR_FT_4] = AMR_FT_4_LEN_BITS, - [AMR_FT_5] = AMR_FT_5_LEN_BITS, - [AMR_FT_6] = AMR_FT_6_LEN_BITS, - [AMR_FT_7] = AMR_FT_7_LEN_BITS, - [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, -}; - static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -53,11 +41,6 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; -size_t osmo_amr_bits(uint8_t amr_ft) -{ - return amr_ft_to_bits[amr_ft]; -} - size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -136,10 +119,8 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; - unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; - int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -156,10 +137,8 @@ payload[i + 2] = payload[i + 2] << 6; } - /* Calculate new payload length */ - bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; - - return bwe_payload_len; + /* The overall saving is one byte! */ + return payload_len - 1; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. @@ -171,10 +150,8 @@ unsigned int payload_maxlen) { uint8_t buf[256]; - /* The header is only valid after shifting first two bytes to OA mode */ - struct amr_hdr *oa_hdr; + unsigned int frame_len = payload_len - 1; unsigned int i; - int oa_payload_len; memset(buf, 0, sizeof(buf)); @@ -188,16 +165,12 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - /* Calculate new payload length */ - oa_hdr = (struct amr_hdr *)buf; - oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); - - for (i = 0; i < oa_payload_len - 2; i++) { + for (i = 0; i < frame_len - 1; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } buf[i + 2] = payload[i + 1] << 2; - memcpy(payload, buf, oa_payload_len); - return oa_payload_len; + memcpy(payload, buf, payload_len + 1); + return payload_len + 1; } diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c index af10289..fff686c 100644 --- a/tests/amr/amr_test.c +++ b/tests/amr/amr_test.c @@ -44,9 +44,6 @@ "100c4e9ba850e30d5d53d04de41e7c", "100c6c18e7b7fff53aeb055e7d1c54", "100c1fb967f7f1fdf547bf2e61c060", - "0004f89d67f1160935bde1996840", - "0004633cc7f0630439ffe0000000", - "0004eb81fc0758973b9edc782552", "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ "END", }; @@ -90,6 +87,7 @@ return; printf("\n"); printf("Sample No.: %i\n", i); + len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -104,6 +102,11 @@ dump_bits(buf, rc); printf("\n"); printf(" rc: %i\n", rc); + + if (rc > 0) { + OSMO_ASSERT(rc == len - 1); + OSMO_ASSERT(buf[len - 1] == 0x00); + } i++; } } @@ -123,6 +126,7 @@ return; printf("\n"); printf("Sample No.: %i\n", i); + len = strlen(bwe_amr_samples[i]); len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -138,6 +142,7 @@ printf("\n"); printf(" rc: %i\n", rc); + OSMO_ASSERT(rc == len + 1); i++; } } @@ -146,8 +151,6 @@ { uint8_t buf[256]; uint8_t buf_chk[256]; - struct amr_hdr *oa_hd = (struct amr_hdr *)buf; - unsigned int ft; unsigned int i = 0; int len; @@ -160,21 +163,16 @@ while (1) { if (strcmp(oa_amr_samples[i], "END") == 0) return; - printf("Sample No.: %i...", i); + printf("Sample No.: %i...\n", i); + len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); - ft = oa_hd->ft; - OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); - printf(" AMR mode: %d, OA: %d bytes,", ft, len); memcpy(buf_chk, buf, sizeof(buf)); rc = osmo_amr_oa_to_bwe(buf, len); OSMO_ASSERT(rc > 0); - printf(" BE: %d bytes,", rc); rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); - printf(" OA: %d bytes\n", rc); - OSMO_ASSERT(len == rc); OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); i++; } diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok index 692563d..ea34fea 100644 --- a/tests/amr/amr_test.ok +++ b/tests/amr/amr_test.ok @@ -47,23 +47,23 @@ Sample No.: 6 octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 - bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 - 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 - rc: 22 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c + 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 + rc: 21 Sample No.: 7 octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 - bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 - 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 - rc: 22 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc + 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 + rc: 21 Sample No.: 8 octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 - bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 - 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 - rc: 22 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 + 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 + rc: 21 Sample No.: 9 octet aligned: 40240343e959c79bacd20c77501054880a718db200 @@ -110,46 +110,25 @@ Sample No.: 15 octet aligned: 100c4e9ba850e30d5d53d04de41e7c 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 - bw-efficient: 10d3a6ea1438c35754f41379079f00 - 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 - rc: 15 + bw-efficient: 10d3a6ea1438c35754f41379079f + 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 + rc: 14 Sample No.: 16 octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 - bw-efficient: 10db0639edfffd4ebac1579f471500 - 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 - rc: 15 + bw-efficient: 10db0639edfffd4ebac1579f4715 + 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 + rc: 14 Sample No.: 17 octet aligned: 100c1fb967f7f1fdf547bf2e61c060 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 - bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 - 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 - rc: 15 + bw-efficient: 10c7ee59fdfc7f7d51efcb987018 + 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 + rc: 14 Sample No.: 18 - octet aligned: 0004f89d67f1160935bde1996840 - 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 - bw-efficient: 007e2759fc45824d6f78665a1000 - 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 - rc: 14 - -Sample No.: 19 - octet aligned: 0004633cc7f0630439ffe0000000 - 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 - bw-efficient: 0058cf31fc18c10e7ff800000000 - 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 - rc: 14 - -Sample No.: 20 - octet aligned: 0004eb81fc0758973b9edc782552 - 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010 - bw-efficient: 007ae07f01d625cee7b71e095480 - 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010000000 - rc: 14 - -Sample No.: 21 octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f @@ -162,16 +141,16 @@ Sample No.: 0 bw-efficient: f4495c7cda8f80 11110100010010010101110001111100110110101000111110000000 - octet aligned: f0442571f36a3e - 11110000010001000010010101110001111100110110101000111110 - rc: 7 + octet aligned: f0442571f36a3e00 + 1111000001000100001001010111000111110011011010100011111000000000 + rc: 8 Sample No.: 1 bw-efficient: f44aaa6c969780 11110100010010101010101001101100100101101001011110000000 - octet aligned: f0442aa9b25a5e - 11110000010001000010101010101001101100100101101001011110 - rc: 7 + octet aligned: f0442aa9b25a5e00 + 1111000001000100001010101010100110110010010110100101111000000000 + rc: 8 Sample No.: 2 bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 @@ -204,34 +183,31 @@ Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - 10100000011110001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 - rc: 136 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + rc: 33 Testing conversion from octet-aligned to bw-efficient and inverse: -Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes -Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes -Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes -Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes -Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes -Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes -Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes -Sample No.: 21... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 0... +Sample No.: 1... +Sample No.: 2... +Sample No.: 3... +Sample No.: 4... +Sample No.: 5... +Sample No.: 6... +Sample No.: 7... +Sample No.: 8... +Sample No.: 9... +Sample No.: 10... +Sample No.: 11... +Sample No.: 12... +Sample No.: 13... +Sample No.: 14... +Sample No.: 15... +Sample No.: 16... +Sample No.: 17... +Sample No.: 18... Testing detection of octet-aligned mode payloads: @@ -254,9 +230,6 @@ Sample No.: 16 ==>octet aligned Sample No.: 17 ==>octet aligned Sample No.: 18 ==>octet aligned -Sample No.: 19 ==>octet aligned -Sample No.: 20 ==>octet aligned -Sample No.: 21 ==>octet aligned Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8232521c513722435e71dc90bdbfee10f8f83496 Gerrit-Change-Number: 18264 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 14 23:50:53 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 14 May 2020 23:50:53 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 147 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/1 diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 6e37c99..c5a8e28 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -78,20 +78,34 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 -/* AMR voice frame length (in bytes, rounded), - * See also RFC 3267, chapter 3.6 */ -#define AMR_FT_0_LEN 12 /* 4.75 */ -#define AMR_FT_1_LEN 13 /* 5.15 */ -#define AMR_FT_2_LEN 15 /* 5.90 */ -#define AMR_FT_3_LEN 17 /* 6.70 */ -#define AMR_FT_4_LEN 19 /* 7.40 */ -#define AMR_FT_5_LEN 20 /* 7.95 */ -#define AMR_FT_6_LEN 26 /* 10.2 */ -#define AMR_FT_7_LEN 31 /* 12.2 */ -#define AMR_FT_SID_LEN 5 /* SID */ - -/* NOTE: the above constant refers to the length of one AMR speech frame-block, +/* AMR voice frame length (in bits). + * See also RFC 3267, chapter 3.6. + * + * NOTE: These constants refer to the length of one AMR speech frame-block, * not counting CMR, TOC. */ +#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ +#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ +#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ +#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ +#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ +#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ +#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ +#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ +#define AMR_FT_SID_LEN_BITS 39 /* SID */ + +/* AMR voice frame length (in bytes, rounded). + * + * NOTE: These constants refer to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ +#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ +#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ +#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ +#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ +#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ +#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ +#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ +#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ +#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index 5609c46..838915d 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,6 +29,18 @@ * 7 12.20 244 31 */ +static size_t amr_ft_to_bits[AMR_FT_MAX] = { + [AMR_FT_0] = AMR_FT_0_LEN_BITS, + [AMR_FT_1] = AMR_FT_1_LEN_BITS, + [AMR_FT_2] = AMR_FT_2_LEN_BITS, + [AMR_FT_3] = AMR_FT_3_LEN_BITS, + [AMR_FT_4] = AMR_FT_4_LEN_BITS, + [AMR_FT_5] = AMR_FT_5_LEN_BITS, + [AMR_FT_6] = AMR_FT_6_LEN_BITS, + [AMR_FT_7] = AMR_FT_7_LEN_BITS, + [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, +}; + static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -41,6 +53,11 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; +size_t osmo_amr_bits(uint8_t amr_ft) +{ + return amr_ft_to_bits[amr_ft]; +} + size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -119,8 +136,10 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; + int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -137,8 +156,10 @@ payload[i + 2] = payload[i + 2] << 6; } - /* The overall saving is one byte! */ - return payload_len - 1; + /* Calculate new payload length */ + bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + + return bwe_payload_len; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. @@ -150,8 +171,10 @@ unsigned int payload_maxlen) { uint8_t buf[256]; - unsigned int frame_len = payload_len - 1; + /* The header is only valid after shifting first two bytes to OA mode */ + struct amr_hdr *oa_hdr; unsigned int i; + int oa_payload_len; memset(buf, 0, sizeof(buf)); @@ -165,12 +188,18 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - for (i = 0; i < frame_len - 1; i++) { + /* Calculate new payload length */ + oa_hdr = (struct amr_hdr *)buf; + if (oa_hdr->ft >= AMR_FT_MAX) + return -1; + oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); + + for (i = 0; i < oa_payload_len - 2; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } buf[i + 2] = payload[i + 1] << 2; - memcpy(payload, buf, payload_len + 1); - return payload_len + 1; + memcpy(payload, buf, oa_payload_len); + return oa_payload_len; } diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c index fff686c..af10289 100644 --- a/tests/amr/amr_test.c +++ b/tests/amr/amr_test.c @@ -44,6 +44,9 @@ "100c4e9ba850e30d5d53d04de41e7c", "100c6c18e7b7fff53aeb055e7d1c54", "100c1fb967f7f1fdf547bf2e61c060", + "0004f89d67f1160935bde1996840", + "0004633cc7f0630439ffe0000000", + "0004eb81fc0758973b9edc782552", "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ "END", }; @@ -87,7 +90,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -102,11 +104,6 @@ dump_bits(buf, rc); printf("\n"); printf(" rc: %i\n", rc); - - if (rc > 0) { - OSMO_ASSERT(rc == len - 1); - OSMO_ASSERT(buf[len - 1] == 0x00); - } i++; } } @@ -126,7 +123,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(bwe_amr_samples[i]); len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -142,7 +138,6 @@ printf("\n"); printf(" rc: %i\n", rc); - OSMO_ASSERT(rc == len + 1); i++; } } @@ -151,6 +146,8 @@ { uint8_t buf[256]; uint8_t buf_chk[256]; + struct amr_hdr *oa_hd = (struct amr_hdr *)buf; + unsigned int ft; unsigned int i = 0; int len; @@ -163,16 +160,21 @@ while (1) { if (strcmp(oa_amr_samples[i], "END") == 0) return; - printf("Sample No.: %i...\n", i); - len = strlen(oa_amr_samples[i]); + printf("Sample No.: %i...", i); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); + ft = oa_hd->ft; + OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); + printf(" AMR mode: %d, OA: %d bytes,", ft, len); memcpy(buf_chk, buf, sizeof(buf)); rc = osmo_amr_oa_to_bwe(buf, len); OSMO_ASSERT(rc > 0); + printf(" BE: %d bytes,", rc); rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); + printf(" OA: %d bytes\n", rc); + OSMO_ASSERT(len == rc); OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); i++; } diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok index ea34fea..692563d 100644 --- a/tests/amr/amr_test.ok +++ b/tests/amr/amr_test.ok @@ -47,23 +47,23 @@ Sample No.: 6 octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 - bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c - 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 - rc: 21 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 + 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 + rc: 22 Sample No.: 7 octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 - bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc - 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 - rc: 21 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 + 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 + rc: 22 Sample No.: 8 octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 - bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 - 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 - rc: 21 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 + 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 + rc: 22 Sample No.: 9 octet aligned: 40240343e959c79bacd20c77501054880a718db200 @@ -110,25 +110,46 @@ Sample No.: 15 octet aligned: 100c4e9ba850e30d5d53d04de41e7c 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 - bw-efficient: 10d3a6ea1438c35754f41379079f - 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 - rc: 14 + bw-efficient: 10d3a6ea1438c35754f41379079f00 + 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 + rc: 15 Sample No.: 16 octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 - bw-efficient: 10db0639edfffd4ebac1579f4715 - 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 - rc: 14 + bw-efficient: 10db0639edfffd4ebac1579f471500 + 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 + rc: 15 Sample No.: 17 octet aligned: 100c1fb967f7f1fdf547bf2e61c060 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 - bw-efficient: 10c7ee59fdfc7f7d51efcb987018 - 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 - rc: 14 + bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 + 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 + rc: 15 Sample No.: 18 + octet aligned: 0004f89d67f1160935bde1996840 + 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 + bw-efficient: 007e2759fc45824d6f78665a1000 + 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 + rc: 14 + +Sample No.: 19 + octet aligned: 0004633cc7f0630439ffe0000000 + 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 + bw-efficient: 0058cf31fc18c10e7ff800000000 + 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 + rc: 14 + +Sample No.: 20 + octet aligned: 0004eb81fc0758973b9edc782552 + 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010 + bw-efficient: 007ae07f01d625cee7b71e095480 + 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010000000 + rc: 14 + +Sample No.: 21 octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f @@ -141,16 +162,16 @@ Sample No.: 0 bw-efficient: f4495c7cda8f80 11110100010010010101110001111100110110101000111110000000 - octet aligned: f0442571f36a3e00 - 1111000001000100001001010111000111110011011010100011111000000000 - rc: 8 + octet aligned: f0442571f36a3e + 11110000010001000010010101110001111100110110101000111110 + rc: 7 Sample No.: 1 bw-efficient: f44aaa6c969780 11110100010010101010101001101100100101101001011110000000 - octet aligned: f0442aa9b25a5e00 - 1111000001000100001010101010100110110010010110100101111000000000 - rc: 8 + octet aligned: f0442aa9b25a5e + 11110000010001000010101010101001101100100101101001011110 + rc: 7 Sample No.: 2 bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 @@ -183,31 +204,34 @@ Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc - 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 - rc: 33 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + 10100000011110001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + rc: 136 Testing conversion from octet-aligned to bw-efficient and inverse: -Sample No.: 0... -Sample No.: 1... -Sample No.: 2... -Sample No.: 3... -Sample No.: 4... -Sample No.: 5... -Sample No.: 6... -Sample No.: 7... -Sample No.: 8... -Sample No.: 9... -Sample No.: 10... -Sample No.: 11... -Sample No.: 12... -Sample No.: 13... -Sample No.: 14... -Sample No.: 15... -Sample No.: 16... -Sample No.: 17... -Sample No.: 18... +Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 21... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes Testing detection of octet-aligned mode payloads: @@ -230,6 +254,9 @@ Sample No.: 16 ==>octet aligned Sample No.: 17 ==>octet aligned Sample No.: 18 ==>octet aligned +Sample No.: 19 ==>octet aligned +Sample No.: 20 ==>octet aligned +Sample No.: 21 ==>octet aligned Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 00:01:53 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 00:01:53 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 to look at the new patch set (#3). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 151 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 00:02:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 00:02:03 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#4) to the change originally created by ipse. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 147 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 00:05:03 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 00:05:03 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 to look at the new patch set (#5). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 151 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 00:13:19 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 00:13:19 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 5: Code-Review+1 I reverted the previous version of this patch because it had a bug, now it has a few changes, and I don't feel solid enough to +2 right away. Can another reviewer give it another look plz... -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 15 May 2020 00:13:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:17:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:17:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 ) Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252/1/library/RLCMAC_CSN1_Types.ttcn File library/RLCMAC_CSN1_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252/1/library/RLCMAC_CSN1_Types.ttcn at 266 PS1, Line 266: Alignment. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 05:17:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:18:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:18:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 05:18:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:21:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:21:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_force_two_phase_access In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 ) Change subject: Introduce test TC_force_two_phase_access ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d Gerrit-Change-Number: 18254 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 15 May 2020 05:21:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:22:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 15 May 2020 05:22:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:30:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:30:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn at 529 PS1, Line 529: f_tx_rlcmac_ul_block Please add a comment stating that "this function returns number of padding bytes". https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn at 543 PS1, Line 543: inout I don't see where this 'out' part is actually used. Please add a comment what is it (planned) for. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 15 May 2020 05:30:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:34:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:34:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_countdown_procedure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 ) Change subject: pcu: Introduce test TC_countdown_procedure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 Gerrit-Change-Number: 18260 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 15 May 2020 05:34:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:50:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:50:37 +0000 Subject: Change in libosmocore[master]: libosmogsm: import hopping sequence generation code In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18244 ) Change subject: libosmogsm: import hopping sequence generation code ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Gerrit-Change-Number: 18244 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 15 May 2020 05:50:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 05:51:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 05:51:00 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... Patch Set 4: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c File src/gsm/gsm0502.c: https://gerrit.osmocom.org/c/libosmocore/+/18245/3/src/gsm/gsm0502.c at 228 PS3, Line 228: * \param[in] ma array of ARFCN representing the Mobile Allocation. > ACK. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 15 May 2020 05:51:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: tnt Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 06:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Fri, 15 May 2020 06:37:35 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 15 May 2020 06:37:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 06:58:32 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 06:58:32 +0000 Subject: Change in osmocom-bb[master]: virt_phy: tweak log levels References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18266 to review the following change. Change subject: virt_phy: tweak log levels ...................................................................... virt_phy: tweak log levels Related: SYS#4822 Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 --- M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_data.c M src/host/virt_phy/src/virt_prim_pm.c 4 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/66/18266/1 diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index 0ff5412..bab6259 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -286,7 +286,7 @@ rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); - LOGPMS(DL1C, LOGL_INFO, ms, "Rx L1CTL_DM_EST_REQ (chan_nr=0x%02x, arfcn=%u, tn=%u, ss=%u)\n", + LOGPMS(DL1C, LOGL_DEBUG, ms, "Rx L1CTL_DM_EST_REQ (chan_nr=0x%02x, arfcn=%u, tn=%u, ss=%u)\n", ul->chan_nr, ntohs(est_req->h0.band_arfcn), timeslot, subslot); OSMO_ASSERT(est_req->h == 0); /* we don't do hopping */ diff --git a/src/host/virt_phy/src/logging.c b/src/host/virt_phy/src/logging.c index aa3b88a..75f0c9a 100644 --- a/src/host/virt_phy/src/logging.c +++ b/src/host/virt_phy/src/logging.c @@ -70,28 +70,28 @@ .description = "Layer 1 Control", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DL1P] = { .name = "DL1P", .description = "Layer 1 Data", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DVIRPHY] = { .name = "DVIRPHY", .description = "Virtual Layer 1 Interface", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DMAIN] = { .name = "DMAIN", .description = "Main Program / Data Structures", .color = "\033[1;32m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, }; diff --git a/src/host/virt_phy/src/virt_prim_data.c b/src/host/virt_phy/src/virt_prim_data.c index 65368b8..656ff80 100644 --- a/src/host/virt_phy/src/virt_prim_data.c +++ b/src/host/virt_phy/src/virt_prim_data.c @@ -74,7 +74,7 @@ rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); msg->l2h = data_ind->data; - LOGPMS(DL1P, LOGL_INFO, ms, "Rx L1CTL_DATA_REQ (chan_nr=0x%02x, link_id=0x%02x) %s\n", + LOGPMS(DL1P, LOGL_DEBUG, ms, "Rx L1CTL_DATA_REQ (chan_nr=0x%02x, link_id=0x%02x) %s\n", ul->chan_nr, ul->link_id, osmo_hexdump(msg->l2h, msgb_l2len(msg))); virt_l1_sched_schedule(ms, msg, fn_sched, timeslot, &virt_l1_sched_handler_cb); @@ -106,7 +106,7 @@ memcpy(l1di->data, msgb_data(msg), msgb_length(msg)); - LOGPMS(DL1P, LOGL_INFO, ms, "TX L1CTL_DATA_IND (link_id=0x%02x) %s\n", link_id, + LOGPMS(DL1P, LOGL_DEBUG, ms, "TX L1CTL_DATA_IND (link_id=0x%02x) %s\n", link_id, osmo_hexdump(msgb_data(msg), msgb_length(msg))); l1ctl_sap_tx_to_l23_inst(ms, l1ctl_msg); } @@ -124,6 +124,6 @@ struct msgb * l1ctl_msg; l1ctl_msg = l1ctl_create_l2_msg(L1CTL_DATA_CONF, fn, snr, arfcn); /* send confirm to layer23 */ - LOGPMS(DL1P, LOGL_INFO, ms, "Tx L1CTL_DATA_CONF\n"); + LOGPMS(DL1P, LOGL_DEBUG, ms, "Tx L1CTL_DATA_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, l1ctl_msg); } diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 561f6ce..08d9b05 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -89,7 +89,7 @@ l1s->pm.req.band_arfcn_from = ntohs(pm_req->range.band_arfcn_from); l1s->pm.req.band_arfcn_to = ntohs(pm_req->range.band_arfcn_to); - LOGPMS(DL1C, LOGL_INFO, ms, "Rx L1CTL_PM_REQ TYPE=%u, FROM=%d, TO=%d\n", + LOGPMS(DL1C, LOGL_DEBUG, ms, "Rx L1CTL_PM_REQ TYPE=%u, FROM=%d, TO=%d\n", pm_req->type, l1s->pm.req.band_arfcn_from, l1s->pm.req.band_arfcn_to); /* generating the response will happen delayed in a timer, as otherwise @@ -119,14 +119,14 @@ } /* no more space to hold more pm info in msgb, flush to l23 */ if (msgb_tailroom(resp_msg) < sizeof(*pm_conf)) { - LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); + LOGPMS(DL1C, LOGL_DEBUG, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); resp_msg = l1ctl_msgb_alloc(L1CTL_PM_CONF); } } /* transmit the remaining part of pm response to l23 */ if (resp_msg) { - LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); + LOGPMS(DL1C, LOGL_DEBUG, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); } } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 Gerrit-Change-Number: 18266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 06:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 06:58:41 +0000 Subject: Change in osmo-bts[master]: osmo-bts-virtual/scheduler: log unknown GSMTAP chan References: Message-ID: Hello laforge, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 to review the following change. Change subject: osmo-bts-virtual/scheduler: log unknown GSMTAP chan ...................................................................... osmo-bts-virtual/scheduler: log unknown GSMTAP chan Related: SYS#4822 Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/18267/1 diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index a60c9e0..3a1431a 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -78,6 +78,12 @@ else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ + if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) { + LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "RSL ctype 0x%02x is unknown in GSMTAP?\n", rsl_chantype); + msgb_free(msg); + return; + } + #if MODULO_HYPERFRAME /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */ fn %= 26 * 51; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 07:00:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 07:00:47 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: mgsb_free/log unknown GSMTAP chan In-Reply-To: References: Message-ID: Hello laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 to look at the new patch set (#2). Change subject: virtual/scheduler: mgsb_free/log unknown GSMTAP chan ...................................................................... virtual/scheduler: mgsb_free/log unknown GSMTAP chan Related: SYS#4822 Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/18267/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 07:22:40 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 07:22:40 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... ttcn3-hlr-tests: enable DGSM tests Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d --- M ttcn3-hlr-test/HLR_Tests.cfg 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/68/18268/1 diff --git a/ttcn3-hlr-test/HLR_Tests.cfg b/ttcn3-hlr-test/HLR_Tests.cfg index ba6fe3f..9258cea 100644 --- a/ttcn3-hlr-test/HLR_Tests.cfg +++ b/ttcn3-hlr-test/HLR_Tests.cfg @@ -9,8 +9,7 @@ [MODULE_PARAMETERS] HLR_Tests.mp_hlr_ip := "172.18.10.20" -# Set to true after I2fe453553c90e6ee527ed13a13089900efd488aa is merged -HLR_Tests.mp_hlr_supports_dgsm := false +HLR_Tests.mp_hlr_supports_dgsm := true [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 07:32:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 07:32:36 +0000 Subject: Change in osmocom-bb[master]: virt_phy: tweak log levels In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18266 ) Change subject: virt_phy: tweak log levels ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 Gerrit-Change-Number: 18266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 15 May 2020 07:32:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 08:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 08:29:09 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 to look at the new patch set (#6). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 151 insertions(+), 75 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/6 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 08:31:28 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 08:31:28 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 6: Apparently, there is a function to check FT validity - I've updated the patch to use it instead of the manually coding the condition. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 15 May 2020 08:31:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:11:56 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:11:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:16:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:16:13 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: mgsb_free/log unknown GSMTAP chan In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: mgsb_free/log unknown GSMTAP chan ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c at 82 PS2, Line 82: LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "RSL ctype 0x%02x is unknown in GSMTAP?\n", rsl_chantype); ctype -> channel type Why avoiding handling it in gsmtap_makemsg? better handle this case there so all types are handled, and return NULL. https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c at 83 PS2, Line 83: msgb_free(msg); what about goto the end of function? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:16:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:16:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:16:39 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18268/1/ttcn3-hlr-test/HLR_Tests.cfg File ttcn3-hlr-test/HLR_Tests.cfg: https://gerrit.osmocom.org/c/docker-playground/+/18268/1/ttcn3-hlr-test/HLR_Tests.cfg at 12 PS1, Line 12: HLR_Tests.mp_hlr_supports_dgsm := true Isn't this going to fail for "latest"? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:16:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:17:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:17:17 +0000 Subject: Change in osmocom-bb[master]: virt_phy: tweak log levels In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18266 ) Change subject: virt_phy: tweak log levels ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 Gerrit-Change-Number: 18266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:17:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:19:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:19:27 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 6: Code-Review+1 SO the outcome is: Please build everything with --enable-sanitize when testing stuff :) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:19:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:22:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:22:49 +0000 Subject: Change in osmocom-bb[master]: virt_phy: tweak log levels In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18266 ) Change subject: virt_phy: tweak log levels ...................................................................... virt_phy: tweak log levels Related: SYS#4822 Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 --- M src/host/virt_phy/src/l1ctl_sap.c M src/host/virt_phy/src/logging.c M src/host/virt_phy/src/virt_prim_data.c M src/host/virt_phy/src/virt_prim_pm.c 4 files changed, 11 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/host/virt_phy/src/l1ctl_sap.c b/src/host/virt_phy/src/l1ctl_sap.c index 0ff5412..bab6259 100644 --- a/src/host/virt_phy/src/l1ctl_sap.c +++ b/src/host/virt_phy/src/l1ctl_sap.c @@ -286,7 +286,7 @@ rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); - LOGPMS(DL1C, LOGL_INFO, ms, "Rx L1CTL_DM_EST_REQ (chan_nr=0x%02x, arfcn=%u, tn=%u, ss=%u)\n", + LOGPMS(DL1C, LOGL_DEBUG, ms, "Rx L1CTL_DM_EST_REQ (chan_nr=0x%02x, arfcn=%u, tn=%u, ss=%u)\n", ul->chan_nr, ntohs(est_req->h0.band_arfcn), timeslot, subslot); OSMO_ASSERT(est_req->h == 0); /* we don't do hopping */ diff --git a/src/host/virt_phy/src/logging.c b/src/host/virt_phy/src/logging.c index aa3b88a..75f0c9a 100644 --- a/src/host/virt_phy/src/logging.c +++ b/src/host/virt_phy/src/logging.c @@ -70,28 +70,28 @@ .description = "Layer 1 Control", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DL1P] = { .name = "DL1P", .description = "Layer 1 Data", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DVIRPHY] = { .name = "DVIRPHY", .description = "Virtual Layer 1 Interface", .color = "\033[1;31m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, [DMAIN] = { .name = "DMAIN", .description = "Main Program / Data Structures", .color = "\033[1;32m", .enabled = 1, - .loglevel = LOGL_DEBUG, + .loglevel = LOGL_INFO, }, }; diff --git a/src/host/virt_phy/src/virt_prim_data.c b/src/host/virt_phy/src/virt_prim_data.c index 65368b8..656ff80 100644 --- a/src/host/virt_phy/src/virt_prim_data.c +++ b/src/host/virt_phy/src/virt_prim_data.c @@ -74,7 +74,7 @@ rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, ×lot); msg->l2h = data_ind->data; - LOGPMS(DL1P, LOGL_INFO, ms, "Rx L1CTL_DATA_REQ (chan_nr=0x%02x, link_id=0x%02x) %s\n", + LOGPMS(DL1P, LOGL_DEBUG, ms, "Rx L1CTL_DATA_REQ (chan_nr=0x%02x, link_id=0x%02x) %s\n", ul->chan_nr, ul->link_id, osmo_hexdump(msg->l2h, msgb_l2len(msg))); virt_l1_sched_schedule(ms, msg, fn_sched, timeslot, &virt_l1_sched_handler_cb); @@ -106,7 +106,7 @@ memcpy(l1di->data, msgb_data(msg), msgb_length(msg)); - LOGPMS(DL1P, LOGL_INFO, ms, "TX L1CTL_DATA_IND (link_id=0x%02x) %s\n", link_id, + LOGPMS(DL1P, LOGL_DEBUG, ms, "TX L1CTL_DATA_IND (link_id=0x%02x) %s\n", link_id, osmo_hexdump(msgb_data(msg), msgb_length(msg))); l1ctl_sap_tx_to_l23_inst(ms, l1ctl_msg); } @@ -124,6 +124,6 @@ struct msgb * l1ctl_msg; l1ctl_msg = l1ctl_create_l2_msg(L1CTL_DATA_CONF, fn, snr, arfcn); /* send confirm to layer23 */ - LOGPMS(DL1P, LOGL_INFO, ms, "Tx L1CTL_DATA_CONF\n"); + LOGPMS(DL1P, LOGL_DEBUG, ms, "Tx L1CTL_DATA_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, l1ctl_msg); } diff --git a/src/host/virt_phy/src/virt_prim_pm.c b/src/host/virt_phy/src/virt_prim_pm.c index 561f6ce..08d9b05 100644 --- a/src/host/virt_phy/src/virt_prim_pm.c +++ b/src/host/virt_phy/src/virt_prim_pm.c @@ -89,7 +89,7 @@ l1s->pm.req.band_arfcn_from = ntohs(pm_req->range.band_arfcn_from); l1s->pm.req.band_arfcn_to = ntohs(pm_req->range.band_arfcn_to); - LOGPMS(DL1C, LOGL_INFO, ms, "Rx L1CTL_PM_REQ TYPE=%u, FROM=%d, TO=%d\n", + LOGPMS(DL1C, LOGL_DEBUG, ms, "Rx L1CTL_PM_REQ TYPE=%u, FROM=%d, TO=%d\n", pm_req->type, l1s->pm.req.band_arfcn_from, l1s->pm.req.band_arfcn_to); /* generating the response will happen delayed in a timer, as otherwise @@ -119,14 +119,14 @@ } /* no more space to hold more pm info in msgb, flush to l23 */ if (msgb_tailroom(resp_msg) < sizeof(*pm_conf)) { - LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); + LOGPMS(DL1C, LOGL_DEBUG, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); resp_msg = l1ctl_msgb_alloc(L1CTL_PM_CONF); } } /* transmit the remaining part of pm response to l23 */ if (resp_msg) { - LOGPMS(DL1C, LOGL_INFO, ms, "Tx L1CTL_PM_CONF\n"); + LOGPMS(DL1C, LOGL_DEBUG, ms, "Tx L1CTL_PM_CONF\n"); l1ctl_sap_tx_to_l23_inst(ms, resp_msg); } } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia7e368cda8e016a4141b21e5219697420a503124 Gerrit-Change-Number: 18266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:24:55 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:24:55 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18268/1/ttcn3-hlr-test/HLR_Tests.cfg File ttcn3-hlr-test/HLR_Tests.cfg: https://gerrit.osmocom.org/c/docker-playground/+/18268/1/ttcn3-hlr-test/HLR_Tests.cfg at 12 PS1, Line 12: HLR_Tests.mp_hlr_supports_dgsm := true > Isn't this going to fail for "latest"? No, jenkins.sh will replace it to false for latest on current master: https://git.osmocom.org/docker-playground/tree/ttcn3-hlr-test/jenkins.sh?id=4449ccd8c4418b245534ee05aa5e3040329eec0c#n16 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:24:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:26:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:26:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:26:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:27:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:27:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: use correct RA type to properly test 2phase access In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 ) Change subject: pcu: use correct RA type to properly test 2phase access ...................................................................... pcu: use correct RA type to properly test 2phase access Old code was not setting Single Block Packet Access type, and 2phase access was not properly triggered. Once it's triggered, message flow changes quite a lot from the 1phase access, specially because the 2nd Ul Assignment arrives through PDCH instead of CCCH, which means a different record is received and hence code for 1phase cannot be easily re-used. For similar reasons, f_tx_rlcmac_ul_n_blocks() is modified to receive the only required tfi param instead of a full dl_block. Some functions are also extended to support SingleBlock Allocation instead of usual DynamicAllocation. Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 152 insertions(+), 31 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 07f70b4..2c1bc04 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -158,6 +158,36 @@ } } } + }; + + private function f_presence_bit_tfi(template uint5_t tfi) return BIT1 { + if (istemplatekind(tfi, "omit")) { + return '0'B; + } + return '1'B; } + template PktUlAssGprs tr_PktUlAssGprsDynamic(template uint5_t tfi := ?) := { + ch_coding_cmd := ?, + tlli_block_chan_coding := ?, + pkt_ta := ?, + freq_par_present := ?, + freq_par := *, + alloc_present := '01'B, + dyn_block_alloc := { + extd_dyn_alloc := ?, + p0_present := ?, + p0 := *, + pr_mode := *, + usf_granularity := ?, + ul_tfi_ass_present := f_presence_bit_tfi(tfi), + ul_tfi_assignment := tfi, + reserved := '0'B, + tbf_starting_time_present := ?, + tbf_starting_time := *, + ts_allocation := ? + }, + sgl_block_alloc := omit + }; + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index dd1371f..0bd9792 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -436,6 +436,19 @@ } } + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS_GPRS(template uint3_t usf := ?, template PktUlAssGprs gprs := ?) + modifies tr_RLCMAC_UL_PACKET_ASS := { + ctrl := { + payload := { + u := { + ul_assignment := { + is_egprs := '0'B, + gprs := gprs + } + } + } + } + } /* Receive Template for Uplink ACK/NACK */ template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5ef53a9..5b822bb 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -243,12 +243,20 @@ receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B } -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) return uint5_t { +private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT return uint5_t { if (ischosen(dl_block.data)) { return dl_block.data.mac_hdr.hdr_ext.tfi; - } else { + } else if (ischosen(dl_block.data_egprs)) { return dl_block.data_egprs.mac_hdr.tfi; + } else { /* Ctrl block */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + } } + setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ } /* TS 44.060 sec 12.3 Ack/Nack Description */ @@ -381,11 +389,11 @@ bts_nr := bts_nr); } -private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass) +private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) runs on RAW_PCU_Test_CT { /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; log("Rx Uplink TBF assignment: ", ul_tbf_ass); setverdict(pass); @@ -393,12 +401,6 @@ setverdict(fail, "Failed to match UL TBF Assignment"); f_shutdown(__BFILE__, __LINE__); } - - /* Make sure we have got a TBF with Dynamic Block Allocation */ - if (ul_tbf_ass.dynamic == omit) { - setverdict(fail, "Single Block Allocation is not handled by ", testcasename()); - f_shutdown(__BFILE__, __LINE__); - } } private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) @@ -503,10 +505,10 @@ f_pcuif_tx_data_ind(data, lqual_cb, fn); } -private function f_tx_rlcmac_ul_n_blocks(PacketUlAssign ul_tbf_ass, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, + tfi := tfi, cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ bsn := 0, /* TODO: what should be here? */ blocks := { /* To be generated in loop */ }); @@ -589,6 +591,19 @@ poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); } +private function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on RAW_PCU_Test_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on RAW_PCU_Test_CT { @@ -1298,7 +1313,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1307,7 +1322,7 @@ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -1374,7 +1389,7 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -private function f_TC_mo_ping_pong(template (omit) MSRadioAccessCapabilityV ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong_1phase_access(template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1407,21 +1422,9 @@ /* Make sure we've got an Uplink TBF assignment */ f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - if (not istemplatekind(ms_racap, "omit")) { - /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS - * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") - */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - f_shutdown(__BFILE__, __LINE__); - } - } - /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1453,9 +1456,84 @@ */ testcase TC_mo_ping_pong() runs on RAW_PCU_Test_CT { var CodingScheme exp_cs_mcs := CS_1; - f_TC_mo_ping_pong(omit, exp_cs_mcs); + f_TC_mo_ping_pong_1phase_access(exp_cs_mcs); } +/* Test scenario where MS wants to send some data on PDCH against SGSN and it is + * answered, so TBFs for uplink and later for downlink are created. + */ +private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var PacketDlAssign dl_tbf_ass; + var RlcmacDlBlock dl_block; + var PCUIF_Message pcu_msg; + var octetstring data := f_rnd_octstring(10); + var boolean ok; + var uint32_t sched_fn; + var uint32_t dl_fn; + var OCT4 tlli := '00000001'O; + var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ + var uint16_t ra := oct2int('70'O); + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass, ra := ra); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass, tr_PacketUlSglAssign); + + /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS + * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") + */ + f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); + f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); + if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { + setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); + f_shutdown(__BFILE__, __LINE__); + } + + /* Send one UL block (without TLLI since we are in Second-Phase Access) + and make sure it is ACKED fine */ + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); + + //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* UL block should be received in SGSN */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + + /* Now SGSN sends some DL data, PCU will page on PACCH */ + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + f_rx_rlcmac_dl_block_exp_pkt_dl_ass(dl_block, sched_fn); + /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); + f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), + 0, f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} testcase TC_mo_ping_pong_with_ul_racap() runs on RAW_PCU_Test_CT { var MultislotCap_GPRS mscap_gprs := { @@ -1465,7 +1543,7 @@ var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; var CodingScheme exp_cs_mcs := CS_2; - f_TC_mo_ping_pong(ms_racap, exp_cs_mcs); + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_cs_mcs); } /* Test scenario where SGSN wants to send some data against MS and it is @@ -1522,7 +1600,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If636a4898dfa175fdbd6baf04f7f2c955a9c525d Gerrit-Change-Number: 18239 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:27:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:27:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 ) Change subject: Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn ...................................................................... Move some types from GSM_RR_Types.ttcn to RLCMAC_CSN1_Types.ttcn Some types already available in GSM_RR_Types.ttcn will also be required by messages sent over PDCH and which belong to RLCMAC_CSN1_Types. Since GSM_RR_Types.ttcn already requires RLCMAC_CSN1_Types.ttcn, let's move them there so they can be used in both places. Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 --- M library/GSM_RR_Types.ttcn M library/RLCMAC_CSN1_Types.ttcn 2 files changed, 56 insertions(+), 61 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index dcf12ae..b09a760 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -512,67 +512,6 @@ } with { variant (compressed_irat_ho_info_ind) "CSN.1 L/H" }; - - - type record of AccessTechnologiesRequest - AccessTechnologiesRequestRepetition - with { variant "EXTENSION_BIT(reverse)" }; - - type record AccessTechnologiesRequest - { - BIT4 accessTechnType, - BIT1 extensionBit - } with { variant "FIELDORDER(msb)" }; - - type enumerated EgprsChCodingCommand { - CH_CODING_MCS1 ('0000'B), - CH_CODING_MCS2 ('0001'B), - CH_CODING_MCS3 ('0010'B), - CH_CODING_MCS4 ('0011'B), - CH_CODING_MCS5 ('0100'B), - CH_CODING_MCS6 ('0101'B), - CH_CODING_MCS7 ('0110'B), - CH_CODING_MCS8 ('0111'B), - CH_CODING_MCS9 ('1000'B), - CH_CODING_MCS5_7 ('1001'B), - CH_CODING_MCS6_9 ('1010'B) - } with { variant "FIELDLENGTH(4)" }; - - /* TS 44.060 Table 12.5.2.1 */ - type enumerated EgprsWindowSize { - EGPRS_WS_64 ('00000'B), - EGPRS_WS_96 ('00001'B), - EGPRS_WS_128 ('00010'B), - EGPRS_WS_160 ('00011'B), - EGPRS_WS_192 ('00100'B), - EGPRS_WS_224 ('00101'B), - EGPRS_WS_256 ('00110'B), - EGPRS_WS_288 ('00111'B), - EGPRS_WS_320 ('01000'B), - EGPRS_WS_352 ('01001'B), - EGPRS_WS_384 ('01010'B), - EGPRS_WS_416 ('01011'B), - EGPRS_WS_448 ('01100'B), - EGPRS_WS_480 ('01101'B), - EGPRS_WS_512 ('01110'B), - EGPRS_WS_544 ('01111'B), - EGPRS_WS_576 ('10000'B), - EGPRS_WS_608 ('10001'B), - EGPRS_WS_640 ('10010'B), - EGPRS_WS_672 ('10011'B), - EGPRS_WS_704 ('10100'B), - EGPRS_WS_736 ('10101'B), - EGPRS_WS_768 ('10110'B), - EGPRS_WS_800 ('10111'B), - EGPRS_WS_832 ('11000'B), - EGPRS_WS_864 ('11001'B), - EGPRS_WS_896 ('11010'B), - EGPRS_WS_928 ('11011'B), - EGPRS_WS_960 ('11100'B), - EGPRS_WS_992 ('11101'B), - EGPRS_WS_1024 ('11110'B) - } with { variant "FIELDLENGTH(5)" }; - type record EgprsUlAssignDyn { uint5_t tfi_assignment, BIT1 polling, diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index bca4351..447e52b 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -56,6 +56,55 @@ MBMS_DL_ACK_NACK ('010000'B) } with { variant "FIELDLENGTH(6)" }; + type enumerated EgprsChCodingCommand { + CH_CODING_MCS1 ('0000'B), + CH_CODING_MCS2 ('0001'B), + CH_CODING_MCS3 ('0010'B), + CH_CODING_MCS4 ('0011'B), + CH_CODING_MCS5 ('0100'B), + CH_CODING_MCS6 ('0101'B), + CH_CODING_MCS7 ('0110'B), + CH_CODING_MCS8 ('0111'B), + CH_CODING_MCS9 ('1000'B), + CH_CODING_MCS5_7 ('1001'B), + CH_CODING_MCS6_9 ('1010'B) + } with { variant "FIELDLENGTH(4)" }; + + /* TS 44.060 Table 12.5.2.1 */ + type enumerated EgprsWindowSize { /* This probably needs to be moved to RLCMAC_CSN1_Types.ttcn */ + EGPRS_WS_64 ('00000'B), + EGPRS_WS_96 ('00001'B), + EGPRS_WS_128 ('00010'B), + EGPRS_WS_160 ('00011'B), + EGPRS_WS_192 ('00100'B), + EGPRS_WS_224 ('00101'B), + EGPRS_WS_256 ('00110'B), + EGPRS_WS_288 ('00111'B), + EGPRS_WS_320 ('01000'B), + EGPRS_WS_352 ('01001'B), + EGPRS_WS_384 ('01010'B), + EGPRS_WS_416 ('01011'B), + EGPRS_WS_448 ('01100'B), + EGPRS_WS_480 ('01101'B), + EGPRS_WS_512 ('01110'B), + EGPRS_WS_544 ('01111'B), + EGPRS_WS_576 ('10000'B), + EGPRS_WS_608 ('10001'B), + EGPRS_WS_640 ('10010'B), + EGPRS_WS_672 ('10011'B), + EGPRS_WS_704 ('10100'B), + EGPRS_WS_736 ('10101'B), + EGPRS_WS_768 ('10110'B), + EGPRS_WS_800 ('10111'B), + EGPRS_WS_832 ('11000'B), + EGPRS_WS_864 ('11001'B), + EGPRS_WS_896 ('11010'B), + EGPRS_WS_928 ('11011'B), + EGPRS_WS_960 ('11100'B), + EGPRS_WS_992 ('11101'B), + EGPRS_WS_1024 ('11110'B) + } with { variant "FIELDLENGTH(5)" }; + type record NullGlobalTfi { BIT1 presence ('0'B), GlobalTfi global_tfi @@ -184,6 +233,13 @@ variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" variant (sgl_block_alloc) "PRESENCE(alloc_present = '10'B)" }; + type record of AccessTechnologiesRequest AccessTechnologiesRequestRepetition + with { variant "EXTENSION_BIT(reverse)" }; + type record AccessTechnologiesRequest + { + BIT4 accessTechnType, + BIT1 extensionBit + } with { variant "FIELDORDER(msb)" }; type record PacketUlAssignment { PageMode page_mode, BIT1 persistence_levels_present, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iccaaa2743dc44a36046c19d4d4ff882dc02fb479 Gerrit-Change-Number: 18251 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:30:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:30:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 to look at the new patch set (#2). Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... pcu: Support decoding Egprs Pkt Ul Ass on PDCH Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 4 files changed, 131 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/18252/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:30:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:30:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 ) Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... Patch Set 2: Code-Review+2 Re-adding +2 after fixing the alignment comment -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:30:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:32:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:32:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn at 529 PS1, Line 529: f_tx_rlcmac_ul_block > Please add a comment stating that "this function returns number of padding bytes". Ack https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/1/pcu/PCU_Tests.ttcn at 543 PS1, Line 543: inout > I don't see where this 'out' part is actually used. Please add a comment what is it (planned) for. The commit description is already stating it will be used in next commit. I splitted them for convinience when reviewing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:32:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:35:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:35:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 to look at the new patch set (#3). Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent These features will be used in test added in next commit. Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b --- M pcu/PCU_Tests.ttcn 1 file changed, 30 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/18259/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:36:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:36:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Support decoding Egprs Pkt Ul Ass on PDCH In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 ) Change subject: pcu: Support decoding Egprs Pkt Ul Ass on PDCH ...................................................................... pcu: Support decoding Egprs Pkt Ul Ass on PDCH Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 4 files changed, 131 insertions(+), 18 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 2c1bc04..772df13 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -167,27 +167,54 @@ return '1'B; } - template PktUlAssGprs tr_PktUlAssGprsDynamic(template uint5_t tfi := ?) := { + template DynamicAllocation tr_DynamicAllocation(template uint5_t tfi:= ?) := { + extd_dyn_alloc := ?, + p0_present := ?, + p0 := *, + pr_mode := *, + usf_granularity := ?, + ul_tfi_ass_present := f_presence_bit_tfi(tfi), + ul_tfi_assignment := tfi, + reserved := '0'B, + tbf_starting_time_present := ?, + tbf_starting_time := *, + ts_allocation := ? + }; + + template PktUlAssGprs tr_PktUlAssGprsDynamic(template DynamicAllocation dyn_alloc := ?) := { ch_coding_cmd := ?, tlli_block_chan_coding := ?, pkt_ta := ?, freq_par_present := ?, freq_par := *, alloc_present := '01'B, - dyn_block_alloc := { - extd_dyn_alloc := ?, - p0_present := ?, - p0 := *, - pr_mode := *, - usf_granularity := ?, - ul_tfi_ass_present := f_presence_bit_tfi(tfi), - ul_tfi_assignment := tfi, - reserved := '0'B, - tbf_starting_time_present := ?, - tbf_starting_time := *, - ts_allocation := ? - }, + dyn_block_alloc := dyn_alloc, sgl_block_alloc := omit }; + template PktUlAssEgprs tr_PktUlAssEgprsDynamic(template DynamicAllocation dyn_alloc := ?) := { + dual_carrier := '00'B, + tlli_present := ?, + tlli := *, + compact_reduced_ma_present := ?, + compact_reduced_ma := *, + chan_coding_cmd := ?, + resegment := ?, + window_size := ?, + ats_present := ?, + ats := *, /* ? */ + arac_retrans_req := ?, + tlli_block_chan_coding := ?, + bep_period2_present := ?, + bep_period2 := *, + pkt_ta := ?, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + freq_par_present := ?, + freq_par := *, + alloc_present := ?, + dyn_block_alloc := dyn_alloc, + multi_block_alloc := omit + }; + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 447e52b..d4c6efd 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -233,6 +233,16 @@ variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" variant (sgl_block_alloc) "PRESENCE(alloc_present = '10'B)" }; + type record COMPACTreducedMA { + uint7_t ma_bitmap_length, + bitstring ma_bitmap, + BIT1 maio_2_present, + BIT6 maio_2 + } with { + variant (ma_bitmap_length) "LENGTHTO (ma_bitmap)" + variant (ma_bitmap_length) "UNIT(bits)" + variant (maio_2) "PRESENCE(maio_2_present = '1'B)" + }; type record of AccessTechnologiesRequest AccessTechnologiesRequestRepetition with { variant "EXTENSION_BIT(reverse)" }; type record AccessTechnologiesRequest @@ -240,16 +250,72 @@ BIT4 accessTechnType, BIT1 extensionBit } with { variant "FIELDORDER(msb)" }; + type record MultiBlockAllocation { + uint3_t timeslot_nr, + BIT1 alpha_gamma_present, + uint4_t alpha optional, + uint5_t gamma_tn optional, + BIT1 p0_present, + uint4_t p0 optional, + BIT1 reserved ('0'B) optional, + BIT1 pr_mode optional, + StartingFnDesc tbf_starting_time, + uint2_t num_radio_blocks_alloc + } with { + variant (alpha) "PRESENCE(alpha_gamma_present = '1'B)" + variant (gamma_tn) "PRESENCE(alpha_gamma_present = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (reserved) "PRESENCE(p0_present = '1'B)" + variant (pr_mode) "PRESENCE(p0_present = '1'B)" + }; + type record PktUlAssEgprs { + BIT2 dual_carrier('00'B), /*TODO 01 -- Message escape for dual carrier, RTTI, BTTI with FANR activated, EGPRS2 */ + BIT1 tlli_present, + GprsTlli tlli optional, + BIT1 compact_reduced_ma_present, + COMPACTreducedMA compact_reduced_ma optional, + EgprsChCodingCommand chan_coding_cmd, + BIT1 resegment, + EgprsWindowSize window_size, + BIT1 ats_present, + AccessTechnologiesRequestRepetition ats optional, /* ? */ + BIT1 arac_retrans_req, + BIT1 tlli_block_chan_coding, + BIT1 bep_period2_present, + BIT4 bep_period2 optional, + PacketTimingAdvance pkt_ta, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 freq_par_present, + FrequencyParameters freq_par optional, + BIT2 alloc_present, + DynamicAllocation dyn_block_alloc optional, + MultiBlockAllocation multi_block_alloc optional + /* TODO: Additions for Rel-5 and more */ + } with { + variant (tlli) "PRESENCE(tlli_present = '1'B)" + variant (compact_reduced_ma) "PRESENCE(compact_reduced_ma_present = '1'B)" + variant (ats) "PRESENCE(ats_present = '1'B)" + variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (freq_par) "PRESENCE(freq_par_present = '1'B)" + variant (dyn_block_alloc) "PRESENCE(alloc_present = '01'B)" + variant (multi_block_alloc) "PRESENCE(alloc_present = '10'B)" + }; type record PacketUlAssignment { PageMode page_mode, BIT1 persistence_levels_present, PersistenceLevels persistence_levels optional, PktUlAssUnion identity, BIT1 is_egprs, /* msg escape */ - PktUlAssGprs gprs optional + PktUlAssGprs gprs optional, + PktUlAssEgprs egprs optional + /* TODO: Table 11.2.29.1: PACKET UPLINK ASSIGNMENT information elements + https://www.etsi.org/deliver/etsi_ts/144000_144099/144060/09.03.00_60/ts_144060v090300p.pdf */ } with { variant (persistence_levels) "PRESENCE(persistence_levels_present = '1'B)" variant (gprs) "PRESENCE(is_egprs = '0'B)" + variant (egprs) "PRESENCE(is_egprs = '1'B)" }; /* 11.2.10 Packet Paging Request */ diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 0bd9792..be751d7 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -429,7 +429,8 @@ persistence_levels := *, identity := ?, is_egprs := ?, /* msg escape */ - gprs := * + gprs := *, + egprs := * } } } @@ -443,7 +444,23 @@ u := { ul_assignment := { is_egprs := '0'B, - gprs := gprs + gprs := gprs, + egprs := omit + } + } + } + } + } + + template RlcmacDlBlock tr_RLCMAC_UL_PACKET_ASS_EGPRS(template uint3_t usf := ?, template PktUlAssEgprs egprs := ?) + modifies tr_RLCMAC_UL_PACKET_ASS := { + ctrl := { + payload := { + u := { + ul_assignment := { + is_egprs := '1'B, + gprs := omit, + egprs := egprs } } } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5b822bb..18189fa 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -250,9 +250,12 @@ } else if (ischosen(dl_block.data_egprs)) { return dl_block.data_egprs.mac_hdr.tfi; } else { /* Ctrl block */ - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + } } setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); f_shutdown(__BFILE__, __LINE__); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01 Gerrit-Change-Number: 18252 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:38:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 11:38:26 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... Patch Set 1: Code-Review+1 Ah ok, I wonder why was that already there and not addded in this commit. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 11:38:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:55:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:55:54 +0000 Subject: Change in libgtpnl[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libgtpnl/+/18269 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I3c9c989972cd223a46d28955edbfe4c69b7a7afb --- A contrib/libgtpnl.spec 1 file changed, 86 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/69/18269/1 diff --git a/contrib/libgtpnl.spec b/contrib/libgtpnl.spec new file mode 100644 index 0000000..e067596 --- /dev/null +++ b/contrib/libgtpnl.spec @@ -0,0 +1,86 @@ +# +# spec file for package libgtpnl +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: libgtpnl +Version: 1.2.1.0 +Release: 0 +Summary: GPRS tunnel configuration library +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://osmocom.org/projects/linux-kernel-gtp-u/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig +BuildRequires: xz +BuildRequires: pkgconfig(libmnl) >= 1.0.0 + +%description +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +%package -n libgtpnl0 +Summary: GPRS tunnel configuration library +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libgtpnl0 +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +%package devel +Summary: Development files for the GPRS tunnel config library +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: libgtpnl0 = %{version} + +%description devel +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgtpnl. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libgtpnl0 -p /sbin/ldconfig +%postun -n libgtpnl0 -p /sbin/ldconfig + +%files -n libgtpnl0 +%{_libdir}/libgtpnl.so.0* + +%files devel +%license COPYING +%{_includedir}/libgtpnl/ +%{_libdir}/libgtpnl.so +%{_libdir}/pkgconfig/*.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I3c9c989972cd223a46d28955edbfe4c69b7a7afb Gerrit-Change-Number: 18269 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:55:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:55:54 +0000 Subject: Change in libgtpnl[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libgtpnl/+/18270 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 --- M contrib/libgtpnl.spec 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/70/18270/1 diff --git a/contrib/libgtpnl.spec b/contrib/libgtpnl.spec index e067596..a3a5147 100644 --- a/contrib/libgtpnl.spec +++ b/contrib/libgtpnl.spec @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: libgtpnl -Version: 1.2.1.0 +Version: 0.0.0 Release: 0 Summary: GPRS tunnel configuration library License: GPL-2.0-or-later AND LGPL-2.1-or-later -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 Gerrit-Change-Number: 18270 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:15 +0000 Subject: Change in libosmocore[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18271 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ib329b719fbeaf4618d299fa20514c76fe704cb48 --- A contrib/libosmocore.spec 1 file changed, 460 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/18271/1 diff --git a/contrib/libosmocore.spec b/contrib/libosmocore.spec new file mode 100644 index 0000000..1ea7a8e --- /dev/null +++ b/contrib/libosmocore.spec @@ -0,0 +1,460 @@ +# +# spec file for package libosmocore +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 1.3.0.94 + +Name: libosmocore +Version: 1.3.0.94 +Release: 0 +Summary: The Open Source Mobile Communications Core Library +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later +Group: Productivity/Telephony/Utilities +Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore +Source: %name-%version.tar.xz +BuildRequires: automake >= 1.6 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkg-config >= 0.20 +BuildRequires: python2 +BuildRequires: xz +BuildRequires: pkgconfig(gnutls) >= 2.12.0 +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(talloc) >= 2.0.1 + +%description +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project, but which are of +a more generic nature and thus useful to (at least) other programs +that Osmocom develops w.r.t. mobile communications. + +There is no clear scope of it. It simply houses all code shared +between OsmocomBB and OpenBSC to avoid code duplication. + +%package tools +Summary: GSM utilities from the osmocore project +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-3.0-or-later AND AGPL-3.0-or-later +Group: Productivity/Telephony/Utilities +Provides: %name-utils = %version-%release + +%description tools +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +This package contains a program for frequency calculation for GSM +called "osmo-arfcn", and a program called "osmo-auc-gen" that is used +for testing GSM authentication. + +%package -n libosmocodec0 +Summary: GSM 06.10, 06.20, 06.60, 06.90 codec library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocodec0 +The libosmocodec library contains an implementation of multiple +GSM codecs: + +* GSM 06.10 Full Rate (FR) codec +* GSM 06.20 Half Rate (HR) codec +* GSM 06.60 Enhanced Full Range (EFR) codec +* GSM 06.90 Adaptive Multi-Rate (AMR) codec + +%package -n libosmocodec-devel +Summary: Development files for the Osmocom GSM codec library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocodec0 = %version + +%description -n libosmocodec-devel +The libosmocodec library contains an implementation of multiple +GSM codecs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocodec. + +%package -n libosmocoding0 +Summary: GSM/GPRS/EDGE transcoding routines library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocoding0 +libosmocoding is a library which provides GSM, GPRS and EDGE +transcoding routines. + +The following data types are currently supported: xCCH, PDTCH (CS 1-4 +and MCS 1-9), TCH/FR, TCH/HR, TCH/AFS, RCH/AHS, RACH and SCH. + +%package -n libosmocoding-devel +Summary: Development files for the Osmocom transcoding library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocodec-devel = %version +Requires: libosmocoding0 = %version +Requires: libosmocore-devel = %version +Requires: libosmogsm-devel = %version + +%description -n libosmocoding-devel +libosmocoding is a library which provides GSM, GPRS and EDGE +transcoding routines. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocoding. + +%package -n libosmocore12 +Summary: Osmocom core library +# crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+ +License: GPL-2.0-only AND GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocore12 +libosmocore is a library with various utility functions shared +between OpenBSC and OsmocomBB. + +%package -n libosmocore-devel +Summary: Development files for the Osmocom core library +# crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+ +License: GPL-2.0-only AND GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore12 = %version +Requires: libtalloc-devel + +%description -n libosmocore-devel +libosmocore is a library with various utility functions shared +between OpenBSC and OsmocomBB. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocore. + +%package -n libosmoctrl0 +Summary: Osmocom SNMP-like control interface library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmoctrl0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +libosmoctrl is an SNMP-like control interface. In contrast to the VTY +interface, the control interface is meant to be used by programs. + +%package -n libosmoctrl-devel +Summary: Osmocom control interface library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmoctrl0 = %version +Requires: libosmogsm-devel = %version + +%description -n libosmoctrl-devel +libosmoctrl is an SNMP-like control interface. In contrast to the VTY +interface, the control interface is meant to be used by programs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoctrl. + +%package -n libosmogb9 +Summary: Osmocom GPRS Gb Interface (NS/BSSGP) library +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmogb9 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmogb library contains a GPRS BSSGP protocol implementation. + +%package -n libosmogb-devel +Summary: Development files for the Osmocom GPRS Gb interface library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmogb9 = %version +Requires: libosmovty-devel = %version + +%description -n libosmogb-devel +The libosmogb library contains a GPRS BSSGP protocol implementation. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmogb. + +%package -n libosmogsm13 +Summary: Osmocom GSM utility library +License: GPL-2.0-or-later AND AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmogsm13 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmogsm library in particular is a collection of common code +used in various GSM related sub-projects inside the Osmocom family of +projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm +implementation, a GSM TLV parser, SMS utility routines as well as +protocol definitions for a series of protocols. + +%package -n libosmogsm-devel +Summary: Development files for the Osmocom GSM utility library +License: GPL-2.0-or-later AND AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmogsm13 = %version + +%description -n libosmogsm-devel +The libosmogsm library in particular is a collection of common code +used in various GSM related sub-projects inside the Osmocom family of +projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm +implementation, a GSM TLV parser, SMS utility routines as well as +protocol definitions for a series of protocols. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmogsm. + +%package -n libosmosim0 +Summary: Osmocom SIM card related utility library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmosim0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmosim library in particular contains routines for SIM card +access. + +%package -n libosmosim-devel +Summary: Development files for the Osmocom SIM card utility library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmosim0 = %version + +%description -n libosmosim-devel +The libosmosim library in particular contains routines for SIM card +access. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmosim. + +%package -n libosmovty4 +Summary: Osmocom VTY interface library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmovty4 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmovty library implements the interactive command-line on the +VTY (Virtual TTY), as well as configuration file parsing. + +%package -n libosmovty-devel +Summary: Development files for the Osmocom VTY interface library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmovty4 = %version + +%description -n libosmovty-devel +The libosmovty library implements the interactive command-line on the +VTY (Virtual TTY), as well as configuration file parsing. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmovty. + +%package -n libosmousb0 +Summary: Osmocom USB library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmousb0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmosub library in particular contains routines for USB device +access via libusb-1.0, integrated into the libosmocore select event loop. + +%package -n libosmousb-devel +Summary: Development files for the Osmocom USB library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmousb0 = %version +Requires: libusb-1_0-devel + +%description -n libosmousb-devel +The libosmosub library in particular contains routines for USB device +access via libusb-1.0, integrated into the libosmocore select event loop. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmousb. + + +%prep +%setup -q + +%build +echo "%version" >.tarball-version +autoreconf -fiv +%configure --enable-shared --disable-static \ + --includedir="%_includedir/%name" +make %{?_smp_mflags} V=1 + +%install +b="%buildroot" +make %{?_smp_mflags} install DESTDIR="$b" +find "$b/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmocodec0 -p /sbin/ldconfig +%postun -n libosmocodec0 -p /sbin/ldconfig +%post -n libosmocoding0 -p /sbin/ldconfig +%postun -n libosmocoding0 -p /sbin/ldconfig +%post -n libosmocore12 -p /sbin/ldconfig +%postun -n libosmocore12 -p /sbin/ldconfig +%post -n libosmoctrl0 -p /sbin/ldconfig +%postun -n libosmoctrl0 -p /sbin/ldconfig +%post -n libosmogb9 -p /sbin/ldconfig +%postun -n libosmogb9 -p /sbin/ldconfig +%post -n libosmogsm13 -p /sbin/ldconfig +%postun -n libosmogsm13 -p /sbin/ldconfig +%post -n libosmosim0 -p /sbin/ldconfig +%postun -n libosmosim0 -p /sbin/ldconfig +%post -n libosmovty4 -p /sbin/ldconfig +%postun -n libosmovty4 -p /sbin/ldconfig +%post -n libosmousb0 -p /sbin/ldconfig +%postun -n libosmousb0 -p /sbin/ldconfig + +%files tools +%defattr(-,root,root) +%_bindir/osmo-* + +%files -n libosmocodec0 +%defattr(-,root,root) +%_libdir/libosmocodec.so.0* + +%files -n libosmocodec-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/codec/ +%_libdir/libosmocodec.so +%_libdir/pkgconfig/libosmocodec.pc + +%files -n libosmocoding0 +%defattr(-,root,root) +%_libdir/libosmocoding.so.0* + +%files -n libosmocoding-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/coding/ +%_libdir/libosmocoding.so +%_libdir/pkgconfig/libosmocoding.pc + +%files -n libosmocore12 +%defattr(-,root,root) +%_libdir/libosmocore.so.12* + +%files -n libosmocore-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/core/ +%_libdir/libosmocore.so +%_libdir/pkgconfig/libosmocore.pc +%_datadir/aclocal/osmo_ax_code_coverage.m4 +%_datadir/aclocal/osmo_ac_code_coverage.m4 + +%files -n libosmoctrl0 +%defattr(-,root,root) +%_libdir/libosmoctrl.so.0* + +%files -n libosmoctrl-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/ctrl/ +%_libdir/libosmoctrl.so +%_libdir/pkgconfig/libosmoctrl.pc + +%files -n libosmogb9 +%defattr(-,root,root) +%_libdir/libosmogb.so.9* + +%files -n libosmogb-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/gprs/ +%_libdir/libosmogb.so +%_libdir/pkgconfig/libosmogb.pc + +%files -n libosmogsm13 +%defattr(-,root,root) +%_libdir/libosmogsm.so.13* + +%files -n libosmogsm-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/gsm/ +%_includedir/%name/osmocom/crypt/ +%_libdir/libosmogsm.so +%_libdir/pkgconfig/libosmogsm.pc + +%files -n libosmosim0 +%defattr(-,root,root) +%_libdir/libosmosim.so.0* + +%files -n libosmosim-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom/ +%_includedir/%name/osmocom/sim/ +%_libdir/libosmosim.so +%_libdir/pkgconfig/libosmosim.pc + +%files -n libosmovty4 +%defattr(-,root,root) +%_libdir/libosmovty.so.4* + +%files -n libosmovty-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/vty/ +%_includedir/%name/osmo-release.mk +%_libdir/libosmovty.so +%_libdir/pkgconfig/libosmovty.pc + +%files -n libosmousb0 +%defattr(-,root,root) +%_libdir/libosmousb.so.0* + +%files -n libosmousb-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/usb/ +%_libdir/libosmousb.so +%_libdir/pkgconfig/libosmousb.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib329b719fbeaf4618d299fa20514c76fe704cb48 Gerrit-Change-Number: 18271 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:15 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d --- M contrib/libosmocore.spec 1 file changed, 2 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/18272/1 diff --git a/contrib/libosmocore.spec b/contrib/libosmocore.spec index 1ea7a8e..e5ace94 100644 --- a/contrib/libosmocore.spec +++ b/contrib/libosmocore.spec @@ -12,14 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 1.3.0.94 - Name: libosmocore -Version: 1.3.0.94 +Version: 0.0.0 Release: 0 Summary: The Open Source Mobile Communications Core Library License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later @@ -30,7 +24,7 @@ BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkg-config >= 0.20 -BuildRequires: python2 +BuildRequires: python3 BuildRequires: xz BuildRequires: pkgconfig(gnutls) >= 2.12.0 BuildRequires: pkgconfig(libpcsclite) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:16 +0000 Subject: Change in libosmo-abis[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18273 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: If40896b4711fe6739ec2ed35756c0afe821c8c00 --- A contrib/libosmo-abis.spec 1 file changed, 161 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/73/18273/1 diff --git a/contrib/libosmo-abis.spec b/contrib/libosmo-abis.spec new file mode 100644 index 0000000..ac91c60 --- /dev/null +++ b/contrib/libosmo-abis.spec @@ -0,0 +1,161 @@ +# +# spec file for package libosmo-abis +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 0.8.0.26 + +Name: libosmo-abis +Version: 0.8.0.26 +Release: 0 +Summary: Osmocom library for A-bis interface between BTS and BSC +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +Url: https://osmocom.org/projects/libosmo-abis/wiki/Libosmo-abis + +Source: %name-%version.tar.xz +Patch1: osmo-talloc.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: automake >= 1.6 +#BuildRequires: dahdi-linux-devel +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: xz +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(ortp) >= 0.22 +BuildRequires: pkgconfig(talloc) + +%description +In GSM, A-bis is a BSS-internal interface link between the BTS and +BSC. This interface allows control of the radio equipment and radio +frequency allocation in the BTS. + +%package -n libosmoabis6 +Summary: Osmocom GSM A-bis interface library +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmoabis6 +In the GSM system architecture, A-bis is a Base Station +System-internal interface linking the Base Transceiver Stations (BTS) +and Base Station Controller (BSC). This interface allows control of +the radio equipment and radio frequency allocation in the BTS. + +This library contains common/shared code regarding this A-bis +interface. It also implements drivers for mISDN and DAHDI-based E1 +cards, as well as some A-bis/IP dialects. + +%package -n libosmoabis-devel +Summary: Development files for the Osmocom GSM A-bis library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmoabis6 = %version +Requires: libosmocore-devel >= 0.3.0 +Requires: libosmogsm-devel >= 0.3.10 + +%description -n libosmoabis-devel +This library contains common/shared code regarding the GSM A-bis +interface. It also implements drivers for mISDN and DAHDI-based E1 +cards, as well as some A-bis/IP dialects. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoabis. + +%package -n libosmotrau2 +Summary: Osmocom GSM TRAU (E1/RTP) library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmotrau2 +This library implements the Transcoder and Rate Adaptation Unit (TRAU) for +GSM systems. +The TRAU enables the use of lower rates (32, 16 or 8 kbps) over the +A-bis interface instead of the 64 kbps ISDN rate for which the Mobile +Switching Center (MSC) is designed. + +%package -n libosmotrau-devel +Summary: Development files for the Osmocom TRAU (E1/RTP) library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmotrau2 = %version + +%description -n libosmotrau-devel +This library implements the Transcoder and Rate Adaptation Unit +(TRAU) for GSM systems. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmotrau. + +%prep +%setup -q +%patch -P 1 -p1 -F2 + +%build +echo "%version" >.tarball-version +autoreconf -fiv +# FIXME: Compiler warnings with ortp 0.24.2 result in hard-errors during rpm-postbuild-checks - should be fixed upstream +%if 0%{?sle_version} +export CFLAGS='%{optflags} -Wno-int-conversion' +%endif +%configure \ + --enable-shared \ + --disable-static \ + --disable-dahdi \ + --includedir="%_includedir/%name" +make %{?_smp_mflags} + +%install +b="%buildroot" +make %{?_smp_mflags} install DESTDIR="$b" +find "$b/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmoabis6 -p /sbin/ldconfig +%postun -n libosmoabis6 -p /sbin/ldconfig +%post -n libosmotrau2 -p /sbin/ldconfig +%postun -n libosmotrau2 -p /sbin/ldconfig + +%files -n libosmoabis6 +%defattr(-,root,root) +%_libdir/libosmoabis.so.6* + +%files -n libosmoabis-devel +%defattr(-,root,root) +%doc COPYING +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/abis/ +%_libdir/libosmoabis.so +%_libdir/pkgconfig/libosmoabis.pc + +%files -n libosmotrau2 +%defattr(-,root,root) +%_libdir/libosmotrau.so.2* + +%files -n libosmotrau-devel +%defattr(-,root,root) +%doc COPYING +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/trau +%_libdir/libosmotrau.so +%_libdir/pkgconfig/libosmotrau.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If40896b4711fe6739ec2ed35756c0afe821c8c00 Gerrit-Change-Number: 18273 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:16 +0000 Subject: Change in libosmo-abis[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18274 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I3e135e5e7807688366598a24e121550d6292906c --- M contrib/libosmo-abis.spec 1 file changed, 1 insertion(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/74/18274/1 diff --git a/contrib/libosmo-abis.spec b/contrib/libosmo-abis.spec index ac91c60..86b0c1b 100644 --- a/contrib/libosmo-abis.spec +++ b/contrib/libosmo-abis.spec @@ -12,14 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 0.8.0.26 - Name: libosmo-abis -Version: 0.8.0.26 +Version: 0.0.0 Release: 0 Summary: Osmocom library for A-bis interface between BTS and BSC License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -27,7 +21,6 @@ Url: https://osmocom.org/projects/libosmo-abis/wiki/Libosmo-abis Source: %name-%version.tar.xz -Patch1: osmo-talloc.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: automake >= 1.6 #BuildRequires: dahdi-linux-devel @@ -103,7 +96,6 @@ %prep %setup -q -%patch -P 1 -p1 -F2 %build echo "%version" >.tarball-version -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3e135e5e7807688366598a24e121550d6292906c Gerrit-Change-Number: 18274 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:16 +0000 Subject: Change in libosmo-netif[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18275 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I81f40799d71d493b60496261464364440390bc1c --- A contrib/libosmo-netif.spec 1 file changed, 89 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/75/18275/1 diff --git a/contrib/libosmo-netif.spec b/contrib/libosmo-netif.spec new file mode 100644 index 0000000..90678b7 --- /dev/null +++ b/contrib/libosmo-netif.spec @@ -0,0 +1,89 @@ +# +# spec file for package libosmo-netif +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 0.7.0.13 +Name: libosmo-netif +Version: 0.7.0.13 +Release: 0 +Summary: Osmocom library for muxed audio +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +URL: https://osmocom.org/projects/libosmo-netif +Source: %{name}-%{version}.tar.xz +BuildRequires: automake +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 + +%description +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif8 +Summary: Osmocom library for muxed audio +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmonetif8 +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif-devel +Summary: Development files for the Osmocom muxed audio library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmonetif8 = %{version} + +%description -n libosmonetif-devel +Network interface demuxer library for OsmoCom projects. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-netif. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure --enable-shared --disable-static --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmonetif8 -p /sbin/ldconfig +%postun -n libosmonetif8 -p /sbin/ldconfig + +%files -n libosmonetif8 +%{_libdir}/libosmonetif.so.8* + +%files -n libosmonetif-devel +%license COPYING +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/netif/ +%{_libdir}/libosmonetif.so +%{_libdir}/pkgconfig/libosmo-netif.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I81f40799d71d493b60496261464364440390bc1c Gerrit-Change-Number: 18275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:16 +0000 Subject: Change in libosmo-netif[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18276 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 --- M contrib/libosmo-netif.spec 1 file changed, 1 insertion(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/76/18276/1 diff --git a/contrib/libosmo-netif.spec b/contrib/libosmo-netif.spec index 90678b7..6945204 100644 --- a/contrib/libosmo-netif.spec +++ b/contrib/libosmo-netif.spec @@ -12,13 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 0.7.0.13 Name: libosmo-netif -Version: 0.7.0.13 +Version: 0.0.0 Release: 0 Summary: Osmocom library for muxed audio License: GPL-2.0-or-later -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 Gerrit-Change-Number: 18276 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:17 +0000 Subject: Change in libosmo-sccp[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ic5bee5cbb5752afa598d805166061b1f10af41ea --- A contrib/libosmo-sccp.spec 1 file changed, 235 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/77/18277/1 diff --git a/contrib/libosmo-sccp.spec b/contrib/libosmo-sccp.spec new file mode 100644 index 0000000..11d661c --- /dev/null +++ b/contrib/libosmo-sccp.spec @@ -0,0 +1,235 @@ +# +# spec file for package libosmo-sccp +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define libversion %(echo "%{version}" |sed 's/\\./_/g') +Name: libosmo-sccp +Version: 1.2.0.36 +Release: 0 +Summary: Osmocom library for the A-bis interface between BTS and BSC +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://projects.osmocom.org/projects/libosmo-sccp +#Git-Clone: git://git.osmocom.org/libosmo-sccp +Source: %{name}-%{version}.tar.xz +Patch0: 0001-build-fixes.patch +BuildRequires: automake >= 1.6 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 + +%description +SCCP is a network layer protocol that provides extended routing, flow +control, segmentation, connection-orientation, and error correction +facilities in Signaling System 7 telecommunications networks. SCCP is +heavily used in cellular networks such as GSM. + +%package -n libosmo-mtp-%{libversion} +Summary: Osmocom Message Transfer Part library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-mtp-%{libversion} +The Message Transfer Part (MTP) is part of the Signaling System 7 +(SS7) used for communication in Public Switched Telephone Networks. +MTP is responsible for reliable, unduplicated and in-sequence +transport of SS7 messages between communication partners. + +%package -n libosmo-mtp-devel +Summary: Development files for the Osmocom MTP library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-mtp-%{libversion} = %{version} + +%description -n libosmo-mtp-devel +MTP is part of SS7 used for communication in Public Switched +Telephone Networks. + +This subpackage contains the development files for the Osmocom MTP +library. + +%package -n libosmo-sccp-%{libversion} +Summary: Osmocom Signalling Connection Control Part library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-sccp-%{libversion} +The Signalling Connection Control Part (SCCP) is a network layer +protocol that provides extended routing, flow control, segmentation, +connection-orientation, and error correction facilities in Signaling +System 7 telecommunications networks. SCCP relies on the services of +MTP for basic routing and error detection. + +%package -n libosmo-sccp-devel +Summary: Development files for the Osmocom SCCP library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sccp-%{libversion} = %{version} + +%description -n libosmo-sccp-devel +SCCP is a network layer protocol that provides routing, flow control, +segmentation, connection-orientation, and error correction facilities +in SS7 telecommunications networks. + +This subpackage contains the development files for the Osmocom SCCP +library. + +%package -n libosmo-sigtran5 +Summary: Osmocom SIGTRAN library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-sigtran5 +Osmocom implementation of (parts of) SIGTRAN. + +%package -n libosmo-sigtran-devel +Summary: Development files for the Osmocom sigtran library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sigtran5 = %{version} + +%description -n libosmo-sigtran-devel +Osmocom implementation of (parts of) SIGTRAN. + +This subpackage contains the development files for the Osmocom +SIGTRAN library. + +%package -n libosmo-xua-%{libversion} +Summary: Osmocom Message Transfer Part 2 User Adaptation library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-xua-%{libversion} +M2UA (RFC 3331) provides an SCTP (RFC 3873) adaptation layer for the +seamless backhaul of MTP Level 2 user messages and service interface +across an IP network. + +%package -n libosmo-xua-devel +Summary: Development files for the Osmocom M2UA library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sigtran-devel = %{version} +Requires: libosmo-xua-%{libversion} = %{version} + +%description -n libosmo-xua-devel +M2UA provides an SCTP adaptation layer for MTP level 2 user messages +and service interface across an IP network. + +This subpackage contains the development files for the Osmocom M2UA +library. + +%package -n osmo-stp +Summary: Osmocom SIGTRAN STP (Signaling Transfer Point) +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-stp +This is the Osmocom (Open Source Mobile Communications) implementation +of a Signaling Transfer Point (STP) for SS7/SIGTRAN telecommunication +networks. At this point it is a very minimal implementation, missing +lots of the functionality usually present in a STP, such as Global Title +Routing, Global Title Translation. + +%prep +%setup -q +%patch0 -p1 + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure \ + --enable-shared \ + --disable-static \ + --includedir="%{_includedir}/%{name}" \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-mtp-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-mtp-%{libversion} -p /sbin/ldconfig +%post -n libosmo-sccp-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-sccp-%{libversion} -p /sbin/ldconfig +%post -n libosmo-sigtran5 -p /sbin/ldconfig +%postun -n libosmo-sigtran5 -p /sbin/ldconfig +%post -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%preun -n osmo-stp %service_del_preun osmo-stp.service +%postun -n osmo-stp %service_del_postun osmo-stp.service +%pre -n osmo-stp %service_add_pre osmo-stp.service +%post -n osmo-stp %service_add_post osmo-stp.service + +%files -n libosmo-mtp-%{libversion} +%{_libdir}/libosmo-mtp-%{version}.so + +%files -n libosmo-mtp-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/mtp/ +%{_libdir}/libosmo-mtp.so +%{_libdir}/pkgconfig/libosmo-mtp.pc + +%files -n libosmo-sccp-%{libversion} +%{_libdir}/libosmo-sccp.so +%{_libdir}/libosmo-sccp-%{version}.so + +%files -n libosmo-sccp-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/sccp/ +%{_libdir}/pkgconfig/libosmo-sccp.pc + +%files -n libosmo-sigtran5 +%{_libdir}/libosmo-sigtran.so.5* + +%files -n libosmo-sigtran-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/sigtran +%{_libdir}/libosmo-sigtran.so +%{_libdir}/pkgconfig/libosmo-sigtran.pc + +%files -n libosmo-xua-%{libversion} +%{_libdir}/libosmo-xua-%{version}.so + +%files -n libosmo-xua-devel +%{_libdir}/libosmo-xua.so +%{_libdir}/pkgconfig/libosmo-xua.pc + +%files -n osmo-stp +%{_bindir}/osmo-stp +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-stp.cfg +%{_unitdir}/osmo-stp.service +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-stp +%{_docdir}/%{name}/examples/osmo-stp/osmo-stp.cfg +%{_docdir}/%{name}/examples/osmo-stp/osmo-stp-multihome.cfg + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bee5cbb5752afa598d805166061b1f10af41ea Gerrit-Change-Number: 18277 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:17 +0000 Subject: Change in libosmo-sccp[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Do not try to build libsscp, libmtp and libxua as shared libraries. The imported spec file patched the source with "0001-build-fixes.patch" (not imported) and packaged resulting so files. However, these libraries are legacy and built statically on purpose, as it's stated on the wiki page: https://osmocom.org/projects/libosmo-sccp/wiki Related: OS#4550 Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 --- M contrib/libosmo-sccp.spec 1 file changed, 11 insertions(+), 63 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/78/18278/1 diff --git a/contrib/libosmo-sccp.spec b/contrib/libosmo-sccp.spec index 11d661c..f4c0b79 100644 --- a/contrib/libosmo-sccp.spec +++ b/contrib/libosmo-sccp.spec @@ -12,25 +12,23 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - -%define libversion %(echo "%{version}" |sed 's/\\./_/g') Name: libosmo-sccp -Version: 1.2.0.36 +Version: 0.0.0 Release: 0 Summary: Osmocom library for the A-bis interface between BTS and BSC License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Hardware/Mobile URL: https://projects.osmocom.org/projects/libosmo-sccp -#Git-Clone: git://git.osmocom.org/libosmo-sccp Source: %{name}-%{version}.tar.xz -Patch0: 0001-build-fixes.patch BuildRequires: automake >= 1.6 BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: xz BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 BuildRequires: pkgconfig(libosmocore) >= 1.0.0 @@ -43,22 +41,10 @@ facilities in Signaling System 7 telecommunications networks. SCCP is heavily used in cellular networks such as GSM. -%package -n libosmo-mtp-%{libversion} -Summary: Osmocom Message Transfer Part library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-mtp-%{libversion} -The Message Transfer Part (MTP) is part of the Signaling System 7 -(SS7) used for communication in Public Switched Telephone Networks. -MTP is responsible for reliable, unduplicated and in-sequence -transport of SS7 messages between communication partners. - %package -n libosmo-mtp-devel Summary: Development files for the Osmocom MTP library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmo-mtp-%{libversion} = %{version} %description -n libosmo-mtp-devel MTP is part of SS7 used for communication in Public Switched @@ -67,23 +53,10 @@ This subpackage contains the development files for the Osmocom MTP library. -%package -n libosmo-sccp-%{libversion} -Summary: Osmocom Signalling Connection Control Part library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-sccp-%{libversion} -The Signalling Connection Control Part (SCCP) is a network layer -protocol that provides extended routing, flow control, segmentation, -connection-orientation, and error correction facilities in Signaling -System 7 telecommunications networks. SCCP relies on the services of -MTP for basic routing and error detection. - %package -n libosmo-sccp-devel Summary: Development files for the Osmocom SCCP library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmo-sccp-%{libversion} = %{version} %description -n libosmo-sccp-devel SCCP is a network layer protocol that provides routing, flow control, @@ -113,22 +86,11 @@ This subpackage contains the development files for the Osmocom SIGTRAN library. -%package -n libosmo-xua-%{libversion} -Summary: Osmocom Message Transfer Part 2 User Adaptation library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-xua-%{libversion} -M2UA (RFC 3331) provides an SCTP (RFC 3873) adaptation layer for the -seamless backhaul of MTP Level 2 user messages and service interface -across an IP network. - %package -n libosmo-xua-devel Summary: Development files for the Osmocom M2UA library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libosmo-sigtran-devel = %{version} -Requires: libosmo-xua-%{libversion} = %{version} %description -n libosmo-xua-devel M2UA provides an SCTP adaptation layer for MTP level 2 user messages @@ -151,14 +113,12 @@ %prep %setup -q -%patch0 -p1 %build echo "%{version}" >.tarball-version autoreconf -fiv %configure \ --enable-shared \ - --disable-static \ --includedir="%{_includedir}/%{name}" \ --docdir="%{_docdir}/%{name}" \ --with-systemdsystemunitdir=%{_unitdir} @@ -171,37 +131,27 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmo-mtp-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-mtp-%{libversion} -p /sbin/ldconfig -%post -n libosmo-sccp-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-sccp-%{libversion} -p /sbin/ldconfig %post -n libosmo-sigtran5 -p /sbin/ldconfig %postun -n libosmo-sigtran5 -p /sbin/ldconfig -%post -n libosmo-xua-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%if 0%{?suse_version} %preun -n osmo-stp %service_del_preun osmo-stp.service %postun -n osmo-stp %service_del_postun osmo-stp.service %pre -n osmo-stp %service_add_pre osmo-stp.service %post -n osmo-stp %service_add_post osmo-stp.service - -%files -n libosmo-mtp-%{libversion} -%{_libdir}/libosmo-mtp-%{version}.so +%endif %files -n libosmo-mtp-devel %dir %{_includedir}/%{name} %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/mtp/ -%{_libdir}/libosmo-mtp.so +%{_libdir}/libmtp.a %{_libdir}/pkgconfig/libosmo-mtp.pc -%files -n libosmo-sccp-%{libversion} -%{_libdir}/libosmo-sccp.so -%{_libdir}/libosmo-sccp-%{version}.so - %files -n libosmo-sccp-devel %dir %{_includedir}/%{name} %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/sccp/ +%{_libdir}/libsccp.a %{_libdir}/pkgconfig/libosmo-sccp.pc %files -n libosmo-sigtran5 @@ -212,13 +162,11 @@ %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/sigtran %{_libdir}/libosmo-sigtran.so +%{_libdir}/libosmo-sigtran.a %{_libdir}/pkgconfig/libosmo-sigtran.pc -%files -n libosmo-xua-%{libversion} -%{_libdir}/libosmo-xua-%{version}.so - %files -n libosmo-xua-devel -%{_libdir}/libosmo-xua.so +%{_libdir}/libxua.a %{_libdir}/pkgconfig/libosmo-xua.pc %files -n osmo-stp -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 Gerrit-Change-Number: 18278 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:17 +0000 Subject: Change in libsmpp34[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libsmpp34/+/18279 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Iacfa1f9a445abf7d6dc867c14c6237d9fc8750f7 --- A contrib/libsmpp34.spec 1 file changed, 89 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/79/18279/1 diff --git a/contrib/libsmpp34.spec b/contrib/libsmpp34.spec new file mode 100644 index 0000000..a6dd384 --- /dev/null +++ b/contrib/libsmpp34.spec @@ -0,0 +1,89 @@ +# +# spec file for package libsmpp34 +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define sover 1 +Name: libsmpp34 +Version: 1.14.0.1 +Release: 0 +Summary: PDU SMPP packaging and unpackaging tool +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://osmocom.org/projects/libsmpp34 +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf >= 2.57 +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(libxml-2.0) + +%description +The library provides the PDU handling of the SMPP-3.4 protocol. + +%package -n libsmpp34-%{sover} +Summary: SMPP-3.4 protocol library +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libsmpp34-%{sover} +This library provides the Protocol Data Unit (PDU) handling of the +SMPP-3.4 protocol. SMPP (Short Message Peer-to-Peer) is a protocol +providing a data communication interface for the transfer of short +message data between External Short Messaging Entities, Routing +Entitites and Message Centres. + +%package -n libsmpp34-%{sover}-devel +Summary: Development files for the SMPP-3.4 protocol library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libsmpp34-%{sover} = %{version} + +%description -n libsmpp34-%{sover}-devel +The library provides the PDU handling of the SMPP-3.4 protocol. + +This subpackage contains libraries and header files for developing +applications that want to make use of libsmpp34. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --disable-static --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libsmpp34-%{sover} -p /sbin/ldconfig +%postun -n libsmpp34-%{sover} -p /sbin/ldconfig + +%files -n libsmpp34-%{sover} +%{_libdir}/libsmpp34.so.%{sover}* + +%files -n libsmpp34-%{sover}-devel +%license COPYING +%doc ChangeLog +%{_includedir}/%{name}/ +%{_libdir}/libsmpp34.so +%{_libdir}/pkgconfig/*.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iacfa1f9a445abf7d6dc867c14c6237d9fc8750f7 Gerrit-Change-Number: 18279 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:17 +0000 Subject: Change in libsmpp34[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libsmpp34/+/18280 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 --- M contrib/libsmpp34.spec 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/80/18280/1 diff --git a/contrib/libsmpp34.spec b/contrib/libsmpp34.spec index a6dd384..6b5cf5f 100644 --- a/contrib/libsmpp34.spec +++ b/contrib/libsmpp34.spec @@ -13,12 +13,9 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define sover 1 Name: libsmpp34 -Version: 1.14.0.1 +Version: 0.0.0 Release: 0 Summary: PDU SMPP packaging and unpackaging tool License: GPL-2.0-or-later AND LGPL-2.1-or-later -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 Gerrit-Change-Number: 18280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:18 +0000 Subject: Change in libusrp[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/18281 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I45edbd4ae5bca1194c17452e8fd3538742ca1ef0 --- A contrib/libusrp.spec 1 file changed, 128 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/81/18281/1 diff --git a/contrib/libusrp.spec b/contrib/libusrp.spec new file mode 100644 index 0000000..2ba813a --- /dev/null +++ b/contrib/libusrp.spec @@ -0,0 +1,128 @@ +# +# spec file for package libusrp +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sover -3_4_4+git_20190808-0 +%define libname libusrp%{sover} +Name: libusrp +Version: 3.4.4+git.20190808 +Release: 0 +Summary: Stand-alone libusrp for USRP1 from old gnuradio.git +License: GPL-3.0-or-later +Group: Development/Libraries/C and C++ +URL: https://git.osmocom.org/libusrp +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: sdcc +%if 0%{?suse_version} < 1320 +BuildRequires: python +%else +BuildRequires: python2 +%endif +BuildRequires: pkgconfig(libusb-1.0) +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_date_time-devel +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_thread-devel +%else +BuildRequires: boost-devel +%endif + +%description +Stand-alone libusrp for USRP1 from old gnuradio.git. + +%package -n %{libname} +Summary: Stand-alone libusrp for USRP1 from old gnuradio.git +Group: System/Libraries + +%description -n %{libname} +Stand-alone libusrp for USRP1 from old gnuradio.git. + +%package devel +Summary: Development files for libusrp +Group: Development/Libraries/C and C++ +Requires: %{libname} = %{version} + +%description devel +Stand-alone libusrp for USRP1 from old gnuradio.git. + +This subpackage contains libraries and header files for developing +applications that want to make use of libusrp. + +%package -n usrp-tools +Summary: Tools for the URSP1 SDR +Group: Hardware/Other + +%description -n usrp-tools +Tools for the URSP1 SDR. + +%package -n usrp-firmware +Summary: Firmware files for the URSP1 SDR +Group: Hardware/Other +Requires: usrp-tools = %{version} +BuildArch: noarch + +%description -n usrp-firmware +Firmware files for the USRP1 SDR. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure +# parallel build is br0ken +# -> https://osmocom.org/issues/3970#change-15556 +make V=1 # %{?_smp_mflags} + +%install +%make_install +rm -f %{buildroot}%{_libdir}/libusrp.la +# FIXME: gnuradio swig stuff shouldn't be there +rm -rf %{buildroot}%{_includedir}/gnuradio/ +%fdupes %{buildroot}%{_datadir}/usrp + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%files -n usrp-tools +%{_bindir}/usrp_cal_dc_offset +%{_bindir}/usrper + +%files -n %{libname} +%{_libdir}/libusrp*.so.* + +%files -n usrp-firmware +%dir %{_datadir}/usrp +%{_datadir}/usrp/rev2 +%{_datadir}/usrp/rev4 + +%files devel +%{_includedir}/usrp +%{_libdir}/libusrp.so +%{_libdir}/pkgconfig/usrp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I45edbd4ae5bca1194c17452e8fd3538742ca1ef0 Gerrit-Change-Number: 18281 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:18 +0000 Subject: Change in libusrp[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/18282 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea --- M contrib/libusrp.spec 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/82/18282/1 diff --git a/contrib/libusrp.spec b/contrib/libusrp.spec index 2ba813a..8cc9540 100644 --- a/contrib/libusrp.spec +++ b/contrib/libusrp.spec @@ -13,14 +13,10 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - %define sover -3_4_4+git_20190808-0 %define libname libusrp%{sover} Name: libusrp -Version: 3.4.4+git.20190808 +Version: 0.0.0 Release: 0 Summary: Stand-alone libusrp for USRP1 from old gnuradio.git License: GPL-3.0-or-later -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea Gerrit-Change-Number: 18282 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:18 +0000 Subject: Change in libasn1c[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libasn1c/+/18283 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I7f20905413877c5b94cf0526dbef914a8148585f --- A contrib/libasn1c.spec 1 file changed, 98 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libasn1c refs/changes/83/18283/1 diff --git a/contrib/libasn1c.spec b/contrib/libasn1c.spec new file mode 100644 index 0000000..e05b3e9 --- /dev/null +++ b/contrib/libasn1c.spec @@ -0,0 +1,98 @@ +# +# spec file for package libasn1c +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: libasn1c +Version: 0.9.32.0 +Release: 0 +Summary: Osmocon ASN.1 decoder and encoder library +License: BSD-2-Clause +Group: Development/Libraries/C and C++ +Url: http://openbsc.osmocom.org/trac/ + +Source: %name-%version.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkg-config +BuildRequires: xz +BuildRequires: pkgconfig(libosmocore) >= 0.1.13 +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Lev Walkins's asn1c runtime, as a shared library and with +modifications for Osmocom. + +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +%package -n libasn1c1 +Summary: Osmocon ASN.1 decoder and encoder library +Group: System/Libraries + +%description -n libasn1c1 +Lev Walkins's asn1c runtime, as a shared library and with +modifications for Osmocom. + +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +%package -n libasn1c-devel +Summary: Development files for libasn1c, Osmocom's ASN.1 decoder and encoder library +Group: Development/Libraries/C and C++ +Requires: libasn1c1 = %version +Requires: libtalloc-devel + +%description -n libasn1c-devel +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +This subpackage contains libraries and header files for developing +applications that want to make use of libasn1c. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --disable-static +make %{?_smp_mflags} + +%install +%make_install +find "%buildroot/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libasn1c1 -p /sbin/ldconfig +%postun -n libasn1c1 -p /sbin/ldconfig + +%files -n libasn1c1 +%defattr(-,root,root) +%_libdir/libasn1c.so.1* + +%files -n libasn1c-devel +%defattr(-,root,root) +%doc COPYING +%_includedir/asn1c/ +%_libdir/pkgconfig/*.pc +%_libdir/libasn1c.so + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: I7f20905413877c5b94cf0526dbef914a8148585f Gerrit-Change-Number: 18283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:19 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libasn1c/+/18284 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 --- M contrib/libasn1c.spec 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libasn1c refs/changes/84/18284/1 diff --git a/contrib/libasn1c.spec b/contrib/libasn1c.spec index e05b3e9..f05fcee 100644 --- a/contrib/libasn1c.spec +++ b/contrib/libasn1c.spec @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: libasn1c -Version: 0.9.32.0 +Version: 0.0.0 Release: 0 Summary: Osmocon ASN.1 decoder and encoder library License: BSD-2-Clause -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:19 +0000 Subject: Change in gapk[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/gapk/+/18285 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Idbf365be21d5629bf4bef2c95d527a80c49e9f97 --- A contrib/gapk.spec 1 file changed, 154 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/85/18285/1 diff --git a/contrib/gapk.spec b/contrib/gapk.spec new file mode 100644 index 0000000..3f076cc --- /dev/null +++ b/contrib/gapk.spec @@ -0,0 +1,154 @@ +# +# spec file for package gapk +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define with_amr 1 +%define with_gsmhr 1 +%define sover 0 + +Name: gapk +Version: 0.4.79 +Release: 0 +Summary: GSM Audio Pocket Knife +License: GPL-3.0-only +Group: Productivity/Multimedia/Sound/Editors and Convertors +URL: http://www.osmocom.org +Source: gapk-%{version}.tar.xz +# License: for libgsmhr see 3gpp website +Source1: 0606_421.zip +Patch1: gapk-disable-codec-dl-during-build.diff +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libgsm-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(libosmocodec) +BuildRequires: pkgconfig(libosmocore) +# Benchmarking is currently only supported on intel platforms... +ExclusiveArch: %{ix86} x86_64 +%if 0%{with_amr} +BuildRequires: libopencore-amr-devel +%endif + +%description +gapk is intented to be the GSM Audio Pocket Knife. +It encodes/decodes several GSM-related audio-codes (HR,FR,EFR) + +%if 0%{with_gsmhr} +%package -n libgsmhr0 +Summary: Shared Library part of libgsmhr +License: NonFree +Group: Development/Libraries/C and C++ + +%description -n libgsmhr0 +libgsmhr contains a standard implementation of the European GSM 06.20 +provisional standard for GSM Half Rate speech speech transcoding. + +%package -n libgsmhr-devel +Summary: Development files for the gsmhr library +License: NonFree +Group: Development/Libraries/C and C++ +Requires: libgsmhr0 = %{version} + +%description -n libgsmhr-devel +libgsmhr contains a standard implementation of the European GSM 06.20 +provisional standard for GSM Half Rate speech speech transcoding. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgsmhr. +%endif + +%package -n libosmogapk%{sover} +Summary: Shared library part of GSM Audio Pocket Knife (GAPK) +License: GPL-3.0-only +Group: Development/Libraries/C and C++ + +%description -n libosmogapk%{sover} +Shared library part of GSM Audio Pocket Knife (GAPK). + +%package -n libosmogapk-devel +Summary: Development files for the GAPK library +License: GPL-3.0-only +Group: Development/Libraries/C and C++ +Requires: libosmogapk%{sover} = %{version} + +%description -n libosmogapk-devel +Shared library part of GSM Audio Pocket Knife (GAPK). + +This subpackage contains the development files for the Osmocom GAPK +library. + +%prep +%setup -q +%if 0%{with_gsmhr} +%patch1 -p1 +cp %{SOURCE1} libgsmhr/ +%endif + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if 0%{with_gsmhr} + --enable-gsmhr \ +%endif + --disable-static +make V=1 %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +%if 0%{with_gsmhr} +## GSM HR tests (6,9,13,14) are known to be broken - https://osmocom.org/issues/2514 +make %{?_smp_mflags} check || : +%else +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%endif + +%if 0%{with_gsmhr} +%post -n libgsmhr0 -p /sbin/ldconfig +%postun -n libgsmhr0 -p /sbin/ldconfig +%endif + +%post -n libosmogapk%{sover} -p /sbin/ldconfig +%postun -n libosmogapk%{sover} -p /sbin/ldconfig + +%files +%doc gpl-3.0.txt +%{_bindir}/osmo-gapk + +%if 0%{with_gsmhr} +%files -n libgsmhr0 +%{_libdir}/libgsmhr.so.0* + +%files -n libgsmhr-devel +%{_libdir}/libgsmhr.so +%endif + +%files -n libosmogapk%{sover} +%{_libdir}/libosmogapk.so.%{sover}* + +%files -n libosmogapk-devel +%dir %{_includedir}/osmocom/ +%{_includedir}/osmocom/%{name}/ +%{_libdir}/libosmogapk.so +%{_libdir}/pkgconfig/libosmogapk.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Idbf365be21d5629bf4bef2c95d527a80c49e9f97 Gerrit-Change-Number: 18285 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:20 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:20 +0000 Subject: Change in gapk[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/gapk/+/18286 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 --- M contrib/gapk.spec 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/86/18286/1 diff --git a/contrib/gapk.spec b/contrib/gapk.spec index 3f076cc..a2a65e2 100644 --- a/contrib/gapk.spec +++ b/contrib/gapk.spec @@ -12,15 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define with_amr 1 %define with_gsmhr 1 %define sover 0 Name: gapk -Version: 0.4.79 +Version: 0.0.0 Release: 0 Summary: GSM Audio Pocket Knife License: GPL-3.0-only -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 Gerrit-Change-Number: 18286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:21 +0000 Subject: Change in osmo-bts[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18287 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1 --- A contrib/osmo-bts.spec 1 file changed, 116 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/87/18287/1 diff --git a/contrib/osmo-bts.spec b/contrib/osmo-bts.spec new file mode 100644 index 0000000..2a423b2 --- /dev/null +++ b/contrib/osmo-bts.spec @@ -0,0 +1,116 @@ +# +# spec file for package osmo-bts +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-bts +Version: 1.2.0.49 +Release: 0 +Summary: Osmocom BTS-Side code (Abis, scheduling) +License: AGPL-3.0-or-later AND GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmobts/wiki/Wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.2.0 +BuildRequires: pkgconfig(libosmocoding) >= 1.2.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmotrau) >= 0.6.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +### FIXME: DependencyHACK to include osmocom/gprs/protocol/gsm_04_60.h +BuildRequires: pkgconfig(libosmogb) + +%description +Osmocom BTS-Side code (A-bis, scheduling). + +%package -n osmo-bts-virtual +Summary: Virtual Osmocom GSM BTS (no RF hardware; GSMTAP/UDP) +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description -n osmo-bts-virtual +This version of OsmoBTS doesn't use actual GSM PHY/Hardware/RF, but +utilizes GSMTAP-over-UDP frames for the Um interface. This is useful +in fully virtualized setups e.g. in combination with OsmocomBB virt_phy. + +%package -n osmo-bts-omldummy +Summary: Osmocom CI: Bring up only OML without RSL +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description -n osmo-bts-omldummy +This is used only in integration testing, where in the TTCN-3 testsuite +we currently have no A-bis OML implementation, but only a RSL one. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --enable-trx +make V=1 %{?_smp_mflags} + +%install +%make_install + +%pre %service_add_pre osmo-bts-trx.service +%post %service_add_post osmo-bts-trx.service +%preun %service_del_preun osmo-bts-trx.service +%postun %service_del_postun osmo-bts-trx.service +%pre virtual %service_add_pre osmo-bts-virtual.service +%post virtual %service_add_post osmo-bts-virtual.service +%preun virtual %service_del_preun osmo-bts-virtual.service +%postun virtual %service_del_postun osmo-bts-virtual.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.md +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-bts-trx +%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx-calypso.cfg +%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx.cfg +%dir %{_docdir}/%{name}/examples/osmo-bts-virtual +%{_docdir}/%{name}/examples/osmo-bts-virtual/openbsc-virtual.cfg +%{_docdir}/%{name}/examples/osmo-bts-virtual/osmo-bts-virtual.cfg +%{_bindir}/osmo-bts-trx +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bts-trx.cfg +%{_unitdir}/osmo-bts-trx.service + +%files -n osmo-bts-virtual +%{_bindir}/osmo-bts-virtual +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bts-virtual.cfg +%{_unitdir}/osmo-bts-virtual.service + +%files -n osmo-bts-omldummy +%{_bindir}/osmo-bts-omldummy + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1 Gerrit-Change-Number: 18287 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:21 +0000 Subject: Change in osmo-bts[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18288 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 --- M contrib/osmo-bts.spec 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18288/1 diff --git a/contrib/osmo-bts.spec b/contrib/osmo-bts.spec index 2a423b2..968efc9 100644 --- a/contrib/osmo-bts.spec +++ b/contrib/osmo-bts.spec @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-bts -Version: 1.2.0.49 +Version: 0.0.0 Release: 0 Summary: Osmocom BTS-Side code (Abis, scheduling) License: AGPL-3.0-or-later AND GPL-2.0-only @@ -27,7 +24,11 @@ BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 BuildRequires: pkgconfig(libosmocodec) >= 1.2.0 BuildRequires: pkgconfig(libosmocoding) >= 1.2.0 @@ -76,6 +77,7 @@ %install %make_install +%if 0%{?suse_version} %pre %service_add_pre osmo-bts-trx.service %post %service_add_post osmo-bts-trx.service %preun %service_del_preun osmo-bts-trx.service @@ -84,6 +86,7 @@ %post virtual %service_add_post osmo-bts-virtual.service %preun virtual %service_del_preun osmo-bts-virtual.service %postun virtual %service_del_postun osmo-bts-virtual.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 Gerrit-Change-Number: 18288 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:22 +0000 Subject: Change in osmo-bsc[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18289 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78 --- A contrib/osmo-bsc.spec 1 file changed, 145 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/89/18289/1 diff --git a/contrib/osmo-bsc.spec b/contrib/osmo-bsc.spec new file mode 100644 index 0000000..1aa4baf --- /dev/null +++ b/contrib/osmo-bsc.spec @@ -0,0 +1,145 @@ +# +# spec file for package osmo-bsc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4113 +%define _lto_cflags %{nil} + + +Name: osmo-bsc +Version: 1.6.0.78 +Release: 0 +Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/openbsc/wiki/Osmo-bsc +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.5.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 0.10.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(talloc) +%{?systemd_requires} + +%description +OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. + +%package abisip-find +Summary: CLI utility to find ip.access compatible BTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description abisip-find +Command line utility to find ip.access compatible BTS. + +%package ipaccess-utils +Summary: Command line utilities for ip.access nanoBTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description ipaccess-utils +This package contains utilities that are specific for nanoBTS when being +used together with OpenBSC. It contains mainly two tools: ipaccess-config +and ipaccess-proxy. + +%package bs11-utils +Summary: Command line utilities for Siemens BS-11 BTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description bs11-utils +There is a tool in this package for configuring the Siemens BS-11 BTS. +Additionally, it contains one tool for making use of an ISDN-card and the +public telephone network as frequency standard for the E1 line. + +%package meas-utils +Summary: Command line utilities for OsmoBSC's measurement reports +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description meas-utils +This package contains utilities for handling OsmoBSC's measurement reports + * meas_json to convert measurement feed into a JSON feed + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%{_bindir}/osmo-bsc +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-bsc +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc.cfg +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc-minimal.cfg +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bsc.cfg +%{_unitdir}/%{name}.service + +%files abisip-find +%{_bindir}/abisip-find + +%files ipaccess-utils +%{_bindir}/ipaccess-config +%{_bindir}/ipaccess-proxy + +%files bs11-utils +%{_bindir}/bs11_config +%{_bindir}/isdnsync + +%files meas-utils +%{_bindir}/meas_json + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78 Gerrit-Change-Number: 18289 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:22 +0000 Subject: Change in osmo-bsc[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18290 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f --- M contrib/osmo-bsc.spec 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18290/1 diff --git a/contrib/osmo-bsc.spec b/contrib/osmo-bsc.spec index 1aa4baf..fcde3a1 100644 --- a/contrib/osmo-bsc.spec +++ b/contrib/osmo-bsc.spec @@ -12,16 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4113 %define _lto_cflags %{nil} - Name: osmo-bsc -Version: 1.6.0.78 +Version: 0.0.0 Release: 0 Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -31,7 +27,11 @@ BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libcrypto) >= 0.9.5 BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.5.0 BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 @@ -100,6 +100,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -111,6 +112,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f Gerrit-Change-Number: 18290 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:23 +0000 Subject: Change in osmo-ggsn[master]: osmo-ggsn.spec.in: remove References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 ) Change subject: osmo-ggsn.spec.in: remove ...................................................................... osmo-ggsn.spec.in: remove Remove old osmo-ggsn.spec.in file from 2017 in favor of the one imported from mnhauke, which is currently used in openSUSE nightly builds (will be added in a follow-up commit). Related: OS#4550 Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd --- M .gitignore M configure.ac D osmo-ggsn.spec.in 3 files changed, 1 insertion(+), 93 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/91/18291/1 diff --git a/.gitignore b/.gitignore index 22fb5c4..7dec8a9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,6 @@ libtool ltmain.sh missing -osmo-ggsn.spec stamp-h1 INSTALL m4/ diff --git a/configure.ac b/configure.ac index 0e61729..c92a06c 100644 --- a/configure.ac +++ b/configure.ac @@ -262,8 +262,7 @@ tests/Makefile tests/lib/Makefile tests/gtp/Makefile - libgtp.pc - osmo-ggsn.spec]) + libgtp.pc]) AC_OUTPUT echo " diff --git a/osmo-ggsn.spec.in b/osmo-ggsn.spec.in deleted file mode 100644 index 9613bca..0000000 --- a/osmo-ggsn.spec.in +++ /dev/null @@ -1,90 +0,0 @@ -Summary: Osmocom Gateway GPRS Support Node (GGSN) -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 -URL: https://osmocom.org/projects/openggsn -Source0: http://prdownloads.sourceforge.net/ggsn/%{name}-%{version}.tar.gz -License: GPL -Group: System Environment/Daemons -BuildRoot: %{_tmppath}/%{name}-root - -%description -OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile -operators as the interface between the Internet and the rest of the -mobile network infrastructure. The project also provides an SGSN -emulator suitable for GPRS core network testing. - -%prep -%setup -q - -%build - -./configure --prefix=/usr --enable-static-exec - -make - -%install - -make install prefix=$RPM_BUILD_ROOT/usr -strip $RPM_BUILD_ROOT/usr/bin/osmo-ggsn -strip $RPM_BUILD_ROOT/usr/bin/sgsnemu - -#Copy osmo-ggsn init script in place -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d -install -m755 examples/osmo-ggsn.init \ - $RPM_BUILD_ROOT/etc/rc.d/init.d/osmo-ggsn - -#Copy osmo-ggsn.conf in place -install -m755 examples/osmo-ggsn.cfg \ - $RPM_BUILD_ROOT/etc/osmo-ggsn.cfg - -#Copy gsn_restart file in place -mkdir -p $RPM_BUILD_ROOT/var/lib/osmo-ggsn -echo "0" > $RPM_BUILD_ROOT/var/lib/osmo-ggsn/gsn_restart - -#Clean up unwanted library files -rm -rf $RPM_BUILD_ROOT/usr/include/* -rm -rf $RPM_BUILD_ROOT/usr/lib/* - - -%clean -rm -rf $RPM_BUILD_ROOT -make clean - -%post -/sbin/chkconfig --add osmo-ggsn - -%files -%defattr(-,root,root) - -/usr/bin/osmo-ggsn -/usr/bin/sgsnemu -/etc/rc.d/init.d/osmo-ggsn -%dir /var/lib/osmo-ggsn -/var/lib/osmo-ggsn/gsn_restart - -%doc AUTHORS COPYING INSTALL NEWS README.md -%doc examples/osmo-ggsn.conf -%doc examples/sgsnemu.conf -%doc examples/osmo-ggsn.init -%doc examples/firewall -%doc /usr/man/man8/osmo-ggsn.8.gz -%doc /usr/man/man8/sgsnemu.8.gz - -%config /etc/osmo-ggsn.cfg - - -#/usr/lib/libgtp.a -#/usr/lib/libgtp.la -#/usr/lib/libgtp.so -#/usr/lib/libgtp.so.0 -#/usr/lib/libgtp.so.0.0.0 - - - -%changelog -* Mon Jun 30 2017 -- Update to OsmoGGSN - -* Mon Jun 30 2003 -- Initial build. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd Gerrit-Change-Number: 18291 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:23 +0000 Subject: Change in osmo-ggsn[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I50a93d2cde429974b059bafd38befa9a189c0e8a --- A contrib/osmo-ggsn.spec 1 file changed, 123 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/92/18292/1 diff --git a/contrib/osmo-ggsn.spec b/contrib/osmo-ggsn.spec new file mode 100644 index 0000000..15e4144 --- /dev/null +++ b/contrib/osmo-ggsn.spec @@ -0,0 +1,123 @@ +# +# spec file for package osmo-ggsn +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4114 +%define _lto_cflags %{nil} + + +Name: osmo-ggsn +Version: 1.5.0.31 +Release: 0 +Summary: GPRS Support Node +License: GPL-2.0-only AND LGPL-2.1-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/openggsn/wiki/OsmoGGSN +Source: %{name}-%{version}.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libgtpnl) >= 1.0.0 +BuildRequires: pkgconfig(libmnl) >= 1.0.3 +BuildRequires: pkgconfig(libosmocore) >= 1.1.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 +BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +Obsoletes: openggsn +%{?systemd_requires} + +%description +Osmo-GGSN is a C-language implementation of a GGSN (Gateway GPRS +Support Node), a core network element of ETSI/3GPP cellular networks +such as GPRS, EDGE, UMTS or HSPA. + +%package -n libgtp6 +Summary: Library implementing GTP between SGSN and GGSN +License: GPL-2.0-only +Group: System/Libraries + +%description -n libgtp6 +libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN. + +%package -n libgtp-devel +Summary: Development files for the GTP library +License: GPL-2.0-only +Group: Development/Libraries/C and C++ +Requires: libgtp6 = %{version} + +%description -n libgtp-devel +libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgtp. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} V=1 + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%post -n libgtp6 -p /sbin/ldconfig +%postun -n libgtp6 -p /sbin/ldconfig + +%files +%license COPYING +%doc AUTHORS README.md +%{_bindir}/osmo-ggsn +%{_bindir}/sgsnemu +%{_mandir}/man8/osmo-ggsn.8%{?ext_man} +%{_mandir}/man8/sgsnemu.8%{?ext_man} +%{_unitdir}/%{name}.service +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-ggsn.cfg +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-ggsn.cfg + +%files -n libgtp6 +%{_libdir}/libgtp.so.6* + +%files -n libgtp-devel +%{_includedir}/%{name}/ +%{_libdir}/libgtp.so +%{_libdir}/pkgconfig/libgtp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I50a93d2cde429974b059bafd38befa9a189c0e8a Gerrit-Change-Number: 18292 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:23 +0000 Subject: Change in osmo-ggsn[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 --- M contrib/osmo-ggsn.spec 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/93/18293/1 diff --git a/contrib/osmo-ggsn.spec b/contrib/osmo-ggsn.spec index 15e4144..03bf0f0 100644 --- a/contrib/osmo-ggsn.spec +++ b/contrib/osmo-ggsn.spec @@ -12,16 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4114 %define _lto_cflags %{nil} - Name: osmo-ggsn -Version: 1.5.0.31 +Version: 0.0.0 Release: 0 Summary: GPRS Support Node License: GPL-2.0-only AND LGPL-2.1-or-later @@ -30,7 +26,11 @@ Source: %{name}-%{version}.tar.xz BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libgtpnl) >= 1.0.0 BuildRequires: pkgconfig(libmnl) >= 1.0.3 BuildRequires: pkgconfig(libosmocore) >= 1.1.0 @@ -84,6 +84,7 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%if 0%{?suse_version} %pre %service_add_pre %{name}.service @@ -95,6 +96,7 @@ %postun %service_del_postun %{name}.service +%endif %post -n libgtp6 -p /sbin/ldconfig %postun -n libgtp6 -p /sbin/ldconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 Gerrit-Change-Number: 18293 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:24 +0000 Subject: Change in osmo-hlr[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18294 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Icb6f4335d5157f058b39701e9fcb332264911ba3 --- A contrib/osmo-hlr.spec 1 file changed, 189 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/94/18294/1 diff --git a/contrib/osmo-hlr.spec b/contrib/osmo-hlr.spec new file mode 100644 index 0000000..3b5a9fa --- /dev/null +++ b/contrib/osmo-hlr.spec @@ -0,0 +1,189 @@ +# +# spec file for package osmo-hlr +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-hlr +Version: 1.2.0.48 +Release: 0 +Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://projects.osmocom.org/projects/osmo-hlr +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: python2 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(talloc) >= 2.0.1 +# only needed for populate_hlr_db.pl +Requires: libdbi-drivers-dbd-sqlite3 + +%description +The GSUP HLR is a stand-alone HLR (Home Location Register) for SIM +and USIM based subscribers which exposes the GSUP protocol towards +its users. OsmoSGSN supports this protocol. + +osmo-gsup-hlr is still very simplistic. It is a single-threaded +architecture and uses only sqlite3 tables as back-end. It is suitable +for installations of the scale that OsmoNITB was able to handle. It +also lacks various features like fine-grained control of subscribed +services (like supplementary services). + +%package -n libosmo-gsup-client0 +Summary: Osmocom GSUP (General Subscriber Update Protocol) client library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-gsup-client0 +This is a shared library that can be used to implement client programs for +the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN +and External USSD Entities (EUSEs) using this library to implement clients. + +%package -n libosmo-gsup-client-devel +Summary: Development files for the Osmocom GSUP client library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-gsup-client0 = %{version} + +%description -n libosmo-gsup-client-devel +This is a shared library that can be used to implement client programs for +the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN +and External USSD Entities (EUSEs) using this library to implement clients. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-gsup-client. + +%package -n libosmo-mslookup0 +Summary: Osmocom MS lookup library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-mslookup0 +This shared library contains routines for looking up mobile subscribers. + +%package -n libosmo-mslookup-devel +Summary: Development files for the Osmocom MS lookup library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-mslookup0 = %{version} + +%description -n libosmo-mslookup-devel +This shared library contains routines for looking up mobile subscribers. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mslookup. + + +%package -n osmo-mslookup-client +Summary: Standalone program using libosmo-mslookup +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ + +%description -n osmo-mslookup-client +Standalone program using libosmo-mslookup to easily integrate with programs +that want to connect services (SIP, SMS,...) to the current location of a +subscriber. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --enable-shared \ + --disable-static +make V=1 %{?_smp_mflags} + +%install +%make_install +install -d "%{buildroot}/%{_localstatedir}/lib/osmocom" +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%post -n libosmo-gsup-client0 -p /sbin/ldconfig +%postun -n libosmo-gsup-client0 -p /sbin/ldconfig +%post -n libosmo-mslookup0 -p /sbin/ldconfig +%postun -n libosmo-mslookup0 -p /sbin/ldconfig + +%files +%license COPYING +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-hlr.cfg +%{_docdir}/%{name}/examples/osmo-hlr-dgsm.cfg +%dir %{_docdir}/%{name}/sql +%{_docdir}/%{name}/sql/hlr.sql +%{_docdir}/%{name}/sql//hlr_data.sql +%dir %{_sysconfdir}/osmocom +%dir %{_localstatedir}/lib/osmocom +%{_bindir}/osmo-hlr +%{_bindir}/osmo-hlr-db-tool +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-hlr.cfg +%{_unitdir}/osmo-hlr.service + +%files -n libosmo-gsup-client0 +%{_libdir}/libosmo-gsup-client.so.0* + +%files -n libosmo-gsup-client-devel +%{_bindir}/osmo-euse-demo +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/gsupclient +%{_includedir}/osmocom/gsupclient/*.h +%{_libdir}/libosmo-gsup-client.so +%{_libdir}/pkgconfig/libosmo-gsup-client.pc + +%files -n libosmo-mslookup0 +%{_libdir}/libosmo-mslookup.so.0* + +%files -n libosmo-mslookup-devel +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mslookup +%{_includedir}/osmocom/mslookup/*.h +%{_libdir}/libosmo-mslookup.so +%{_libdir}/pkgconfig/libosmo-mslookup.pc + +%files -n osmo-mslookup-client +%{_bindir}/osmo-mslookup-client + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icb6f4335d5157f058b39701e9fcb332264911ba3 Gerrit-Change-Number: 18294 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:25 +0000 Subject: Change in osmo-hlr[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18295 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa --- M contrib/osmo-hlr.spec 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/95/18295/1 diff --git a/contrib/osmo-hlr.spec b/contrib/osmo-hlr.spec index 3b5a9fa..4970a01 100644 --- a/contrib/osmo-hlr.spec +++ b/contrib/osmo-hlr.spec @@ -13,12 +13,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-hlr -Version: 1.2.0.48 +Version: 0.0.0 Release: 0 Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -29,8 +25,12 @@ BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 -BuildRequires: python2 +BuildRequires: python3 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 BuildRequires: pkgconfig(libosmocore) >= 1.2.0 BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 @@ -128,6 +128,7 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -139,6 +140,7 @@ %post %service_add_post %{name}.service +%endif %post -n libosmo-gsup-client0 -p /sbin/ldconfig %postun -n libosmo-gsup-client0 -p /sbin/ldconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa Gerrit-Change-Number: 18295 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:26 +0000 Subject: Change in osmo-iuh[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18296 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ic3f146c1eb5b5d02277ec869516a1ec95987d4cd --- A contrib/osmo-iuh.spec 1 file changed, 136 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/96/18296/1 diff --git a/contrib/osmo-iuh.spec b/contrib/osmo-iuh.spec new file mode 100644 index 0000000..e2abd35 --- /dev/null +++ b/contrib/osmo-iuh.spec @@ -0,0 +1,136 @@ +# +# spec file for package osmo-iuh +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-iuh +Version: 0.6.0.13 +Release: 0 +Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmohnbgw/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +# python3 for asn1tostruct.py +BuildRequires: python3 +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmo-netif) >= 0.3.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmocore) >= 0.12.0 +BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 0.12.0 +BuildRequires: pkgconfig(libosmovty) >= 0.12.0 + +%description +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +%package -n libosmo-ranap3 +Summary: Shared Library part of libosmo-ranap +Group: System/Libraries + +%description -n libosmo-ranap3 +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +%package -n libosmo-ranap-devel +Summary: Development files for Osmocom RANAP library +Group: Development/Libraries/C and C++ +Requires: libosmo-ranap3 = %{version} + +%description -n libosmo-ranap-devel +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoranap. + + +%package -n libosmo-sabp0 +Summary: Shared Library part of libosmo-sabp +Group: System/Libraries + +%description -n libosmo-sabp0 +Osmocom code for the SABP (service area broadcast protocol) interface + +%package -n libosmo-sabp-devel +Summary: Development files for Osmocom SABP library +Group: Development/Libraries/C and C++ +Requires: libosmo-sabp0 = %{version} + +%description -n libosmo-sabp-devel +Osmocom code for the SABP (service area broadcast protocol) interface + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-sabp. + + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-ranap3 -p /sbin/ldconfig +%postun -n libosmo-ranap3 -p /sbin/ldconfig +%post -n libosmo-sabp0 -p /sbin/ldconfig +%postun -n libosmo-sabp0 -p /sbin/ldconfig +%pre %service_add_pre osmo-hnbgw.service +%post %service_add_post osmo-hnbgw.service +%preun %service_del_preun osmo-hnbgw.service +%postun %service_del_postun osmo-hnbgw.service + +%files +%license COPYING +%doc README.md +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-hnbgw.cfg +%{_bindir}/osmo-hnbgw +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-hnbgw.cfg +%{_unitdir}/osmo-hnbgw.service + +%files -n libosmo-ranap3 +%{_libdir}/libosmo-ranap.so.3* + +%files -n libosmo-ranap-devel +%{_includedir}/* +%{_libdir}/libosmo-ranap.so +%{_libdir}/pkgconfig/libosmo-ranap.pc + +%files -n libosmo-sabp0 +%{_libdir}/libosmo-sabp.so.0* + +%files -n libosmo-sabp-devel +%{_libdir}/libosmo-sabp.so +%{_libdir}/pkgconfig/libosmo-sabp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic3f146c1eb5b5d02277ec869516a1ec95987d4cd Gerrit-Change-Number: 18296 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:27 +0000 Subject: Change in osmo-iuh[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18297 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 --- M contrib/osmo-iuh.spec 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/97/18297/1 diff --git a/contrib/osmo-iuh.spec b/contrib/osmo-iuh.spec index e2abd35..cf348a1 100644 --- a/contrib/osmo-iuh.spec +++ b/contrib/osmo-iuh.spec @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-iuh -Version: 0.6.0.13 +Version: 0.0.0 Release: 0 Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -103,10 +99,13 @@ %postun -n libosmo-ranap3 -p /sbin/ldconfig %post -n libosmo-sabp0 -p /sbin/ldconfig %postun -n libosmo-sabp0 -p /sbin/ldconfig + +%if 0%{?suse_version} %pre %service_add_pre osmo-hnbgw.service %post %service_add_post osmo-hnbgw.service %preun %service_del_preun osmo-hnbgw.service %postun %service_del_postun osmo-hnbgw.service +%endif %files %license COPYING -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 Gerrit-Change-Number: 18297 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:27 +0000 Subject: Change in osmo-mgw[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18298 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I6d6119ca5debf4adfec6c155f81027c8a3583537 --- A contrib/osmo-mgw.spec 1 file changed, 129 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/98/18298/1 diff --git a/contrib/osmo-mgw.spec b/contrib/osmo-mgw.spec new file mode 100644 index 0000000..2aeed06 --- /dev/null +++ b/contrib/osmo-mgw.spec @@ -0,0 +1,129 @@ +# +# spec file for package osmo-mgw +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-mgw +Version: 1.7.0.13 +Release: 0 +Summary: Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmo-mgw +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 +%{?systemd_requires} + +%description +OsmoMGW is Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks. + +%package -n libosmo-mgcp-client6 +Summary: Osmocom's Media Gateway Control Protocol client library +Group: System/Libraries + +%description -n libosmo-mgcp-client6 +Osmocom's Media Gateway Control Protocol client library. + +%package -n libosmo-mgcp-client-devel +Summary: Development files for Osmocom's Media Gateway Control Protocol client library +Group: Development/Libraries/C and C++ +Requires: libosmo-mgcp-client6 = %{version} + +%description -n libosmo-mgcp-client-devel +Osmocom's Media Gateway Control Protocol client librarary. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mgcp-client. + +%package -n libosmo-mgcp-devel +Summary: Development files for Osmocom's Media Gateway server library +Group: Development/Libraries/C and C++ + +%description -n libosmo-mgcp-devel +Osmocom's Media Gateway Control Protocol server library. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mgcp. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} + +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-mgcp-client6 -p /sbin/ldconfig +%postun -n libosmo-mgcp-client6 -p /sbin/ldconfig +%preun +%service_del_preun osmo-mgw.service + +%postun +%service_del_postun osmo-mgw.service + +%pre +%service_add_pre osmo-mgw.service + +%post +%service_add_post osmo-mgw.service + +%files +%license COPYING +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-mgw +%{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw.cfg +%{_bindir}/osmo-mgw +%{_unitdir}/osmo-mgw.service +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-mgw.cfg + +%files -n libosmo-mgcp-client6 +%{_libdir}/libosmo-mgcp-client.so.6* + +%files -n libosmo-mgcp-client-devel +%{_libdir}/libosmo-mgcp-client.so +%{_libdir}/pkgconfig/libosmo-mgcp-client.pc +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mgcp_client +%{_includedir}/osmocom/mgcp_client/*.h + +%files -n libosmo-mgcp-devel +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mgcp +%{_includedir}/osmocom/mgcp/*.h + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d6119ca5debf4adfec6c155f81027c8a3583537 Gerrit-Change-Number: 18298 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:28 +0000 Subject: Change in osmo-mgw[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18299 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb --- M contrib/osmo-mgw.spec 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/18299/1 diff --git a/contrib/osmo-mgw.spec b/contrib/osmo-mgw.spec index 2aeed06..b83e91a 100644 --- a/contrib/osmo-mgw.spec +++ b/contrib/osmo-mgw.spec @@ -16,7 +16,7 @@ # Name: osmo-mgw -Version: 1.7.0.13 +Version: 0.0.0 Release: 0 Summary: Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -26,7 +26,11 @@ BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 BuildRequires: pkgconfig(libosmocore) >= 1.0.0 BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 @@ -88,6 +92,8 @@ %post -n libosmo-mgcp-client6 -p /sbin/ldconfig %postun -n libosmo-mgcp-client6 -p /sbin/ldconfig + +%if 0%{?suse_version} %preun %service_del_preun osmo-mgw.service @@ -99,6 +105,7 @@ %post %service_add_post osmo-mgw.service +%endif %files %license COPYING -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb Gerrit-Change-Number: 18299 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:28 +0000 Subject: Change in osmo-msc[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18300 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ief0917ad6e7ce193a54fd0d2a5e665b56ff8bbea --- A contrib/osmo-msc.spec 1 file changed, 117 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/00/18300/1 diff --git a/contrib/osmo-msc.spec b/contrib/osmo-msc.spec new file mode 100644 index 0000000..55fa4f9 --- /dev/null +++ b/contrib/osmo-msc.spec @@ -0,0 +1,117 @@ +# +# spec file for package osmo-msc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4115 +%define _lto_cflags %{nil} + + +%define with_iu 1 +Name: osmo-msc +Version: 1.6.1.32 +Release: 0 +Summary: Osmocom's MSC for 2G and 3G circuit-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmomsc/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libdbi-drivers-dbd-sqlite3 +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(dbi) +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.6.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 1.1.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 1.1.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(libsmpp34) >= 1.13.0 +#### +BuildRequires: lksctp-tools-devel +#### +%{?systemd_requires} +%if %{with_iu} +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmo-ranap) >= 0.3.0 +%endif + +%description +The Mobile Switching Center (MSC) is the heart of 2G/3G +circuit-switched services. It terminates the A-interface links from the +Base Station Controllers (BSC) and handles the MM and CC sub-layers of +the Layer 3 protocol from the phones (MS). + +This Osmocom implementation of the MSC handles A interfaces via 3GPP +AoIP in an ASP role. It furthermore implements IETF MGCP against an +external media gateway, such as OsmoMGW. It does *not* implement MAP +towards a HLR, but the much simpler Osmocom GSUP protocol, which can +be translated to MAP if needed. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if %{with_iu} + --enable-iu \ +%endif + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} + +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-msc +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc.cfg +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_custom-sccp.cfg +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_multi-cs7.cfg +%{_bindir}/osmo-msc +%{_unitdir}/%{name}.service +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-msc.cfg + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief0917ad6e7ce193a54fd0d2a5e665b56ff8bbea Gerrit-Change-Number: 18300 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:29 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:29 +0000 Subject: Change in osmo-msc[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18301 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 --- M contrib/osmo-msc.spec 1 file changed, 3 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/01/18301/1 diff --git a/contrib/osmo-msc.spec b/contrib/osmo-msc.spec index 55fa4f9..7743518 100644 --- a/contrib/osmo-msc.spec +++ b/contrib/osmo-msc.spec @@ -12,17 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4115 %define _lto_cflags %{nil} - %define with_iu 1 Name: osmo-msc -Version: 1.6.1.32 +Version: 0.0.0 Release: 0 Summary: Osmocom's MSC for 2G and 3G circuit-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-only @@ -86,6 +82,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -97,6 +94,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 Gerrit-Change-Number: 18301 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:31 +0000 Subject: Change in osmo-pcap[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18302 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7 --- A contrib/osmo-pcap.spec 1 file changed, 85 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/02/18302/1 diff --git a/contrib/osmo-pcap.spec b/contrib/osmo-pcap.spec new file mode 100644 index 0000000..9cbafbe --- /dev/null +++ b/contrib/osmo-pcap.spec @@ -0,0 +1,85 @@ +# +# spec file for package osmo-pcap +# +# Copyright (c) 2015, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-pcap +Version: 0.1.2.0 +Release: 0 +Summary: Osmocom's PCAP client and server +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmo-pcap +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake >= 1.6 +BuildRequires: libpcap-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(libosmocore) >= 0.11.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 0.11.0 +BuildRequires: pkgconfig(libosmovty) >= 0.11.0 +BuildRequires: pkgconfig(libzmq) >= 3.2.2 + +%description +Osmocom tools to help with pcap tracing. +Run osmo_pcap_client locally and send traces to a different system. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun osmo-pcap-client.service osmo-pcap-server.service + +%postun +%service_del_postun osmo-pcap-client.service osmo-pcap-server.service + +%pre +%service_add_pre osmo-pcap-client.service osmo-pcap-server.service + +%post +%service_add_post osmo-pcap-client.service osmo-pcap-server.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS +%doc %{_docdir}/%{name}/examples +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-client.cfg +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-server.cfg +%{_bindir}/osmo-pcap-client +%{_bindir}/osmo-pcap-server +%{_unitdir}/osmo-pcap-client.service +%{_unitdir}/osmo-pcap-server.service +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/osmo_pcap_clean_old + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7 Gerrit-Change-Number: 18302 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:31 +0000 Subject: Change in osmo-pcap[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18303 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 --- M contrib/osmo-pcap.spec 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/03/18303/1 diff --git a/contrib/osmo-pcap.spec b/contrib/osmo-pcap.spec index 9cbafbe..3049760 100644 --- a/contrib/osmo-pcap.spec +++ b/contrib/osmo-pcap.spec @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-pcap -Version: 0.1.2.0 +Version: 0.0.0 Release: 0 Summary: Osmocom's PCAP client and server License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -53,6 +50,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun osmo-pcap-client.service osmo-pcap-server.service @@ -64,6 +62,7 @@ %post %service_add_post osmo-pcap-client.service osmo-pcap-server.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 Gerrit-Change-Number: 18303 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:33 +0000 Subject: Change in osmo-pcu[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18304 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I4da70814357a326842de52b33934819d3ea133d8 --- A contrib/osmo-pcu.spec 1 file changed, 82 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/04/18304/1 diff --git a/contrib/osmo-pcu.spec b/contrib/osmo-pcu.spec new file mode 100644 index 0000000..0232b32 --- /dev/null +++ b/contrib/osmo-pcu.spec @@ -0,0 +1,82 @@ +# +# spec file for package osmo-pcu +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-pcu +Version: 0.8.0.126 +Release: 0 +Summary: Osmocom GPRS Packet Control Unit (PCU) +License: GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmopcu/wiki/OsmoPCU +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmocore) >= 1.1.0 +BuildRequires: pkgconfig(libosmogb) >= 1.1.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 +BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +%{?systemd_requires} + +%description +Osmocom PCU code (RLC/MAC/PCU) for OpenBTS and OsmoBTS. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --enable-shared \ + --disable-static \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.md +%doc %{_docdir}/%{name}/examples +%{_bindir}/osmo-pcu +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcu.cfg +%{_unitdir}/%{name}.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4da70814357a326842de52b33934819d3ea133d8 Gerrit-Change-Number: 18304 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:34 +0000 Subject: Change in osmo-pcu[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18305 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 --- M contrib/osmo-pcu.spec 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/18305/1 diff --git a/contrib/osmo-pcu.spec b/contrib/osmo-pcu.spec index 0232b32..7dbdeb1 100644 --- a/contrib/osmo-pcu.spec +++ b/contrib/osmo-pcu.spec @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-pcu -Version: 0.8.0.126 +Version: 0.0.0 Release: 0 Summary: Osmocom GPRS Packet Control Unit (PCU) License: GPL-2.0-only @@ -29,7 +25,11 @@ BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmocore) >= 1.1.0 BuildRequires: pkgconfig(libosmogb) >= 1.1.0 BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 @@ -55,6 +55,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -66,6 +67,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 Gerrit-Change-Number: 18305 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:34 +0000 Subject: Change in osmo-remsim[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18306 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I51eaae80a9bf198247d2812d65ab5ea64a8fca14 --- A contrib/osmo-remsim.spec 1 file changed, 215 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/06/18306/1 diff --git a/contrib/osmo-remsim.spec b/contrib/osmo-remsim.spec new file mode 100644 index 0000000..84874bc --- /dev/null +++ b/contrib/osmo-remsim.spec @@ -0,0 +1,215 @@ +# +# spec file for package osmo-remsim +# +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define sover 1 +Name: osmo-remsim +Version: 0.2.2.86 +Release: 0 +Summary: Osmocom remote SIM software suite +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://projects.osmocom.org/projects/osmo-remsim +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libcsv-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmoabis) +BuildRequires: pkgconfig(libosmocore) >= 0.11.0 +BuildRequires: pkgconfig(libosmogsm) >= 0.11.0 +BuildRequires: pkgconfig(libosmosim) +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libulfius) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libosmousb) +BuildRequires: pkgconfig(libosmo-simtrace2) +%{?systemd_ordering} + +%description +osmo-remsim is a suite of software programs enabling physical/geographic +separation of a cellular phone (or modem) on the one hand side and the +SIM/USIM/ISIM card on the other side. + +Using osmo-remsim, you can operate an entire fleet of modems/phones, as +well as banks of SIM cards and dynamically establish or remove the +connections between modems/phones and cards. + +So in technical terms, it behaves like a proxy for the ISO 7816 smart +card interface between the MS/UE and the UICC/SIM/USIM/ISIM. + +While originally designed to be used in context of cellular networks, +there is nothing cellular specific in the system. It can therefore also +be used with other systems that use contact based smart cards according +to ISO 7816. Currently only the T=0 protocol with standard +(non-extended) APDUs is supported. Both T=1 and extended APDU support +can easily be added as a pure software update, should it be required at +some future point. + +%package -n libosmo-rspro%{sover} +Summary: Osmocom Remote SIM - Shared Library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-rspro%{sover} +libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER +based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim +programs. + +%package -n libosmo-rspro-devel +Summary: Osmocom Remote SIM - Shared Library Development Haders +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-rspro%{sover} = %{version} + +%description -n libosmo-rspro-devel +libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER +based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim +programs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-rspro. + +%package -n osmo-remsim-server +Summary: Osmocom Remote SIM - Central Server +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-server +The remsim-server is the central element of a osmo-remsim deployment, +it maintains a list of clients + bankds connected to it, as well as the +dynamic SIM card mappings between them. + +%package -n osmo-remsim-bankd +Summary: Osmocom Remote SIM - Bank Daemon +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-bankd +The remsim-bankd is managing a bank of SIM card readers and their +respective cards. It establishes a control connection to remsim-server +and receives inbound connections from remsim-clients. + +%package -n osmo-remsim-client-st2 +Summary: Osmocom Remote SIM - Client for SIMtrace2 +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-client-st2 +Description: Osmocom Remote SIM - Client for SIMtrace2 cardem firmware +The remsim-client is managing a given phone/modem. It attaches to the +'cardem' firmware of a SIMtrcace2 (or compatible, such as sysmoQMOD) +hardware and forwards the SIM card communication to a remsim-bankd, +under the control of remsim-server. + +%package -n osmo-remsim-client-shell +Summary: Osmocom Remote SIM - Interactive Client +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-client-shell +The remsim-client-shell is for manually interacting with a remote SIM +card via remsim-bankd + remsim-server. It's mostly a test/debug tool. + +%package -n libifd-osmo-remsim-client0 +Summary: Osmocom Remote SIM Client - PC/SC driver +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers +Requires: pcsc-lite + +%description -n libifd-osmo-remsim-client0 +This is an incarnation of osmo-remsim-client which can plug as ifd_handler +driver into pcscd. This means you can use remote smart cards managed +by osmo-remsim-server via normal PC/SC applications. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --with-systemdsystemunitdir=%{_unitdir} +make V=1 %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || find . -name testsuite.log -exec cat {} + + +%post -n libosmo-rspro%{sover} -p /sbin/ldconfig +%postun -n libosmo-rspro%{sover} -p /sbin/ldconfig + +%pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service +%post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service +%preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service +%postun -n osmo-remsim-bankd %service_del_postun osmo-remsim-bankd.service + +%pre -n osmo-remsim-client-st2 %service_add_pre osmo-remsim-client at .service +%post -n osmo-remsim-client-st2 %service_add_post osmo-remsim-client at .service +%preun -n osmo-remsim-client-st2 %service_del_preun osmo-remsim-client at .service +%postun -n osmo-remsim-client-st2 %service_del_postun osmo-remsim-client at .service + +%pre -n osmo-remsim-server %service_add_pre osmo-remsim-server.service +%post -n osmo-remsim-server %service_add_post osmo-remsim-server.service +%preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service +%postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service + +%files -n libosmo-rspro%{sover} +%license COPYING +%doc README.md +%{_libdir}/libosmo-rspro.so.%{sover}* + +%files -n libosmo-rspro-devel +%{_includedir}/osmocom +%dir %{_includedir}/osmocom/rspro +%{_includedir}/osmocom/rspro/rspro_client.h +%{_libdir}/libosmo-rspro.so +%{_libdir}/pkgconfig/libosmo-rspro.pc + +%files -n osmo-remsim-server +%{_bindir}/osmo-remsim-server +%{_unitdir}/osmo-remsim-server.service + +%files -n osmo-remsim-bankd +%{_bindir}/osmo-remsim-bankd +%{_unitdir}/osmo-remsim-bankd.service +%config %{_sysconfdir}/default/osmo-remsim-bankd + +%files -n osmo-remsim-client-shell +%{_bindir}/osmo-remsim-client-shell + +%files -n osmo-remsim-client-st2 +%{_bindir}/osmo-remsim-client-st2 +%{_unitdir}/osmo-remsim-client* +%config %{_sysconfdir}/default/osmo-remsim-client* + +%files -n libifd-osmo-remsim-client0 +%dir %{_libdir}/readers/ +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents +%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/PkgInfo +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux +%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so* +%config %{_sysconfdir}/reader.conf.d/osmo-remsim-client-reader_conf + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I51eaae80a9bf198247d2812d65ab5ea64a8fca14 Gerrit-Change-Number: 18306 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:35 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:35 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b --- M contrib/osmo-remsim.spec 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/18307/1 diff --git a/contrib/osmo-remsim.spec b/contrib/osmo-remsim.spec index 84874bc..125d163 100644 --- a/contrib/osmo-remsim.spec +++ b/contrib/osmo-remsim.spec @@ -12,12 +12,9 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define sover 1 Name: osmo-remsim -Version: 0.2.2.86 +Version: 0.0.0 Release: 0 Summary: Osmocom remote SIM software suite License: GPL-2.0-or-later @@ -29,7 +26,11 @@ BuildRequires: libcsv-devel BuildRequires: libtool BuildRequires: pkgconfig +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libasn1c) >= 0.9.30 BuildRequires: pkgconfig(libosmoabis) BuildRequires: pkgconfig(libosmocore) >= 0.11.0 @@ -159,6 +160,7 @@ %post -n libosmo-rspro%{sover} -p /sbin/ldconfig %postun -n libosmo-rspro%{sover} -p /sbin/ldconfig +%if 0%{?suse_version} %pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service %post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service %preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service @@ -173,6 +175,7 @@ %post -n osmo-remsim-server %service_add_post osmo-remsim-server.service %preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service %postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service +%endif %files -n libosmo-rspro%{sover} %license COPYING -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:36 +0000 Subject: Change in osmo-sgsn[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ia18f44f1b6dc259c3d0474b88b33f4657d96fd7a --- A contrib/osmo-sgsn.spec 1 file changed, 141 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/08/18308/1 diff --git a/contrib/osmo-sgsn.spec b/contrib/osmo-sgsn.spec new file mode 100644 index 0000000..3c592e7 --- /dev/null +++ b/contrib/osmo-sgsn.spec @@ -0,0 +1,141 @@ +# +# spec file for package osmo-sgsn +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4116 +%define _lto_cflags %{nil} + +%define with_iu 1 +Name: osmo-sgsn +Version: 1.6.0.9 +Release: 0 +Summary: Osmocom's SGSN for 2G and 3G packet-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmosgsn/wiki/OsmoSGSN +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libcares) +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libgtp) >= 1.4.0 +BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogb) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +%{?systemd_requires} +%if %{with_iu} +BuildRequires: pkgconfig(libasn1c) +BuildRequires: pkgconfig(libosmo-ranap) >= 0.4.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 1.0.0 +%endif + +%description +OsmoSGSN is Osmocom's Serving GPRS Support Node for 2G and 3G +packet-switched mobile networks. + +%package -n osmo-gtphub +Summary: Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs +Group: Productivity/Telephony/Servers + +%description -n osmo-gtphub +Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs. + +%package -n osmo-gbproxy +Summary: Osmocom GPRS Gb Interface Proxy +Group: Productivity/Telephony/Servers + +%description -n osmo-gbproxy +The purpose of the Gb proxy is to aggregate the Gb links of multiple +BSS's and present them in one Gb link to the SGSN. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if %{with_iu} + --enable-iu \ +%endif + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun %service_del_preun %{name}.service +%postun %service_del_postun %{name}.service +%pre %service_add_pre %{name}.service +%post %service_add_post %{name}.service +%preun -n osmo-gtphub %service_del_preun osmo-gtphub.service +%postun -n osmo-gtphub %service_del_postun osmo-gtphub.service +%pre -n osmo-gtphub %service_add_pre osmo-gtphub.service +%post -n osmo-gtphub %service_add_post osmo-gtphub.service +%preun -n osmo-gbproxy %service_del_preun osmo-gbproxy.service +%postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service +%pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service +%post -n osmo-gbproxy %service_add_post osmo-gbproxy.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-sgsn +%exclude %{_docdir}/%{name}/examples/osmo-gtphub +%exclude %{_docdir}/%{name}/examples/osmo-gbproxy +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn.cfg +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg +%{_bindir}/osmo-sgsn +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-sgsn.cfg +%{_unitdir}/%{name}.service + +%files -n osmo-gtphub +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-gtphub +%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub-1iface.cfg +%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub.cfg +%{_bindir}/osmo-gtphub +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-gtphub.cfg +%{_unitdir}/osmo-gtphub.service + +%files -n osmo-gbproxy +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-gbproxy +%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy-legacy.cfg +%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy.cfg +%{_bindir}/osmo-gbproxy +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-gbproxy.cfg +%{_unitdir}/osmo-gbproxy.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia18f44f1b6dc259c3d0474b88b33f4657d96fd7a Gerrit-Change-Number: 18308 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:37 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 --- M contrib/osmo-sgsn.spec 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/09/18309/1 diff --git a/contrib/osmo-sgsn.spec b/contrib/osmo-sgsn.spec index 3c592e7..c579c9b 100644 --- a/contrib/osmo-sgsn.spec +++ b/contrib/osmo-sgsn.spec @@ -12,17 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4116 %define _lto_cflags %{nil} %define with_iu 1 Name: osmo-sgsn -Version: 1.6.0.9 +Version: 0.0.0 Release: 0 Summary: Osmocom's SGSN for 2G and 3G packet-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -33,7 +29,11 @@ BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libcares) BuildRequires: pkgconfig(libcrypto) >= 0.9.5 BuildRequires: pkgconfig(libgtp) >= 1.4.0 @@ -88,6 +88,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service %postun %service_del_postun %{name}.service %pre %service_add_pre %{name}.service @@ -100,6 +101,7 @@ %postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service %pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service %post -n osmo-gbproxy %service_add_post osmo-gbproxy.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:38 +0000 Subject: Change in osmo-sip-connector[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I00f13acd541ec492e4671cf88c92010f5cf61e9e --- A contrib/osmo-sip-connector.spec 1 file changed, 78 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/10/18310/1 diff --git a/contrib/osmo-sip-connector.spec b/contrib/osmo-sip-connector.spec new file mode 100644 index 0000000..b6db802 --- /dev/null +++ b/contrib/osmo-sip-connector.spec @@ -0,0 +1,78 @@ +# +# spec file for package osmo-sip-connector +# +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-sip-connector +Version: 1.4.0.0 +Release: 0 +Summary: MNCC to SIP bridge for osmo-nitb +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: http://openbsc.osmocom.org/ +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(sofia-sip-ua-glib) >= 1.12.0 +%{?systemd_requires} + +%description +Use the osmo-nitb MNCC interface and bridge it to SIP. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.asciidoc +%doc %{_docdir}/%{name}/examples +%{_bindir}/osmo-sip-connector +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-sip-connector.cfg +%{_unitdir}/%{name}.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I00f13acd541ec492e4671cf88c92010f5cf61e9e Gerrit-Change-Number: 18310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:38 +0000 Subject: Change in osmo-sip-connector[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac --- M contrib/osmo-sip-connector.spec 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/11/18311/1 diff --git a/contrib/osmo-sip-connector.spec b/contrib/osmo-sip-connector.spec index b6db802..74c21f5 100644 --- a/contrib/osmo-sip-connector.spec +++ b/contrib/osmo-sip-connector.spec @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-sip-connector -Version: 1.4.0.0 +Version: 0.0.0 Release: 0 Summary: MNCC to SIP bridge for osmo-nitb License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -27,7 +24,11 @@ BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?centos_ver} +BuildRequires: systemd +%else BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmocore) >= 1.0.0 BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 @@ -51,6 +52,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -62,6 +64,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac Gerrit-Change-Number: 18311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:40 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:40 +0000 Subject: Change in osmo-trx[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18312 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 --- A contrib/osmo-trx.spec 1 file changed, 189 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/12/18312/1 diff --git a/contrib/osmo-trx.spec b/contrib/osmo-trx.spec new file mode 100644 index 0000000..2e5989d --- /dev/null +++ b/contrib/osmo-trx.spec @@ -0,0 +1,189 @@ +# +# spec file for package osmo-trx +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-trx +Version: 1.2.0.33 +Release: 0 +Summary: SDR transceiver that implements Layer 1 of a GSM BTS +License: AGPL-3.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmotrx/wiki/OsmoTRX +Source: %{name}-%{version}.tar.xz +Source99: osmo-trx-rpmlintrc +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(LimeSuite) +BuildRequires: pkgconfig(fftw3f) +BuildRequires: pkgconfig(libosmocore) >= 0.12.0 +BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 +BuildRequires: pkgconfig(libosmovty) >= 0.12.0 +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(uhd) +BuildRequires: pkgconfig(usrp) >= 3.3 +%{?systemd_requires} +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_test-devel +BuildRequires: libboost_thread-devel +%else +BuildRequires: boost-devel +%endif + +%description +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package uhd +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (UHD) +Group: Productivity/Telephony/Servers + +%description uhd +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package usrp1 +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1) +Group: Productivity/Telephony/Servers + +%description usrp1 +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package lms +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (LimeSuite) +Group: Productivity/Telephony/Servers + +%description lms +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} \ + --with-lms \ + --with-uhd \ + --with-usrp1 + +make %{?_smp_mflags} V=1 + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%install +%make_install +%fdupes -s %{buildroot}/%{_datadir} + +%pre lms %service_add_pre osmo-trx-lms.service +%post lms %service_add_post osmo-trx-lms.service +%preun lms %service_del_preun osmo-trx-lms.service +%postun lms %service_del_postun osmo-trx-lms.service +%pre uhd %service_add_pre osmo-trx-uhd.service +%post uhd %service_add_post osmo-trx-uhd.service +%preun uhd %service_del_preun osmo-trx-uhd.service +%postun uhd %service_del_postun osmo-trx-uhd.service +%pre usrp1 %service_add_pre osmo-trx-usrp1.service +%post usrp1 %service_add_post osmo-trx-usrp1.service +%preun usrp1 %service_del_preun osmo-trx-usrp1.service +%postun usrp1 %service_del_postun osmo-trx-usrp1.service + +%files +%license COPYING +%doc README.md +%doc %{_docdir}/%{name}/examples + +%files lms +%{_bindir}/osmo-trx-lms +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-trx-lms.cfg +%{_unitdir}/osmo-trx-lms.service + +%files uhd +%{_bindir}/osmo-trx-uhd +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg +%{_unitdir}/osmo-trx-uhd.service + +%files usrp1 +%{_bindir}/osmo-trx-usrp1 +%dir %{_datadir}/usrp +%dir %{_datadir}/usrp/rev2 +%dir %{_datadir}/usrp/rev4 +%{_datadir}/usrp/rev2/std_inband.rbf +%{_datadir}/usrp/rev4/std_inband.rbf +%{_unitdir}/osmo-trx-usrp1.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 Gerrit-Change-Number: 18312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:41 +0000 Subject: Change in osmo-trx[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18313 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Disable lms, usrp1 for CentOS 8. Make fdupes dependency (duplicate files removal) suse specific, as the package is not available for CentOS 8. Related: OS#4550 Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 --- M contrib/osmo-trx.spec 1 file changed, 25 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/13/18313/1 diff --git a/contrib/osmo-trx.spec b/contrib/osmo-trx.spec index 2e5989d..513fe59 100644 --- a/contrib/osmo-trx.spec +++ b/contrib/osmo-trx.spec @@ -12,33 +12,33 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-trx -Version: 1.2.0.33 +Version: 0.0.0 Release: 0 Summary: SDR transceiver that implements Layer 1 of a GSM BTS License: AGPL-3.0-or-later Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmotrx/wiki/OsmoTRX Source: %{name}-%{version}.tar.xz -Source99: osmo-trx-rpmlintrc BuildRequires: autoconf BuildRequires: automake +%if 0%{?suse_version} BuildRequires: fdupes +%endif BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if ! 0%{?centos_ver} BuildRequires: pkgconfig(LimeSuite) +BuildRequires: pkgconfig(usrp) >= 3.3 +%endif BuildRequires: pkgconfig(fftw3f) +BuildRequires: pkgconfig(libosmocoding) >= 1.3.0 BuildRequires: pkgconfig(libosmocore) >= 0.12.0 BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 BuildRequires: pkgconfig(libosmovty) >= 0.12.0 BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(uhd) -BuildRequires: pkgconfig(usrp) >= 3.3 %{?systemd_requires} %if 0%{?suse_version} > 1325 BuildRequires: libboost_program_options-devel @@ -85,6 +85,7 @@ between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +%if ! 0%{?centos_ver} %package usrp1 Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1) Group: Productivity/Telephony/Servers @@ -124,6 +125,7 @@ 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +%endif %prep %setup -q @@ -131,12 +133,22 @@ %build echo "%{version}" >.tarball-version autoreconf -fi + +%if 0%{?centos_ver} +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} \ + --without-lms \ + --with-uhd \ + --without-usrp1 +%else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ --with-usrp1 +%endif make %{?_smp_mflags} V=1 @@ -145,6 +157,7 @@ %install %make_install +%if 0%{?suse_version} %fdupes -s %{buildroot}/%{_datadir} %pre lms %service_add_pre osmo-trx-lms.service @@ -159,17 +172,20 @@ %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service +%endif %files %license COPYING %doc README.md %doc %{_docdir}/%{name}/examples +%if ! 0%{?centos_ver} %files lms %{_bindir}/osmo-trx-lms %dir %{_sysconfdir}/osmocom %config %{_sysconfdir}/osmocom/osmo-trx-lms.cfg %{_unitdir}/osmo-trx-lms.service +%endif %files uhd %{_bindir}/osmo-trx-uhd @@ -177,6 +193,7 @@ %config %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg %{_unitdir}/osmo-trx-uhd.service +%if ! 0%{?centos_ver} %files usrp1 %{_bindir}/osmo-trx-usrp1 %dir %{_datadir}/usrp @@ -185,5 +202,6 @@ %{_datadir}/usrp/rev2/std_inband.rbf %{_datadir}/usrp/rev4/std_inband.rbf %{_unitdir}/osmo-trx-usrp1.service +%endif %changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 Gerrit-Change-Number: 18313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:41 +0000 Subject: Change in simtrace2[master]: contrib: import RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/18314 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f --- A contrib/simtrace2.spec 1 file changed, 103 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/14/18314/1 diff --git a/contrib/simtrace2.spec b/contrib/simtrace2.spec new file mode 100644 index 0000000..c1bb325 --- /dev/null +++ b/contrib/simtrace2.spec @@ -0,0 +1,103 @@ +# +# spec file for package simtrace2 +# +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: simtrace2 +Version: 0.7.0.57 +Release: 0 +Summary: Osmocom SIMtrace host utility +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +URL: https://osmocom.org/projects/simtrace2/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libosmocore) +BuildRequires: pkgconfig(libosmosim) +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libosmousb) >= 0.0.0 +BuildRequires: pkgconfig(udev) + +%description +Osmocom SIMtrace 2 is a software and hardware system for passively +tracing SIM-ME communication between the SIM card and the mobile phone, +and remote SIM operation. + +This package contains SIMtrace 2 host utility. + +%package -n libosmo-simtrace2-0 +Summary: Shared Library part of libosmo-simtrace2 +Group: System/Libraries + +%description -n libosmo-simtrace2-0 +This library contains core "driver" functionality to interface with the +Osmocom SIMtrace2 (and compatible) USB device firmware. It enables +applications to implement SIM card / smart card tracing as well as +SIM / smart card emulation functions. + +%package -n libosmo-simtrace2-devel +Summary: Development files for the Osmocom SIMtrace2 library +Group: Development/Libraries/C and C++ +Requires: libosmo-simtrace2-0 = %{version} + +%description -n libosmo-simtrace2-devel +Osmocom SIMtrace2 (and compatible) USB device firmware. It enables +applications to implement SIM card / smart card tracing as well as +SIM / smart card emulation functions. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-simtrace2. + +%prep +%setup -q + +%build +cd host +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure --disable-static +make %{?_smp_mflags} + +%install +%make_install -C host +install -Dm0644 host/contrib/99-simtrace2.rules %{buildroot}/%{_udevrulesdir}/99-simtrace2.rules +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n libosmo-simtrace2-0 -p /sbin/ldconfig +%postun -n libosmo-simtrace2-0 -p /sbin/ldconfig + +%files +%doc README.md +%{_bindir}/simtrace2-remsim +%{_bindir}/simtrace2-remsim-usb2udp +%{_bindir}/simtrace2-list +%{_bindir}/simtrace2-sniff +%{_udevrulesdir}/99-simtrace2.rules + +%files -n libosmo-simtrace2-0 +%{_libdir}/libosmo-simtrace2.so.0* + +%files -n libosmo-simtrace2-devel +%dir %{_includedir}/osmocom/ +%dir %{_includedir}/osmocom/simtrace2/ +%{_includedir}/osmocom/simtrace2/*.h +%{_libdir}/libosmo-simtrace2.so +%{_libdir}/pkgconfig/libosmo-simtrace2.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f Gerrit-Change-Number: 18314 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 11:57:42 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 11:57:42 +0000 Subject: Change in simtrace2[master]: contrib: integrate RPM spec References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/18315 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 --- M contrib/simtrace2.spec 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/15/18315/1 diff --git a/contrib/simtrace2.spec b/contrib/simtrace2.spec index c1bb325..ea4d91e 100644 --- a/contrib/simtrace2.spec +++ b/contrib/simtrace2.spec @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: simtrace2 -Version: 0.7.0.57 +Version: 0.0.0 Release: 0 Summary: Osmocom SIMtrace host utility License: GPL-2.0-or-later -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 Gerrit-Change-Number: 18315 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:02:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 15 May 2020 12:02:26 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... OBS: add RPM spec files Use existing osmocom-*-packages.sh scripts to add RPM spec files. Set the same version, as in the debian .dsc files. Related: OS#4550 Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/16/18316/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 2b33039..afa5bad 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -77,3 +77,33 @@ git -C "$(dirname "$1")" commit -m "auto-commit: debian: depend on $2" . } + +# Copy a project's rpm spec file to the osc package dir, set the version/source and 'osc add' it +# $1: oscdir (path to checked out OSC package) +# $2: repodir (path to git repository) +# $3: name (e.g. libosmocore) +osmo_obs_add_rpm_spec() { + local oscdir="$1" + local repodir="$2" + local name="$3" + local spec="$repodir/contrib/$name.spec" + local tarball + local version + + if ! [ -e "$spec" ]; then + echo "WARNING: RPM spec missing: $spec" + return + fi + + cp "$spec" "$oscdir" + + # Set version + version="$(grep "^Version: " "$oscdir"/*.dsc | cut -d: -f2 | xargs)" + sed -i "s/^Version:.*/Version: $version/g" "$oscdir/$name.spec" + + # Set source file + tarball="$(ls -1 "${name}_"*".tar."*)" + sed -i "s/^Source:.*/Source: $tarball/g" "$oscdir/$name.spec" + + osc add "$name.spec" +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index ae57ab2..88c5094 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -119,6 +119,7 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project" else cd "$TOP/$PROJ/$project" @@ -128,8 +129,9 @@ osc rm ./* || true mv "$output/"*.dsc . mv "$output/"*.tar* . - osc add ./* - fi + osc add ./* + osmo_obs_add_rpm_spec "$PWD" "$output" "$project" + fi fi cd "$TOP" } diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 77552a6..b3f0461 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -130,6 +130,7 @@ cd "$oscdir" osc add -- *.tar* *.dsc + osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" osc ci -m "Snapshot $name $DT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:31:33 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 12:31:33 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 to look at the new patch set (#7). Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 164 insertions(+), 83 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/65/18265/7 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:31:34 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 12:31:34 +0000 Subject: Change in libosmo-netif[master]: amr: Whitespace fix References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18317 ) Change subject: amr: Whitespace fix ...................................................................... amr: Whitespace fix Change-Id: I7da6813a501ee97ca54611f627870c7eb842ddbe --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/17/18317/1 diff --git a/src/amr.c b/src/amr.c index e4c7bb5..980d6ad 100644 --- a/src/amr.c +++ b/src/amr.c @@ -120,7 +120,7 @@ /* Match the length of the received payload against the expected frame * length that is defined by the frame type. */ - if(!osmo_amr_ft_valid(oa_hdr->ft)) + if (!osmo_amr_ft_valid(oa_hdr->ft)) return false; frame_len = osmo_amr_bytes(oa_hdr->ft); if (frame_len != payload_len - sizeof(struct amr_hdr)) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7da6813a501ee97ca54611f627870c7eb842ddbe Gerrit-Change-Number: 18317 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:32:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 15 May 2020 12:32:43 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: > Patch Set 6: Code-Review+1 > > SO the outcome is: Please build everything with --enable-sanitize when testing stuff :) Yes, good point. Meantime, I've updated the test to add an invalid FT case in the other direction of the conversion. -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 12:32:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:34:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 12:34:22 +0000 Subject: Change in libosmo-netif[master]: amr: Whitespace fix In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18317 ) Change subject: amr: Whitespace fix ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7da6813a501ee97ca54611f627870c7eb842ddbe Gerrit-Change-Number: 18317 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 15 May 2020 12:34:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 12:34:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 12:34:53 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 12:34:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 14:30:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 14:30:30 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 1: (4 comments) This change is ready for review. https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1//COMMIT_MSG at 16 PS1, Line 16: b) The L1 maintains several Transceivers (two or more), so each > It can still probably work with 1, but of course the same 1 is always selected :P It does not make any sense (basically no hopping), but of course we can allow it. https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1//COMMIT_MSG at 32 PS1, Line 32: CMD SETFH > wouldn't it make more sense to submit ARFCNs here instead of Rx+Tx frequency pairs? It would if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now every transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or Tx/Rx for a given transceiver. Of course, we could assume that this is an MS specific feature, and Downlink/Uplink always correspond to Rx/Tx, but what if some day we would need to implement _and test_ variant a) for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1/src/target/trx_toolkit/fake_pm.py File src/target/trx_toolkit/fake_pm.py: https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1/src/target/trx_toolkit/fake_pm.py at 76 PS1, Line 76: continue > probably print something here saying it's missing. Not really needed. This measurement capability was implemented for BCCH scan (L1CTL_PM_REQ or so), which we don't use in our TTCN-3 test cases. And moreover, BCCH shall not use hopping, so not critical. https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1/src/target/trx_toolkit/transceiver.py File src/target/trx_toolkit/transceiver.py: https://gerrit.osmocom.org/c/osmocom-bb/+/18262/1/src/target/trx_toolkit/transceiver.py at 192 PS1, Line 192: if self.fh is None: > Are you sure these 2 conditions are correct? Yes. In the case when frequency hopping is not in use, both Rx and Tx frequencies must be configured (not None). If either of both frequencies is not set (None), and frequency hopping is not in configured, then a Transceiver is not ready to be powered on. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 15 May 2020 14:30:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 14:33:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 14:33:24 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: unify buffer size for TRXC/TRXD messages References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18318 ) Change subject: trxcon/trx_if: unify buffer size for TRXC/TRXD messages ...................................................................... trxcon/trx_if: unify buffer size for TRXC/TRXD messages Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 --- M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 2 files changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/18/18318/1 diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 20c64ec..cb54c9e 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -446,7 +446,7 @@ struct trx_instance *trx = ofd->data; struct trx_ctrl_msg *tcm; int resp, rsp_len; - char buf[1500], *p; + char buf[TRXC_BUF_SIZE], *p; ssize_t read_len; read_len = read(ofd->fd, buf, sizeof(buf) - 1); @@ -556,7 +556,7 @@ { struct trx_instance *trx = ofd->data; struct trx_meas_set meas; - uint8_t buf[256]; + uint8_t buf[TRXD_BUF_SIZE]; sbit_t bits[148]; int8_t rssi, tn; int16_t toa256; @@ -616,7 +616,7 @@ int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, uint8_t pwr, const ubit_t *bits) { - uint8_t buf[256]; + uint8_t buf[TRXD_BUF_SIZE]; /** * We must be sure that we have clock, diff --git a/src/host/trxcon/trx_if.h b/src/host/trxcon/trx_if.h index a44600d..2fafa56 100644 --- a/src/host/trxcon/trx_if.h +++ b/src/host/trxcon/trx_if.h @@ -8,6 +8,9 @@ #include "scheduler.h" #include "sched_trx.h" +#define TRXC_BUF_SIZE 1024 +#define TRXD_BUF_SIZE 512 + /* Forward declaration to avoid mutual include */ struct l1ctl_link; @@ -49,7 +52,7 @@ struct trx_ctrl_msg { struct llist_head list; - char cmd[128]; + char cmd[TRXC_BUF_SIZE]; int retry_cnt; int critical; int cmd_len; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 14:33:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 14:33:25 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18319 ) Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies It would make sense to send the ARFCN list in parameters of SETFH command, if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now, every Transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or as Tx/Rx for a given Transceiver. Of course, we could assume that this is an MS specific feature, and a pair of Downlink/Uplink frequencies always corresponds to Rx/Tx, but what if some day we would need to implement and test a similar approach for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Related: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Related: OS#4546 --- M src/host/trxcon/trx_if.c 1 file changed, 38 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18319/1 diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index cb54c9e..ce8d50e 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -397,41 +397,59 @@ } /* - * Frequency Hopping parameters indication + * Frequency Hopping parameters indication. * - * SETFH instructs transceiver to enable frequency - * hopping mode using the given parameters. - * CMD SETFH [... ] + * SETFH instructs transceiver to enable frequency hopping mode + * using the given HSN, MAIO, and Mobile Allocation parameters. + * + * CMD SETFH + * + * [... ] + * + * where and is a pair of Rx/Tx frequencies (in kHz) + * corresponding to one ARFCN the Mobile Allocation. Note that the + * channel list is expected to be sorted in ascending order. */ int trx_if_cmd_setfh(struct trx_instance *trx, uint8_t hsn, uint8_t maio, uint16_t *ma, size_t ma_len) { - char ma_buf[100]; + /* Reserve some room for CMD SETFH */ + char ma_buf[TRXC_BUF_SIZE - 24]; + size_t ma_buf_len = sizeof(ma_buf) - 1; + uint16_t rx_freq, tx_freq; char *ptr; int i, rc; - /* No channels, WTF?!? */ - if (!ma_len) + /* Make sure that Mobile Allocation has at least two entries */ + if (ma_len < 2 || ma == NULL) { + LOGP(DTRX, LOGL_ERROR, "Mobile Allocation is too short\n"); return -EINVAL; + } - /** - * Compose a sequence of channels (mobile allocation) - * FIXME: the length of a CTRL command is limited to 128 symbols, - * so we may have some problems if there are many channels... - */ + /* Compose a sequence of Rx/Tx frequencies (mobile allocation) */ for (i = 0, ptr = ma_buf; i < ma_len; i++) { - /* Append a channel */ - rc = snprintf(ptr, ma_buf + sizeof(ma_buf) - ptr, "%u ", ma[i]); - if (rc < 0) - return rc; + /* Convert ARFCN to a pair of Rx/Tx frequencies (Hz * 10) */ + rx_freq = gsm_arfcn2freq10(ma[i], 0); /* Rx: Downlink */ + tx_freq = gsm_arfcn2freq10(ma[i], 1); /* Tx: Uplink */ + if (rx_freq == 0xffff || tx_freq == 0xffff) { + LOGP(DTRX, LOGL_ERROR, "Failed to convert ARFCN %u " + "to a pair of Rx/Tx frequencies\n", + ma[i] & ~ARFCN_FLAG_MASK); + return -EINVAL; + } + + /* Append a pair of Rx/Tx frequencies (in kHz) to the buffer */ + rc = snprintf(ptr, ma_buf_len, "%u %u ", rx_freq * 100, tx_freq * 100); + if (rc < 0 || rc > ma_buf_len) { /* Prevent buffer overflow */ + LOGP(DTRX, LOGL_ERROR, "Not enough room to encode " + "Mobile Allocation (N=%zu)\n", ma_len); + return -ENOSPC; + } /* Move pointer */ + ma_buf_len -= rc; ptr += rc; - - /* Prevent buffer overflow */ - if (ptr >= (ma_buf + 100)) - return -EIO; } /* Overwrite the last space */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:10:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 16:10:09 +0000 Subject: Change in libosmocore[master]: add missing endian.h in gsm_23_041.h In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18255 ) Change subject: add missing endian.h in gsm_23_041.h ...................................................................... add missing endian.h in gsm_23_041.h Change-Id: I593cc5e8272469b570559206bb02b6e79797340b --- M include/osmocom/gsm/protocol/gsm_23_041.h 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h index c75c088..e60c324 100644 --- a/include/osmocom/gsm/protocol/gsm_23_041.h +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -1,5 +1,7 @@ #pragma once +#include + /* Section 9.4.1.2: GSM Message Format */ struct gsm23041_msg_param_gsm { uint16_t serial_nr; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I593cc5e8272469b570559206bb02b6e79797340b Gerrit-Change-Number: 18255 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:12:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 16:12:35 +0000 Subject: Change in libosmocore[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18257 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... Patch Set 1: Code-Review+2 combining +1s -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 Gerrit-Change-Number: 18257 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 15 May 2020 16:12:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:13:42 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 16:13:42 +0000 Subject: Change in libosmocore[master]: struct_endianess.py: also recognise unnamed substructs In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18256 ) Change subject: struct_endianess.py: also recognise unnamed substructs ...................................................................... Patch Set 1: Code-Review+2 voting +2 to self because this is only part of contrib, and because the output of this script was accepted in the subsequent patch. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 Gerrit-Change-Number: 18256 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 16:13:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:13:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 16:13:54 +0000 Subject: Change in libosmocore[master]: struct_endianess.py: also recognise unnamed substructs In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18256 ) Change subject: struct_endianess.py: also recognise unnamed substructs ...................................................................... struct_endianess.py: also recognise unnamed substructs Before this, the new dtap_header substruct construct would end up being split up in a weird way: struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ }; }; uint8_t length; } __attribute__((packed)); would previously become struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { #if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ }; }; uint8_t length; #elif OSMO_IS_BIG_ENDIAN /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; }; }; uint8_t length; #endif } __attribute__((packed)); now becomes struct dtap_header { uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { #if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ #elif OSMO_IS_BIG_ENDIAN /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; #endif }; }; uint8_t length; } __attribute__((packed)); Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 --- M contrib/struct_endianess.py 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/contrib/struct_endianess.py b/contrib/struct_endianess.py index be73fbe..6ce75fc 100755 --- a/contrib/struct_endianess.py +++ b/contrib/struct_endianess.py @@ -17,6 +17,7 @@ re_substruct_start = re.compile(r'^\s+struct\s*{\s*$') re_substruct_end = re.compile(r'^\s+}\s*([^;]*\s)[a-zA-Z_][a-zA-Z_0-9]*\s*;\s*$') +re_unnamed_substruct_end = re.compile(r'^\s+}\s*;\s*$') re_int_def = re.compile(r'(^\s*((const|unsigned|signed|char|int|long|int[0-9]+_t|uint[0-9]_t)\s+)+\s*)([^;]*;)', re.DOTALL | re.MULTILINE) @@ -73,7 +74,8 @@ line = struct_body_lines[j] if (re_substruct_start.fullmatch(line) - or re_substruct_end.fullmatch(line)): + or re_substruct_end.fullmatch(line) + or re_unnamed_substruct_end.fullmatch(line)): end_def() arbitrary_part.append(line) j += 1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3c4986ebd1e41aad8b279d6132b7e3b2539d7dc5 Gerrit-Change-Number: 18256 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:13:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 15 May 2020 16:13:54 +0000 Subject: Change in libosmocore[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18257 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... cosmetic: apply changes to match struct_endianess.py output gsm48_pag_resp and gsm48_service_request: omit comments in big endian part. dtap_header: better segment the substruct. gsm23041_msg_param_gsm: match up whitespace / comments. Rationale: the script is a good way to avoid bugs from manually composing the big endian parts (for example, it detected the missing endian.h include, fixed in I593cc5e8272469b570559206bb02b6e79797340b). However, it becomes cumbersome if it creates numerous edits in the source tree, which cause more time spent for whoever wanted to rather save time with it. So let's keep the code tree matching that struct's output. Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 --- M include/osmocom/gsm/protocol/gsm_04_08.h M include/osmocom/gsm/protocol/gsm_08_08.h M include/osmocom/gsm/protocol/gsm_23_041.h 3 files changed, 8 insertions(+), 14 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved tnt: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 1bca068..f8f2eab 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -664,7 +664,7 @@ /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t key_seq:4, spare:4; union { - uint32_t classmark2; /* Backward compatibility */ + uint32_t classmark2; struct { uint8_t cm2_len; struct gsm48_classmark2 cm2; @@ -815,7 +815,7 @@ /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t cipher_key_seq:4, cm_service_type:4; union { - uint32_t classmark; /* Backward compatibility */ + uint32_t classmark; struct { uint8_t cm2_len; struct gsm48_classmark2 classmark2; diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index e791b07..d8a7773 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -41,27 +41,21 @@ } __attribute__((packed)); struct dtap_header { -#if OSMO_IS_LITTLE_ENDIAN uint8_t type; union { uint8_t link_id; /* Backward compatibility */ struct { +#if OSMO_IS_LITTLE_ENDIAN uint8_t dlci_cc:2, dlci_spare:3, dlci_sapi:3; /* enum gsm0406_dlc_sapi */ - }; - }; - uint8_t length; #elif OSMO_IS_BIG_ENDIAN - uint8_t type; - union { - uint8_t link_id; - struct { +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t dlci_sapi:3, dlci_spare:3, dlci_cc:2; +#endif }; }; uint8_t length; -#endif } __attribute__((packed)); /* Data Link Control SAPI, GSM 08.06 ? 6.3.2, GSM 04.06 ? 3.3.3 */ diff --git a/include/osmocom/gsm/protocol/gsm_23_041.h b/include/osmocom/gsm/protocol/gsm_23_041.h index e60c324..e726cff 100644 --- a/include/osmocom/gsm/protocol/gsm_23_041.h +++ b/include/osmocom/gsm/protocol/gsm_23_041.h @@ -11,9 +11,9 @@ #if OSMO_IS_LITTLE_ENDIAN uint8_t num_pages:4, page_nr:4; -#else - uint8_t page_nr:4, - num_pages:4; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t page_nr:4, num_pages:4; #endif } page_param; uint8_t content[0]; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7432f5337d6589262c31f5186dfd0ac32221c467 Gerrit-Change-Number: 18257 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:17:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 16:17:31 +0000 Subject: Change in osmocom-bb[master]: trxcon/trx_if: unify buffer size for TRXC/TRXD messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18318 ) Change subject: trxcon/trx_if: unify buffer size for TRXC/TRXD messages ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18318/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/18318/1//COMMIT_MSG at 7 PS1, Line 7: trxcon/trx_if: unify buffer size for TRXC/TRXD messages I think you mean standarize here, not unify (different values for TRXD and TRXC). -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 15 May 2020 16:17:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:45:51 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 15 May 2020 16:45:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use leading zeros in endpoint identifiers References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 ) Change subject: MGCP_Test: do not use leading zeros in endpoint identifiers ...................................................................... MGCP_Test: do not use leading zeros in endpoint identifiers The endpoint number of a virtual endpoint must not use leading zeros but, but the testcase MGCP_Test.TC_crcx_dlcx_30ep does. Lets not do this as it violates the spec. See also: RFC 3435, section E.3. Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77 Related: OS#2659 --- M mgw/MGCP_Test.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/18320/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 77eed4b..0de5308 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1420,7 +1420,11 @@ f_init(); for (ep_nr := 1; ep_nr < 30; ep_nr := ep_nr+1) { - ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 2)) & "@" & c_mgw_domain; + if(ep_nr > 15) { + ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 2)) & "@" & c_mgw_domain; + } else { + ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 1)) & "@" & c_mgw_domain; + } call_id := int2hex(ep_nr, 2) & '1234'H; f_crcx_and_dlcx_ep_callid_connid(ep, call_id); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77 Gerrit-Change-Number: 18320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:57:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 16:57:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 ) Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Introduce test TC_ul_intermediate_retrans Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d --- M pcu/PCU_Tests.ttcn 1 file changed, 92 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/18321/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index faf123b..4656343 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1792,6 +1792,97 @@ f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); } +/* Verify that if PCU doesn't get one of the intermediate UL blocks, it will +/* request retransmission. */ +testcase TC_ul_intermediate_retrans() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var template (value) RlcmacUlBlock ul_data; + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var uint14_t bsn := 5; + var PDU_BSSGP bssgp_pdu; + var octetstring total_payload; + var octetstring payload; + var octetstring lost_payload; + var integer padding_len; + var uint5_t tfi; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + tfi := ul_tbf_ass.dynamic.tfi_assignment; + + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + ul_data := t_RLCMAC_UL_DATA_TLLI( + tfi := tfi, + cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + bsn := 0, + blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }, + tlli := tlli); + + f_tx_rlcmac_ul_block(ul_data, 0); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + total_payload := payload; + + /* Send 2 packets, skip 1 (inc bsn) and send another one */ + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 1, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 2, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + lost_payload := f_rnd_octstring(20); /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ + total_payload := total_payload & lost_payload; + + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 4, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + /* Send enough blocks to finish the transmission (since we were sending BSN=15, send BS_CV_MAX packets) */ + total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, g_bs_cv_max); + + /* On CV=0, we'll receive a UL ACK asking about missing block */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* TODO: check ack ack bitmap (URBB) */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 3, blocks := {t_RLCMAC_LLCBLOCK(lost_payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + + /* Now final ack is recieved */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* receive one message on BSSGP with all aggregated data in payload: */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); +} + /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it * will retry by retransmitting both the IMM ASS + DL block after poll (ack) * timeout occurs (specified by sent RRBP on DL block). */ @@ -2257,6 +2348,7 @@ execute( TC_force_two_phase_access() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); + execute (TC_ul_intermediate_retrans() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_dl_flow_more_blocks() ); execute( TC_paging_cs_from_bts() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:57:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 16:57:18 +0000 Subject: Change in osmo-pcu[master]: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18322 ) Change subject: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() ...................................................................... pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() Get rid of checking all conditions twice, and update one log message. Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 --- M src/tbf_ul.cpp M tests/tbf/TbfTest.err 2 files changed, 45 insertions(+), 40 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/18322/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index fee9919..9899580 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -359,37 +359,42 @@ void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack( const gprs_rlc_data_info *rlc) { + bool require_ack = false; bool have_ti = rlc->block_info[0].ti || (rlc->num_data_blocks > 1 && rlc->block_info[1].ti); - if (rlc->si || have_ti || state_is(GPRS_RLCMAC_FINISHED) || - (m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) - { - if (rlc->si) { - LOGPTBFUL(this, LOGL_NOTICE, - "Scheduling Ack/Nack, because MS is stalled.\n"); - } - if (have_ti) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because TLLI is included.\n"); - } - if (state_is(GPRS_RLCMAC_FINISHED)) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because last block has CV==0.\n"); - } - if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because %d frames received.\n", - SEND_ACK_AFTER_FRAMES); - } - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { - /* trigger sending at next RTS */ - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); - } else { - /* already triggered */ - LOGPTBFUL(this, LOGL_DEBUG, - "Sending Ack/Nack is already triggered, don't schedule!\n"); - } + if (rlc->si) { + require_ack = true; + LOGPTBFUL(this, LOGL_NOTICE, + "Scheduling Ack/Nack, because MS is stalled.\n"); + } + if (have_ti) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because TLLI is included.\n"); + } + if (state_is(GPRS_RLCMAC_FINISHED)) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); + } + if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because %d frames received.\n", + SEND_ACK_AFTER_FRAMES); + } + + if (!require_ack) + return; + + if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { + /* trigger sending at next RTS */ + TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); + } else { + /* already triggered */ + LOGPTBFUL(this, LOGL_DEBUG, + "Sending Ack/Nack already scheduled, no need to re-schedule\n"); } } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ca16149..a1530c1 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1486,7 +1486,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 @@ -2112,7 +2112,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 === end test_tbf_dl_flow_and_rach_single_phase === @@ -3338,7 +3338,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=2 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3369,7 +3369,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=3 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3399,7 +3399,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=4 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3422,7 +3422,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=5 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 ********** DL-TBF starts here ********** @@ -6718,7 +6718,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6860,7 +6860,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7002,7 +7002,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) @@ -7471,7 +7471,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7613,7 +7613,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7755,7 +7755,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 Gerrit-Change-Number: 18322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 16:57:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 16:57:19 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In normal conditions ACKing of UL blocks is only sent every SEND_ACK_AFTER_FRAMES (20) frames. Which means if CV=0 is received (and hence no more packets are received) less than 20 frames before a lost, the PCU won't ask for a retransmission and wait there until some timer destroys the TBF. This issue is shown by TTCN3 test PCU_Tests.ttcn TC_ul_intermediate_retrans. Unit tests triggering this condition are adapted. Some similar tests are not triggering it because BSN/CV relation being used is totally wrong (like CV=0 being sent on a BSN with previous value than others). Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 --- M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 4 files changed, 25 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/18323/1 diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9899580..b3a341a 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -188,6 +188,9 @@ const struct gprs_rlc_data_info *rlc, uint8_t *data, struct pcu_l1_meas *meas) { + const struct gprs_rlc_data_block_info *rdbi; + struct gprs_rlc_data *block; + int8_t rssi = meas->have_rssi ? meas->rssi : 0; const uint16_t ws = m_window.ws(); @@ -218,10 +221,8 @@ for (block_idx = 0; block_idx < rlc->num_data_blocks; block_idx++) { int num_chunks; uint8_t *rlc_data; - const struct gprs_rlc_data_block_info *rdbi = - &rlc->block_info[block_idx]; + rdbi = &rlc->block_info[block_idx]; bool need_rlc_data = false; - struct gprs_rlc_data *block; LOGPTBFUL(this, LOGL_DEBUG, "Got %s RLC data block: CV=%d, BSN=%d, SPB=%d, PI=%d, E=%d, TI=%d, bitoffs=%d\n", @@ -330,14 +331,13 @@ assemble_forward_llc(m_rlc.block(index)); } - /* Check CV of last frame in buffer */ + /* Last frame in buffer: */ + block = m_rlc.block(m_window.mod_sns(m_window.v_r() - 1)); + rdbi = &block->block_info; + + /* Check if we already received all data TBF had to send: */ if (this->state_is(GPRS_RLCMAC_FLOW) /* still in flow state */ && this->m_window.v_q() == this->m_window.v_r()) { /* if complete */ - struct gprs_rlc_data *block = - m_rlc.block(m_window.mod_sns(m_window.v_r() - 1)); - const struct gprs_rlc_data_block_info *rdbi = - &block->block_info; - LOGPTBFUL(this, LOGL_DEBUG, "No gaps in received block, last block: BSN=%d CV=%d\n", rdbi->bsn, rdbi->cv); @@ -351,13 +351,13 @@ /* If TLLI is included or if we received half of the window, we send * an ack/nack */ - maybe_schedule_uplink_acknack(rlc); + maybe_schedule_uplink_acknack(rlc, rdbi->cv == 0); return 0; } void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack( - const gprs_rlc_data_info *rlc) + const gprs_rlc_data_info *rlc, bool countdown_finished) { bool require_ack = false; bool have_ti = rlc->block_info[0].ti || @@ -373,10 +373,14 @@ LOGPTBFUL(this, LOGL_DEBUG, "Scheduling Ack/Nack, because TLLI is included.\n"); } - if (state_is(GPRS_RLCMAC_FINISHED)) { + if (countdown_finished) { require_ack = true; - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); + if (state_is(GPRS_RLCMAC_FLOW)) + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because some data is missing and last block has CV==0.\n"); + else if (state_is(GPRS_RLCMAC_FINISHED)) + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); } if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { require_ack = true; @@ -384,7 +388,6 @@ "Scheduling Ack/Nack, because %d frames received.\n", SEND_ACK_AFTER_FRAMES); } - if (!require_ack) return; diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 85da4f6..c6df0cd 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -21,6 +21,8 @@ #ifdef __cplusplus +#include + #include "tbf.h" /* * TBF instance @@ -97,7 +99,7 @@ struct rate_ctr_group *m_ul_egprs_ctrs; protected: - void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); + void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc, bool countdown_finished); /* Please note that all variables below will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 36f9ced..3f2925a 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -1459,6 +1459,7 @@ pdch = &the_bts->bts_data()->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); + ul_tbf->create_ul_ack(*fn, ts_no); request_dl_rlc_block(ul_tbf, fn); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a1530c1..57787c5 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -7193,6 +7193,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 17:56:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 17:56:30 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... Patch Set 4: Code-Review+2 Reapplying Laf0rge's CR+2. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 15 May 2020 17:56:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 17:56:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 17:56:41 +0000 Subject: Change in libosmocore[master]: libosmogsm: import hopping sequence generation code In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18244 ) Change subject: libosmogsm: import hopping sequence generation code ...................................................................... libosmogsm: import hopping sequence generation code This implementation is taken from OsmocomBB, in particular from: target/firmware/layer1/rfch.c Change return type to uint16_t, because neither ARFCN, nor MAI can be negative. Add prefix 'gsm0502_' to the function's name. Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Related: OS#4546 --- M include/osmocom/gsm/gsm0502.h M src/gsm/gsm0502.c M src/gsm/libosmogsm.map 3 files changed, 58 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved tnt: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm0502.h b/include/osmocom/gsm/gsm0502.h index c9901df..cb993dc 100644 --- a/include/osmocom/gsm/gsm0502.h +++ b/include/osmocom/gsm/gsm0502.h @@ -47,3 +47,7 @@ }; uint32_t gsm0502_fn_remap(uint32_t fn, enum gsm0502_fn_remap_channel channel); + +uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, + uint8_t hsn, uint8_t maio, + size_t n, const uint16_t *ma); diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 5c5aa12..7ab6343 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -2,6 +2,8 @@ * Paging helper code */ /* * (C) 2009 by Holger Hans Peter Freyther + * (C) 2010 by Sylvain Munaut + * * All Rights Reserved * * SPDX-License-Identifier: GPL-2.0+ @@ -201,3 +203,54 @@ return fn_map; } + +/* Magic numbers (RNTABLE) for pseudo-random hopping sequence generation. */ +static const uint8_t rn_table[114] = { + 48, 98, 63, 1, 36, 95, 78, 102, 94, 73, + 0, 64, 25, 81, 76, 59, 124, 23, 104, 100, + 101, 47, 118, 85, 18, 56, 96, 86, 54, 2, + 80, 34, 127, 13, 6, 89, 57, 103, 12, 74, + 55, 111, 75, 38, 109, 71, 112, 29, 11, 88, + 87, 19, 3, 68, 110, 26, 33, 31, 8, 45, + 82, 58, 40, 107, 32, 5, 106, 92, 62, 67, + 77, 108, 122, 37, 60, 66, 121, 42, 51, 126, + 117, 114, 4, 90, 43, 52, 53, 113, 120, 72, + 16, 49, 7, 79, 119, 61, 22, 84, 9, 97, + 91, 15, 21, 24, 46, 39, 93, 105, 65, 70, + 125, 99, 17, 123, +}; + +/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. */ +uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, + uint8_t hsn, uint8_t maio, + size_t n, const uint16_t *ma) +{ + unsigned int mai; + + if (hsn == 0) { + /* cyclic hopping */ + mai = (t->fn + maio) % n; + } else { + /* pseudo random hopping */ + int m, mp, tp, s, pnm; + + pnm = (n >> 0) | (n >> 1) + | (n >> 2) | (n >> 3) + | (n >> 4) | (n >> 5) + | (n >> 6); + + m = t->t2 + rn_table[(hsn ^ (t->t1 & 63)) + t->t3]; + mp = m & pnm; + + if (mp < n) + s = mp; + else { + tp = t->t3 & pnm; + s = (mp + tp) % n; + } + + mai = (s + maio) % n; + } + + return ma ? ma[mai] : mai; +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 1ff1286..ce55746 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -110,6 +110,7 @@ gsm0502_calc_paging_group; gsm0502_fn_remap; +gsm0502_hop_seq_gen; gsm0503_xcch; gsm0503_rach; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8aba1578cc9d1bd89d4f5d33a6e8fedc8bea789a Gerrit-Change-Number: 18244 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 17:56:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 15 May 2020 17:56:41 +0000 Subject: Change in libosmocore[master]: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18245 ) Change subject: libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() ...................................................................... libosmogsm: add Doxygen docs for gsm0502_hop_seq_gen() This is basically I16d5190b3cdc997c5609b52d41203f10264b017c. Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Related: OS#4546 --- M src/gsm/gsm0502.c 1 file changed, 10 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved tnt: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/gsm0502.c b/src/gsm/gsm0502.c index 7ab6343..e34d3f5 100644 --- a/src/gsm/gsm0502.c +++ b/src/gsm/gsm0502.c @@ -220,7 +220,16 @@ 125, 99, 17, 123, }; -/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. */ +/*! Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. + * \param[in] t GSM time (TDMA frame number, T1/T2/T3). + * \param[in] hsn Hopping Sequence Number. + * \param[in] maio Mobile Allocation Index Offset. + * \param[in] n number of entries in mobile allocation (arfcn table). + * \param[in] ma array of ARFCNs (sorted in ascending order) + * representing the Mobile Allocation. + * \returns ARFCN to use for given input parameters at time 't' + * or Mobile Allocation Index if ma == NULL. + */ uint16_t gsm0502_hop_seq_gen(const struct gsm_time *t, uint8_t hsn, uint8_t maio, size_t n, const uint16_t *ma) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife660f00d7a6d3b874ab2e59e34dca2109fa82d8 Gerrit-Change-Number: 18245 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 18:00:57 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 18:00:57 +0000 Subject: Change in osmocom-bb[master]: trxcon: use buffer size macros for TRXC/TRXD messages In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 to look at the new patch set (#2). Change subject: trxcon: use buffer size macros for TRXC/TRXD messages ...................................................................... trxcon: use buffer size macros for TRXC/TRXD messages Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 --- M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 2 files changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/18/18318/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 18:00:57 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 18:00:57 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 to look at the new patch set (#2). Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies It would make sense to send the ARFCN list in parameters of SETFH command, if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now, every Transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or as Tx/Rx for a given Transceiver. Of course, we could assume that this is an MS specific feature, and a pair of Downlink/Uplink frequencies always corresponds to Rx/Tx, but what if some day we would need to implement and test a similar approach for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Related: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Related: OS#4546 --- M src/host/trxcon/trx_if.c 1 file changed, 38 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18319/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 18:04:41 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 18:04:41 +0000 Subject: Change in osmo-pcu[master]: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18322 ) Change subject: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 Gerrit-Change-Number: 18322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 15 May 2020 18:04:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 18:10:09 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 18:10:09 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18323/1/src/tbf_ul.cpp File src/tbf_ul.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18323/1/src/tbf_ul.cpp at a387 PS1, Line 387: Unrelated ws change. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 15 May 2020 18:10:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 21:21:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 15 May 2020 21:21:51 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 to look at the new patch set (#2). Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In normal conditions ACKing of UL blocks is only sent every SEND_ACK_AFTER_FRAMES (20) frames. Which means if CV=0 is received (and hence no more packets are received) less than 20 frames before a lost, the PCU won't ask for a retransmission and wait there until some timer destroys the TBF. This issue is shown by TTCN3 test PCU_Tests.ttcn TC_ul_intermediate_retrans. Unit tests triggering this condition are adapted. Some similar tests are not triggering it because BSN/CV relation being used is totally wrong (like CV=0 being sent on a BSN with previous value than others). Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 --- M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 4 files changed, 25 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/18323/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 23:30:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 23:30:26 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use list comprehension for bit conversion References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18324 ) Change subject: trx_toolkit/data_msg.py: use list comprehension for bit conversion ...................................................................... trx_toolkit/data_msg.py: use list comprehension for bit conversion This approach is much better than buf.append() in terms of performance. Consider the following bit conversion benchmark code: usbits = [random.randint(0, 254) for i in range(GSM_BURST_LEN)] ubits = [int(b > 128) for b in usbits] for i in range(100000): sbits = DATAMSG.usbit2sbit(usbits) assert(DATAMSG.sbit2usbit(sbits) == usbits) sbits = DATAMSG.ubit2sbit(ubits) assert(DATAMSG.sbit2ubit(sbits) == ubits) === Before this patch: 59603795 function calls (59603761 primitive calls) in 11.357 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 59200093 3.389 0.000 3.389 0.000 {method 'append' of 'list' objects} 100000 2.212 0.000 3.062 0.000 data_msg.py:191(usbit2sbit) 100000 1.920 0.000 2.762 0.000 data_msg.py:214(sbit2ubit) 100000 1.835 0.000 2.677 0.000 data_msg.py:204(sbit2usbit) 100000 1.760 0.000 2.613 0.000 data_msg.py:224(ubit2sbit) === After this patch: 803794 function calls (803760 primitive calls) in 3.547 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 100000 1.284 0.000 1.284 0.000 data_msg.py:203() 100000 0.864 0.000 0.864 0.000 data_msg.py:193() 100000 0.523 0.000 0.523 0.000 data_msg.py:198() 100000 0.500 0.000 0.500 0.000 data_msg.py:208() 1 0.237 0.237 3.547 3.547 data_msg.py:25() 100000 0.035 0.000 0.899 0.000 data_msg.py:191(usbit2sbit) 100000 0.035 0.000 0.558 0.000 data_msg.py:196(sbit2usbit) 100000 0.033 0.000 0.533 0.000 data_msg.py:206(ubit2sbit) 100000 0.033 0.000 1.317 0.000 data_msg.py:201(sbit2ubit) So the new implementation is ~70% faster in this case, and takes significantly less function calls according to cProfile [1]. [1] https://docs.python.org/3.8/library/profile.html Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 6 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/24/18324/1 diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 8710702..35e09d6 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -190,45 +190,22 @@ # Converts unsigned soft-bits {254..0} to soft-bits {-127..127} @staticmethod def usbit2sbit(bits): - buf = [] - - for bit in bits: - if bit == 0xff: - buf.append(-127) - else: - buf.append(127 - bit) - - return buf + return [-127 if (b == 0xff) else 127 - b for b in bits] # Converts soft-bits {-127..127} to unsigned soft-bits {254..0} @staticmethod def sbit2usbit(bits): - buf = [] - - for bit in bits: - buf.append(127 - bit) - - return buf + return [127 - b for b in bits] # Converts soft-bits {-127..127} to bits {1..0} @staticmethod def sbit2ubit(bits): - buf = [] - - for bit in bits: - buf.append(1 if bit < 0 else 0) - - return buf + return [int(b < 0) for b in bits] # Converts bits {1..0} to soft-bits {-127..127} @staticmethod def ubit2sbit(bits): - buf = [] - - for bit in bits: - buf.append(-127 if bit else 127) - - return buf + return [-127 if b else 127 for b in bits] # Validates the message fields (throws ValueError) def validate(self): @@ -426,11 +403,7 @@ # Generate a random message specific burst def rand_burst(self, length = GSM_BURST_LEN): - self.burst = [] - - for i in range(length): - ubit = random.randint(0, 1) - self.burst.append(ubit) + self.burst = [random.randint(0, 1) for i in range(length)] # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): @@ -836,14 +809,10 @@ # Generate a random message specific burst def rand_burst(self, length = None): - self.burst = [] - if length is None: length = self.mod_type.bl - for i in range(length): - sbit = random.randint(-127, 127) - self.burst.append(sbit) + self.burst = [random.randint(-127, 127) for i in range(length)] # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 Gerrit-Change-Number: 18324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 15 23:30:27 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Fri, 15 May 2020 23:30:27 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/rand_burst_gen.py: use list comprehension References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18325 ) Change subject: trx_toolkit/rand_burst_gen.py: use list comprehension ...................................................................... trx_toolkit/rand_burst_gen.py: use list comprehension See previous commit, TL;DR this approach is significantly faster. Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 --- M src/target/trx_toolkit/rand_burst_gen.py 1 file changed, 5 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/25/18325/1 diff --git a/src/target/trx_toolkit/rand_burst_gen.py b/src/target/trx_toolkit/rand_burst_gen.py index be4b696..a56467f 100644 --- a/src/target/trx_toolkit/rand_burst_gen.py +++ b/src/target/trx_toolkit/rand_burst_gen.py @@ -57,8 +57,7 @@ buf += [0] * 3 # Random data 1 / 2 - for i in range(0, 57): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(57)] # Steal flag 1 / 2 buf.append(random.randint(0, 1)) @@ -72,8 +71,7 @@ buf.append(random.randint(0, 1)) # Random data 2 / 2 - for i in range(0, 57): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(57)] # Tailing bits buf += [0] * 3 @@ -92,8 +90,7 @@ buf += [0] * 3 # Random data 1 / 2 - for i in range(0, 39): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(39)] # Training sequence if tsc is None: @@ -101,8 +98,7 @@ buf += tsc.seq # Random data 2 / 2 - for i in range(0, 39): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(39)] # Tailing bits buf += [0] * 3 @@ -126,8 +122,7 @@ buf += tsc.seq # Random data - for i in range(0, 36): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(36)] # Tailing bits buf += [0] * 3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 Gerrit-Change-Number: 18325 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 07:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 07:10:43 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 to look at the new patch set (#3). Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies It would make sense to send the ARFCN list in parameters of SETFH command, if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now, every Transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or as Tx/Rx for a given Transceiver. Of course, we could assume that this is an MS specific feature, and a pair of Downlink/Uplink frequencies always corresponds to Rx/Tx, but what if some day we would need to implement and test a similar approach for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Related: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Related: OS#4546 --- M src/host/trxcon/trx_if.c 1 file changed, 36 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18319/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 07:13:33 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 07:13:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 07:13:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 12:22:02 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 12:22:02 +0000 Subject: Change in osmo-bts[master]: oml: fix oml_mo_tx_sw_act_rep(): do not msgb_put() FOM header twice References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18326 ) Change subject: oml: fix oml_mo_tx_sw_act_rep(): do not msgb_put() FOM header twice ...................................................................... oml: fix oml_mo_tx_sw_act_rep(): do not msgb_put() FOM header twice This redundant call to msgb_put() appends five '00'O octets to the "Software Activated Report" message, so they look like an unknown attribute(s). I accidentally noticed this in Wireshark. Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 --- M src/common/oml.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/18326/1 diff --git a/src/common/oml.c b/src/common/oml.c index 7a62faa..7e3b834 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -472,7 +472,6 @@ if (!nmsg) return -ENOMEM; - msgb_put(nmsg, sizeof(struct abis_om_fom_hdr)); return oml_mo_send_msg(mo, nmsg, NM_MT_SW_ACTIVATED_REP); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 Gerrit-Change-Number: 18326 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 12:22:37 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 12:22:37 +0000 Subject: Change in osmo-bts[master]: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice In-Reply-To: References: Message-ID: Vadim Yanitskiy has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/18326 ) Change subject: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice ...................................................................... oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice This redundant call to msgb_put() appends five '00'O octets to the "Software Activated Report" message, so they look like an unknown attribute(s). I accidentally noticed this in Wireshark. Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 --- M src/common/oml.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/18326/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 Gerrit-Change-Number: 18326 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 12:30:28 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 12:30:28 +0000 Subject: Change in osmo-bsc[master]: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18327 ) Change subject: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() ...................................................................... A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d --- M src/osmo-bsc/abis_nm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/18327/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 32e9a8f..4ed0602 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -901,10 +901,10 @@ abis_nm_tlv_parse(&tp, bts, foh->data, oh->length-sizeof(*foh)); if (TLVP_PRESENT(&tp, NM_ATT_NACK_CAUSES)) - DEBUGPC(DNM, "CAUSE=%s\n", + LOGPC(DNM, LOGL_NOTICE, "CAUSE=%s\n", abis_nm_nack_cause_name(*TLVP_VAL(&tp, NM_ATT_NACK_CAUSES))); else - DEBUGPC(DNM, "\n"); + LOGPC(DNM, LOGL_NOTICE, "\n"); nack_data.msg = mb; nack_data.mt = mt; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d Gerrit-Change-Number: 18327 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 13:24:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 13:24:49 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use list comprehension for bit conversion In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18324 ) Change subject: trx_toolkit/data_msg.py: use list comprehension for bit conversion ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 Gerrit-Change-Number: 18324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 13:24:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 13:25:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 13:25:45 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/rand_burst_gen.py: use list comprehension In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18325 ) Change subject: trx_toolkit/rand_burst_gen.py: use list comprehension ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 Gerrit-Change-Number: 18325 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 13:25:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 13:28:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 13:28:56 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 2: I still think moving the freq list to be separated by command would allow you to drop that "variable" arg part. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 13:28:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 13:29:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 13:29:20 +0000 Subject: Change in osmocom-bb[master]: trxcon: use buffer size macros for TRXC/TRXD messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18318 ) Change subject: trxcon: use buffer size macros for TRXC/TRXD messages ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 13:29:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 14:31:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 14:31:03 +0000 Subject: Change in osmo-bts[master]: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18326 ) Change subject: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 Gerrit-Change-Number: 18326 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 14:31:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 14:45:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 14:45:12 +0000 Subject: Change in osmo-bsc[master]: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18327 ) Change subject: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d Gerrit-Change-Number: 18327 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 14:45:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 14:58:25 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 14:58:25 +0000 Subject: Change in osmo-bsc[master]: log: Fix "Paging request failed" logging level References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18328 ) Change subject: log: Fix "Paging request failed" logging level ...................................................................... log: Fix "Paging request failed" logging level "Paging request failed" message can be logged e.g. when we're already paging this subscriber which means we get hundreds of these messages in a perfectly normal situation. Let's demote this to INFO and adjust the wording. Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/18328/1 diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f5aaa8..ddebb6a 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -140,7 +140,7 @@ ret = bsc_grace_paging_request(msc->network->bsc_data->rf_ctrl->policy, subscr, chan_needed, msc, bts); if (ret == 0) - LOGP(DMSC, LOGL_ERROR, "Paging request failed: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", + LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", bts->nr, mi_string, tmsi, tmsi, lac); /* the paging code has grabbed its own references */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a Gerrit-Change-Number: 18328 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 14:58:26 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 14:58:26 +0000 Subject: Change in osmo-bsc[master]: log: Adjust "new SIGTRAN connection" logging level References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18329 ) Change subject: log: Adjust "new SIGTRAN connection" logging level ...................................................................... log: Adjust "new SIGTRAN connection" logging level The "new SIGTRAN connection" message is sent on every new transaction between an MS and MSC, i.e. A LOT during normal operation. Let's demote it to INFO and clarify that this is about SCCP connection instead of a generic SIGTRAN term. Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/29/18329/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 3871682..d36c85d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -304,7 +304,7 @@ ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_NOTICE, "Initializing resources for new SIGTRAN connection to MSC: %s...\n", + LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC: %s...\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); if (a_reset_conn_ready(msc) == false) { @@ -350,7 +350,7 @@ LOGP(DMSC, LOGL_DEBUG, "Allocated new connection id: %d\n", conn->sccp.conn_id); ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_NOTICE, "Opening new SIGTRAN connection (id=%i) to MSC: %s\n", conn_id, + LOGP(DMSC, LOGL_INFO, "Opening new SCCP connection (id=%i) to MSC: %s\n", conn_id, osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); rc = osmo_sccp_tx_conn_req_msg(msc->a.sccp_user, conn_id, &msc->a.bsc_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb Gerrit-Change-Number: 18329 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 15:08:21 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... bssmap: Ignore repeated BSSMAP RESET ACK messages. We're sending multiple RESET messages to establish a conection with an MSC and MSC can (and often will) respond with multiple RESET ACK messages. We should not treat this as an ERROR as it used to be in the original code. Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 --- M src/osmo-bsc/a_reset.c 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/30/18330/1 diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index f990e63..713be86 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -103,6 +103,9 @@ case EV_N_CONNECT: reset_ctx->conn_loss_counter = 0; break; + case EV_RESET_ACK: + LOGPFSML(fi, LOGL_INFO, "Received a duplicated BSSMAP RESET ACK, ignoring\n"); + break; } } @@ -140,7 +143,7 @@ .onenter = fsm_disc_onenter_cb, }, [ST_CONN] = { - .in_event_mask = (1 << EV_N_DISCONNECT) | (1 << EV_N_CONNECT), + .in_event_mask = (1 << EV_N_DISCONNECT) | (1 << EV_N_CONNECT) | (1 << EV_RESET_ACK), .out_state_mask = (1 << ST_DISC) | (1 << ST_CONN), .name = "CONN", .action = fsm_conn_cb, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:09:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 15:09:34 +0000 Subject: Change in osmo-bsc[master]: log: Adjust "new SIGTRAN connection" logging level In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18329 ) Change subject: log: Adjust "new SIGTRAN connection" logging level ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb Gerrit-Change-Number: 18329 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 15:09:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:10:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 15:10:32 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG at 9 PS1, Line 9: We're sending multiple RESET messages to establish a conection with why do we send multiple RESET messages in first place? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-CC: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 15:10:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:15:25 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 15:15:25 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... log: Demote "CHAN RQD: reason" to INFO The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to INFO. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/31/18331/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index a5e5f51..dd2ea3f 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1369,7 +1369,7 @@ /* Determine channel request cause code */ chreq_reason = get_reason_by_chreq(rqd_ref->ra, bts->network->neci); - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", + LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", get_value_string(gsm_chreq_descs, chreq_reason), rqd_ref->ra, bts->network->neci, chreq_reason); /* Handle PDCH related rach requests (in case of BSC-co-located-PCU */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 15:18:05 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 16 May 2020 15:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:52:30 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 15:52:30 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. Otherwise we're missing an important part of the callflow and the counters of responded/expired paging requests don't add up to attempted paging number. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18332/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index aeeb58d..4421c7c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1412,6 +1412,7 @@ BTS_CTR_PAGING_ALREADY, BTS_CTR_PAGING_RESPONDED, BTS_CTR_PAGING_EXPIRED, + BTS_CTR_PAGING_NON_ACTIVE, BTS_CTR_CHAN_ACT_TOTAL, BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, @@ -1458,6 +1459,7 @@ [BTS_CTR_PAGING_ALREADY] = {"paging:already", "Paging attempts ignored as subscriber was already being paged."}, [BTS_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful paging response."}, [BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."}, + [BTS_CTR_PAGING_NON_ACTIVE] = {"paging:expired", "Non active subscriber responded to paging."}, [BTS_CTR_CHAN_ACT_TOTAL] = {"chan_act:total", "Total number of Channel Activations."}, [BTS_CTR_CHAN_ACT_NACK] = {"chan_act:nack", "Number of Channel Activations that the BTS NACKed"}, [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, @@ -1554,6 +1556,7 @@ BSC_CTR_PAGING_ATTEMPTED, BSC_CTR_PAGING_DETACHED, BSC_CTR_PAGING_RESPONDED, + BSC_CTR_PAGING_NON_ACTIVE, BSC_CTR_UNKNOWN_UNIT_ID, }; @@ -1598,6 +1601,7 @@ [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."}, [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found."}, [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response."}, + [BSC_CTR_PAGING_NON_ACTIVE] = {"paging:expired", "Paging response for non active subscriber."}, [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID."}, }; diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 4f9c69e..2b06623 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -388,6 +388,8 @@ if (!subscr) { LOGP(DMSC, LOGL_ERROR, "Non active subscriber got paged.\n"); + rate_ctr_inc(&_bts->bts_ctrs->ctr[BTS_CTR_PAGING_NON_ACTIVE]); + rate_ctr_inc(&_bts->network->bsc_ctrs->ctr[BSC_CTR_PAGING_NON_ACTIVE]); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 15:57:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 15:57:05 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... Patch Set 1: what does "non active" mean here? in idle state? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 15:57:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 16:14:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 16:14:17 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... Patch Set 2: Code-Review-1 Don't merge yet, it may beintroducing some issue on some other ttcn3 tests. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 16:14:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 17:45:38 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 17:45:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn at 86 PS2, Line 86: cv_countdown Actually, we should use this field in our test cases. As far as I can see, osmo-pcu ignores it, but still would be better to have the same parameters in the IUT and our test cases. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 16 May 2020 17:45:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 17:48:36 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 17:48:36 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#8). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 139 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 17:54:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 17:54:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/3/pcu/PCU_Tests.ttcn at 547 PS3, Line 547: inout uint14_t bsn Rather add it to RAW_PCU_Test_CT, so there would be no need to maintain this variable in every test case that is using this function. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 17:54:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 18:12:08 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 18:12:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 ) Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253/2/pcu/PCU_Tests.ttcn at 265 PS2, Line 265: f_rlcmac_dl_block_get_cs_mcs There should be a clear distinction, whether this function is supposed to determine the actual coding scheme of a given block (no matter, data or control), or is it supposed to parse the value indicated in the 'Channel Coding Command' field. This functionality should not be mixed together. There is no limitation on total amount of functions, so let's make them do something specific and add more if needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 18:12:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 18:16:20 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 16 May 2020 18:16:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_countdown_procedure In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 ) Change subject: pcu: Introduce test TC_countdown_procedure ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260/3/pcu/PCU_Tests.ttcn at 1475 PS3, Line 1475: This alignment is confusing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 Gerrit-Change-Number: 18260 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Comment-Date: Sat, 16 May 2020 18:16:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 18:31:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 18:31:12 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 to look at the new patch set (#3). Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. Otherwise we're missing an important part of the callflow and the counters of responded/expired paging requests don't add up to attempted paging number. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18332/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 18:39:12 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 18:39:12 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... Patch Set 3: > Patch Set 1: > > what does "non active" mean here? in idle state? Frankly, I'm not sure. It looks like it's going in here when we can't map TMSI to a subscriber (IMSI?). Why exactly is this happening I'm not sure but I see that we're hitting this code path often and it amounts to a significant disparity between attempted pagings and responded/expired/etc outcomes. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 18:39:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:01:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 19:01:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn at 86 PS2, Line 86: cv_countdown > Actually, we should use this field in our test cases. [?] This value of cv_countdown, if meaning the same as BS_CV_MAX, is wrong, because 15 always means "more than BS_CV_MAX packets still to go". -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:01:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:06:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 19:06:19 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... Patch Set 2: -Code-Review The patch is actually fine, the ttcn3 tests are missing receiving this UL ACK/NACK. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:06:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:27:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 19:27:02 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 to look at the new patch set (#4). Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. Otherwise we're missing an important part of the callflow and the counters of responded/expired paging requests don't add up to attempted paging number. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18332/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:52:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:52:48 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:52:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:53:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:53:32 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:53:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:54:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:54:12 +0000 Subject: Change in osmo-bsc[master]: log: Fix "Paging request failed" logging level In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18328 ) Change subject: log: Fix "Paging request failed" logging level ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a Gerrit-Change-Number: 18328 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:54:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:54:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:54:25 +0000 Subject: Change in osmo-bsc[master]: log: Adjust "new SIGTRAN connection" logging level In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18329 ) Change subject: log: Adjust "new SIGTRAN connection" logging level ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb Gerrit-Change-Number: 18329 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:54:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:55:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:55:37 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG at 9 PS1, Line 9: We're sending multiple RESET messages to establish a conection with > why do we send multiple RESET messages in first place? I suppose due to timeout on a very laggy / high-RTT link, we retransmit the RESET and the MSC eventually receives them + ACK's each of them. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:55:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:55:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:55:43 +0000 Subject: Change in osmo-bsc[master]: log: Fix "Paging request failed" logging level In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18328 ) Change subject: log: Fix "Paging request failed" logging level ...................................................................... log: Fix "Paging request failed" logging level "Paging request failed" message can be logged e.g. when we're already paging this subscriber which means we get hundreds of these messages in a perfectly normal situation. Let's demote this to INFO and adjust the wording. Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a --- M src/osmo-bsc/osmo_bsc_bssap.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f5aaa8..ddebb6a 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -140,7 +140,7 @@ ret = bsc_grace_paging_request(msc->network->bsc_data->rf_ctrl->policy, subscr, chan_needed, msc, bts); if (ret == 0) - LOGP(DMSC, LOGL_ERROR, "Paging request failed: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", + LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", bts->nr, mi_string, tmsi, tmsi, lac); /* the paging code has grabbed its own references */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a Gerrit-Change-Number: 18328 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:55:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:55:43 +0000 Subject: Change in osmo-bsc[master]: log: Adjust "new SIGTRAN connection" logging level In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18329 ) Change subject: log: Adjust "new SIGTRAN connection" logging level ...................................................................... log: Adjust "new SIGTRAN connection" logging level The "new SIGTRAN connection" message is sent on every new transaction between an MS and MSC, i.e. A LOT during normal operation. Let's demote it to INFO and clarify that this is about SCCP connection instead of a generic SIGTRAN term. Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index 3871682..d36c85d 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -304,7 +304,7 @@ ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_NOTICE, "Initializing resources for new SIGTRAN connection to MSC: %s...\n", + LOGP(DMSC, LOGL_INFO, "Initializing resources for new SCCP connection to MSC: %s...\n", osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); if (a_reset_conn_ready(msc) == false) { @@ -350,7 +350,7 @@ LOGP(DMSC, LOGL_DEBUG, "Allocated new connection id: %d\n", conn->sccp.conn_id); ss7 = osmo_ss7_instance_find(msc->a.cs7_instance); OSMO_ASSERT(ss7); - LOGP(DMSC, LOGL_NOTICE, "Opening new SIGTRAN connection (id=%i) to MSC: %s\n", conn_id, + LOGP(DMSC, LOGL_INFO, "Opening new SCCP connection (id=%i) to MSC: %s\n", conn_id, osmo_sccp_addr_name(ss7, &msc->a.msc_addr)); rc = osmo_sccp_tx_conn_req_msg(msc->a.sccp_user, conn_id, &msc->a.bsc_addr, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb Gerrit-Change-Number: 18329 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:56:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:56:10 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... Patch Set 1: Code-Review+1 I would even go as far as to move it to DEBUG. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 19:56:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:56:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:56:48 +0000 Subject: Change in libosmocore[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18271 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib329b719fbeaf4618d299fa20514c76fe704cb48 Gerrit-Change-Number: 18271 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 19:56:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:56:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:56:54 +0000 Subject: Change in libosmocore[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18271 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ib329b719fbeaf4618d299fa20514c76fe704cb48 --- A contrib/libosmocore.spec 1 file changed, 460 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/libosmocore.spec b/contrib/libosmocore.spec new file mode 100644 index 0000000..1ea7a8e --- /dev/null +++ b/contrib/libosmocore.spec @@ -0,0 +1,460 @@ +# +# spec file for package libosmocore +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 1.3.0.94 + +Name: libosmocore +Version: 1.3.0.94 +Release: 0 +Summary: The Open Source Mobile Communications Core Library +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later +Group: Productivity/Telephony/Utilities +Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore +Source: %name-%version.tar.xz +BuildRequires: automake >= 1.6 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkg-config >= 0.20 +BuildRequires: python2 +BuildRequires: xz +BuildRequires: pkgconfig(gnutls) >= 2.12.0 +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(talloc) >= 2.0.1 + +%description +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project, but which are of +a more generic nature and thus useful to (at least) other programs +that Osmocom develops w.r.t. mobile communications. + +There is no clear scope of it. It simply houses all code shared +between OsmocomBB and OpenBSC to avoid code duplication. + +%package tools +Summary: GSM utilities from the osmocore project +License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-3.0-or-later AND AGPL-3.0-or-later +Group: Productivity/Telephony/Utilities +Provides: %name-utils = %version-%release + +%description tools +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +This package contains a program for frequency calculation for GSM +called "osmo-arfcn", and a program called "osmo-auc-gen" that is used +for testing GSM authentication. + +%package -n libosmocodec0 +Summary: GSM 06.10, 06.20, 06.60, 06.90 codec library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocodec0 +The libosmocodec library contains an implementation of multiple +GSM codecs: + +* GSM 06.10 Full Rate (FR) codec +* GSM 06.20 Half Rate (HR) codec +* GSM 06.60 Enhanced Full Range (EFR) codec +* GSM 06.90 Adaptive Multi-Rate (AMR) codec + +%package -n libosmocodec-devel +Summary: Development files for the Osmocom GSM codec library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocodec0 = %version + +%description -n libosmocodec-devel +The libosmocodec library contains an implementation of multiple +GSM codecs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocodec. + +%package -n libosmocoding0 +Summary: GSM/GPRS/EDGE transcoding routines library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocoding0 +libosmocoding is a library which provides GSM, GPRS and EDGE +transcoding routines. + +The following data types are currently supported: xCCH, PDTCH (CS 1-4 +and MCS 1-9), TCH/FR, TCH/HR, TCH/AFS, RCH/AHS, RACH and SCH. + +%package -n libosmocoding-devel +Summary: Development files for the Osmocom transcoding library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocodec-devel = %version +Requires: libosmocoding0 = %version +Requires: libosmocore-devel = %version +Requires: libosmogsm-devel = %version + +%description -n libosmocoding-devel +libosmocoding is a library which provides GSM, GPRS and EDGE +transcoding routines. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocoding. + +%package -n libosmocore12 +Summary: Osmocom core library +# crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+ +License: GPL-2.0-only AND GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmocore12 +libosmocore is a library with various utility functions shared +between OpenBSC and OsmocomBB. + +%package -n libosmocore-devel +Summary: Development files for the Osmocom core library +# crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+ +License: GPL-2.0-only AND GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore12 = %version +Requires: libtalloc-devel + +%description -n libosmocore-devel +libosmocore is a library with various utility functions shared +between OpenBSC and OsmocomBB. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmocore. + +%package -n libosmoctrl0 +Summary: Osmocom SNMP-like control interface library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmoctrl0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +libosmoctrl is an SNMP-like control interface. In contrast to the VTY +interface, the control interface is meant to be used by programs. + +%package -n libosmoctrl-devel +Summary: Osmocom control interface library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmoctrl0 = %version +Requires: libosmogsm-devel = %version + +%description -n libosmoctrl-devel +libosmoctrl is an SNMP-like control interface. In contrast to the VTY +interface, the control interface is meant to be used by programs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoctrl. + +%package -n libosmogb9 +Summary: Osmocom GPRS Gb Interface (NS/BSSGP) library +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmogb9 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmogb library contains a GPRS BSSGP protocol implementation. + +%package -n libosmogb-devel +Summary: Development files for the Osmocom GPRS Gb interface library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmogb9 = %version +Requires: libosmovty-devel = %version + +%description -n libosmogb-devel +The libosmogb library contains a GPRS BSSGP protocol implementation. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmogb. + +%package -n libosmogsm13 +Summary: Osmocom GSM utility library +License: GPL-2.0-or-later AND AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmogsm13 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmogsm library in particular is a collection of common code +used in various GSM related sub-projects inside the Osmocom family of +projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm +implementation, a GSM TLV parser, SMS utility routines as well as +protocol definitions for a series of protocols. + +%package -n libosmogsm-devel +Summary: Development files for the Osmocom GSM utility library +License: GPL-2.0-or-later AND AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmogsm13 = %version + +%description -n libosmogsm-devel +The libosmogsm library in particular is a collection of common code +used in various GSM related sub-projects inside the Osmocom family of +projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm +implementation, a GSM TLV parser, SMS utility routines as well as +protocol definitions for a series of protocols. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmogsm. + +%package -n libosmosim0 +Summary: Osmocom SIM card related utility library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmosim0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmosim library in particular contains routines for SIM card +access. + +%package -n libosmosim-devel +Summary: Development files for the Osmocom SIM card utility library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmosim0 = %version + +%description -n libosmosim-devel +The libosmosim library in particular contains routines for SIM card +access. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmosim. + +%package -n libosmovty4 +Summary: Osmocom VTY interface library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmovty4 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmovty library implements the interactive command-line on the +VTY (Virtual TTY), as well as configuration file parsing. + +%package -n libosmovty-devel +Summary: Development files for the Osmocom VTY interface library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmovty4 = %version + +%description -n libosmovty-devel +The libosmovty library implements the interactive command-line on the +VTY (Virtual TTY), as well as configuration file parsing. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmovty. + +%package -n libosmousb0 +Summary: Osmocom USB library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmousb0 +libosmocore is a package with various utility functions that were +originally developed as part of the OpenBSC project. + +The libosmosub library in particular contains routines for USB device +access via libusb-1.0, integrated into the libosmocore select event loop. + +%package -n libosmousb-devel +Summary: Development files for the Osmocom USB library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmocore-devel = %version +Requires: libosmousb0 = %version +Requires: libusb-1_0-devel + +%description -n libosmousb-devel +The libosmosub library in particular contains routines for USB device +access via libusb-1.0, integrated into the libosmocore select event loop. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmousb. + + +%prep +%setup -q + +%build +echo "%version" >.tarball-version +autoreconf -fiv +%configure --enable-shared --disable-static \ + --includedir="%_includedir/%name" +make %{?_smp_mflags} V=1 + +%install +b="%buildroot" +make %{?_smp_mflags} install DESTDIR="$b" +find "$b/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmocodec0 -p /sbin/ldconfig +%postun -n libosmocodec0 -p /sbin/ldconfig +%post -n libosmocoding0 -p /sbin/ldconfig +%postun -n libosmocoding0 -p /sbin/ldconfig +%post -n libosmocore12 -p /sbin/ldconfig +%postun -n libosmocore12 -p /sbin/ldconfig +%post -n libosmoctrl0 -p /sbin/ldconfig +%postun -n libosmoctrl0 -p /sbin/ldconfig +%post -n libosmogb9 -p /sbin/ldconfig +%postun -n libosmogb9 -p /sbin/ldconfig +%post -n libosmogsm13 -p /sbin/ldconfig +%postun -n libosmogsm13 -p /sbin/ldconfig +%post -n libosmosim0 -p /sbin/ldconfig +%postun -n libosmosim0 -p /sbin/ldconfig +%post -n libosmovty4 -p /sbin/ldconfig +%postun -n libosmovty4 -p /sbin/ldconfig +%post -n libosmousb0 -p /sbin/ldconfig +%postun -n libosmousb0 -p /sbin/ldconfig + +%files tools +%defattr(-,root,root) +%_bindir/osmo-* + +%files -n libosmocodec0 +%defattr(-,root,root) +%_libdir/libosmocodec.so.0* + +%files -n libosmocodec-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/codec/ +%_libdir/libosmocodec.so +%_libdir/pkgconfig/libosmocodec.pc + +%files -n libosmocoding0 +%defattr(-,root,root) +%_libdir/libosmocoding.so.0* + +%files -n libosmocoding-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/coding/ +%_libdir/libosmocoding.so +%_libdir/pkgconfig/libosmocoding.pc + +%files -n libosmocore12 +%defattr(-,root,root) +%_libdir/libosmocore.so.12* + +%files -n libosmocore-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/core/ +%_libdir/libosmocore.so +%_libdir/pkgconfig/libosmocore.pc +%_datadir/aclocal/osmo_ax_code_coverage.m4 +%_datadir/aclocal/osmo_ac_code_coverage.m4 + +%files -n libosmoctrl0 +%defattr(-,root,root) +%_libdir/libosmoctrl.so.0* + +%files -n libosmoctrl-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/ctrl/ +%_libdir/libosmoctrl.so +%_libdir/pkgconfig/libosmoctrl.pc + +%files -n libosmogb9 +%defattr(-,root,root) +%_libdir/libosmogb.so.9* + +%files -n libosmogb-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/gprs/ +%_libdir/libosmogb.so +%_libdir/pkgconfig/libosmogb.pc + +%files -n libosmogsm13 +%defattr(-,root,root) +%_libdir/libosmogsm.so.13* + +%files -n libosmogsm-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/gsm/ +%_includedir/%name/osmocom/crypt/ +%_libdir/libosmogsm.so +%_libdir/pkgconfig/libosmogsm.pc + +%files -n libosmosim0 +%defattr(-,root,root) +%_libdir/libosmosim.so.0* + +%files -n libosmosim-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom/ +%_includedir/%name/osmocom/sim/ +%_libdir/libosmosim.so +%_libdir/pkgconfig/libosmosim.pc + +%files -n libosmovty4 +%defattr(-,root,root) +%_libdir/libosmovty.so.4* + +%files -n libosmovty-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/vty/ +%_includedir/%name/osmo-release.mk +%_libdir/libosmovty.so +%_libdir/pkgconfig/libosmovty.pc + +%files -n libosmousb0 +%defattr(-,root,root) +%_libdir/libosmousb.so.0* + +%files -n libosmousb-devel +%defattr(-,root,root) +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/usb/ +%_libdir/libosmousb.so +%_libdir/pkgconfig/libosmousb.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib329b719fbeaf4618d299fa20514c76fe704cb48 Gerrit-Change-Number: 18271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 19:59:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 19:59:28 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18272/1/contrib/libosmocore.spec File contrib/libosmocore.spec: https://gerrit.osmocom.org/c/libosmocore/+/18272/1/contrib/libosmocore.spec at 16 PS1, Line 16: Ve the usual method that I knew even 20 years ago was to address this is to have a spec.in file in the source tree and have autotools generate the .spec file from spec.in while substituting PACKAGE_VERSION (or whatever the autoconf variable name is). Unless this is currently no longer considered good practice, I suggest to implement it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 16 May 2020 19:59:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:23 +0000 Subject: Change in libgtpnl[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/18269 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I3c9c989972cd223a46d28955edbfe4c69b7a7afb Gerrit-Change-Number: 18269 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:00:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:27 +0000 Subject: Change in libgtpnl[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/18269 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I3c9c989972cd223a46d28955edbfe4c69b7a7afb --- A contrib/libgtpnl.spec 1 file changed, 86 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/libgtpnl.spec b/contrib/libgtpnl.spec new file mode 100644 index 0000000..e067596 --- /dev/null +++ b/contrib/libgtpnl.spec @@ -0,0 +1,86 @@ +# +# spec file for package libgtpnl +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: libgtpnl +Version: 1.2.1.0 +Release: 0 +Summary: GPRS tunnel configuration library +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://osmocom.org/projects/linux-kernel-gtp-u/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig +BuildRequires: xz +BuildRequires: pkgconfig(libmnl) >= 1.0.0 + +%description +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +%package -n libgtpnl0 +Summary: GPRS tunnel configuration library +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libgtpnl0 +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +%package devel +Summary: Development files for the GPRS tunnel config library +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +Requires: libgtpnl0 = %{version} + +%description devel +libgtpnl wraps the genetlink-based GPRS tunnel configuration of the +Linux kernel into a C API. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgtpnl. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libgtpnl0 -p /sbin/ldconfig +%postun -n libgtpnl0 -p /sbin/ldconfig + +%files -n libgtpnl0 +%{_libdir}/libgtpnl.so.0* + +%files devel +%license COPYING +%{_includedir}/libgtpnl/ +%{_libdir}/libgtpnl.so +%{_libdir}/pkgconfig/*.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I3c9c989972cd223a46d28955edbfe4c69b7a7afb Gerrit-Change-Number: 18269 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:34 +0000 Subject: Change in libosmo-abis[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18273 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If40896b4711fe6739ec2ed35756c0afe821c8c00 Gerrit-Change-Number: 18273 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:00:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:39 +0000 Subject: Change in libosmo-abis[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18273 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: If40896b4711fe6739ec2ed35756c0afe821c8c00 --- A contrib/libosmo-abis.spec 1 file changed, 161 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/libosmo-abis.spec b/contrib/libosmo-abis.spec new file mode 100644 index 0000000..ac91c60 --- /dev/null +++ b/contrib/libosmo-abis.spec @@ -0,0 +1,161 @@ +# +# spec file for package libosmo-abis +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 0.8.0.26 + +Name: libosmo-abis +Version: 0.8.0.26 +Release: 0 +Summary: Osmocom library for A-bis interface between BTS and BSC +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +Url: https://osmocom.org/projects/libosmo-abis/wiki/Libosmo-abis + +Source: %name-%version.tar.xz +Patch1: osmo-talloc.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: automake >= 1.6 +#BuildRequires: dahdi-linux-devel +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: xz +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(ortp) >= 0.22 +BuildRequires: pkgconfig(talloc) + +%description +In GSM, A-bis is a BSS-internal interface link between the BTS and +BSC. This interface allows control of the radio equipment and radio +frequency allocation in the BTS. + +%package -n libosmoabis6 +Summary: Osmocom GSM A-bis interface library +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmoabis6 +In the GSM system architecture, A-bis is a Base Station +System-internal interface linking the Base Transceiver Stations (BTS) +and Base Station Controller (BSC). This interface allows control of +the radio equipment and radio frequency allocation in the BTS. + +This library contains common/shared code regarding this A-bis +interface. It also implements drivers for mISDN and DAHDI-based E1 +cards, as well as some A-bis/IP dialects. + +%package -n libosmoabis-devel +Summary: Development files for the Osmocom GSM A-bis library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmoabis6 = %version +Requires: libosmocore-devel >= 0.3.0 +Requires: libosmogsm-devel >= 0.3.10 + +%description -n libosmoabis-devel +This library contains common/shared code regarding the GSM A-bis +interface. It also implements drivers for mISDN and DAHDI-based E1 +cards, as well as some A-bis/IP dialects. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoabis. + +%package -n libosmotrau2 +Summary: Osmocom GSM TRAU (E1/RTP) library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmotrau2 +This library implements the Transcoder and Rate Adaptation Unit (TRAU) for +GSM systems. +The TRAU enables the use of lower rates (32, 16 or 8 kbps) over the +A-bis interface instead of the 64 kbps ISDN rate for which the Mobile +Switching Center (MSC) is designed. + +%package -n libosmotrau-devel +Summary: Development files for the Osmocom TRAU (E1/RTP) library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmotrau2 = %version + +%description -n libosmotrau-devel +This library implements the Transcoder and Rate Adaptation Unit +(TRAU) for GSM systems. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmotrau. + +%prep +%setup -q +%patch -P 1 -p1 -F2 + +%build +echo "%version" >.tarball-version +autoreconf -fiv +# FIXME: Compiler warnings with ortp 0.24.2 result in hard-errors during rpm-postbuild-checks - should be fixed upstream +%if 0%{?sle_version} +export CFLAGS='%{optflags} -Wno-int-conversion' +%endif +%configure \ + --enable-shared \ + --disable-static \ + --disable-dahdi \ + --includedir="%_includedir/%name" +make %{?_smp_mflags} + +%install +b="%buildroot" +make %{?_smp_mflags} install DESTDIR="$b" +find "$b/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmoabis6 -p /sbin/ldconfig +%postun -n libosmoabis6 -p /sbin/ldconfig +%post -n libosmotrau2 -p /sbin/ldconfig +%postun -n libosmotrau2 -p /sbin/ldconfig + +%files -n libosmoabis6 +%defattr(-,root,root) +%_libdir/libosmoabis.so.6* + +%files -n libosmoabis-devel +%defattr(-,root,root) +%doc COPYING +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/abis/ +%_libdir/libosmoabis.so +%_libdir/pkgconfig/libosmoabis.pc + +%files -n libosmotrau2 +%defattr(-,root,root) +%_libdir/libosmotrau.so.2* + +%files -n libosmotrau-devel +%defattr(-,root,root) +%doc COPYING +%dir %_includedir/%name +%dir %_includedir/%name/osmocom +%_includedir/%name/osmocom/trau +%_libdir/libosmotrau.so +%_libdir/pkgconfig/libosmotrau.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: If40896b4711fe6739ec2ed35756c0afe821c8c00 Gerrit-Change-Number: 18273 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:43 +0000 Subject: Change in libosmo-netif[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18275 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I81f40799d71d493b60496261464364440390bc1c Gerrit-Change-Number: 18275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:00:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:00:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:00:51 +0000 Subject: Change in libosmo-netif[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18275 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I81f40799d71d493b60496261464364440390bc1c --- A contrib/libosmo-netif.spec 1 file changed, 89 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/libosmo-netif.spec b/contrib/libosmo-netif.spec new file mode 100644 index 0000000..90678b7 --- /dev/null +++ b/contrib/libosmo-netif.spec @@ -0,0 +1,89 @@ +# +# spec file for package libosmo-netif +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define version_unconverted 0.7.0.13 +Name: libosmo-netif +Version: 0.7.0.13 +Release: 0 +Summary: Osmocom library for muxed audio +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +URL: https://osmocom.org/projects/libosmo-netif +Source: %{name}-%{version}.tar.xz +BuildRequires: automake +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 + +%description +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif8 +Summary: Osmocom library for muxed audio +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmonetif8 +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif-devel +Summary: Development files for the Osmocom muxed audio library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmonetif8 = %{version} + +%description -n libosmonetif-devel +Network interface demuxer library for OsmoCom projects. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-netif. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure --enable-shared --disable-static --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmonetif8 -p /sbin/ldconfig +%postun -n libosmonetif8 -p /sbin/ldconfig + +%files -n libosmonetif8 +%{_libdir}/libosmonetif.so.8* + +%files -n libosmonetif-devel +%license COPYING +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/netif/ +%{_libdir}/libosmonetif.so +%{_libdir}/pkgconfig/libosmo-netif.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I81f40799d71d493b60496261464364440390bc1c Gerrit-Change-Number: 18275 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:01:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:01:08 +0000 Subject: Change in libsmpp34[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18279 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iacfa1f9a445abf7d6dc867c14c6237d9fc8750f7 Gerrit-Change-Number: 18279 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:01:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:01:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:01:13 +0000 Subject: Change in libsmpp34[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18279 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Iacfa1f9a445abf7d6dc867c14c6237d9fc8750f7 --- A contrib/libsmpp34.spec 1 file changed, 89 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/libsmpp34.spec b/contrib/libsmpp34.spec new file mode 100644 index 0000000..a6dd384 --- /dev/null +++ b/contrib/libsmpp34.spec @@ -0,0 +1,89 @@ +# +# spec file for package libsmpp34 +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define sover 1 +Name: libsmpp34 +Version: 1.14.0.1 +Release: 0 +Summary: PDU SMPP packaging and unpackaging tool +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: https://osmocom.org/projects/libsmpp34 +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf >= 2.57 +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(libxml-2.0) + +%description +The library provides the PDU handling of the SMPP-3.4 protocol. + +%package -n libsmpp34-%{sover} +Summary: SMPP-3.4 protocol library +License: LGPL-2.1-or-later +Group: System/Libraries + +%description -n libsmpp34-%{sover} +This library provides the Protocol Data Unit (PDU) handling of the +SMPP-3.4 protocol. SMPP (Short Message Peer-to-Peer) is a protocol +providing a data communication interface for the transfer of short +message data between External Short Messaging Entities, Routing +Entitites and Message Centres. + +%package -n libsmpp34-%{sover}-devel +Summary: Development files for the SMPP-3.4 protocol library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libsmpp34-%{sover} = %{version} + +%description -n libsmpp34-%{sover}-devel +The library provides the PDU handling of the SMPP-3.4 protocol. + +This subpackage contains libraries and header files for developing +applications that want to make use of libsmpp34. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --disable-static --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libsmpp34-%{sover} -p /sbin/ldconfig +%postun -n libsmpp34-%{sover} -p /sbin/ldconfig + +%files -n libsmpp34-%{sover} +%{_libdir}/libsmpp34.so.%{sover}* + +%files -n libsmpp34-%{sover}-devel +%license COPYING +%doc ChangeLog +%{_includedir}/%{name}/ +%{_libdir}/libsmpp34.so +%{_libdir}/pkgconfig/*.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Iacfa1f9a445abf7d6dc867c14c6237d9fc8750f7 Gerrit-Change-Number: 18279 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:01:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:01:30 +0000 Subject: Change in libosmo-sccp[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bee5cbb5752afa598d805166061b1f10af41ea Gerrit-Change-Number: 18277 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:01:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:01:39 +0000 Subject: Change in libosmo-sccp[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ic5bee5cbb5752afa598d805166061b1f10af41ea --- A contrib/libosmo-sccp.spec 1 file changed, 235 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/libosmo-sccp.spec b/contrib/libosmo-sccp.spec new file mode 100644 index 0000000..11d661c --- /dev/null +++ b/contrib/libosmo-sccp.spec @@ -0,0 +1,235 @@ +# +# spec file for package libosmo-sccp +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define libversion %(echo "%{version}" |sed 's/\\./_/g') +Name: libosmo-sccp +Version: 1.2.0.36 +Release: 0 +Summary: Osmocom library for the A-bis interface between BTS and BSC +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://projects.osmocom.org/projects/libosmo-sccp +#Git-Clone: git://git.osmocom.org/libosmo-sccp +Source: %{name}-%{version}.tar.xz +Patch0: 0001-build-fixes.patch +BuildRequires: automake >= 1.6 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: xz +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 + +%description +SCCP is a network layer protocol that provides extended routing, flow +control, segmentation, connection-orientation, and error correction +facilities in Signaling System 7 telecommunications networks. SCCP is +heavily used in cellular networks such as GSM. + +%package -n libosmo-mtp-%{libversion} +Summary: Osmocom Message Transfer Part library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-mtp-%{libversion} +The Message Transfer Part (MTP) is part of the Signaling System 7 +(SS7) used for communication in Public Switched Telephone Networks. +MTP is responsible for reliable, unduplicated and in-sequence +transport of SS7 messages between communication partners. + +%package -n libosmo-mtp-devel +Summary: Development files for the Osmocom MTP library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-mtp-%{libversion} = %{version} + +%description -n libosmo-mtp-devel +MTP is part of SS7 used for communication in Public Switched +Telephone Networks. + +This subpackage contains the development files for the Osmocom MTP +library. + +%package -n libosmo-sccp-%{libversion} +Summary: Osmocom Signalling Connection Control Part library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-sccp-%{libversion} +The Signalling Connection Control Part (SCCP) is a network layer +protocol that provides extended routing, flow control, segmentation, +connection-orientation, and error correction facilities in Signaling +System 7 telecommunications networks. SCCP relies on the services of +MTP for basic routing and error detection. + +%package -n libosmo-sccp-devel +Summary: Development files for the Osmocom SCCP library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sccp-%{libversion} = %{version} + +%description -n libosmo-sccp-devel +SCCP is a network layer protocol that provides routing, flow control, +segmentation, connection-orientation, and error correction facilities +in SS7 telecommunications networks. + +This subpackage contains the development files for the Osmocom SCCP +library. + +%package -n libosmo-sigtran5 +Summary: Osmocom SIGTRAN library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-sigtran5 +Osmocom implementation of (parts of) SIGTRAN. + +%package -n libosmo-sigtran-devel +Summary: Development files for the Osmocom sigtran library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sigtran5 = %{version} + +%description -n libosmo-sigtran-devel +Osmocom implementation of (parts of) SIGTRAN. + +This subpackage contains the development files for the Osmocom +SIGTRAN library. + +%package -n libosmo-xua-%{libversion} +Summary: Osmocom Message Transfer Part 2 User Adaptation library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-xua-%{libversion} +M2UA (RFC 3331) provides an SCTP (RFC 3873) adaptation layer for the +seamless backhaul of MTP Level 2 user messages and service interface +across an IP network. + +%package -n libosmo-xua-devel +Summary: Development files for the Osmocom M2UA library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-sigtran-devel = %{version} +Requires: libosmo-xua-%{libversion} = %{version} + +%description -n libosmo-xua-devel +M2UA provides an SCTP adaptation layer for MTP level 2 user messages +and service interface across an IP network. + +This subpackage contains the development files for the Osmocom M2UA +library. + +%package -n osmo-stp +Summary: Osmocom SIGTRAN STP (Signaling Transfer Point) +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-stp +This is the Osmocom (Open Source Mobile Communications) implementation +of a Signaling Transfer Point (STP) for SS7/SIGTRAN telecommunication +networks. At this point it is a very minimal implementation, missing +lots of the functionality usually present in a STP, such as Global Title +Routing, Global Title Translation. + +%prep +%setup -q +%patch0 -p1 + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure \ + --enable-shared \ + --disable-static \ + --includedir="%{_includedir}/%{name}" \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-mtp-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-mtp-%{libversion} -p /sbin/ldconfig +%post -n libosmo-sccp-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-sccp-%{libversion} -p /sbin/ldconfig +%post -n libosmo-sigtran5 -p /sbin/ldconfig +%postun -n libosmo-sigtran5 -p /sbin/ldconfig +%post -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%postun -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%preun -n osmo-stp %service_del_preun osmo-stp.service +%postun -n osmo-stp %service_del_postun osmo-stp.service +%pre -n osmo-stp %service_add_pre osmo-stp.service +%post -n osmo-stp %service_add_post osmo-stp.service + +%files -n libosmo-mtp-%{libversion} +%{_libdir}/libosmo-mtp-%{version}.so + +%files -n libosmo-mtp-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/mtp/ +%{_libdir}/libosmo-mtp.so +%{_libdir}/pkgconfig/libosmo-mtp.pc + +%files -n libosmo-sccp-%{libversion} +%{_libdir}/libosmo-sccp.so +%{_libdir}/libosmo-sccp-%{version}.so + +%files -n libosmo-sccp-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/sccp/ +%{_libdir}/pkgconfig/libosmo-sccp.pc + +%files -n libosmo-sigtran5 +%{_libdir}/libosmo-sigtran.so.5* + +%files -n libosmo-sigtran-devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/sigtran +%{_libdir}/libosmo-sigtran.so +%{_libdir}/pkgconfig/libosmo-sigtran.pc + +%files -n libosmo-xua-%{libversion} +%{_libdir}/libosmo-xua-%{version}.so + +%files -n libosmo-xua-devel +%{_libdir}/libosmo-xua.so +%{_libdir}/pkgconfig/libosmo-xua.pc + +%files -n osmo-stp +%{_bindir}/osmo-stp +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-stp.cfg +%{_unitdir}/osmo-stp.service +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-stp +%{_docdir}/%{name}/examples/osmo-stp/osmo-stp.cfg +%{_docdir}/%{name}/examples/osmo-stp/osmo-stp-multihome.cfg + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Ic5bee5cbb5752afa598d805166061b1f10af41ea Gerrit-Change-Number: 18277 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:02:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:02:25 +0000 Subject: Change in libasn1c[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18283 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: I7f20905413877c5b94cf0526dbef914a8148585f Gerrit-Change-Number: 18283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:02:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:02:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:02:34 +0000 Subject: Change in libasn1c[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18283 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I7f20905413877c5b94cf0526dbef914a8148585f --- A contrib/libasn1c.spec 1 file changed, 98 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/libasn1c.spec b/contrib/libasn1c.spec new file mode 100644 index 0000000..e05b3e9 --- /dev/null +++ b/contrib/libasn1c.spec @@ -0,0 +1,98 @@ +# +# spec file for package libasn1c +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: libasn1c +Version: 0.9.32.0 +Release: 0 +Summary: Osmocon ASN.1 decoder and encoder library +License: BSD-2-Clause +Group: Development/Libraries/C and C++ +Url: http://openbsc.osmocom.org/trac/ + +Source: %name-%version.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkg-config +BuildRequires: xz +BuildRequires: pkgconfig(libosmocore) >= 0.1.13 +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +Lev Walkins's asn1c runtime, as a shared library and with +modifications for Osmocom. + +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +%package -n libasn1c1 +Summary: Osmocon ASN.1 decoder and encoder library +Group: System/Libraries + +%description -n libasn1c1 +Lev Walkins's asn1c runtime, as a shared library and with +modifications for Osmocom. + +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +%package -n libasn1c-devel +Summary: Development files for libasn1c, Osmocom's ASN.1 decoder and encoder library +Group: Development/Libraries/C and C++ +Requires: libasn1c1 = %version +Requires: libtalloc-devel + +%description -n libasn1c-devel +Compiles ASN.1 data structures into C source structures that can be +simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER, +EXTENDED-XER, PER. + +This subpackage contains libraries and header files for developing +applications that want to make use of libasn1c. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure --disable-static +make %{?_smp_mflags} + +%install +%make_install +find "%buildroot/%_libdir" -type f -name "*.la" -delete + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libasn1c1 -p /sbin/ldconfig +%postun -n libasn1c1 -p /sbin/ldconfig + +%files -n libasn1c1 +%defattr(-,root,root) +%_libdir/libasn1c.so.1* + +%files -n libasn1c-devel +%defattr(-,root,root) +%doc COPYING +%_includedir/asn1c/ +%_libdir/pkgconfig/*.pc +%_libdir/libasn1c.so + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: I7f20905413877c5b94cf0526dbef914a8148585f Gerrit-Change-Number: 18283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:02:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:02:40 +0000 Subject: Change in libusrp[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18281 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I45edbd4ae5bca1194c17452e8fd3538742ca1ef0 Gerrit-Change-Number: 18281 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:02:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:02:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:02:46 +0000 Subject: Change in libusrp[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libusrp/+/18281 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I45edbd4ae5bca1194c17452e8fd3538742ca1ef0 --- A contrib/libusrp.spec 1 file changed, 128 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/libusrp.spec b/contrib/libusrp.spec new file mode 100644 index 0000000..2ba813a --- /dev/null +++ b/contrib/libusrp.spec @@ -0,0 +1,128 @@ +# +# spec file for package libusrp +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sover -3_4_4+git_20190808-0 +%define libname libusrp%{sover} +Name: libusrp +Version: 3.4.4+git.20190808 +Release: 0 +Summary: Stand-alone libusrp for USRP1 from old gnuradio.git +License: GPL-3.0-or-later +Group: Development/Libraries/C and C++ +URL: https://git.osmocom.org/libusrp +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: sdcc +%if 0%{?suse_version} < 1320 +BuildRequires: python +%else +BuildRequires: python2 +%endif +BuildRequires: pkgconfig(libusb-1.0) +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_date_time-devel +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_thread-devel +%else +BuildRequires: boost-devel +%endif + +%description +Stand-alone libusrp for USRP1 from old gnuradio.git. + +%package -n %{libname} +Summary: Stand-alone libusrp for USRP1 from old gnuradio.git +Group: System/Libraries + +%description -n %{libname} +Stand-alone libusrp for USRP1 from old gnuradio.git. + +%package devel +Summary: Development files for libusrp +Group: Development/Libraries/C and C++ +Requires: %{libname} = %{version} + +%description devel +Stand-alone libusrp for USRP1 from old gnuradio.git. + +This subpackage contains libraries and header files for developing +applications that want to make use of libusrp. + +%package -n usrp-tools +Summary: Tools for the URSP1 SDR +Group: Hardware/Other + +%description -n usrp-tools +Tools for the URSP1 SDR. + +%package -n usrp-firmware +Summary: Firmware files for the URSP1 SDR +Group: Hardware/Other +Requires: usrp-tools = %{version} +BuildArch: noarch + +%description -n usrp-firmware +Firmware files for the USRP1 SDR. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure +# parallel build is br0ken +# -> https://osmocom.org/issues/3970#change-15556 +make V=1 # %{?_smp_mflags} + +%install +%make_install +rm -f %{buildroot}%{_libdir}/libusrp.la +# FIXME: gnuradio swig stuff shouldn't be there +rm -rf %{buildroot}%{_includedir}/gnuradio/ +%fdupes %{buildroot}%{_datadir}/usrp + +%post -n %{libname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig + +%files -n usrp-tools +%{_bindir}/usrp_cal_dc_offset +%{_bindir}/usrper + +%files -n %{libname} +%{_libdir}/libusrp*.so.* + +%files -n usrp-firmware +%dir %{_datadir}/usrp +%{_datadir}/usrp/rev2 +%{_datadir}/usrp/rev4 + +%files devel +%{_includedir}/usrp +%{_libdir}/libusrp.so +%{_libdir}/pkgconfig/usrp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I45edbd4ae5bca1194c17452e8fd3538742ca1ef0 Gerrit-Change-Number: 18281 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:04:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:04:37 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:04:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:05:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:05:08 +0000 Subject: Change in osmo-pcu[master]: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18322 ) Change subject: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 Gerrit-Change-Number: 18322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:05:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:05:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 20:05:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 to look at the new patch set (#3). Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 90 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/53/18253/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:05:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:05:22 +0000 Subject: Change in osmo-pcu[master]: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18322 ) Change subject: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 Gerrit-Change-Number: 18322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:05:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:05:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:05:27 +0000 Subject: Change in osmo-pcu[master]: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18322 ) Change subject: pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() ...................................................................... pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack() Get rid of checking all conditions twice, and update one log message. Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 --- M src/tbf_ul.cpp M tests/tbf/TbfTest.err 2 files changed, 45 insertions(+), 40 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index fee9919..9899580 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -359,37 +359,42 @@ void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack( const gprs_rlc_data_info *rlc) { + bool require_ack = false; bool have_ti = rlc->block_info[0].ti || (rlc->num_data_blocks > 1 && rlc->block_info[1].ti); - if (rlc->si || have_ti || state_is(GPRS_RLCMAC_FINISHED) || - (m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) - { - if (rlc->si) { - LOGPTBFUL(this, LOGL_NOTICE, - "Scheduling Ack/Nack, because MS is stalled.\n"); - } - if (have_ti) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because TLLI is included.\n"); - } - if (state_is(GPRS_RLCMAC_FINISHED)) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because last block has CV==0.\n"); - } - if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling Ack/Nack, because %d frames received.\n", - SEND_ACK_AFTER_FRAMES); - } - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { - /* trigger sending at next RTS */ - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); - } else { - /* already triggered */ - LOGPTBFUL(this, LOGL_DEBUG, - "Sending Ack/Nack is already triggered, don't schedule!\n"); - } + if (rlc->si) { + require_ack = true; + LOGPTBFUL(this, LOGL_NOTICE, + "Scheduling Ack/Nack, because MS is stalled.\n"); + } + if (have_ti) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because TLLI is included.\n"); + } + if (state_is(GPRS_RLCMAC_FINISHED)) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); + } + if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { + require_ack = true; + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because %d frames received.\n", + SEND_ACK_AFTER_FRAMES); + } + + if (!require_ack) + return; + + if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { + /* trigger sending at next RTS */ + TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); + } else { + /* already triggered */ + LOGPTBFUL(this, LOGL_DEBUG, + "Sending Ack/Nack already scheduled, no need to re-schedule\n"); } } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ca16149..a1530c1 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1486,7 +1486,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 @@ -2112,7 +2112,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 === end test_tbf_dl_flow_and_rach_single_phase === @@ -3338,7 +3338,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=2 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3369,7 +3369,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=3 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3399,7 +3399,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=4 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -3422,7 +3422,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=5 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 ********** DL-TBF starts here ********** @@ -6718,7 +6718,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -6860,7 +6860,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7002,7 +7002,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) @@ -7471,7 +7471,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7613,7 +7613,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) max_cs_ul cannot be derived (current UL CS: UNKNOWN) @@ -7755,7 +7755,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack is already triggered, don't schedule! +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) max_cs_ul cannot be derived (current UL CS: UNKNOWN) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I95831991b01961e4b7faddb08d27133acb0ab4d4 Gerrit-Change-Number: 18322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:05:27 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 20:05:27 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG at 9 PS1, Line 9: We're sending multiple RESET messages to establish a conection with > I suppose due to timeout on a very laggy / high-RTT link, we retransmit the RESET and the MSC eventu [?] I don't know about high latency links, but even on a 10GbE connection MSC takes a few seconds to ACK to our RESET and since we retransmit it every 2s, we send 2-3 RESETs before receiving an ACK. I can share traces with RESET/ACL sequence if you're interested. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:05:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:06:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:06:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:06:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:07:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:07:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_countdown_procedure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 ) Change subject: pcu: Introduce test TC_countdown_procedure ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 Gerrit-Change-Number: 18260 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:07:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:08:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:08:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 ) Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321/2//COMMIT_MSG at 7 PS2, Line 7: TC_ul_intermediate_retrans please add at least one sentence about what this test does. Yes, something is intermediately re-transmitted, but it's notentirely obvious what exactly... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:08:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 20:09:23 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18330/1//COMMIT_MSG at 9 PS1, Line 9: We're sending multiple RESET messages to establish a conection with > I don't know about high latency links, but even on a 10GbE connection MSC takes a few seconds to ACK [?] so my point is that perhaps this log is iseful in the sense that it's indicating that the timer should be increased? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:09:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:09:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:09:24 +0000 Subject: Change in docker-playground[master]: ttcn3-hlr-tests: enable DGSM tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18268 ) Change subject: ttcn3-hlr-tests: enable DGSM tests ...................................................................... ttcn3-hlr-tests: enable DGSM tests Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d --- M ttcn3-hlr-test/HLR_Tests.cfg 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/ttcn3-hlr-test/HLR_Tests.cfg b/ttcn3-hlr-test/HLR_Tests.cfg index ba6fe3f..9258cea 100644 --- a/ttcn3-hlr-test/HLR_Tests.cfg +++ b/ttcn3-hlr-test/HLR_Tests.cfg @@ -9,8 +9,7 @@ [MODULE_PARAMETERS] HLR_Tests.mp_hlr_ip := "172.18.10.20" -# Set to true after I2fe453553c90e6ee527ed13a13089900efd488aa is merged -HLR_Tests.mp_hlr_supports_dgsm := false +HLR_Tests.mp_hlr_supports_dgsm := true [MAIN_CONTROLLER] -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4bcf5a5d76325edb104cd09620a22dbe371531d Gerrit-Change-Number: 18268 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:10:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:10:38 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:10:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:11:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:11:32 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:11:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:12:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:12:30 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 6: Code-Review+1 please add a "Requres: libosmocore.git $Change-Id" as it requires a specific chane-id in libosmocore. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:12:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:12:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:12:56 +0000 Subject: Change in osmo-bsc[master]: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18327 ) Change subject: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d Gerrit-Change-Number: 18327 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:12:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:13:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:13:00 +0000 Subject: Change in osmo-bsc[master]: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18327 ) Change subject: A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() ...................................................................... A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom() Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d --- M src/osmo-bsc/abis_nm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 32e9a8f..4ed0602 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -901,10 +901,10 @@ abis_nm_tlv_parse(&tp, bts, foh->data, oh->length-sizeof(*foh)); if (TLVP_PRESENT(&tp, NM_ATT_NACK_CAUSES)) - DEBUGPC(DNM, "CAUSE=%s\n", + LOGPC(DNM, LOGL_NOTICE, "CAUSE=%s\n", abis_nm_nack_cause_name(*TLVP_VAL(&tp, NM_ATT_NACK_CAUSES))); else - DEBUGPC(DNM, "\n"); + LOGPC(DNM, LOGL_NOTICE, "\n"); nack_data.msg = mb; nack_data.mt = mt; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d Gerrit-Change-Number: 18327 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:13:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:13:21 +0000 Subject: Change in osmo-bts[master]: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18326 ) Change subject: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 Gerrit-Change-Number: 18326 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:13:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:13:26 +0000 Subject: Change in osmo-bts[master]: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18326 ) Change subject: oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice ...................................................................... oml: fix oml_mo_tx_sw_act_rep(): do not allocate FOM header twice This redundant call to msgb_put() appends five '00'O octets to the "Software Activated Report" message, so they look like an unknown attribute(s). I accidentally noticed this in Wireshark. Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 --- M src/common/oml.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/oml.c b/src/common/oml.c index 7a62faa..7e3b834 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -472,7 +472,6 @@ if (!nmsg) return -ENOMEM; - msgb_put(nmsg, sizeof(struct abis_om_fom_hdr)); return oml_mo_send_msg(mo, nmsg, NM_MT_SW_ACTIVATED_REP); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7377575135f4a154572891d1b5b39ff814b97f38 Gerrit-Change-Number: 18326 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:13:44 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 20:13:44 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 to look at the new patch set (#2). Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... log: Demote "CHAN RQD: reason" to DEBUG The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to DEBUG. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/31/18331/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:13:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:13:47 +0000 Subject: Change in osmocom-bb[master]: trxcon: use buffer size macros for TRXC/TRXD messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18318 ) Change subject: trxcon: use buffer size macros for TRXC/TRXD messages ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:13:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:14:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:14:11 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: implement hopping sequence generation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18261 ) Change subject: trx_toolkit/gsm_shared.py: implement hopping sequence generation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd Gerrit-Change-Number: 18261 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:14:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:14:16 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 20:14:16 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > I would even go as far as to move it to DEBUG. ok, changed to DEBUG -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:14:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:15:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:15:20 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 2: Code-Review+1 It might make sense to add that "a" is commonly known as "synthesizer frequency hopping" whereas "b" is known as "baseband frequency hopping" -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:15:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:16:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:16:18 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18319 ) Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:16:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:16:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:16:38 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/rand_burst_gen.py: use list comprehension In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18325 ) Change subject: trx_toolkit/rand_burst_gen.py: use list comprehension ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 Gerrit-Change-Number: 18325 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:16:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:17:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:17:13 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use list comprehension for bit conversion In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18324 ) Change subject: trx_toolkit/data_msg.py: use list comprehension for bit conversion ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 Gerrit-Change-Number: 18324 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:17:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:17:18 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use list comprehension for bit conversion In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18324 ) Change subject: trx_toolkit/data_msg.py: use list comprehension for bit conversion ...................................................................... trx_toolkit/data_msg.py: use list comprehension for bit conversion This approach is much better than buf.append() in terms of performance. Consider the following bit conversion benchmark code: usbits = [random.randint(0, 254) for i in range(GSM_BURST_LEN)] ubits = [int(b > 128) for b in usbits] for i in range(100000): sbits = DATAMSG.usbit2sbit(usbits) assert(DATAMSG.sbit2usbit(sbits) == usbits) sbits = DATAMSG.ubit2sbit(ubits) assert(DATAMSG.sbit2ubit(sbits) == ubits) === Before this patch: 59603795 function calls (59603761 primitive calls) in 11.357 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 59200093 3.389 0.000 3.389 0.000 {method 'append' of 'list' objects} 100000 2.212 0.000 3.062 0.000 data_msg.py:191(usbit2sbit) 100000 1.920 0.000 2.762 0.000 data_msg.py:214(sbit2ubit) 100000 1.835 0.000 2.677 0.000 data_msg.py:204(sbit2usbit) 100000 1.760 0.000 2.613 0.000 data_msg.py:224(ubit2sbit) === After this patch: 803794 function calls (803760 primitive calls) in 3.547 seconds Ordered by: internal time ncalls tottime percall cumtime percall filename:lineno(function) 100000 1.284 0.000 1.284 0.000 data_msg.py:203() 100000 0.864 0.000 0.864 0.000 data_msg.py:193() 100000 0.523 0.000 0.523 0.000 data_msg.py:198() 100000 0.500 0.000 0.500 0.000 data_msg.py:208() 1 0.237 0.237 3.547 3.547 data_msg.py:25() 100000 0.035 0.000 0.899 0.000 data_msg.py:191(usbit2sbit) 100000 0.035 0.000 0.558 0.000 data_msg.py:196(sbit2usbit) 100000 0.033 0.000 0.533 0.000 data_msg.py:206(ubit2sbit) 100000 0.033 0.000 1.317 0.000 data_msg.py:201(sbit2ubit) So the new implementation is ~70% faster in this case, and takes significantly less function calls according to cProfile [1]. [1] https://docs.python.org/3.8/library/profile.html Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 6 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 8710702..35e09d6 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -190,45 +190,22 @@ # Converts unsigned soft-bits {254..0} to soft-bits {-127..127} @staticmethod def usbit2sbit(bits): - buf = [] - - for bit in bits: - if bit == 0xff: - buf.append(-127) - else: - buf.append(127 - bit) - - return buf + return [-127 if (b == 0xff) else 127 - b for b in bits] # Converts soft-bits {-127..127} to unsigned soft-bits {254..0} @staticmethod def sbit2usbit(bits): - buf = [] - - for bit in bits: - buf.append(127 - bit) - - return buf + return [127 - b for b in bits] # Converts soft-bits {-127..127} to bits {1..0} @staticmethod def sbit2ubit(bits): - buf = [] - - for bit in bits: - buf.append(1 if bit < 0 else 0) - - return buf + return [int(b < 0) for b in bits] # Converts bits {1..0} to soft-bits {-127..127} @staticmethod def ubit2sbit(bits): - buf = [] - - for bit in bits: - buf.append(-127 if bit else 127) - - return buf + return [-127 if b else 127 for b in bits] # Validates the message fields (throws ValueError) def validate(self): @@ -426,11 +403,7 @@ # Generate a random message specific burst def rand_burst(self, length = GSM_BURST_LEN): - self.burst = [] - - for i in range(length): - ubit = random.randint(0, 1) - self.burst.append(ubit) + self.burst = [random.randint(0, 1) for i in range(length)] # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): @@ -836,14 +809,10 @@ # Generate a random message specific burst def rand_burst(self, length = None): - self.burst = [] - if length is None: length = self.mod_type.bl - for i in range(length): - sbit = random.randint(-127, 127) - self.burst.append(sbit) + self.burst = [random.randint(-127, 127) for i in range(length)] # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I01c07160064c8107e5db7d913ac6dec6fc419945 Gerrit-Change-Number: 18324 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:17:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:17:18 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/rand_burst_gen.py: use list comprehension In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18325 ) Change subject: trx_toolkit/rand_burst_gen.py: use list comprehension ...................................................................... trx_toolkit/rand_burst_gen.py: use list comprehension See previous commit, TL;DR this approach is significantly faster. Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 --- M src/target/trx_toolkit/rand_burst_gen.py 1 file changed, 5 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/rand_burst_gen.py b/src/target/trx_toolkit/rand_burst_gen.py index be4b696..a56467f 100644 --- a/src/target/trx_toolkit/rand_burst_gen.py +++ b/src/target/trx_toolkit/rand_burst_gen.py @@ -57,8 +57,7 @@ buf += [0] * 3 # Random data 1 / 2 - for i in range(0, 57): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(57)] # Steal flag 1 / 2 buf.append(random.randint(0, 1)) @@ -72,8 +71,7 @@ buf.append(random.randint(0, 1)) # Random data 2 / 2 - for i in range(0, 57): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(57)] # Tailing bits buf += [0] * 3 @@ -92,8 +90,7 @@ buf += [0] * 3 # Random data 1 / 2 - for i in range(0, 39): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(39)] # Training sequence if tsc is None: @@ -101,8 +98,7 @@ buf += tsc.seq # Random data 2 / 2 - for i in range(0, 39): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(39)] # Tailing bits buf += [0] * 3 @@ -126,8 +122,7 @@ buf += tsc.seq # Random data - for i in range(0, 36): - buf.append(random.randint(0, 1)) + buf += [random.randint(0, 1) for i in range(36)] # Tailing bits buf += [0] * 3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I5dc0dda89443d2763bfae50cc402724935cc91b3 Gerrit-Change-Number: 18325 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:17:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:17:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use leading zeros in endpoint identifiers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 ) Change subject: MGCP_Test: do not use leading zeros in endpoint identifiers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77 Gerrit-Change-Number: 18320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:17:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:18:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:18:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use leading zeros in endpoint identifiers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 ) Change subject: MGCP_Test: do not use leading zeros in endpoint identifiers ...................................................................... MGCP_Test: do not use leading zeros in endpoint identifiers The endpoint number of a virtual endpoint must not use leading zeros but, but the testcase MGCP_Test.TC_crcx_dlcx_30ep does. Lets not do this as it violates the spec. See also: RFC 3435, section E.3. Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77 Related: OS#2659 --- M mgw/MGCP_Test.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 77eed4b..0de5308 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1420,7 +1420,11 @@ f_init(); for (ep_nr := 1; ep_nr < 30; ep_nr := ep_nr+1) { - ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 2)) & "@" & c_mgw_domain; + if(ep_nr > 15) { + ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 2)) & "@" & c_mgw_domain; + } else { + ep := c_mgw_ep_rtpbridge & hex2str(int2hex(ep_nr, 1)) & "@" & c_mgw_domain; + } call_id := int2hex(ep_nr, 2) & '1234'H; f_crcx_and_dlcx_ep_callid_connid(ep, call_id); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I99d2fa76cb60d0d671c9413f3dbd711ec68aeb77 Gerrit-Change-Number: 18320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:20:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 20:20:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259/3/pcu/PCU_Tests.ttcn at 547 PS3, Line 547: inout uint14_t bsn > Rather add it to RAW_PCU_Test_CT, so there would be no need to maintain this variable in every test [?] Makes sense, I will apply it but if you don't mind I'll do that in next patches since it requires several line changing in several patches already submitted and in my branch (with refactoring moving to other file and more). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:20:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:20:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 20:20:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 to look at the new patch set (#3). Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Introduce test TC_ul_intermediate_retrans Test Verifies that if PCU doesn't get one of the intermediate UL data blocks in a UL TBF, it will request retransmission through UL ACK/NACK (with missing block in its bitmap) when CV=0 is received (and hence it knows no more data is to be transferred). This test fails as of current osmo-pcu master, and it's fixed there by osmo-pcu.git Change-Id I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1. Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d --- M pcu/PCU_Tests.ttcn 1 file changed, 95 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/18321/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:20:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:20:35 +0000 Subject: Change in pysim[master]: commands: add features to verify data written to files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18211 ) Change subject: commands: add features to verify data written to files ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7be842004102f4998af376790c97647c107be3d5 Gerrit-Change-Number: 18211 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:20:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:20:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:20:46 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:20:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:20:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:20:56 +0000 Subject: Change in pysim[master]: cards: reset uninitalized EF.AD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18206 ) Change subject: cards: reset uninitalized EF.AD ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e Gerrit-Change-Number: 18206 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 20:20:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:21:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:21:42 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 20:21:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:21:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:21:48 +0000 Subject: Change in libosmo-netif[master]: amr: Fix OA<->BWE conversion. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18265 ) Change subject: amr: Fix OA<->BWE conversion. ...................................................................... amr: Fix OA<->BWE conversion. Size of a single AMR frame doesn't always shrink by a byte when converted from octet-aligned to bandwidth-efficient mode. It does shrink for AMR modes 2, 3, 4, 6, and 7 but doesn't shrink for AMR modes 0, 1, 5, and SID frames because we only remove 6 bits. So old code generated truncated AMR packets for those AMR modes. This patch fixes the length calculation by properly counting bits. Proper bit counting is also bringing us one small step closer to properly handlig multi-frame AMR packets. Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 --- M include/osmocom/netif/amr.h M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 4 files changed, 164 insertions(+), 83 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/netif/amr.h b/include/osmocom/netif/amr.h index 6e37c99..c5a8e28 100644 --- a/include/osmocom/netif/amr.h +++ b/include/osmocom/netif/amr.h @@ -78,20 +78,34 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 -/* AMR voice frame length (in bytes, rounded), - * See also RFC 3267, chapter 3.6 */ -#define AMR_FT_0_LEN 12 /* 4.75 */ -#define AMR_FT_1_LEN 13 /* 5.15 */ -#define AMR_FT_2_LEN 15 /* 5.90 */ -#define AMR_FT_3_LEN 17 /* 6.70 */ -#define AMR_FT_4_LEN 19 /* 7.40 */ -#define AMR_FT_5_LEN 20 /* 7.95 */ -#define AMR_FT_6_LEN 26 /* 10.2 */ -#define AMR_FT_7_LEN 31 /* 12.2 */ -#define AMR_FT_SID_LEN 5 /* SID */ - -/* NOTE: the above constant refers to the length of one AMR speech frame-block, +/* AMR voice frame length (in bits). + * See also RFC 3267, chapter 3.6. + * + * NOTE: These constants refer to the length of one AMR speech frame-block, * not counting CMR, TOC. */ +#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ +#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ +#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ +#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ +#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ +#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ +#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ +#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ +#define AMR_FT_SID_LEN_BITS 39 /* SID */ + +/* AMR voice frame length (in bytes, rounded). + * + * NOTE: These constants refer to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ +#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ +#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ +#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ +#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ +#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ +#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ +#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ +#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ +#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); diff --git a/src/amr.c b/src/amr.c index 5609c46..e4c7bb5 100644 --- a/src/amr.c +++ b/src/amr.c @@ -29,6 +29,18 @@ * 7 12.20 244 31 */ +static size_t amr_ft_to_bits[AMR_FT_MAX] = { + [AMR_FT_0] = AMR_FT_0_LEN_BITS, + [AMR_FT_1] = AMR_FT_1_LEN_BITS, + [AMR_FT_2] = AMR_FT_2_LEN_BITS, + [AMR_FT_3] = AMR_FT_3_LEN_BITS, + [AMR_FT_4] = AMR_FT_4_LEN_BITS, + [AMR_FT_5] = AMR_FT_5_LEN_BITS, + [AMR_FT_6] = AMR_FT_6_LEN_BITS, + [AMR_FT_7] = AMR_FT_7_LEN_BITS, + [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, +}; + static size_t amr_ft_to_bytes[AMR_FT_MAX] = { [AMR_FT_0] = AMR_FT_0_LEN, [AMR_FT_1] = AMR_FT_1_LEN, @@ -41,6 +53,11 @@ [AMR_FT_SID] = AMR_FT_SID_LEN, }; +size_t osmo_amr_bits(uint8_t amr_ft) +{ + return amr_ft_to_bits[amr_ft]; +} + size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -119,8 +136,10 @@ int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) { struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int ft = oa_hdr->ft; unsigned int frame_len = payload_len - sizeof(struct amr_hdr); unsigned int i; + int bwe_payload_len; /* This implementation is not capable to handle multi-frame * packets, so we need to make sure that the frame we operate on @@ -128,6 +147,10 @@ if (oa_hdr->f != 0) return -1; + /* Check for valid FT (AMR mode) value */ + if (!osmo_amr_ft_valid(oa_hdr->ft)) + return -1; + /* Move TOC close to CMR */ payload[0] |= (payload[1] >> 4) & 0x0f; payload[1] = (payload[1] << 4) & 0xf0; @@ -137,8 +160,10 @@ payload[i + 2] = payload[i + 2] << 6; } - /* The overall saving is one byte! */ - return payload_len - 1; + /* Calculate new payload length */ + bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + + return bwe_payload_len; } /*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. @@ -150,8 +175,10 @@ unsigned int payload_maxlen) { uint8_t buf[256]; - unsigned int frame_len = payload_len - 1; + /* The header is only valid after shifting first two bytes to OA mode */ + struct amr_hdr *oa_hdr; unsigned int i; + int oa_payload_len; memset(buf, 0, sizeof(buf)); @@ -165,12 +192,18 @@ buf[1] = payload[0] << 4; buf[1] |= (payload[1] >> 4) & 0x0c; - for (i = 0; i < frame_len - 1; i++) { + /* Calculate new payload length */ + oa_hdr = (struct amr_hdr *)buf; + if (!osmo_amr_ft_valid(oa_hdr->ft)) + return -1; + oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); + + for (i = 0; i < oa_payload_len - 2; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } buf[i + 2] = payload[i + 1] << 2; - memcpy(payload, buf, payload_len + 1); - return payload_len + 1; + memcpy(payload, buf, oa_payload_len); + return oa_payload_len; } diff --git a/tests/amr/amr_test.c b/tests/amr/amr_test.c index fff686c..2f41fe9 100644 --- a/tests/amr/amr_test.c +++ b/tests/amr/amr_test.c @@ -44,7 +44,10 @@ "100c4e9ba850e30d5d53d04de41e7c", "100c6c18e7b7fff53aeb055e7d1c54", "100c1fb967f7f1fdf547bf2e61c060", - "a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* test pattern */ + "0004f89d67f1160935bde1996840", + "0004633cc7f0630439ffe0000000", + "0004eb81fc0758973b9edc782552", + "a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* sample with invalid FT */ "END", }; @@ -56,7 +59,7 @@ "f3d39a49a09e7a802852e297e8c9246aadf5a45928bfc27177fed8404d97d3b8", "f3c2155b65131c68682079fab4810911200003b360ae0446000025f11e539dd0", "f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00", - "a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f", /* test pattern */ + "a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f", /* sample with invalid FT */ "END", }; @@ -87,7 +90,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(oa_amr_samples[i]); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -102,11 +104,6 @@ dump_bits(buf, rc); printf("\n"); printf(" rc: %i\n", rc); - - if (rc > 0) { - OSMO_ASSERT(rc == len - 1); - OSMO_ASSERT(buf[len - 1] == 0x00); - } i++; } } @@ -126,7 +123,6 @@ return; printf("\n"); printf("Sample No.: %i\n", i); - len = strlen(bwe_amr_samples[i]); len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); @@ -142,7 +138,6 @@ printf("\n"); printf(" rc: %i\n", rc); - OSMO_ASSERT(rc == len + 1); i++; } } @@ -151,6 +146,8 @@ { uint8_t buf[256]; uint8_t buf_chk[256]; + struct amr_hdr *oa_hd = (struct amr_hdr *)buf; + unsigned int ft; unsigned int i = 0; int len; @@ -163,18 +160,28 @@ while (1) { if (strcmp(oa_amr_samples[i], "END") == 0) return; - printf("Sample No.: %i...\n", i); - len = strlen(oa_amr_samples[i]); + printf("Sample No.: %i...", i); len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); OSMO_ASSERT(len > 0); + i++; + + ft = oa_hd->ft; + if (!osmo_amr_ft_valid(ft)) { + printf(" skipping a sample with a wrong FT\n"); + continue; + } + OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); + printf(" AMR mode: %d, OA: %d bytes,", ft, len); memcpy(buf_chk, buf, sizeof(buf)); rc = osmo_amr_oa_to_bwe(buf, len); OSMO_ASSERT(rc > 0); + printf(" BE: %d bytes,", rc); rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); + printf(" OA: %d bytes\n", rc); + OSMO_ASSERT(len == rc); OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); - i++; } } diff --git a/tests/amr/amr_test.ok b/tests/amr/amr_test.ok index ea34fea..af1be82 100644 --- a/tests/amr/amr_test.ok +++ b/tests/amr/amr_test.ok @@ -47,23 +47,23 @@ Sample No.: 6 octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 - bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c - 010100101110011000101010111000010000011110010010010001111111110111101000011010010101010101000000010110101000110010101000111100011111111001000100110010000100000110001100 - rc: 21 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 + 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 + rc: 22 Sample No.: 7 octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 - bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc - 010100101111000101010001011001101000001101001000000000111001110000100101111100010011011111111010000110111011001000110100100111111100010111010101101101011101110110111100 - rc: 21 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 + 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 + rc: 22 Sample No.: 8 octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 - bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae3020 - 010100101101000010101100110011001000001000000110000001001111010111111010010001011011100111101010100101111010000000110101111111110111101000000100101011100011000000100000 - rc: 21 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 + 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 + rc: 22 Sample No.: 9 octet aligned: 40240343e959c79bacd20c77501054880a718db200 @@ -110,30 +110,51 @@ Sample No.: 15 octet aligned: 100c4e9ba850e30d5d53d04de41e7c 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 - bw-efficient: 10d3a6ea1438c35754f41379079f - 0001000011010011101001101110101000010100001110001100001101010111010101001111010000010011011110010000011110011111 - rc: 14 + bw-efficient: 10d3a6ea1438c35754f41379079f00 + 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 + rc: 15 Sample No.: 16 octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 - bw-efficient: 10db0639edfffd4ebac1579f4715 - 0001000011011011000001100011100111101101111111111111110101001110101110101100000101010111100111110100011100010101 - rc: 14 + bw-efficient: 10db0639edfffd4ebac1579f471500 + 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 + rc: 15 Sample No.: 17 octet aligned: 100c1fb967f7f1fdf547bf2e61c060 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 - bw-efficient: 10c7ee59fdfc7f7d51efcb987018 - 0001000011000111111011100101100111111101111111000111111101111101010100011110111111001011100110000111000000011000 - rc: 14 + bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 + 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 + rc: 15 Sample No.: 18 - octet aligned: a038ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc - 101000000011100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 - bw-efficient: a3bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f - 1010001110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - rc: 32 + octet aligned: 0004f89d67f1160935bde1996840 + 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 + bw-efficient: 007e2759fc45824d6f78665a1000 + 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 + rc: 14 + +Sample No.: 19 + octet aligned: 0004633cc7f0630439ffe0000000 + 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 + bw-efficient: 0058cf31fc18c10e7ff800000000 + 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 + rc: 14 + +Sample No.: 20 + octet aligned: 0004eb81fc0758973b9edc782552 + 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010 + bw-efficient: 007ae07f01d625cee7b71e095480 + 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010010000000 + rc: 14 + +Sample No.: 21 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + bw-efficient: + (no data) + rc: -1 Testing conversion from bw-efficient to octet-aligned: @@ -141,16 +162,16 @@ Sample No.: 0 bw-efficient: f4495c7cda8f80 11110100010010010101110001111100110110101000111110000000 - octet aligned: f0442571f36a3e00 - 1111000001000100001001010111000111110011011010100011111000000000 - rc: 8 + octet aligned: f0442571f36a3e + 11110000010001000010010101110001111100110110101000111110 + rc: 7 Sample No.: 1 bw-efficient: f44aaa6c969780 11110100010010101010101001101100100101101001011110000000 - octet aligned: f0442aa9b25a5e00 - 1111000001000100001010101010100110110010010110100101111000000000 - rc: 8 + octet aligned: f0442aa9b25a5e + 11110000010001000010101010101001101100100101101001011110 + rc: 7 Sample No.: 2 bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 @@ -183,31 +204,34 @@ Sample No.: 6 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc - 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 - rc: 33 + octet aligned: + (no data) + rc: -1 Testing conversion from octet-aligned to bw-efficient and inverse: -Sample No.: 0... -Sample No.: 1... -Sample No.: 2... -Sample No.: 3... -Sample No.: 4... -Sample No.: 5... -Sample No.: 6... -Sample No.: 7... -Sample No.: 8... -Sample No.: 9... -Sample No.: 10... -Sample No.: 11... -Sample No.: 12... -Sample No.: 13... -Sample No.: 14... -Sample No.: 15... -Sample No.: 16... -Sample No.: 17... -Sample No.: 18... +Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 21... skipping a sample with a wrong FT Testing detection of octet-aligned mode payloads: @@ -230,6 +254,9 @@ Sample No.: 16 ==>octet aligned Sample No.: 17 ==>octet aligned Sample No.: 18 ==>octet aligned +Sample No.: 19 ==>octet aligned +Sample No.: 20 ==>octet aligned +Sample No.: 21 ==>bandwith efficient Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I0462e054a0adc9080456f3eeea9cab7c229cdb70 Gerrit-Change-Number: 18265 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:21:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:21:49 +0000 Subject: Change in libosmo-netif[master]: amr: Whitespace fix In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18317 ) Change subject: amr: Whitespace fix ...................................................................... amr: Whitespace fix Change-Id: I7da6813a501ee97ca54611f627870c7eb842ddbe --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/amr.c b/src/amr.c index e4c7bb5..980d6ad 100644 --- a/src/amr.c +++ b/src/amr.c @@ -120,7 +120,7 @@ /* Match the length of the received payload against the expected frame * length that is defined by the frame type. */ - if(!osmo_amr_ft_valid(oa_hdr->ft)) + if (!osmo_amr_ft_valid(oa_hdr->ft)) return false; frame_len = osmo_amr_bytes(oa_hdr->ft); if (frame_len != payload_len - sizeof(struct amr_hdr)) -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I7da6813a501ee97ca54611f627870c7eb842ddbe Gerrit-Change-Number: 18317 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 16 May 2020 20:22:48 +0000 Subject: Change in osmo-bts[master]: measurement: expect at least 1 SUB frame for AMR In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/17929 ) Change subject: measurement: expect at least 1 SUB frame for AMR ...................................................................... measurement: expect at least 1 SUB frame for AMR The amount of SUB frames that may occur in AMR is not fixed, nor can it be determined by some formular or lookup table. The reason for this is that the DTX period may negotiated dynamicly. This means that the lower layers must make the decision if an AMR sub frame is a SUB frame early and tag the repective measurement / frame they hand up to the upper layers accordingly. However, regardles of the occurrence of DTX periods the amount of SUB frames in AMR must be always 1 or more because SACCH frames always count as SUB frames as well. Lets make sure that this is respected in the debug log as well as in the logic that tries to substitue missing SUB frame measuremnets. Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Related: OS#4465 --- M src/common/measurement.c 1 file changed, 48 insertions(+), 19 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/measurement.c b/src/common/measurement.c index 3ee9ffe..3170e4a 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -571,10 +571,11 @@ if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) num_meas_sub_expect = lchan_meas_sub_num_expected(lchan); else { - /* FIXME: the amount of SUB Measurements is a dynamic parameter - * in AMR and can not be determined by using a lookup table. - * See also: OS#2978 */ - num_meas_sub_expect = 0; + /* When AMR is used, we expect at least one SUB frame, since + * the SACCH will always be SUB frame. There may occur more + * SUB frames but since DTX periods in AMR are dynamic, we + * can not know how much exactly. */ + num_meas_sub_expect = 1; } if (lchan->meas.num_ul_meas > num_ul_meas_expect) @@ -618,9 +619,16 @@ num_ul_meas_actual++; } else { m = &measurement_dummy; - if (num_ul_meas_expect - i <= num_meas_sub_expect - num_meas_sub) { - num_meas_sub_subst++; - is_sub = true; + + /* For AMR the amount of SUB frames is defined by the + * the occurrence of DTX periods, which are dynamically + * negotiated in AMR, so we can not know if and how many + * SUB frames are missing. */ + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + if (num_ul_meas_expect - i <= num_meas_sub_expect - num_meas_sub) { + num_meas_sub_subst++; + is_sub = true; + } } num_ul_meas_subst++; @@ -633,21 +641,42 @@ } } - LOGP(DMEAS, LOGL_DEBUG, "%s received UL measurements contain %u SUB measurements, expected %u\n", - gsm_lchan_name(lchan), num_meas_sub_actual, num_meas_sub_expect); + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + LOGP(DMEAS, LOGL_DEBUG, + "%s received UL measurements contain %u SUB measurements, expected %u\n", + gsm_lchan_name(lchan), num_meas_sub_actual, + num_meas_sub_expect); + } else { + LOGP(DMEAS, LOGL_DEBUG, + "%s received UL measurements contain %u SUB measurements, expected at least %u\n", + gsm_lchan_name(lchan), num_meas_sub_actual, + num_meas_sub_expect); + } + LOGP(DMEAS, LOGL_DEBUG, "%s replaced %u measurements with dummy values, from which %u were SUB measurements\n", gsm_lchan_name(lchan), num_ul_meas_subst, num_meas_sub_subst); - if (num_meas_sub != num_meas_sub_expect) { - LOGP(DMEAS, LOGL_ERROR, "%s Incorrect number of SUB measurements detected! (%u vs exp %u)\n", - gsm_lchan_name(lchan), num_meas_sub, num_meas_sub_expect); - /* Normally the logic above should make sure that there is - * always the exact amount of SUB measurements taken into - * account. If not then the logic that decides tags the received - * measurements as is_sub works incorrectly. Since the logic - * above only adds missing measurements during the calculation - * it can not remove excess SUB measurements or add missing SUB - * measurements when there is no more room in the interval. */ + /* Normally the logic above should make sure that there is + * always the exact amount of SUB measurements taken into + * account. If not then the logic that decides tags the received + * measurements as is_sub works incorrectly. Since the logic + * above only adds missing measurements during the calculation + * it can not remove excess SUB measurements or add missing SUB + * measurements when there is no more room in the interval. */ + if (lchan->tch_mode != GSM48_CMODE_SPEECH_AMR) { + if (num_meas_sub != num_meas_sub_expect) { + LOGP(DMEAS, LOGL_ERROR, + "%s Incorrect number of SUB measurements detected! (%u vs exp %u)\n", + gsm_lchan_name(lchan), num_meas_sub, + num_meas_sub_expect); + } + } else { + if (num_meas_sub < num_meas_sub_expect) { + LOGP(DMEAS, LOGL_ERROR, + "%s Incorrect number of SUB measurements detected! (%u vs exp >=%u)\n", + gsm_lchan_name(lchan), num_meas_sub, + num_meas_sub_expect); + } } /* Measurement computation step 2: divide */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/17929 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1fd91b576ff7274caa6d4356bcd7a4fa4311219d Gerrit-Change-Number: 17929 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 20:28:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 20:28:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Move all GPRS helper function to its own file and component This is a first step towards refactoring of all functions to use MS and Ul/DlTBF objects containing state. Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 --- A pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 619 insertions(+), 549 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/18333/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn new file mode 100644 index 0000000..d31f1f4 --- /dev/null +++ b/pcu/GPRS_Components.ttcn @@ -0,0 +1,616 @@ +module GPRS_Components { +/* + * Osmocom PCU test suite in TTCN-3, components for GPRS handlng + * (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_GMM_SM_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; + +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; + +import from NS_Types all; +import from BSSGP_Types all; +import from Osmocom_Gb_Types all; + +import from BSSGP_Emulation all; /* BssgpConfig */ +import from NS_Emulation all; /* NSConfiguration */ + +import from UD_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_Components all; +import from IPL4asp_Types all; +import from Native_Functions all; +import from SGSN_Components all; + +type component GPRS_MS_CT { + port RAW_PCU_MSG_PT BTS; + + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ + var uint4_t g_bs_cv_max := 4; +} + +function f_shutdown(charstring file, integer line, + boolean final := false) +runs on GPRS_MS_CT { + /* Determine if the test case was aborted in the middle */ + if (not final) { + log("Test case ", testcasename(), " aborted at ", file, ":", line); + } else { + /* Guard verdict to avoid 'none' */ + setverdict(pass); + } + + /* Properly shutdown virtual BTS and its clock generator */ + BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); + + /* Shutdown the others and MTC */ + all component.stop; + mtc.stop; +} + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) +runs on GPRS_MS_CT return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else if (ischosen(dl_block.data_egprs)) { + return dl_block.data_egprs.mac_hdr.tfi; + } else { /* Ctrl block */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + } + } + setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ +} + +/* Get the Chan coding command from a dl block containing PACCH UL Assignment */ +function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) +runs on GPRS_MS_CT return CodingScheme { + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { + return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); + } + setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return CS_1; /* make compiler happy */ +} + +/* TS 44.060 sec 12.3 Ack/Nack Description */ +function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) +{ + var uint7_t bsn; + var integer i; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; + /* Filling hole? */ + if (bsn < desc.starting_seq_nr) { + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); + return; + } + + /* SSN is increased, and so RBB values need to be moved */ + for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { + desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; + } + for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { + desc.receive_block_bitmap[i] := int2bit(0, 1); + } + /* Now we can set current bit and update SSN */ + desc.starting_seq_nr := bsn + 1; + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); + + /* Finally update the final_ack bit as requested: */ + desc.final_ack := final_ack; +} + +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on GPRS_MS_CT { + var PCUIF_Message pcu_msg_cnf := { + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); +} + +function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) +runs on GPRS_MS_CT return boolean { + var PCUIF_Message pcu_msg; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + } + } + + return false; +} + +/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ +const BIT8 chan_req_def := '01111000'B; + +/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ +function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on GPRS_MS_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (is_11bit != 0) { ra := 127; } + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(false, ra, fn), + bts_nr := bts_nr); +} + +function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) +runs on GPRS_MS_CT { + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { + ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +runs on GPRS_MS_CT { + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { + dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match DL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on GPRS_MS_CT { + var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := fn, arfcn := 871, lqual_cb := lqual_cb)); + if (fn != 0) { + ev_param := {tdma_fn := fn }; + } + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) +runs on GPRS_MS_CT { + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; +} + +/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ +function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) +runs on GPRS_MS_CT { + var PCUIF_Message pcu_msg; + var octetstring macblock; + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + /* First 3 bytes contain paging group: */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_imm_ass := dec_GsmRrMessage(macblock); + if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { + setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + f_pcuif_tx_data_cnf(pcu_msg); +} + +/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ +function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, + template integer pag_group := ?) +runs on GPRS_MS_CT return GsmRrMessage { + var GsmRrMessage rr_pag_req1; + var PCUIF_Message pcu_msg; + var octetstring imsi_suff_octstr; + var integer pag_group_rx; + var octetstring macblock; + + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + + /* First 3 bytes contain IMSI suffix to calculate paging group: */ + imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); + pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + str2int(oct2char(imsi_suff_octstr[1])) * 10 + + str2int(oct2char(imsi_suff_octstr[2])); + + /* Make sure we've got RR Paging Request Type 1 for a given MI */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_pag_req1 := dec_GsmRrMessage(macblock); + if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { + setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure that received paging froup matches the expected one */ + if (not match(pag_group_rx, pag_group)) { + setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); + f_shutdown(__BFILE__, __LINE__); + } + + f_pcuif_tx_data_cnf(pcu_msg); + return rr_pag_req1; +} + +/* Send one rlcmac UL block adding necessary extra padding at the end. + * returns length of extra padding added at the end, in octets. + * FIXME: Only supports CS-1 so far. + */ +function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on GPRS_MS_CT return integer { + var octetstring data; + var integer padding_len; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_pcuif_tx_data_ind(data, lqual_cb, fn); + return padding_len; +} + +function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +runs on GPRS_MS_CT return octetstring { + var octetstring total_payload := ''O; + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := tfi, + cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* To be generated in loop */ + blocks := { /* To be generated in loop */ }); + + if (not istemplatekind(tlli, "omit")) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := tlli; + } + + for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); + /* Prepare a new UL block (CV, random payload) */ + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + ul_data.data.mac_hdr.countdown := cv; + ul_data.data.mac_hdr.bsn := bsn + i; + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; + padding_len := f_tx_rlcmac_ul_block(ul_data); + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); + } + bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ + return total_payload; +} + +function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) +runs on GPRS_MS_CT { + var PCUIF_Message pcu_msg; + f_pcuif_rx_data_req(pcu_msg); + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); + dl_fn := pcu_msg.u.data_req.fn; + + var integer len := lengthof(pcu_msg.u.data_req.data); + var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) + if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { + setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + + +function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) +runs on GPRS_MS_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { + setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); + f_shutdown(__BFILE__, __LINE__); + } +} + +/* This function does what could probably be done with templates */ +function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, + template (present) octetstring data := ?, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on GPRS_MS_CT { + if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); + } + + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); + f_shutdown(__BFILE__, __LINE__); + } + + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); + f_shutdown(__BFILE__, __LINE__); + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: check exp_cs */ +} + +/* This function does what could probably be done with templates */ +function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, + template (present) octetstring data := ?, + template (present) uint14_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on GPRS_MS_CT { + if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); + } + + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); + f_shutdown(__BFILE__, __LINE__); + } + + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); + f_shutdown(__BFILE__, __LINE__); + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ +function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, + template (present) octetstring data := ?, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on GPRS_MS_CT { + /* FIXME: ideally we should use an alt statement with timeout here, rather than + * having +100500 layers of abstraction. This would facilitate developing the + * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received + * block is exactly what you need. */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + + /* Make sure it's either GPRS or EGPRS data block */ + if (not match(dl_block, tr_RLCMAC_DATA)) { + setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); + f_shutdown(__BFILE__, __LINE__); + } + + if (ischosen(dl_block.data_egprs)) { + f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); + } else if (ischosen(dl_block.data)) { + f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); + } else { + /* Should not happen, but the caller may theoretically give us a template for CTRL */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) +runs on GPRS_MS_CT return uint32_t { + var boolean rrbp_valid; + var MacRrbp rrbp; + + /* The argument must be either a GPRS or EGPRS data block */ + if (ischosen(dl_block.data_egprs)) { + rrbp_valid := true; /* always valid */ + rrbp := dl_block.data_egprs.mac_hdr.rrbp; + } else if (ischosen(dl_block.data)) { + rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; + rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; + } else { + rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; + rrbp := dl_block.ctrl.mac_hdr.rrbp; + } + + /* Make sure that the given block really needs to be ACKnowledged */ + if (not rrbp_valid) { + setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); + f_shutdown(__BFILE__, __LINE__); + } + + return f_rrbp_ack_fn(dl_fn, rrbp); +} + +function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) +runs on GPRS_MS_CT { + if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { + setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", + "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); + f_shutdown(__BFILE__, __LINE__); + } +} + +} diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 43ed7c5..8f85a4a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -49,6 +49,7 @@ import from IPL4asp_Types all; import from Native_Functions all; import from SGSN_Components all; +import from GPRS_Components all; modulepar { charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; @@ -100,14 +101,12 @@ uint8_t high } -type component RAW_PCU_Test_CT extends bssgp_CT { +type component RAW_PCU_Test_CT extends bssgp_CT, GPRS_MS_CT { /* PCU interface abstraction component */ var RAW_PCUIF_CT vc_PCUIF; /* Virtual BTS component */ var RAW_PCU_BTS_CT vc_BTS; - /* Connection to the BTS component (one for now) */ - port RAW_PCU_MSG_PT BTS; /* Connection to the PCUIF component */ port RAW_PCU_MSG_PT PCUIF; /* VTY connection to the PCU */ @@ -136,9 +135,6 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; - /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ - var uint4_t g_bs_cv_max := 4; - var boolean g_egprs_only := false; var boolean g_force_two_phase_access := false; @@ -247,540 +243,6 @@ mtc.stop; } -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B -} - -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT return uint5_t { - if (ischosen(dl_block.data)) { - return dl_block.data.mac_hdr.hdr_ext.tfi; - } else if (ischosen(dl_block.data_egprs)) { - return dl_block.data_egprs.mac_hdr.tfi; - } else { /* Ctrl block */ - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { - return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { - return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; - } - } - setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); - f_shutdown(__BFILE__, __LINE__); - return 0; /* make compiler happy */ -} - -/* Get the Chan coding command from a dl block containing PACCH UL Assignment */ -private function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT return CodingScheme { - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { - return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { - return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); - } - setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); - f_shutdown(__BFILE__, __LINE__); - return CS_1; /* make compiler happy */ -} - -/* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) -{ - var uint7_t bsn; - var integer i; - var integer inc; - - if (ischosen(dl_block.data)) { - bsn := dl_block.data.mac_hdr.hdr_ext.bsn; - } else { - bsn := dl_block.data_egprs.mac_hdr.bsn1; - } - - inc := bsn - desc.starting_seq_nr + 1; - /* Filling hole? */ - if (bsn < desc.starting_seq_nr) { - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); - return; - } - - /* SSN is increased, and so RBB values need to be moved */ - for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { - desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; - } - for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { - desc.receive_block_bitmap[i] := int2bit(0, 1); - } - /* Now we can set current bit and update SSN */ - desc.starting_seq_nr := bsn + 1; - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); - - /* Finally update the final_ack bit as requested: */ - desc.final_ack := final_ack; -} - -/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. - * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ -private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg_cnf := { - msg_type := PCU_IF_MSG_DATA_CNF, - bts_nr := pcu_msg.bts_nr, - spare := pcu_msg.spare, - u := { data_cnf := pcu_msg.u.data_req } - }; - - /* PCU wants DATA.cnf containing basically everything that was in DATA.req, - * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, - pcu_msg.u.data_req.len - 3); - } - - BTS.send(pcu_msg_cnf); -} - -private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) -runs on RAW_PCU_Test_CT return boolean { - var PCUIF_Message pcu_msg; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - setverdict(pass); - return true; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - } - } - - return false; -} - -/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ -private const BIT8 chan_req_def := '01111000'B; - -/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := bit2int(chan_req_def), - uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) -runs on RAW_PCU_Test_CT return boolean { - var uint32_t fn; - - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (is_11bit != 0) { ra := 127; } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn), - bts_nr := bts_nr); -} - -private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) -runs on RAW_PCU_Test_CT { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; - BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, - sapi := PCU_IF_SAPI_PDTCH, data := data, - fn := fn, arfcn := 871, lqual_cb := lqual_cb)); - if (fn != 0) { - ev_param := {tdma_fn := fn }; - } - BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); -} - -/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ -private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH, fn := 0, - arfcn := 871, block_nr := 0)); - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; -} - -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - f_shutdown(__BFILE__, __LINE__); - } - f_pcuif_tx_data_cnf(pcu_msg); -} - -/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, - template integer pag_group := ?) -runs on RAW_PCU_Test_CT return GsmRrMessage { - var GsmRrMessage rr_pag_req1; - var PCUIF_Message pcu_msg; - var octetstring imsi_suff_octstr; - var integer pag_group_rx; - var octetstring macblock; - - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - - /* First 3 bytes contain IMSI suffix to calculate paging group: */ - imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); - pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + - str2int(oct2char(imsi_suff_octstr[1])) * 10 + - str2int(oct2char(imsi_suff_octstr[2])); - - /* Make sure we've got RR Paging Request Type 1 for a given MI */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_pag_req1 := dec_GsmRrMessage(macblock); - if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { - setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure that received paging froup matches the expected one */ - if (not match(pag_group_rx, pag_group)) { - setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - f_shutdown(__BFILE__, __LINE__); - } - - f_pcuif_tx_data_cnf(pcu_msg); - return rr_pag_req1; -} - -/* Send one rlcmac UL block adding necessary extra padding at the end. - * returns length of extra padding added at the end, in octets. - * FIXME: Only supports CS-1 so far. - */ -private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT return integer { - var octetstring data; - var integer padding_len; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - padding_len := 23 - lengthof(data); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); - return padding_len; -} - -private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on RAW_PCU_Test_CT return octetstring { - var octetstring total_payload := ''O; - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := tfi, - cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* To be generated in loop */ - blocks := { /* To be generated in loop */ }); - - if (not istemplatekind(tlli, "omit")) { - ul_data.data.mac_hdr.tlli_ind := true; - ul_data.data.tlli := tlli; - } - - for (var integer i := 0; i < num_blocks; i := i + 1) { - var integer padding_len; - var octetstring payload := f_rnd_octstring(10); - /* Prepare a new UL block (CV, random payload) */ - var integer cv := num_blocks - i - 1; - if (cv > g_bs_cv_max) { - cv := 15; - } - ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := bsn + i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; - padding_len := f_tx_rlcmac_ul_block(ul_data); - total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); - } - bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ - return total_payload; -} - -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - f_pcuif_rx_data_req(pcu_msg); - dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); - dl_fn := pcu_msg.u.data_req.fn; - - var integer len := lengthof(pcu_msg.u.data_req.data); - var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) - if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { - setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { - setverdict(fail, "Failed to match Packet DUMMY DL"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - - -private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { - setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - f_shutdown(__BFILE__, __LINE__); - } -} - -/* This function does what could probably be done with templates */ -private function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, - template (present) octetstring data := ?, - template (present) uint7_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); - } - - if (lengthof(data_block.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", data_block); - f_shutdown(__BFILE__, __LINE__); - } - - if (not match(data_block.blocks[0].payload, data)) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", - data_block.blocks[0].payload, " vs ", data); - f_shutdown(__BFILE__, __LINE__); - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", - data_block.blocks[1].payload); - f_shutdown(__BFILE__, __LINE__); - } - - /* TODO: check exp_cs */ -} - -/* This function does what could probably be done with templates */ -private function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, - template (present) octetstring data := ?, - template (present) uint14_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); - } - - if (lengthof(data_block.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", data_block); - f_shutdown(__BFILE__, __LINE__); - } - - if (not match(data_block.blocks[0].payload, data)) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", - data_block.blocks[0].payload, " vs ", data); - f_shutdown(__BFILE__, __LINE__); - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", - data_block.blocks[1].payload); - f_shutdown(__BFILE__, __LINE__); - } - - /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. - See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ -} - -/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, - template (present) octetstring data := ?, - template (present) uint7_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - /* FIXME: ideally we should use an alt statement with timeout here, rather than - * having +100500 layers of abstraction. This would facilitate developing the - * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received - * block is exactly what you need. */ - f_rx_rlcmac_dl_block(dl_block, dl_fn); - - /* Make sure it's either GPRS or EGPRS data block */ - if (not match(dl_block, tr_RLCMAC_DATA)) { - setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); - f_shutdown(__BFILE__, __LINE__); - } - - if (ischosen(dl_block.data_egprs)) { - f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); - } else if (ischosen(dl_block.data)) { - f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); - } else { - /* Should not happen, but the caller may theoretically give us a template for CTRL */ - setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) -runs on RAW_PCU_Test_CT return uint32_t { - var boolean rrbp_valid; - var MacRrbp rrbp; - - /* The argument must be either a GPRS or EGPRS data block */ - if (ischosen(dl_block.data_egprs)) { - rrbp_valid := true; /* always valid */ - rrbp := dl_block.data_egprs.mac_hdr.rrbp; - } else if (ischosen(dl_block.data)) { - rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; - rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; - } else { - rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; - rrbp := dl_block.ctrl.mac_hdr.rrbp; - } - - /* Make sure that the given block really needs to be ACKnowledged */ - if (not rrbp_valid) { - setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); - f_shutdown(__BFILE__, __LINE__); - } - - return f_rrbp_ack_fn(dl_fn, rrbp); -} - testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); var GprsTlli tlli := 'FFFFFFFF'O; @@ -2038,15 +1500,6 @@ } } -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) -runs on RAW_PCU_Test_CT { - if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { - setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", - "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - f_shutdown(__BFILE__, __LINE__); - } -} - /* Test CS paging over the BTS<->PCU socket. * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. * Paging should be send on the PACCH. diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 15cdd80..70138bf 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -25,6 +25,7 @@ import from RLCMAC_CSN1_Types all; import from RLCMAC_Types all; import from RLCMAC_Templates all; +import from GPRS_Components all; import from PCU_Tests all; type component dummy_CT extends BSSGP_Client_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:02:29 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 22:02:29 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. lchans under a BORKEN/NOT_INITIALIZED TS should be counted as used just as BORKEN lchans under a normal TS. Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/18334/1 diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 27c49cd..fd919e7 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -86,6 +86,14 @@ continue; pl->total++; + + /* lchans under a BORKEN/NOT_INITIALIZED TS should + * be counted as used just as BORKEN lchans under + * a normal TS */ + if (!ts_is_usable(ts)) { + pl->used++; + continue; + } switch (lchan->fi->state) { case LCHAN_ST_UNUSED: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:09:29 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 22:09:29 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 to look at the new patch set (#8). Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... bssap: Handle BSSMAP CONFUSION message. We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 --- M TODO-RELEASE M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 4 files changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18232/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:10:19 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 22:10:19 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 8: > Patch Set 6: Code-Review+1 > > please add a "Requres: libosmocore.git $Change-Id" as it requires a specific chane-id in libosmocore. Added and updated TODO-RELEASE -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 16 May 2020 22:10:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:34:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 22:34:25 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... Patch Set 2: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 72 PS2, Line 72: pl->total++; here, avoid increasing total if ts is not available. Or even above by calling continue; https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 89 PS2, Line 89: whitespace https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 93 PS2, Line 93: if (!ts_is_usable(ts)) { I think it makes sense to simply not increment pl->total above if this case is matched. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 22:34:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:36:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 22:36:19 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 8: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/8/TODO-RELEASE File TODO-RELEASE: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/8/TODO-RELEASE at 11 PS8, Line 11: libosmocore struct gsm0808_diagnostics Depends on "gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding." commit Please, in description use: "Depends on libosmocore > 1.3.0". -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 22:36:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:44:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 22:44:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add initial support for Packet Uplink Ack/nack EGPRS Struct References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 ) Change subject: Add initial support for Packet Uplink Ack/nack EGPRS Struct ...................................................................... Add initial support for Packet Uplink Ack/nack EGPRS Struct Some stuff like EGPRS Ack/Nack description is still not implemented, but it's enouh for now to be able to match against this kind of ACK blocks. Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn M pcu/GPRS_Components.ttcn 4 files changed, 102 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/18335/1 diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 772df13..eebda7f 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -217,4 +217,32 @@ multi_block_alloc := omit }; + template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *) := { + ch_coding_cmd := ?, + ack_nack_desc := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + pkt_ta_present := ?, + pkt_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + }; + + template UlAckNackEgprs tr_UlAckNackEgprs(template GprsTlli tlli := *) := { + ch_coding_cmd := ?, + resegment := ?, + preemptive_tx := ?, + prr_retrans_req := ?, + arac_retrans_req := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + tbf_est := ?, + pkt_ta_present := ?, + pkt_ta := *, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + }; + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index d4c6efd..1f1fb0a 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -395,14 +395,44 @@ variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" variant (cont_res_tlli) "BYTEORDER(first)" }; + type record UlAckNackEgprs { + EgprsChCodingCommand ch_coding_cmd, + BIT1 resegment, + BIT1 preemptive_tx, + BIT1 prr_retrans_req, + BIT1 arac_retrans_req, + BIT1 cont_res_tlli_present, + GprsTlli cont_res_tlli optional, + BIT1 tbf_est, + BIT1 pkt_ta_present, + PacketTimingAdvance pkt_ta optional, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 pwr_ctrl_present, + PowerControlParameters pwr_ctrl optional + /* TODO: TS 44.060 12.3.1 EGPRS Ack/Nack Description */ + /* EgprsAckNackDescription ack_nack_desc, */ + /* BIT1 not_used('0'B) */ + /* TODO: Extension Bits, Rel5 ,... */ + } with { + variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '1'B)" + variant (pkt_ta) "PRESENCE(pkt_ta_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" + variant (cont_res_tlli) "BYTEORDER(first)" + }; type record PacketUlAckNack { PageMode page_mode, BIT2 msg_excape ('00'B), uint5_t uplink_tfi, - BIT1 is_egprs ('0'B), /* msg escape */ - UlAckNackGprs gprs optional + BIT1 is_egprs, + UlAckNackGprs gprs optional, + UlAckNackEgprs egprs optional /* TODO: EGPRS */ - } with { variant (gprs) "PRESENCE(is_egprs = '0'B)" }; + } with { + variant (gprs) "PRESENCE(is_egprs = '0'B)" + variant (egprs) "PRESENCE(is_egprs = '1'B)" + }; /* 11.2.8 Packet Downlink Dummy Control Block */ type record PacketDlDummy { diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 1774197..0ffa840 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -508,7 +508,7 @@ } /* Receive Template for Uplink ACK/NACK */ - template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi) := { ctrl := { mac_hdr := { payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), @@ -524,22 +524,44 @@ page_mode := ?, msg_excape := ?, uplink_tfi := ul_tfi, - is_egprs := '0'B, - gprs := { - ch_coding_cmd := ?, - ack_nack_desc := ?, - cont_res_tlli_present := ?, - cont_res_tlli := tlli, - pkt_ta_present := ?, - pkt_ta := *, - pwr_ctrl_present := ?, - pwr_ctrl := * - } + is_egprs := ?, + gprs := *, + egprs := * } } } } - } + }; + + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK_GPRS(template uint5_t ul_tfi, template UlAckNackGprs gprs := tr_UlAckNackGprs(*)) + modifies tr_RLCMAC_UL_ACK_NACK := { + ctrl := { + payload := { + u := { + ul_ack_nack := { + is_egprs := '0'B, + gprs := gprs, + egprs := omit + } + } + } + } + }; + + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK_EGPRS(template uint5_t ul_tfi, template UlAckNackEgprs egprs := tr_UlAckNackEgprs(*)) + modifies tr_RLCMAC_UL_ACK_NACK := { + ctrl := { + payload := { + u := { + ul_ack_nack := { + is_egprs := '1'B, + gprs := omit, + egprs := egprs + } + } + } + } + }; template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { ctrl := { diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index d31f1f4..ae21001 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -414,12 +414,13 @@ var uint32_t dl_fn; f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - f_shutdown(__BFILE__, __LINE__); + if (match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) or + match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + return; } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); } function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f Gerrit-Change-Number: 18335 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:44:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 22:44:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Expect UL ACK/NACK after all UL data is transmitted References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 ) Change subject: pcu: Expect UL ACK/NACK after all UL data is transmitted ...................................................................... pcu: Expect UL ACK/NACK after all UL data is transmitted This is needed since osmo-pcu.git I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1, where a bug was fixed in which osmo-pcu was not sending UL ACK/NACK under some conditions. Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 --- M pcu/PCU_Tests.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/18336/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8f85a4a..016bf61 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1044,6 +1044,7 @@ var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; + var uint32_t unused_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); var CodingScheme cs_mcs; @@ -1109,6 +1110,9 @@ /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + /* PCU acks the UL data after having received CV=0) */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 Gerrit-Change-Number: 18336 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:47:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 22:47:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 1: Once this is merged I will continue with adding Ms, UlTbf/DlTbf records and keeping state there, updating functions to use them. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 22:47:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 22:49:52 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 16 May 2020 22:49:52 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18337 ) Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. Not sure why this specific message is ERROR while similar ones around are DEBUG. So let's fix this disparity by demoting this message level. Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/18337/1 diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4ed8d49..d091a4a 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1687,7 +1687,7 @@ } break; case RSL_MT_EST_CONF: - LOG_LCHAN(msg->lchan, LOGL_ERROR, "SAPI=%u ESTABLISH CONFIRM\n", sapi); + LOG_LCHAN(msg->lchan, LOGL_DEBUG, "SAPI=%u ESTABLISH CONFIRM\n", sapi); msg->lchan->sapis[sapi] = LCHAN_SAPI_NET; rll_indication(msg->lchan, rllh->link_id, BSC_RLLR_IND_EST_CONF); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 16 23:09:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 16 May 2020 23:09:57 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18337 ) Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 16 May 2020 23:09:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 05:40:23 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 05:40:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 ) Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 05:40:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 05:44:12 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 05:44:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 ) Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 17 May 2020 05:44:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 06:39:20 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 17 May 2020 06:39:20 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18337 ) Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 17 May 2020 06:39:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 06:43:18 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 17 May 2020 06:43:18 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... Patch Set 2: I would have gone with INFO as intermediate level. It's one of the few message that shows up on the BSC when a channel is open IIRC (from memory) and that's useful to see without having to go with full on DEBUG which is _very_ verbose and hard to read. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 17 May 2020 06:43:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:23:34 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18337 ) Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 17 May 2020 07:23:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:24:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:24:11 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: tnt Gerrit-Comment-Date: Sun, 17 May 2020 07:24:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:24:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:24:53 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:24:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:25:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:25:16 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... Removed Code-Review+2 by laforge -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: tnt Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:25:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:25:47 +0000 Subject: Change in osmo-bsc[master]: bssmap: Ignore repeated BSSMAP RESET ACK messages. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18330 ) Change subject: bssmap: Ignore repeated BSSMAP RESET ACK messages. ...................................................................... bssmap: Ignore repeated BSSMAP RESET ACK messages. We're sending multiple RESET messages to establish a conection with an MSC and MSC can (and often will) respond with multiple RESET ACK messages. We should not treat this as an ERROR as it used to be in the original code. Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 --- M src/osmo-bsc/a_reset.c 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index f990e63..713be86 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -103,6 +103,9 @@ case EV_N_CONNECT: reset_ctx->conn_loss_counter = 0; break; + case EV_RESET_ACK: + LOGPFSML(fi, LOGL_INFO, "Received a duplicated BSSMAP RESET ACK, ignoring\n"); + break; } } @@ -140,7 +143,7 @@ .onenter = fsm_disc_onenter_cb, }, [ST_CONN] = { - .in_event_mask = (1 << EV_N_DISCONNECT) | (1 << EV_N_CONNECT), + .in_event_mask = (1 << EV_N_DISCONNECT) | (1 << EV_N_CONNECT) | (1 << EV_RESET_ACK), .out_state_mask = (1 << ST_DISC) | (1 << ST_CONN), .name = "CONN", .action = fsm_conn_cb, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1 Gerrit-Change-Number: 18330 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:26:07 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:26:07 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/gsm_shared.py: implement hopping sequence generation In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18261 ) Change subject: trx_toolkit/gsm_shared.py: implement hopping sequence generation ...................................................................... trx_toolkit/gsm_shared.py: implement hopping sequence generation Based on firmware/layer1/rfch.c:rfch_hop_seq_gen() by Sylvain Munaut. Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd --- M src/target/trx_toolkit/gsm_shared.py 1 file changed, 73 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/gsm_shared.py b/src/target/trx_toolkit/gsm_shared.py index 71f43a7..c8c6b8f 100644 --- a/src/target/trx_toolkit/gsm_shared.py +++ b/src/target/trx_toolkit/gsm_shared.py @@ -2,9 +2,10 @@ # -*- coding: utf-8 -*- # TRX Toolkit -# Common GSM constants +# Common GSM constants and helpers # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -106,3 +107,73 @@ return ts return None + +class HoppingParams: + """ Hopping sequence generation as per 3GPP TS 45.002, section 6.2.3. + + Based on firmware/layer1/rfch.c:rfch_hop_seq_gen() by Sylvain Munaut. + + """ + + # Magic numbers for pseudo-random hopping sequence generation + RNTABLE = [ + 48, 98, 63, 1, 36, 95, 78, 102, 94, 73, + 0, 64, 25, 81, 76, 59, 124, 23, 104, 100, + 101, 47, 118, 85, 18, 56, 96, 86, 54, 2, + 80, 34, 127, 13, 6, 89, 57, 103, 12, 74, + 55, 111, 75, 38, 109, 71, 112, 29, 11, 88, + 87, 19, 3, 68, 110, 26, 33, 31, 8, 45, + 82, 58, 40, 107, 32, 5, 106, 92, 62, 67, + 77, 108, 122, 37, 60, 66, 121, 42, 51, 126, + 117, 114, 4, 90, 43, 52, 53, 113, 120, 72, + 16, 49, 7, 79, 119, 61, 22, 84, 9, 97, + 91, 15, 21, 24, 46, 39, 93, 105, 65, 70, + 125, 99, 17, 123, + ] + + def __init__(self, hsn, maio, ma): + # Make sure MA is not empty + ma_len = len(ma) + if ma_len == 0: # TODO: or rather > 1? + raise ValueError("Mobile Allocation is empty") + + self.hsn = hsn + self.maio = maio + self.ma = ma + + # Pre-calculate 2 ** NBIN in advance + self._pnm = (ma_len >> 0) | (ma_len >> 1) \ + | (ma_len >> 2) | (ma_len >> 3) \ + | (ma_len >> 4) | (ma_len >> 5) \ + | (ma_len >> 6) + + def __str__(self): + fmt = "hsn=%u, maio=%u, ma_len=%u" + return fmt % (self.hsn, self.maio, len(self.ma)) + + @staticmethod + def fn2gsm_time(fn): + t1 = fn // (26 * 51) + t2 = fn % 26 + t3 = fn % 51 + tc = (fn // 51) % 8 + return (t1, t2, t3, tc) + + # Resolve current ARFCN using the given TDMA frame number + def resolve(self, fn): + # Cyclic hopping + if self.hsn == 0: + mai = (fn + self.maio) % len(self.ma) + return self.ma[mai] + + # Pseudo random hopping + (t1, t2, t3, tc) = self.fn2gsm_time(fn) + ma_len = len(self.ma) + + rn_idx = (self.hsn ^ (t1 & 63)) + t3 + m = t2 + self.RNTABLE[rn_idx] + mp = m & self._pnm + + s = mp if mp < ma_len else (mp + t3 & self._pnm) % ma_len + mai = (s + self.maio) % ma_len + return self.ma[mai] -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9ecabfef6f5a4e4180956c6a019c386ccb1c9acd Gerrit-Change-Number: 18261 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:26:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:26:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 ) Change subject: pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only ...................................................................... pcu: Introduce TC_mo_ping_pong_with_ul_racap_egprs_only Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff --- M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 90 insertions(+), 5 deletions(-) Approvals: Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index be751d7..1774197 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -93,6 +93,46 @@ return CS_1; } + function f_rlcmac_block_ChCodingCommand2cs_mcs(ChCodingCommand chcc) return CodingScheme { + select (chcc) { + case (CH_CODING_CS1) { return CS_1; } + case (CH_CODING_CS2) { return CS_2; } + case (CH_CODING_CS3) { return CS_3; } + case (CH_CODING_CS4) { return CS_4; } + } + return CS_1; + } + + function f_rlcmac_block_EgprsChCodingCommand2cs_mcs(EgprsChCodingCommand echcc) return CodingScheme { + select (echcc) { + case (CH_CODING_MCS1) { return MCS_1; } + case (CH_CODING_MCS2) { return MCS_2; } + case (CH_CODING_MCS3) { return MCS_3; } + case (CH_CODING_MCS4) { return MCS_4; } + case (CH_CODING_MCS5) { return MCS_5; } + case (CH_CODING_MCS6) { return MCS_6; } + case (CH_CODING_MCS7) { return MCS_7; } + case (CH_CODING_MCS8) { return MCS_8; } + case (CH_CODING_MCS9) { return MCS_9; } + /* CH_CODING_MCS5_7 */ + /* CH_CODING_MCS6_9 */ + } + return MCS_1; + } + + /* 1 -> CS_1 / MCS_1, 2 -> CS_2 / MCS_2, etc. */ + function f_rlcmac_block_int2cs_mcs(integer n, boolean is_mcs) return CodingScheme { + var CodingScheme cs_mcs; + if (not is_mcs) { + int2enum(n - 1, cs_mcs); + return cs_mcs; + } else { + cs_mcs := MCS_0; + int2enum(enum2int(cs_mcs) + n, cs_mcs); + return cs_mcs; + } + } + /* Coding and Puncturing Scheme indicator field for Header type 1 in EGPRS TBF or EC TBF or downlink EGPRS2 TBF */ function f_rlcmac_cps_htype1_to_mcs(uint3_t cps) return CodingScheme { var CodingSchemeArray egprs_Header_type1_coding_puncturing_scheme_to_mcs := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 18189fa..81ff8be 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -262,6 +262,20 @@ return 0; /* make compiler happy */ } +/* Get the Chan coding command from a dl block containing PACCH UL Assignment */ +private function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) +runs on RAW_PCU_Test_CT return CodingScheme { + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { + return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); + } + setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return CS_1; /* make compiler happy */ +} + /* TS 44.060 sec 12.3 Ack/Nack Description */ private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) { @@ -1465,7 +1479,10 @@ /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ -private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { +private function f_TC_mo_ping_pong_2phase_access(template (value) MSRadioAccessCapabilityV ms_racap, + template (present) CodingScheme exp_ul_cs_mcs := ?, + template (present) CodingScheme exp_dl_cs_mcs := ?) +runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; var PacketUlAssign ul_tbf_ass; var PacketDlAssign dl_tbf_ass; @@ -1477,6 +1494,7 @@ var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var CodingScheme cs_mcs; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); @@ -1509,10 +1527,15 @@ setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); f_shutdown(__BFILE__, __LINE__); } + cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); + if (not match(cs_mcs, exp_ul_cs_mcs)) { + setverdict(fail, "Wrong CS_MCS ", cs_mcs, " received vs exp ", exp_ul_cs_mcs); + f_shutdown(__BFILE__, __LINE__); + } /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); /* TODO: send using cs_mcs */ //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ @@ -1528,7 +1551,7 @@ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ - f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); /* ACK the DL block */ f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); @@ -1544,9 +1567,29 @@ gprsextendeddynalloccap := '0'B }; var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; - var CodingScheme exp_cs_mcs := CS_2; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, false); + var CodingScheme exp_dl_cs_mcs := CS_2; - f_TC_mo_ping_pong_2phase_access(ms_racap, exp_cs_mcs); + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); +} + +testcase TC_mo_ping_pong_with_ul_racap_egprs_only() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction with EGPRS-only */ + g_egprs_only := true; + + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MultislotCap_EGPRS mscap_egprs := { + egprsmultislotclass := '00011'B, + egprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, mscap_egprs)) }; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, true); + var CodingScheme exp_dl_cs_mcs := MCS_1; + + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); } /* Test scenario where SGSN wants to send some data against MS and it is @@ -2108,6 +2151,8 @@ execute( TC_egprs_pkt_chan_req_signalling() ); execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); + + execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I396dbd0ca200fbf9365c534f4d479f903d0417ff Gerrit-Change-Number: 18253 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:26:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:26:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_force_two_phase_access In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 ) Change subject: Introduce test TC_force_two_phase_access ...................................................................... Introduce test TC_force_two_phase_access Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d --- M pcu/PCU_Tests.ttcn 1 file changed, 29 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 81ff8be..044d368 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -137,6 +137,7 @@ var uint8_t g_mcs_max_ul := 9; var boolean g_egprs_only := false; + var boolean g_force_two_phase_access := false; /* Guard timeout */ timer g_T_guard := 60.0; @@ -190,6 +191,12 @@ } else { f_vty_config2(PCUVTY, {"pcu"}, "no egprs"); } + + if (g_force_two_phase_access) { + f_vty_config2(PCUVTY, {"pcu"}, "two-phase-access"); + } else { + f_vty_config2(PCUVTY, {"pcu"}, "no two-phase-access"); + } } function f_init_raw(charstring id, template (value) PCUIF_info_ind info_ind := ts_PCUIF_INFO_default) @@ -1497,6 +1504,12 @@ var CodingScheme cs_mcs; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); + if (g_force_two_phase_access) { + /* If 2phase access is enforced by the network, then let's + request a One phase packet access, we'll receive a single block + anyway */ + ra := bit2int(chan_req_def); + } /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1592,6 +1605,21 @@ f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); } +testcase TC_force_two_phase_access() runs on RAW_PCU_Test_CT { + /* Configure PCU to force two phase access */ + g_force_two_phase_access := true; + + var MultislotCap_GPRS mscap_gprs := { + gprsmultislotclass := '00011'B, + gprsextendeddynalloccap := '0'B + }; + var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) }; + var CodingScheme exp_ul_cs_mcs := f_rlcmac_block_int2cs_mcs(g_mcs_initial_ul, false); + var CodingScheme exp_dl_cs_mcs := CS_2; + + f_TC_mo_ping_pong_2phase_access(ms_racap, exp_ul_cs_mcs, exp_dl_cs_mcs); +} + /* Test scenario where SGSN wants to send some data against MS and it is * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ @@ -2135,6 +2163,7 @@ execute( TC_t3193() ); execute( TC_mo_ping_pong() ); execute( TC_mo_ping_pong_with_ul_racap() ); + execute( TC_force_two_phase_access() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); execute( TC_imm_ass_dl_block_retrans() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icce25b5d113eb5b37ec1e5b6c6c14aacdb01cd8d Gerrit-Change-Number: 18254 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:26:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:26:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks Also increment BSN with each new submitted packet. Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 --- M pcu/PCU_Tests.ttcn 1 file changed, 11 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 044d368..a550650 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -136,6 +136,9 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ + var uint4_t g_bs_cv_max := 4; + var boolean g_egprs_only := false; var boolean g_force_two_phase_access := false; @@ -533,8 +536,8 @@ runs on RAW_PCU_Test_CT { var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := tfi, - cv := num_blocks - 1, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ + cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* TODO: what should be initial value? */ blocks := { /* To be generated in loop */ }); if (not istemplatekind(tlli, "omit")) { @@ -544,7 +547,12 @@ for (var integer i := 0; i < num_blocks; i := i + 1) { /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (num_blocks - i - 1); + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + ul_data.data.mac_hdr.countdown := cv; + ul_data.data.mac_hdr.bsn := i; ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; f_tx_rlcmac_ul_block(ul_data); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:27:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:27:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 ) Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:27:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:27:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:27:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:27:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:28:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:28:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add initial support for Packet Uplink Ack/nack EGPRS Struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 ) Change subject: Add initial support for Packet Uplink Ack/nack EGPRS Struct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f Gerrit-Change-Number: 18335 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:28:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:28:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:28:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Expect UL ACK/NACK after all UL data is transmitted In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 ) Change subject: pcu: Expect UL ACK/NACK after all UL data is transmitted ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 Gerrit-Change-Number: 18336 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:28:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:31:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:31:30 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c File src/gsm/gsm0808.c: https://gerrit.osmocom.org/c/libosmocore/+/18231/1/src/gsm/gsm0808.c at 40 PS1, Line 40: static __thread char str_buff[512]; > Is this really critical? Using a caller allocated but makes the user code quite ugly I can see both lines of argument here. But especially since we have the buffers in thread-local storage now, I think the biggest concern has been elimiteated, i.e. we don't need to go for dynamica allocation. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:31:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: ipse Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:32:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:32:27 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:32:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:32:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:32:32 +0000 Subject: Change in libosmocore[master]: gsm0808: Implement helper functions for CONFUSION BSSMAP message deco... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18231 ) Change subject: gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. ...................................................................... gsm0808: Implement helper functions for CONFUSION BSSMAP message decoding. Also add a test for an actual CONFUSION message parsing. Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec --- M include/osmocom/gsm/gsm0808.h M include/osmocom/gsm/protocol/gsm_08_08.h M src/gsm/gsm0808.c M src/gsm/libosmogsm.map M tests/gsm0808/gsm0808_test.c M tests/gsm0808/gsm0808_test.ok 6 files changed, 113 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 5a33f60..34cec3c 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -319,6 +319,9 @@ * \returns Cause value */ enum gsm0808_cause gsm0808_get_cause(const struct tlv_parsed *tp); +const char *gsm0808_diagnostics_octet_location_str(uint8_t pointer); +const char *gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer); + extern const struct value_string gsm0808_lcls_config_names[]; extern const struct value_string gsm0808_lcls_control_names[]; extern const struct value_string gsm0808_lcls_status_names[]; diff --git a/include/osmocom/gsm/protocol/gsm_08_08.h b/include/osmocom/gsm/protocol/gsm_08_08.h index d8a7773..1390f0e 100644 --- a/include/osmocom/gsm/protocol/gsm_08_08.h +++ b/include/osmocom/gsm/protocol/gsm_08_08.h @@ -663,3 +663,16 @@ GSM0808_LCLS_STS_LOCALLY_SWITCHED = 0x04, GSM0808_LCLS_STS_NA = 0xFF }; + +/* 3GPP TS 48.008 3.2.2.32 Diagnostics */ +struct gsm0808_diagnostics { + uint8_t error_pointer_octet; +#if OSMO_IS_LITTLE_ENDIAN + uint8_t error_pointer_bit_spare:4, + error_pointer_bit:4; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t error_pointer_bit:4, error_pointer_bit_spare:4; +#endif + uint8_t msg[0]; /*! received message which provoked the error */ +} __attribute__((packed)); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 788f6c3..23468c3 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -21,6 +21,8 @@ * */ +#include + #include #include #include @@ -34,6 +36,9 @@ * message generation/encoding. */ +/*! Char buffer to return strings from functions */ +static __thread char str_buff[512]; + /*! Create "Complete L3 Info" for AoIP, legacy implementation. * Instead use gsm0808_create_layer3_aoip2(), which is capable of three-digit MNC with leading zeros. * \param[in] msg_l3 msgb containing Layer 3 Message @@ -1670,6 +1675,39 @@ return buf[0]; } +const char *gsm0808_diagnostics_octet_location_str(uint8_t pointer) +{ + switch (pointer) { + case 0: + return "Error location not determined"; + case 1: + return "The first octet of the message received (i.e. the message type) was found erroneous (unknown)"; + case 0xfd: + return "The first octet of the BSSAP header (Discrimination) was found erroneous"; + case 0xfe: + return "(DTAP only) The DLCI (second) octet of the BSSAP header was found erroneous"; + case 0xff: + return "The last octet of the BSSAP header (length indicator) was found erroneous"; + default: + snprintf(str_buff, sizeof(str_buff), "The %d octet of the message received was found erroneous", pointer); + return str_buff; + } +} + +const char *gsm0808_diagnostics_bit_location_str(uint8_t bit_pointer) +{ + if (bit_pointer == 0) { + return "No particular part of the octet is indicated"; + } else if (bit_pointer > 8) { + return "Reserved value"; + } + + snprintf(str_buff, sizeof(str_buff), + "An error was provoked by the field whose most significant bit is in bit position %d", + bit_pointer); + return str_buff; +} + const struct value_string gsm0808_lcls_config_names[] = { { GSM0808_LCLS_CFG_BOTH_WAY, "Connect both-way" }, { GSM0808_LCLS_CFG_BOTH_WAY_AND_BICAST_UL, diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index ce55746..70b3916 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -159,6 +159,8 @@ gsm0808_cause_name; gsm0808_cause_class_name; gsm0808_get_cause; +gsm0808_diagnostics_octet_location_str; +gsm0808_diagnostics_bit_location_str; gsm0808_create_ass; gsm0808_create_ass2; gsm0808_create_assignment_completed; diff --git a/tests/gsm0808/gsm0808_test.c b/tests/gsm0808/gsm0808_test.c index ce73390..d9640aa 100644 --- a/tests/gsm0808/gsm0808_test.c +++ b/tests/gsm0808/gsm0808_test.c @@ -379,6 +379,55 @@ msgb_free(msg); } +static void test_dec_confusion() +{ + static const uint8_t hex[] = + { 0x26, 0x04, 0x01, 0x52, 0x1f, 0x07, 0x00, 0xff, 0x00, 0x03, 0x25, 0x03, 0x25 }; + struct tlv_parsed tp; + int diag_len; + enum gsm0808_cause cause; + enum gsm0808_cause_class cause_class; + struct gsm0808_diagnostics *diag; + + printf("Testing decoding CONFUSION\n"); + + tlv_parse(&tp, gsm0808_att_tlvdef(), hex+1, sizeof(hex)-1, 0, 0); + + /* Check for the Cause and Diagnostic mandatory elements */ + if (!TLVP_PRESENT(&tp, GSM0808_IE_CAUSE) || !TLVP_PRESENT(&tp, GSM0808_IE_DIAGNOSTIC)) { + printf("Either Cause or Diagnostic mandatory IE are not detected\n"); + return; + } + + diag_len = TLVP_LEN(&tp, GSM0808_IE_DIAGNOSTIC); + if (diag_len < 5) { + printf("Diagnostic length is too short: %d (expected > 5)\n", + diag_len); + return; + } + + cause = gsm0808_get_cause(&tp); + if ((int)cause < 0) { + printf("ERROR: failed (%s) to extract Cause, aborting\n", strerror(-(int)cause)); + return; + } + cause_class = gsm0808_cause_class(cause); + printf(" Cause class %d/0x%x (%s)\n", + cause_class, cause_class, gsm0808_cause_class_name(cause_class)); + printf(" Cause %d/0x%x (%s)\n", + cause, cause, gsm0808_cause_name(cause)); + + diag = (struct gsm0808_diagnostics *)TLVP_VAL(&tp, GSM0808_IE_DIAGNOSTIC); + printf(" Diagnostics error octet location %d (%s)\n", + diag->error_pointer_octet, + gsm0808_diagnostics_octet_location_str(diag->error_pointer_octet)); + printf(" Diagnostics error bit location %d (%s)\n", + diag->error_pointer_bit, + gsm0808_diagnostics_bit_location_str(diag->error_pointer_bit)); + printf(" Diagnostics message that provoked the error: %s\n", + osmo_hexdump(diag->msg, diag_len-2)); +} + static void test_create_ass() { static const uint8_t res1[] = @@ -2422,6 +2471,8 @@ test_gsm0808_cell_id_to_from_cgi(); + test_dec_confusion(); + printf("Done\n"); return EXIT_SUCCESS; } diff --git a/tests/gsm0808/gsm0808_test.ok b/tests/gsm0808/gsm0808_test.ok index b620e36..eaae7a6 100644 --- a/tests/gsm0808/gsm0808_test.ok +++ b/tests/gsm0808/gsm0808_test.ok @@ -910,4 +910,10 @@ --> gsm0808_cell_id{LAC-CI} = LAC-CI:7777-7777 --> gsm0808_cell_id{LAI} = LAI:777-007-7777 --> gsm0808_cell_id{CGI} = CGI:777-007-7777-7777 +Testing decoding CONFUSION + Cause class 5/0x5 (Invalid message) + Cause 82/0x52 (INFORMATION ELEMENT OR FIELD MISSING) + Diagnostics error octet location 0 (Error location not determined) + Diagnostics error bit location 15 (Reserved value) + Diagnostics message that provoked the error: 00 03 25 03 25 Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If8afd2d096fb66c6c2f255a08fc1129de3d09cec Gerrit-Change-Number: 18231 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: Vadim Yanitskiy Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:34:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:34:04 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#4) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... utils: do not crash when all bytes of EF.IMSI are 0xFF In case try to decode the contents of an uninitalized EF.IMSI, the function dec_imsi() would crash because it truncates all 0xFF from the swapped version of the EF.IMSI contents and then accesses the first element of the buffer. This always works for EF.IMSI contents that contain valid IMSI data, but if all bytes are set to 0xFF, then no data is left in the buffer after truncating, so lets check if we even have bytes left before we move on with the decoding. Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c --- M pySim/utils.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/18208/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:34:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:34:14 +0000 Subject: Change in pysim[master]: cards: reset uninitalized EF.AD In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18206 ) Change subject: cards: reset uninitalized EF.AD ...................................................................... cards: reset uninitalized EF.AD The contents of EF.AD me be uninitalized (all bytes set to 0xff). If this is the case reset all bytes of the file to 0x00 and continue the update of EF.AD with this value. Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e --- M pySim/cards.py 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index f469cae..1c0add0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -148,8 +148,13 @@ if mnclen > 3: raise RuntimeError('unable to calculate proper mnclen') - data = self._scc.read_binary(EF['AD'], length=None, offset=0) - content = data[0][0:6] + "%02X" % mnclen + data, sw = self._scc.read_binary(EF['AD'], length=None, offset=0) + + # Reset contents to EF.AD in case the file is uninintalized + if data.lower() == "ffffffff": + data = "00000000" + + content = data[0:6] + "%02X" % mnclen data, sw = self._scc.update_binary(EF['AD'], content) return sw -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I57cf53e0c540469f11b6d85bd3daf3f9e14c237e Gerrit-Change-Number: 18206 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:38:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:38:31 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#4) to the change originally created by dexter. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... pysim-prog: move ADM sanitation to utils.py The lower part of gen_parameters() in pySim-prog.py contains some code that checks whether the ADM pin supplied in its hexadecimal or in its string form and generates a sanitised pin_adm from that. Lets separate this part as it may become useful elsewhere too. Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 --- M pySim-prog.py M pySim/utils.py 2 files changed, 32 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/18207/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:38:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 07:38:56 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:38:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:44:06 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:44:06 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 2: > Patch Set 2: > > I still think moving the freq list to be separated by command would allow you to drop that "variable" arg part. I don't see much benefit from that, sorry. Right now the CTRLInterface splits a command into a list for us, while with comma we would have to do that ourselves in the 'SETFH' handling code. I could do it that way, but none of the existing commands using comma to separate arguments, so let's make the new (not really new, but still) command consistent. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:44:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:44:36 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:44:36 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > It might make sense to add that "a" is commonly known as "synthesizer frequency hopping" whereas "b" is known as "baseband frequency hopping" ACK, will be done in the new patch set. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:44:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:47:42 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:47:42 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 to look at the new patch set (#3). Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... trx_toolkit/transceiver.py: add frequency hopping support There are two ways to implement frequency hopping: a) The Transceiver is configured with the hopping parameters, in particular HSN, MAIO, and the list of ARFCNs (channels), so the actual Rx/Tx frequencies are changed by the Transceiver itself depending on the current TDMA frame number. b) The L1 maintains several Transceivers (two or more), so each instance is assigned one dedicated RF carrier frequency, and hence the number of available hopping frequencies is equal to the number of Transceivers. In this case, it's the task of the L1 to commutate bursts between Transceivers (frequencies). Variant a) is commonly known as "synthesizer frequency hopping" whereas b) is known as "baseband frequency hopping". For the MS side, a) is preferred, because a phone usually has only one Transceiver (per RAT). On the other hand, b) is more suitable for the BTS side, because it's relatively easy to implement and there is no technical limitation on the amount of Transceivers. FakeTRX obviously does support b) since multi-TRX feature has been implemented, as well as a) by resolving UL/DL frequencies using a preconfigured (by the L1) set of the hopping parameters. The later can be enabled using the SETFH control command: CMD SETFH [... ] where and is a pair of Rx/Tx frequencies (in kHz) corresponding to one ARFCN the Mobile Allocation. Note that the channel list is expected to be sorted in ascending order. NOTE: in the current implementation, mode a) applies to the whole Transceiver and all its timeslots, so using in for the BTS side does not make any sense (imagine BCCH hopping together with DCCH). Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd --- M src/target/trx_toolkit/burst_fwd.py M src/target/trx_toolkit/ctrl_if.py M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/fake_pm.py M src/target/trx_toolkit/transceiver.py 5 files changed, 140 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/18262/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:47:42 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:47:42 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 to look at the new patch set (#4). Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies It would make sense to send the ARFCN list in parameters of SETFH command, if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now, every Transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or as Tx/Rx for a given Transceiver. Of course, we could assume that this is an MS specific feature, and a pair of Downlink/Uplink frequencies always corresponds to Rx/Tx, but what if some day we would need to implement and test a similar approach for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Related: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Related: OS#4546 --- M src/host/trxcon/trx_if.c 1 file changed, 36 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18319/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:53:39 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:53:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn at 86 PS2, Line 86: cv_countdown > This value of cv_countdown, if meaning the same as BS_CV_MAX, is wrong, because 15 always means "mor [?] Yep, it looks wrong, but my point is that this is a value that we send to the IUT, while in the test suite we use another different value. Ideally we should have a default value in 'modulepar' section and use it everywhere. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 07:53:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:57:27 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:57:27 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:57:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 07:58:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 07:58:01 +0000 Subject: Change in pysim[master]: commands: add method to determine size of a non record oriented file In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18209 ) Change subject: commands: add method to determine size of a non record oriented file ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c Gerrit-Change-Number: 18209 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 07:58:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 08:00:05 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 08:00:05 +0000 Subject: Change in pysim[master]: commands: add features to verify data written to files In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18211 ) Change subject: commands: add features to verify data written to files ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7be842004102f4998af376790c97647c107be3d5 Gerrit-Change-Number: 18211 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 08:00:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 16:29:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 16:29:46 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 3: Code-Review+1 > Patch Set 2: > > > Patch Set 2: > > > > I still think moving the freq list to be separated by command would allow you to drop that "variable" arg part. > > I don't see much benefit from that, sorry. Right now the CTRLInterface splits a command into a list for us, while with comma we would have to do that ourselves in the 'SETFH' handling code. I could do it that way, but none of the existing commands using comma to separate arguments, so let's make the new (not really new, but still) command consistent. Well the benefit is you don't need to make the general protocol more complex by adding commands with variable parameter length. You say "but none of the existing commands using comma to separate arguments", but that's from the point of view that from protocol point of view each freq is an argument, while I'm keeping the general protocol easier by saying that there's 1 argument consisting of a comma limited list of frequencies. So having given my opinion, do what you prefer, I'm not going to block it. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 16:29:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 16:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 16:31:14 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18319 ) Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 16:31:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 16:33:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 16:33:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 ) Change subject: pcu: Use BS_CV_MAX in f_tx_rlcmac_ul_n_blocks ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258/2/pcu/PCU_Tests.ttcn at 86 PS2, Line 86: cv_countdown > Yep, it looks wrong, but my point is that this is a value that we send to the IUT, while in the test [?] Agree, but since anyway it's not being used by osmo-pcu so far, it's really low prio and it can be done afterwards after the refactoring I'm doing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685d1535154197bb85e18875e0a4d41122a24fa0 Gerrit-Change-Number: 18258 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 16:33:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 16:55:17 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 16:55:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 2: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 55 PS2, Line 55: boolean final := false) This line needs to be aligned since 'private' keyword was removed. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 66 PS2, Line 66: BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); Wait, where is this line? vc_BTS.done; /* wait untill it's done */ It's important to have it here before doing mtc.stop. Ok, now I see that this function was not removed from PCU_Tests.ttcn, so we have two copies. You can avoid code duplication by marking it as 'friend' to PCU_Tests.ttcn. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 16:55:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:17:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 18:17:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 2: Outcome of long conversation with Vadim regarding next steps, agreed by both: 1- Merge patches before 18333 (the one moving functions to new file) as they are now 2- Change 1833 (this patch) fixing the alignment issue and moving vc_BTS.done to the new component together with the BTS port already in there. GPRS_MS_CT component is renamed to "MS_BTS_IFACE_CT" 3- Merge the 2 patches I did on top fixing stuff in tests after osmo-pcu fix I submitted (retransmissions) 4- I start submitting patches adding the GprsMS and UlTbf and DlTbf -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 18:17:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:21:56 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 18:21:56 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Fix crash in bsc_patch_mm_info() osmo-bsc has crashed with the following backtrace: Apparently, there is no lchan allocated at this moment, so conn_get_bts() crashes. But we only use it to get to "network" which we can do much easier and safer by doing conn->network. Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 --- M src/osmo-bsc/osmo_bsc_filter.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/18338/1 diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 332ba6b..3b72aee 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -45,7 +45,6 @@ { struct tlv_parsed tp; int parse_res; - struct gsm_bts *bts = conn_get_bts(conn); int tzunits; uint8_t tzbsd = 0; uint8_t dst = 0; @@ -58,7 +57,7 @@ return 0; /* Is TZ patching enabled? */ - struct gsm_tz *tz = &bts->network->tz; + struct gsm_tz *tz = &conn->network->tz; if (!tz->override) return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:24:22 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 18:24:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 5: Code-Review+1 Ok, LGTM first and fix it later. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 18:24:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:24:34 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 18:24:34 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: ipse has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Fix crash in bsc_patch_mm_info() osmo-bsc has crashed with the following backtrace: 0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 1 0x00007f0bc49b38db in __GI_abort () at abort.c:100 2 0x00007f0bc581ba30 in osmo_panic () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 3 0x00005648ceeced69 in conn_get_bts (conn=) at ../../include/osmocom/bsc/gsm_data.h:1392 4 0x00005648cef37164 in conn_get_bts (conn=0x5648cf769e80) at osmo_bsc_filter.c:87 5 bsc_patch_mm_info (conn=conn at entry=0x5648cf769e80, data=, length=) at osmo_bsc_filter.c:48 6 0x00005648cef371b6 in bsc_scan_msc_msg (conn=conn at entry=0x5648cf769e80, msg=msg at entry=0x5648cf77ead0) at osmo_bsc_filter.c:159 7 0x00005648cef33988 in dtap_rcvmsg (msg=0x5648cf72b2f0, length=40, conn=0x5648cf769e80) at osmo_bsc_bssap.c:1215 8 bsc_handle_dt (conn=conn at entry=0x5648cf769e80, msg=0x5648cf72b2f0, len=40) at osmo_bsc_bssap.c:1299 9 0x00005648cef3b2b7 in handle_data_from_msc (msg=, conn=0x5648cf769e80) at osmo_bsc_sigtran.c:152 10 sccp_sap_up (oph=0x5648cf72b378, _scu=) at osmo_bsc_sigtran.c:267 11 0x00007f0bc5813c03 in _osmo_fsm_inst_dispatch () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 12 0x00007f0bc51a8935 in sccp_scoc_rx_from_scrc (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scoc.c:1695 13 0x00007f0bc51a62f3 in scrc_rx_mtp_xfer_ind_xua (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scrc.c:459 14 0x00007f0bc51a9545 in mtp_user_prim_cb (oph=0x5648cf7681f8, ctx=0x5648cf6a8d60) at sccp_user.c:182 15 0x00007f0bc51a09c6 in m3ua_rx_xfer (xua=0x5648cf764a80, asp=0x5648cf45f540) at m3ua.c:586 16 m3ua_rx_msg (asp=asp at entry=0x5648cf45f540, msg=msg at entry=0x5648cf71e880) at m3ua.c:739 17 0x00007f0bc51b0763 in xua_cli_read_cb (conn=0x5648cf441ed0) at osmo_ss7.c:1761 18 0x00007f0bc55fab53 in osmo_stream_cli_read (cli=0x5648cf441ed0) at stream.c:232 19 osmo_stream_cli_fd_cb (ofd=, what=1) at stream.c:321 20 0x00007f0bc580edcf in ?? () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 21 0x00007f0bc580f526 in osmo_select_main_ctx () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 22 0x00005648ceecfb2f in main (argc=, argv=) at osmo_bsc_main.c:953 Apparently, there is no lchan allocated at this moment, so conn_get_bts() crashes. But we only use it to get to "network" which we can do much easier and safer by doing conn->network. Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 --- M src/osmo-bsc/osmo_bsc_filter.c 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/18338/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:32:25 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 17 May 2020 18:32:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 66 PS2, Line 66: BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); > Wait, where is this line? I just had a conversation with Pau, so he explained that this line is not here because component 'GPRS_MS_CT' has no access to vc_BTS. We could substitute it by f_sleep(0.3), but it does not look like a good solution to me. In the end, we decided to move the BTS component here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 168 PS2, Line 168: f_pcuif_rx_imm_ass Basically all functions where you removed 'private' qualifier should be revisited. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 18:32:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:43:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 18:43:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 18:43:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:43:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 18:43:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 ) Change subject: pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent ...................................................................... pcu: f_tx_rlcmac_ul_n_blocks(): Keep BSN state and return all payload sent These features will be used in test added in next commit. Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b --- M pcu/PCU_Tests.ttcn 1 file changed, 30 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a550650..18eff7d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -521,23 +521,31 @@ return rr_pag_req1; } +/* Send one rlcmac UL block adding necessary extra padding at the end. + * returns length of extra padding added at the end, in octets. + * FIXME: Only supports CS-1 so far. + */ private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { +runs on RAW_PCU_Test_CT return integer { var octetstring data; + var integer padding_len; /* Encode the payload of DATA.ind */ data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); data := f_pad_oct(data, 23, '00'O); /* CS-1 */ /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ f_pcuif_tx_data_ind(data, lqual_cb, fn); + return padding_len; } -private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on RAW_PCU_Test_CT { +private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +runs on RAW_PCU_Test_CT return octetstring { + var octetstring total_payload := ''O; var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( tfi := tfi, cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be initial value? */ + bsn := 0, /* To be generated in loop */ blocks := { /* To be generated in loop */ }); if (not istemplatekind(tlli, "omit")) { @@ -546,16 +554,21 @@ } for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); /* Prepare a new UL block (CV, random payload) */ var integer cv := num_blocks - i - 1; if (cv > g_bs_cv_max) { cv := 15; } ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - f_tx_rlcmac_ul_block(ul_data); + ul_data.data.mac_hdr.bsn := bsn + i; + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; + padding_len := f_tx_rlcmac_ul_block(ul_data); + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); } + bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ + return total_payload; } private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) @@ -1318,6 +1331,7 @@ var boolean ok; var uint32_t unused_fn; var OCT4 tlli := '00000001'O; + var uint14_t bsn := 0; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1345,7 +1359,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); /* UL block should be received in SGSN */ BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); @@ -1354,7 +1368,8 @@ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1); + bsn := 0; + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1); f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -1433,6 +1448,7 @@ var uint32_t dl_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var uint14_t bsn := 0; /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -1456,7 +1472,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); @@ -1510,6 +1526,7 @@ var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); var CodingScheme cs_mcs; + var uint14_t bsn := 0; /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); if (g_force_two_phase_access) { @@ -1556,7 +1573,7 @@ /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), 1); /* TODO: send using cs_mcs */ + f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), bsn, 1); /* TODO: send using cs_mcs */ //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ @@ -1642,6 +1659,7 @@ var uint32_t sched_fn; var uint32_t dl_fn; var OCT4 tlli := '00000001'O; + var uint14_t bsn := 0; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); /* Initialize NS/BSSGP side */ @@ -1682,7 +1700,7 @@ /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, 1, tlli); + f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7dde6a2e71a9e64cf6c704eda37b47838460102b Gerrit-Change-Number: 18259 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:43:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 18:43:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_countdown_procedure In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 ) Change subject: pcu: Introduce test TC_countdown_procedure ...................................................................... pcu: Introduce test TC_countdown_procedure Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 --- M pcu/PCU_Tests.ttcn 1 file changed, 60 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 18eff7d..a87396c 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1433,6 +1433,65 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ +testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var uint14_t bsn := 1; + var PDU_BSSGP bssgp_pdu; + var octetstring total_payload; + var integer padding_len; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA_TLLI( + tfi := ul_tbf_ass.dynamic.tfi_assignment, + cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + bsn := 0, + blocks := { valueof(t_RLCMAC_LLCBLOCK(total_payload)) }, + tlli := tlli); + + f_tx_rlcmac_ul_block(ul_data, 0); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* Send enough blocks to test whole procedure: Until Nth block + (N=BS_CV_MAX), CV=15 is sent, and then the decreasing countdown value is sent. + */ + total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 20); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* receive one message on BSSGP with all aggregated data in payload: */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); +} + /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ @@ -2187,6 +2246,7 @@ execute( TC_cs_max_ul() ); execute( TC_t3169() ); execute( TC_t3193() ); + execute( TC_countdown_procedure() ); execute( TC_mo_ping_pong() ); execute( TC_mo_ping_pong_with_ul_racap() ); execute( TC_force_two_phase_access() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2b92bf4a17e89b1d68869aac4243c0e106ce3be5 Gerrit-Change-Number: 18260 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:43:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 18:43:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Introduce test TC_ul_intermediate_retrans In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 ) Change subject: Introduce test TC_ul_intermediate_retrans ...................................................................... Introduce test TC_ul_intermediate_retrans Test Verifies that if PCU doesn't get one of the intermediate UL data blocks in a UL TBF, it will request retransmission through UL ACK/NACK (with missing block in its bitmap) when CV=0 is received (and hence it knows no more data is to be transferred). This test fails as of current osmo-pcu master, and it's fixed there by osmo-pcu.git Change-Id I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1. Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d --- M pcu/PCU_Tests.ttcn 1 file changed, 95 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a87396c..43ed7c5 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1787,6 +1787,100 @@ f_TC_mt_ping_pong(ms_racap, exp_cs_mcs); } +/* Verify that if PCU doesn't get one of the intermediate UL data blocks in a UL + * TBF, it will request retransmission through UL ACK/NACK (with missing block + * in its bitmap) when CV=0 is received (and hence it knows no more data is to + * be transferred). + */ +testcase TC_ul_intermediate_retrans() runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_imm_ass; + var PacketUlAssign ul_tbf_ass; + var RlcmacDlBlock dl_block; + var template (value) RlcmacUlBlock ul_data; + var boolean ok; + var uint32_t sched_fn; + var OCT4 tlli := '00000001'O; + var uint14_t bsn := 5; + var PDU_BSSGP bssgp_pdu; + var octetstring total_payload; + var octetstring payload; + var octetstring lost_payload; + var integer padding_len; + var uint5_t tfi; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + + /* Establish an Uplink TBF */ + ok := f_establish_tbf(rr_imm_ass); + if (not ok) { + setverdict(fail, "Failed to establish TBF"); + f_shutdown(__BFILE__, __LINE__); + } + /* Make sure we've got an Uplink TBF assignment */ + f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + tfi := ul_tbf_ass.dynamic.tfi_assignment; + + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + ul_data := t_RLCMAC_UL_DATA_TLLI( + tfi := tfi, + cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + bsn := 0, + blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }, + tlli := tlli); + + f_tx_rlcmac_ul_block(ul_data, 0); + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + total_payload := payload; + + /* Send 2 packets, skip 1 (inc bsn) and send another one */ + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 1, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 2, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + lost_payload := f_rnd_octstring(20); /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ + total_payload := total_payload & lost_payload; + + payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 4, blocks := {t_RLCMAC_LLCBLOCK(payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := total_payload & payload; + + /* Send enough blocks to finish the transmission (since we were sending BSN=15, send BS_CV_MAX packets) */ + total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, g_bs_cv_max); + + /* On CV=0, we'll receive a UL ACK asking about missing block */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* TODO: check ack ack bitmap (URBB) */ + ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 3, blocks := {t_RLCMAC_LLCBLOCK(lost_payload)}); + f_tx_rlcmac_ul_block(ul_data, 0); + + /* Now final ack is recieved */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + + /* receive one message on BSSGP with all aggregated data in payload: */ + BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); +} + /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it * will retry by retransmitting both the IMM ASS + DL block after poll (ack) * timeout occurs (specified by sent RRBP on DL block). */ @@ -2252,6 +2346,7 @@ execute( TC_force_two_phase_access() ); execute( TC_mt_ping_pong() ); execute( TC_mt_ping_pong_with_dl_racap() ); + execute (TC_ul_intermediate_retrans() ); execute( TC_imm_ass_dl_block_retrans() ); execute( TC_dl_flow_more_blocks() ); execute( TC_paging_cs_from_bts() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I204a470e47fcc5965de758ad9a275837e0c8034d Gerrit-Change-Number: 18321 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:54:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:54:54 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 17 May 2020 18:54:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:55:29 +0000 Subject: Change in pysim[master]: pysim-prog: move ADM sanitation to utils.py In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18207 ) Change subject: pysim-prog: move ADM sanitation to utils.py ...................................................................... pysim-prog: move ADM sanitation to utils.py The lower part of gen_parameters() in pySim-prog.py contains some code that checks whether the ADM pin supplied in its hexadecimal or in its string form and generates a sanitised pin_adm from that. Lets separate this part as it may become useful elsewhere too. Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 --- M pySim-prog.py M pySim/utils.py 2 files changed, 32 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim-prog.py b/pySim-prog.py index 4ac480c..f707c57 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -419,27 +419,7 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) - - pin_adm = None - - if opts.pin_adm is not None: - if len(opts.pin_adm) <= 8: - pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) - pin_adm = rpad(pin_adm, 16) - - else: - raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - - if opts.pin_adm_hex is not None: - if len(opts.pin_adm_hex) == 16: - pin_adm = opts.pin_adm_hex - # Ensure that it's hex-encoded - try: - try_encode = h2b(pin_adm) - except ValueError: - raise ValueError("PIN-ADM needs to be hex encoded using this option") - else: - raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") + pin_adm = sanitize_pin_adm(opts) # Return that return { diff --git a/pySim/utils.py b/pySim/utils.py index 43616a9..b5203dc 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -439,6 +439,37 @@ return s +def sanitize_pin_adm(opts): + """ + The ADM pin can be supplied either in its hexadecimal form or as + ascii string. This function checks the supplied opts parameter and + returns the pin_adm as hex encoded string, regardles in which form + it was originally supplied by the user + """ + + pin_adm = None + + if opts.pin_adm is not None: + if len(opts.pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + pin_adm = rpad(pin_adm, 16) + + else: + raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") + + if opts.pin_adm_hex is not None: + if len(opts.pin_adm_hex) == 16: + pin_adm = opts.pin_adm_hex + # Ensure that it's hex-encoded + try: + try_encode = h2b(pin_adm) + except ValueError: + raise ValueError("PIN-ADM needs to be hex encoded using this option") + else: + raise ValueError("PIN-ADM needs to be exactly 16 digits (hex encoded)") + + return pin_adm + def init_reader(opts): """ Init card reader driver -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifead29724cc13a91de9e2e89314d7fb23c063d50 Gerrit-Change-Number: 18207 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:55:29 +0000 Subject: Change in pysim[master]: commands: add method to determine size of a non record oriented file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18209 ) Change subject: commands: add method to determine size of a non record oriented file ...................................................................... commands: add method to determine size of a non record oriented file For record oriented files we have the methods record_size() and record_count() to determine the dimensions of a record oriented file, however, we miss a similar function for regular binary files. Lets add a method binary_size() to quickly determine the size of a non record oriented file Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c --- M pySim/commands.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/commands.py b/pySim/commands.py index cc7acc6..30e995c 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -152,6 +152,10 @@ r = self.select_file(ef) return self.__len(r) // self.__record_len(r) + def binary_size(self, ef): + r = self.select_file(ef) + return self.__len(r) + def run_gsm(self, rand): if len(rand) != 32: raise ValueError('Invalid rand') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0593f2de7f34d5654a19e949dc567a236e44e20c Gerrit-Change-Number: 18209 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:55:29 +0000 Subject: Change in pysim[master]: commands: add features to verify data written to files In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18211 ) Change subject: commands: add features to verify data written to files ...................................................................... commands: add features to verify data written to files When writing to files we often just write without making sure that the actual file contents actually written. Lets add features to do a read-after-write verification when writing to files. Change-Id: I7be842004102f4998af376790c97647c107be3d5 --- M pySim/commands.py 1 file changed, 20 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified Vadim Yanitskiy: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/commands.py b/pySim/commands.py index 30e995c..e077289 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -122,10 +122,18 @@ pdu = self.cla_byte + 'b0%04x%02x' % (offset, (min(256, length) & 0xff)) return self._tp.send_apdu(pdu) - def update_binary(self, ef, data, offset=0): + def update_binary(self, ef, data, offset=0, verify=False): self.select_file(ef) pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data - return self._tp.send_apdu_checksw(pdu) + res = self._tp.send_apdu_checksw(pdu) + if verify: + self.verify_binary(ef, data, offset) + return res + + def verify_binary(self, ef, data, offset=0): + res = self.read_binary(ef, len(data) // 2, offset) + if res[0].lower() != data.lower(): + raise ValueError('Binary verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def read_record(self, ef, rec_no): r = self.select_file(ef) @@ -133,7 +141,7 @@ pdu = self.cla_byte + 'b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) - def update_record(self, ef, rec_no, data, force_len=False): + def update_record(self, ef, rec_no, data, force_len=False, verify=False): r = self.select_file(ef) if not force_len: rec_length = self.__record_len(r) @@ -142,7 +150,15 @@ else: rec_length = len(data) // 2 pdu = (self.cla_byte + 'dc%02x04%02x' % (rec_no, rec_length)) + data - return self._tp.send_apdu_checksw(pdu) + res = self._tp.send_apdu_checksw(pdu) + if verify: + self.verify_record(ef, rec_no, data) + return res + + def verify_record(self, ef, rec_no, data): + res = self.read_record(ef, rec_no) + if res[0].lower() != data.lower(): + raise ValueError('Record verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def record_size(self, ef): r = self.select_file(ef) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7be842004102f4998af376790c97647c107be3d5 Gerrit-Change-Number: 18211 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:56:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:56:23 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 18:56:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:56:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:56:35 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add frequency hopping support In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18262 ) Change subject: trx_toolkit/transceiver.py: add frequency hopping support ...................................................................... trx_toolkit/transceiver.py: add frequency hopping support There are two ways to implement frequency hopping: a) The Transceiver is configured with the hopping parameters, in particular HSN, MAIO, and the list of ARFCNs (channels), so the actual Rx/Tx frequencies are changed by the Transceiver itself depending on the current TDMA frame number. b) The L1 maintains several Transceivers (two or more), so each instance is assigned one dedicated RF carrier frequency, and hence the number of available hopping frequencies is equal to the number of Transceivers. In this case, it's the task of the L1 to commutate bursts between Transceivers (frequencies). Variant a) is commonly known as "synthesizer frequency hopping" whereas b) is known as "baseband frequency hopping". For the MS side, a) is preferred, because a phone usually has only one Transceiver (per RAT). On the other hand, b) is more suitable for the BTS side, because it's relatively easy to implement and there is no technical limitation on the amount of Transceivers. FakeTRX obviously does support b) since multi-TRX feature has been implemented, as well as a) by resolving UL/DL frequencies using a preconfigured (by the L1) set of the hopping parameters. The later can be enabled using the SETFH control command: CMD SETFH [... ] where and is a pair of Rx/Tx frequencies (in kHz) corresponding to one ARFCN the Mobile Allocation. Note that the channel list is expected to be sorted in ascending order. NOTE: in the current implementation, mode a) applies to the whole Transceiver and all its timeslots, so using in for the BTS side does not make any sense (imagine BCCH hopping together with DCCH). Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd --- M src/target/trx_toolkit/burst_fwd.py M src/target/trx_toolkit/ctrl_if.py M src/target/trx_toolkit/ctrl_if_trx.py M src/target/trx_toolkit/fake_pm.py M src/target/trx_toolkit/transceiver.py 5 files changed, 140 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py index fd6013b..9fb308f 100644 --- a/src/target/trx_toolkit/burst_fwd.py +++ b/src/target/trx_toolkit/burst_fwd.py @@ -4,7 +4,8 @@ # TRX Toolkit # Burst forwarding between transceivers # -# (C) 2017-2018 by Vadim Yanitskiy +# (C) 2017-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -65,6 +66,10 @@ self.trx_list.remove(trx) def forward_msg(self, src_trx, rx_msg): + # Originating Transceiver may use frequency hopping, + # so let's precalculate its Tx frequency in advance + tx_freq = src_trx.get_tx_freq(rx_msg.fn) + # Iterate over all known transceivers for trx in self.trx_list: if trx == src_trx: @@ -73,11 +78,13 @@ # Check transceiver state if not trx.running: continue - if trx.rx_freq != src_trx.tx_freq: - continue if rx_msg.tn not in trx.ts_list: continue + # Match Tx/Rx frequencies of the both transceivers + if trx.get_rx_freq(rx_msg.fn) != tx_freq: + continue + # Transform from L12TRX to TRX2L1 and forward tx_msg = rx_msg.gen_trx2l1(ver = trx.data_if._hdr_ver) trx.handle_data_msg(src_trx, rx_msg, tx_msg) diff --git a/src/target/trx_toolkit/ctrl_if.py b/src/target/trx_toolkit/ctrl_if.py index 89dfe46..7333501 100644 --- a/src/target/trx_toolkit/ctrl_if.py +++ b/src/target/trx_toolkit/ctrl_if.py @@ -4,7 +4,8 @@ # TRX Toolkit # CTRL interface implementation # -# (C) 2016-2017 by Vadim Yanitskiy +# (C) 2016-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -61,13 +62,17 @@ # Now we have something like ["TXTUNE", "941600"] return request - def verify_cmd(self, request, cmd, argc): + # If va is True, the command can have variable number of arguments + def verify_cmd(self, request, cmd, argc, va = False): # Check if requested command matches if request[0] != cmd: return False # And has enough arguments - if len(request) - 1 != argc: + req_len = len(request[1:]) + if not va and req_len != argc: + return False + elif va and req_len < argc: return False return True diff --git a/src/target/trx_toolkit/ctrl_if_trx.py b/src/target/trx_toolkit/ctrl_if_trx.py index e44f8a9..65198cf 100644 --- a/src/target/trx_toolkit/ctrl_if_trx.py +++ b/src/target/trx_toolkit/ctrl_if_trx.py @@ -4,7 +4,8 @@ # TRX Toolkit # CTRL interface implementation (common commands) # -# (C) 2016-2019 by Vadim Yanitskiy +# (C) 2016-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -105,9 +106,9 @@ log.error("(%s) Transceiver already started" % self.trx) return -1 - # Ensure RX / TX freq. are set - if (self.trx.rx_freq is None) or (self.trx.tx_freq is None): - log.error("(%s) RX / TX freq. are not set" % self.trx) + # Ensure that transceiver is ready + if not self.trx.ready: + log.error("(%s) Transceiver is not ready" % self.trx) return -1 log.info("(%s) Starting transceiver..." % self.trx) @@ -134,14 +135,14 @@ log.debug("(%s) Recv RXTUNE cmd" % self.trx) # TODO: check freq range - self.trx.rx_freq = int(request[1]) * 1000 + self.trx._rx_freq = int(request[1]) * 1000 return 0 elif self.verify_cmd(request, "TXTUNE", 1): log.debug("(%s) Recv TXTUNE cmd" % self.trx) # TODO: check freq range - self.trx.tx_freq = int(request[1]) * 1000 + self.trx._tx_freq = int(request[1]) * 1000 return 0 elif self.verify_cmd(request, "SETSLOT", 2): @@ -187,6 +188,32 @@ return (0, [str(meas_dbm)]) + # Frequency hopping configuration (variable length list): + # + # CMD SETFH [... ] + # + # where and is a pair of Rx/Tx frequencies (in kHz) + # corresponding to one ARFCN the Mobile Allocation. Note that the + # channel list is expected to be sorted in ascending order. + if self.verify_cmd(request, "SETFH", 4, va = True): + log.debug("(%s) Recv SETFH cmd" % self.trx) + + # Parse HSN and MAIO + hsn = int(request[1]) + maio = int(request[2]) + + # Parse the list of hopping frequencies + ma = [int(f) * 1000 for f in request[3:]] # kHz -> Hz + ma = [(rx, tx) for rx, tx in zip(ma[0::2], ma[1::2])] + + # Configure the hopping sequence generator + try: + self.trx.enable_fh(hsn, maio, ma) + return 0 + except: + log.error("(%s) Failed to configure frequency hopping" % trx) + return -1 + # TRXD header version negotiation if self.verify_cmd(request, "SETFORMAT", 1): log.debug("(%s) Recv SETFORMAT cmd" % self.trx) diff --git a/src/target/trx_toolkit/fake_pm.py b/src/target/trx_toolkit/fake_pm.py index 51dc057..0d66099 100644 --- a/src/target/trx_toolkit/fake_pm.py +++ b/src/target/trx_toolkit/fake_pm.py @@ -64,14 +64,19 @@ def rssi_trx(self): return randint(self.trx_min, self.trx_max) - def measure(self, freq): + def measure(self, freq, fn = None): # Iterate over all known transceivers for trx in self.trx_list: if not trx.running: continue + # FIXME: we need to know current TDMA frame number here, + # because some transceivers may use frequency hopping + if trx.fh is not None and fn is None: + continue + # Match by given frequency - if trx.tx_freq == freq: + if trx.get_tx_freq(fn) == freq: return self.rssi_trx return self.rssi_noise diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index b1a5c11..655d4f6 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -4,7 +4,8 @@ # TRX Toolkit # Transceiver implementation # -# (C) 2018-2019 by Vadim Yanitskiy +# (C) 2018-2020 by Vadim Yanitskiy +# Contributions by sysmocom - s.f.m.c. GmbH # # All Rights Reserved # @@ -29,6 +30,8 @@ from udp_link import UDPLink from trx_list import TRXList +from gsm_shared import HoppingParams + class Transceiver: """ Base transceiver implementation. @@ -88,6 +91,38 @@ that shall provide at least one method: measure(freq). This is required for the MS side (i.e. OsmocomBB). + == Frequency hopping (optional) + + There are two ways to implement frequency hopping: + + a) The Transceiver is configured with the hopping parameters, in + particular HSN, MAIO, and the list of ARFCNs (channels), so the + actual Rx/Tx frequencies are changed by the Transceiver itself + depending on the current TDMA frame number. + + b) The L1 maintains several Transceivers (two or more), so each + instance is assigned one dedicated RF carrier frequency, and + hence the number of available hopping frequencies is equal to + the number of Transceivers. In this case, it's the task of + the L1 to commutate bursts between Transceivers (frequencies). + + Variant a) is commonly known as "synthesizer frequency hopping" + whereas b) is known as "baseband frequency hopping". + + For the MS side, a) is preferred, because a phone usually has only + one Transceiver (per RAT). On the other hand, b) is more suitable + for the BTS side, because it's relatively easy to implement and + there is no technical limitation on the amount of Transceivers. + + FakeTRX obviously does support b) since multi-TRX feature has been + implemented, as well as a) by resolving UL/DL frequencies using a + preconfigured (by the L1) set of the hopping parameters. The later + can be enabled using the SETFH control command. + + NOTE: in the current implementation, mode a) applies to the whole + Transceiver and all its timeslots, so using in for the BTS side + does not make any sense (imagine BCCH hopping together with DCCH). + """ def __init__(self, bind_addr, remote_addr, base_port, name = None, @@ -131,8 +166,11 @@ self.running = False # Actual RX / TX frequencies - self.rx_freq = None - self.tx_freq = None + self._rx_freq = None + self._tx_freq = None + + # Frequency hopping parameters (set by CTRL) + self.fh = None # List of active (configured) timeslots self.ts_list = [] @@ -149,6 +187,41 @@ return desc + @property + def ready(self): + # Make sure that either both Rx/Tx frequencies are set + if self._rx_freq is None or self._tx_freq is None: + # ... or frequency hopping is in use + if self.fh is None: + return False + + return True + + def get_rx_freq(self, fn): + if self.fh is None: + return self._rx_freq + + # Frequency hopping in use, resolve by TDMA fn + (rx_freq, _) = self.fh.resolve(fn) + return rx_freq + + def get_tx_freq(self, fn): + if self.fh is None: + return self._tx_freq + + # Frequency hopping in use, resolve by TDMA fn + (_, tx_freq) = self.fh.resolve(fn) + return tx_freq + + def enable_fh(self, *args): + self.fh = HoppingParams(*args) + log.info("(%s) Frequency hopping configured: %s" % (self, self.fh)) + + def disable_fh(self): + if self.fh is not None: + log.info("(%s) Frequency hopping disabled" % self) + self.fh = None + # To be overwritten if required, # no custom command handlers by default def ctrl_cmd_handler(self, request): @@ -159,8 +232,13 @@ for trx in self.child_trx_list.trx_list: if event == "POWERON": trx.running = True - else: + elif event == "POWEROFF": trx.running = False + trx.disable_fh() + + # Reset frequency hopping parameters + if event == "POWEROFF": + self.disable_fh() # Trigger clock generator if required if self.clck_gen is not None: -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Gerrit-Change-Number: 18262 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 18:56:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 18:56:36 +0000 Subject: Change in osmocom-bb[master]: trxcon: use buffer size macros for TRXC/TRXD messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18318 ) Change subject: trxcon: use buffer size macros for TRXC/TRXD messages ...................................................................... trxcon: use buffer size macros for TRXC/TRXD messages Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 --- M src/host/trxcon/trx_if.c M src/host/trxcon/trx_if.h 2 files changed, 7 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index 20c64ec..cb54c9e 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -446,7 +446,7 @@ struct trx_instance *trx = ofd->data; struct trx_ctrl_msg *tcm; int resp, rsp_len; - char buf[1500], *p; + char buf[TRXC_BUF_SIZE], *p; ssize_t read_len; read_len = read(ofd->fd, buf, sizeof(buf) - 1); @@ -556,7 +556,7 @@ { struct trx_instance *trx = ofd->data; struct trx_meas_set meas; - uint8_t buf[256]; + uint8_t buf[TRXD_BUF_SIZE]; sbit_t bits[148]; int8_t rssi, tn; int16_t toa256; @@ -616,7 +616,7 @@ int trx_if_tx_burst(struct trx_instance *trx, uint8_t tn, uint32_t fn, uint8_t pwr, const ubit_t *bits) { - uint8_t buf[256]; + uint8_t buf[TRXD_BUF_SIZE]; /** * We must be sure that we have clock, diff --git a/src/host/trxcon/trx_if.h b/src/host/trxcon/trx_if.h index a44600d..2fafa56 100644 --- a/src/host/trxcon/trx_if.h +++ b/src/host/trxcon/trx_if.h @@ -8,6 +8,9 @@ #include "scheduler.h" #include "sched_trx.h" +#define TRXC_BUF_SIZE 1024 +#define TRXD_BUF_SIZE 512 + /* Forward declaration to avoid mutual include */ struct l1ctl_link; @@ -49,7 +52,7 @@ struct trx_ctrl_msg { struct llist_head list; - char cmd[128]; + char cmd[TRXC_BUF_SIZE]; int retry_cnt; int critical; int cmd_len; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I6f2b8682c4691ed3da1bf804e302a7169f33e283 Gerrit-Change-Number: 18318 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 19:33:42 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 19:33:42 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 to look at the new patch set (#3). Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Fix crash in bsc_patch_mm_info() osmo-bsc has crashed with the following backtrace: 0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 1 0x00007f0bc49b38db in __GI_abort () at abort.c:100 2 0x00007f0bc581ba30 in osmo_panic () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 3 0x00005648ceeced69 in conn_get_bts (conn=) at ../../include/osmocom/bsc/gsm_data.h:1392 4 0x00005648cef37164 in conn_get_bts (conn=0x5648cf769e80) at osmo_bsc_filter.c:87 5 bsc_patch_mm_info (conn=conn at entry=0x5648cf769e80, data=, length=) at osmo_bsc_filter.c:48 6 0x00005648cef371b6 in bsc_scan_msc_msg (conn=conn at entry=0x5648cf769e80, msg=msg at entry=0x5648cf77ead0) at osmo_bsc_filter.c:159 7 0x00005648cef33988 in dtap_rcvmsg (msg=0x5648cf72b2f0, length=40, conn=0x5648cf769e80) at osmo_bsc_bssap.c:1215 8 bsc_handle_dt (conn=conn at entry=0x5648cf769e80, msg=0x5648cf72b2f0, len=40) at osmo_bsc_bssap.c:1299 9 0x00005648cef3b2b7 in handle_data_from_msc (msg=, conn=0x5648cf769e80) at osmo_bsc_sigtran.c:152 10 sccp_sap_up (oph=0x5648cf72b378, _scu=) at osmo_bsc_sigtran.c:267 11 0x00007f0bc5813c03 in _osmo_fsm_inst_dispatch () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 12 0x00007f0bc51a8935 in sccp_scoc_rx_from_scrc (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scoc.c:1695 13 0x00007f0bc51a62f3 in scrc_rx_mtp_xfer_ind_xua (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scrc.c:459 14 0x00007f0bc51a9545 in mtp_user_prim_cb (oph=0x5648cf7681f8, ctx=0x5648cf6a8d60) at sccp_user.c:182 15 0x00007f0bc51a09c6 in m3ua_rx_xfer (xua=0x5648cf764a80, asp=0x5648cf45f540) at m3ua.c:586 16 m3ua_rx_msg (asp=asp at entry=0x5648cf45f540, msg=msg at entry=0x5648cf71e880) at m3ua.c:739 17 0x00007f0bc51b0763 in xua_cli_read_cb (conn=0x5648cf441ed0) at osmo_ss7.c:1761 18 0x00007f0bc55fab53 in osmo_stream_cli_read (cli=0x5648cf441ed0) at stream.c:232 19 osmo_stream_cli_fd_cb (ofd=, what=1) at stream.c:321 20 0x00007f0bc580edcf in ?? () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 21 0x00007f0bc580f526 in osmo_select_main_ctx () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 22 0x00005648ceecfb2f in main (argc=, argv=) at osmo_bsc_main.c:953 Apparently, there is no lchan allocated at this moment, so conn_get_bts() crashes. But we only use it to get to "network" which we can do much easier and safer by doing conn->network. Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 --- M src/osmo-bsc/osmo_bsc_filter.c M tests/bsc/bsc_test.c 2 files changed, 3 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/18338/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 19:59:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 19:59:11 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18319 ) Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 19:59:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 19:59:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 17 May 2020 19:59:14 +0000 Subject: Change in osmocom-bb[master]: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18319 ) Change subject: trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies ...................................................................... trxcon: refactor trx_if_cmd_setfh(): send Rx/Tx frequencies It would make sense to send the ARFCN list in parameters of SETFH command, if there was a clear distinction between transceivers in fake_trx.py, i.e. which one is an MS and which is a BTS. Right now, every Transceiver is an abstract entity that emits and receives bursts. So when you convert an ARFCN to a pair of Downlink/Uplink frequencies, you don't know whether it maps as Rx/Tx or as Tx/Rx for a given Transceiver. Of course, we could assume that this is an MS specific feature, and a pair of Downlink/Uplink frequencies always corresponds to Rx/Tx, but what if some day we would need to implement and test a similar approach for the BTS side? Also, by sending frequency values in kHz (rather than ARFCNs) we can avoid inconsistency with the existing RXTUNE / TXTUNE commands. Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Related: I587e4f5da67c7b7f28e010ed46b24622c31a3fdd Related: OS#4546 --- M src/host/trxcon/trx_if.c 1 file changed, 36 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/host/trxcon/trx_if.c b/src/host/trxcon/trx_if.c index cb54c9e..91f84ec 100644 --- a/src/host/trxcon/trx_if.c +++ b/src/host/trxcon/trx_if.c @@ -397,41 +397,57 @@ } /* - * Frequency Hopping parameters indication + * Frequency Hopping parameters indication. * - * SETFH instructs transceiver to enable frequency - * hopping mode using the given parameters. - * CMD SETFH [... ] + * SETFH instructs transceiver to enable frequency hopping mode + * using the given HSN, MAIO, and Mobile Allocation parameters. + * + * CMD SETFH [... ] + * + * where and is a pair of Rx/Tx frequencies (in kHz) + * corresponding to one ARFCN the Mobile Allocation. Note that the + * channel list is expected to be sorted in ascending order. */ int trx_if_cmd_setfh(struct trx_instance *trx, uint8_t hsn, uint8_t maio, uint16_t *ma, size_t ma_len) { - char ma_buf[100]; + /* Reserve some room for CMD SETFH */ + char ma_buf[TRXC_BUF_SIZE - 24]; + size_t ma_buf_len = sizeof(ma_buf) - 1; + uint16_t rx_freq, tx_freq; char *ptr; int i, rc; - /* No channels, WTF?!? */ - if (!ma_len) + /* Make sure that Mobile Allocation has at least one ARFCN */ + if (!ma_len || ma == NULL) { + LOGP(DTRX, LOGL_ERROR, "Mobile Allocation is empty?!?\n"); return -EINVAL; + } - /** - * Compose a sequence of channels (mobile allocation) - * FIXME: the length of a CTRL command is limited to 128 symbols, - * so we may have some problems if there are many channels... - */ + /* Compose a sequence of Rx/Tx frequencies (mobile allocation) */ for (i = 0, ptr = ma_buf; i < ma_len; i++) { - /* Append a channel */ - rc = snprintf(ptr, ma_buf + sizeof(ma_buf) - ptr, "%u ", ma[i]); - if (rc < 0) - return rc; + /* Convert ARFCN to a pair of Rx/Tx frequencies (Hz * 10) */ + rx_freq = gsm_arfcn2freq10(ma[i], 0); /* Rx: Downlink */ + tx_freq = gsm_arfcn2freq10(ma[i], 1); /* Tx: Uplink */ + if (rx_freq == 0xffff || tx_freq == 0xffff) { + LOGP(DTRX, LOGL_ERROR, "Failed to convert ARFCN %u " + "to a pair of Rx/Tx frequencies\n", + ma[i] & ~ARFCN_FLAG_MASK); + return -EINVAL; + } + + /* Append a pair of Rx/Tx frequencies (in kHz) to the buffer */ + rc = snprintf(ptr, ma_buf_len, "%u %u ", rx_freq * 100, tx_freq * 100); + if (rc < 0 || rc > ma_buf_len) { /* Prevent buffer overflow */ + LOGP(DTRX, LOGL_ERROR, "Not enough room to encode " + "Mobile Allocation (N=%zu)\n", ma_len); + return -ENOSPC; + } /* Move pointer */ + ma_buf_len -= rc; ptr += rc; - - /* Prevent buffer overflow */ - if (ptr >= (ma_buf + 100)) - return -EIO; } /* Overwrite the last space */ -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2bf08797f1a37b56cf47945694b901f92765b58 Gerrit-Change-Number: 18319 Gerrit-PatchSet: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:07:32 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:07:32 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to DEBUG In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 to look at the new patch set (#3). Change subject: log: Demote "CHAN RQD: reason" to DEBUG ...................................................................... log: Demote "CHAN RQD: reason" to DEBUG The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to DEBUG. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/31/18331/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:08:21 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 to look at the new patch set (#4). Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... log: Demote "CHAN RQD: reason" to INFO The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to DEBUG. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/31/18331/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:08:21 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:08:21 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. In-Reply-To: References: Message-ID: Hello tnt, pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 to look at the new patch set (#4). Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. Not sure why this specific message is ERROR while similar ones around are DEBUG. So let's fix this disparity by demoting this message level. Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/37/18337/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:25:04 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 17 May 2020 20:25:04 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 17 May 2020 20:25:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:37:30 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:37:30 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 72 PS2, Line 72: pl->total++; > here, avoid increasing total if ts is not available. [?] The whole idea of this if() is that the timeslots ARE available if they are in one of these configurations. https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 89 PS2, Line 89: > whitespace Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18334/2/src/osmo-bsc/chan_alloc.c at 93 PS2, Line 93: if (!ts_is_usable(ts)) { > I think it makes sense to simply not increment pl->total above if this case is matched. No, the logic here is the opposite. Borken lchans (children FSM of a TS FSM) are already counted as both total and used because they are most likely transient states due to A-bis link latency. But lchans in non-borken states which are children of broken TS were previously not counted as used which created artifacts in channel counting (I can show you screenshots if you want). This change synchronizes behavior between broken lchans which are children of non-broken TS wich non-broken lchans which are children of broken TS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 20:37:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:43:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:43:01 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 to look at the new patch set (#3). Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. lchans under a BORKEN/NOT_INITIALIZED TS should be counted as used just as BORKEN lchans under a normal TS. Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/18334/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 20:43:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 20:43:01 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 to look at the new patch set (#9). Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... bssap: Handle BSSMAP CONFUSION message. We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 --- M TODO-RELEASE M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 4 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18232/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 9 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 21:23:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 21:23:01 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#11). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 148 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 21:23:03 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 21:23:03 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... borken: Recover from more TS borken states. Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d --- M src/osmo-bsc/timeslot_fsm.c 1 file changed, 16 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/39/18339/1 diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index f8adfb6..84ffb7f 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -669,9 +669,17 @@ } case TS_EV_PDCH_ACT_ACK: - /* Late PDCH activation ACK is not a crime. - * Just go into the PDCH mode as normal. */ - osmo_fsm_inst_state_chg(fi, TS_ST_PDCH, 0, 0); + case TS_EV_PDCH_ACT_NACK: + /* Late PDCH activation ACK/NACK is not a crime. + * Just process them as normal. */ + ts_fsm_wait_pdch_act(fi, event, data); + return; + + case TS_EV_PDCH_DEACT_ACK: + case TS_EV_PDCH_DEACT_NACK: + /* Late PDCH deactivation ACK/NACK is also not a crime. + * Just process them as normal. */ + ts_fsm_wait_pdch_deact(fi, event, data); return; default: @@ -827,8 +835,13 @@ | S(TS_EV_LCHAN_REQUESTED) | S(TS_EV_LCHAN_UNUSED) | S(TS_EV_PDCH_ACT_ACK) + | S(TS_EV_PDCH_ACT_NACK) + | S(TS_EV_PDCH_DEACT_ACK) + | S(TS_EV_PDCH_DEACT_NACK) , .out_state_mask = 0 + | S(TS_ST_IN_USE) + | S(TS_ST_UNUSED) | S(TS_ST_NOT_INITIALIZED) | S(TS_ST_PDCH) , -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 21:53:36 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 21:53:36 +0000 Subject: Change in osmo-bsc[master]: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18340 ) Change subject: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. ...................................................................... bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 --- M src/osmo-bsc/osmo_bsc_filter.c 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/40/18340/1 diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 3b72aee..b4985f2 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -49,6 +49,11 @@ uint8_t tzbsd = 0; uint8_t dst = 0; + /* Is TZ patching enabled? */ + struct gsm_tz *tz = &conn->network->tz; + if (!tz->override) + return 0; + parse_res = tlv_parse(&tp, &gsm48_mm_att_tlvdef, data, length, 0, 0); if (parse_res <= 0 && parse_res != -3) /* FIXME: -3 means unknown IE error, so this accepts messages @@ -56,11 +61,6 @@ * IE and the message is broken or parsed incompletely. */ return 0; - /* Is TZ patching enabled? */ - struct gsm_tz *tz = &conn->network->tz; - if (!tz->override) - return 0; - /* Convert tz.hr and tz.mn to units */ if (tz->hr < 0) { tzunits = -tz->hr*4; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 Gerrit-Change-Number: 18340 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 22:30:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 22:30:02 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 22:30:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 22:31:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 22:31:07 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 17 May 2020 22:31:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 22:32:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 22:32:17 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 10 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 22:32:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 22:36:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 17 May 2020 22:36:44 +0000 Subject: Change in osmo-bsc[master]: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18340 ) Change subject: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 Gerrit-Change-Number: 18340 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 17 May 2020 22:36:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 23:20:01 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 23:20:01 +0000 Subject: Change in osmo-bsc[master]: log: Demote "CHAN RQD: reason" to INFO In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18331 ) Change subject: log: Demote "CHAN RQD: reason" to INFO ...................................................................... log: Demote "CHAN RQD: reason" to INFO The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to DEBUG. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: tnt: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index a5e5f51..dd2ea3f 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1369,7 +1369,7 @@ /* Determine channel request cause code */ chreq_reason = get_reason_by_chreq(rqd_ref->ra, bts->network->neci); - LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", + LOG_BTS(bts, DRSL, LOGL_INFO, "CHAN RQD: reason: %s (ra=0x%02x, neci=0x%02x, chreq_reason=0x%02x)\n", get_value_string(gsm_chreq_descs, chreq_reason), rqd_ref->ra, bts->network->neci, chreq_reason); /* Handle PDCH related rach requests (in case of BSC-co-located-PCU */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758 Gerrit-Change-Number: 18331 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 17 23:20:02 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 17 May 2020 23:20:02 +0000 Subject: Change in osmo-bsc[master]: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. In-Reply-To: References: Message-ID: ipse has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18337 ) Change subject: log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. ...................................................................... log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG. Not sure why this specific message is ERROR while similar ones around are DEBUG. So let's fix this disparity by demoting this message level. Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed --- M src/osmo-bsc/abis_rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index dd2ea3f..4a1d314 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -1687,7 +1687,7 @@ } break; case RSL_MT_EST_CONF: - LOG_LCHAN(msg->lchan, LOGL_ERROR, "SAPI=%u ESTABLISH CONFIRM\n", sapi); + LOG_LCHAN(msg->lchan, LOGL_DEBUG, "SAPI=%u ESTABLISH CONFIRM\n", sapi); msg->lchan->sapis[sapi] = LCHAN_SAPI_NET; rll_indication(msg->lchan, rllh->link_id, BSC_RLLR_IND_EST_CONF); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed Gerrit-Change-Number: 18337 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 07:32:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 18 May 2020 07:32:28 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18272/1/contrib/libosmocore.spec File contrib/libosmocore.spec: https://gerrit.osmocom.org/c/libosmocore/+/18272/1/contrib/libosmocore.spec at 16 PS1, Line 16: Ve > the usual method that I knew even 20 years ago was to address this is to have a spec. [?] Yes, this is better. Will do. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 18 May 2020 07:32:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 08:36:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 08:36:15 +0000 Subject: Change in osmo-iuh[master]: tests: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18341 ) Change subject: tests: Fix trailing whitespace ...................................................................... tests: Fix trailing whitespace Change-Id: I3ef7a3f1c3247615619a0d01c92d8f80572b0dfe --- M src/tests/dummy_cn_sua.c M src/tests/test-helpers.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/41/18341/1 diff --git a/src/tests/dummy_cn_sua.c b/src/tests/dummy_cn_sua.c index f9b4244..aba6c8a 100644 --- a/src/tests/dummy_cn_sua.c +++ b/src/tests/dummy_cn_sua.c @@ -305,7 +305,7 @@ break; case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): /* connection-oriented data received */ - printf("N-UNITDATA.ind(%s)\n", + printf("N-UNITDATA.ind(%s)\n", osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); rc = ranap_cn_rx_cl(cn_ranap_handle_cl, link, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index 6a6a4d1..aafe815 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -130,7 +130,7 @@ struct gprs_ra_id ra_id = {0}; int rc; - + RANAP_LAI_t lai = { .pLMNidentity = { .buf = plmnid_buf, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3ef7a3f1c3247615619a0d01c92d8f80572b0dfe Gerrit-Change-Number: 18341 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 08:36:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 08:36:16 +0000 Subject: Change in osmo-iuh[master]: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18342 ) Change subject: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw ...................................................................... Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw With new gcc 10.1.0, tests failed at runtime when built with ASAN enabled, since some global variables where defined multiple times. See OS#4556 for a sample Asan error. Fixes: OS#4556 Change-Id: I12a667ea8a9f16404c13c9218b246d2e3acfe3e8 --- M src/hnbap_common.c M src/tests/dummy_cn_sua.c M src/tests/test-helpers.c M src/tests/test-ranap.c M src/tests/test_common.c 5 files changed, 6 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/42/18342/1 diff --git a/src/hnbap_common.c b/src/hnbap_common.c index f8cfb13..4e79467 100644 --- a/src/hnbap_common.c +++ b/src/hnbap_common.c @@ -106,10 +106,6 @@ return buf; } - -int asn_debug = 0; -int asn1_xer_print = 0; - static struct msgb *hnbap_msgb_alloc(void) { return msgb_alloc(1024, "HNBAP Tx"); diff --git a/src/tests/dummy_cn_sua.c b/src/tests/dummy_cn_sua.c index aba6c8a..6e14562 100644 --- a/src/tests/dummy_cn_sua.c +++ b/src/tests/dummy_cn_sua.c @@ -26,7 +26,6 @@ #include #include -int asn1_xer_print = 1; const char *cmdline_bind_addr = "127.0.0.1"; struct ue_conn_ctx { @@ -364,6 +363,8 @@ int rc; int port = 14001; + asn1_xer_print = 1; + osmo_sua_set_log_area(DSUA); ranap_set_log_area(DRANAP); diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index aafe815..cfe2140 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -32,7 +32,6 @@ #include -int asn1_xer_print = 0; extern void *talloc_asn1_ctx; /* use odd number of digits */ @@ -207,6 +206,8 @@ int main(int argc, char **argv) { + asn1_xer_print = 0; + test_common_init(); test_iu_helpers(); diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index efa2241..a6df186 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -34,8 +34,6 @@ #include -int asn1_xer_print = 1; - extern void *tall_msgb_ctx; static void test_aper_int(uint32_t inp) @@ -95,6 +93,8 @@ uint8_t ck[16] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; int i; + asn1_xer_print = 1; + //asn_debug = 1; test_common_init(); diff --git a/src/tests/test_common.c b/src/tests/test_common.c index 701d581..7c6f62a 100644 --- a/src/tests/test_common.c +++ b/src/tests/test_common.c @@ -41,8 +41,6 @@ #include -void *talloc_asn1_ctx; - static const struct log_info_cat log_cat[] = { [DMAIN] = { .name = "DMAIN", .loglevel = LOGL_INFO, .enabled = 1, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I12a667ea8a9f16404c13c9218b246d2e3acfe3e8 Gerrit-Change-Number: 18342 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 08:44:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 08:44:54 +0000 Subject: Change in osmo-msc[master]: ran_msg_iu.c: Avoid redefining osmo-iuh global variables References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18343 ) Change subject: ran_msg_iu.c: Avoid redefining osmo-iuh global variables ...................................................................... ran_msg_iu.c: Avoid redefining osmo-iuh global variables From ASAn on gcc 10.1.0: +================================================================= +==269368==ERROR: AddressSanitizer: odr-violation (0x559114a5b880): + [1] size=4 'asn1_xer_print' /git/osmo-msc/src/libmsc/ran_msg_iu.c:50:5 + [2] size=4 'asn1_xer_print' /git/osmo-iuh/src/iu_client.c:85:5 +These globals were registered at these points: + [1]: + #0 0x7f6208d3869a in __asan_register_globals /build/gcc/src/gcc/libsanitizer/asan/asan_globals.cpp:341 + #1 0x55911456d221 in _sub_I_00099_1 (/build/new/tmpdir/osmo-msc/tests/msc_vlr/msc_vlr_test_hlr_timeout+0x48d221) + #2 0x5591145e8e9c in __libc_csu_init (/build/new/tmpdir/osmo-msc/tests/msc_vlr/msc_vlr_test_hlr_timeout+0x508e9c) + + [2]: + #0 0x7f6208d3869a in __asan_register_globals /build/gcc/src/gcc/libsanitizer/asan/asan_globals.cpp:341 + #1 0x7f6207d8db91 in _sub_I_00099_1 (/build/new/out/lib/libosmo-ranap.so.3+0x47db91) + #2 0x7f62096eb0f1 in call_init.part.0 (/lib64/ld-linux-x86-64.so.2+0x110f1) + +==269368==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0 +SUMMARY: AddressSanitizer: odr-violation: global 'asn1_xer_print' at /git/osmo-msc/src/libmsc/ran_msg_iu.c:50:5 +==269368==ABORTING Related: OS#4556 Change-Id: I702e9748eaaf2279c3764ba67f80f00ae9f2526f --- M src/libmsc/ran_msg_iu.c 1 file changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/43/18343/1 diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index e056de4..b17aef8 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -39,16 +39,6 @@ #include #include -/* Implement the extern talloc_asn1_ctx from libasn1c as talloc ctx for ASN.1 message composition */ -void *talloc_asn1_ctx = NULL; - -/* Implement the extern asn_debug from libasn1c to indicate whether to print asn.1 debug messages. */ -int asn_debug = 0; - -/* Implement the extern asn1_xer_print to indicate whether the ASN.1 binary code decoded and encoded during Iu - * communication should be logged to stderr (see asn.1 generated code in osmo-iuh). */ -int asn1_xer_print = 0; - #define LOG_RAN_IU_DEC(RAN_DEC, level, fmt, args...) \ LOG_RAN_DEC(RAN_DEC, DIUCS, level, "RANAP: " fmt, ## args) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I702e9748eaaf2279c3764ba67f80f00ae9f2526f Gerrit-Change-Number: 18343 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 08:49:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 08:49:16 +0000 Subject: Change in osmo-bts[master]: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18344 ) Change subject: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c ...................................................................... l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c Change-Id: Idd40433fee22aeb1e86708c132929bb69e626334 --- M src/osmo-bts-octphy/l1_utils.h 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/44/18344/1 diff --git a/src/osmo-bts-octphy/l1_utils.h b/src/osmo-bts-octphy/l1_utils.h index d1a8717..1c1d222 100644 --- a/src/osmo-bts-octphy/l1_utils.h +++ b/src/osmo-bts-octphy/l1_utils.h @@ -2,8 +2,8 @@ #include -const struct value_string octphy_l1sapi_names[23]; -const struct value_string octphy_dir_names[5]; -const struct value_string octphy_clkmgr_state_vals[8]; -const struct value_string octphy_cid_vals[37]; -const struct value_string octphy_eid_vals[7]; +extern const struct value_string octphy_l1sapi_names[23]; +extern const struct value_string octphy_dir_names[5]; +extern const struct value_string octphy_clkmgr_state_vals[8]; +extern const struct value_string octphy_cid_vals[37]; +extern const struct value_string octphy_eid_vals[7]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idd40433fee22aeb1e86708c132929bb69e626334 Gerrit-Change-Number: 18344 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 10:50:29 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Mon, 18 May 2020 10:50:29 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18071 to look at the new patch set (#7). Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Extract PLMN digits from IMSI in non-batch programming scenario With the help of mnclen argument we extract the MNC and MCC from the provided IMSI and not rely on -x and -y arguments which are solely used in batch programming of cards. Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 --- M pySim-prog.py 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/18071/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:15:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 12:15:25 +0000 Subject: Change in libosmocore[master]: enable vty xml dumping to stdout References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18345 ) Change subject: enable vty xml dumping to stdout ...................................................................... enable vty xml dumping to stdout Allow dumping the VTY XML reference (for generating manuals) to a normal FILE* stream instead of a vty output buffer. We currently generate the VTY reference by starting the client program, connecting to the VTY telnet and dumping the reference. That is weirdly convoluted, especially since there has to be a valid config file that successfully starts up a minimal set of external links before the reference can be generated. IMO we should have dumped the XML reference to stdout from the start, and never to a VTY session. With this patch, it is trivial to generate the XML VTY reference by a commandline switch. The client program will set up the entire VTY, and immediately after parsing the cmdline options but before parsing a config file, just dumps the reference and doesn't even start establishing local ports. That would allow generating the XML reference on the fly during the build process of the manuals, without the need of a docker container or somesuch. A first implementation of such a commandline switch is `osmo-bsc -X`, added in I316efedb2c1652791434ecf14a1e261367cd2fb7 This patch jumps through a bit of a hoop to still allow dumping to a VTY buffer without code dup, to still allow dumping the XML reference through telnet VTY, until all our programs have implemented an -X switch (TM). Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 62 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/18345/1 diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index d63dbde..88490f7 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -401,4 +401,6 @@ extern void *tall_vty_cmd_ctx; +int vty_dump_xml_ref(FILE *stream); + /*! @} */ diff --git a/src/vty/command.c b/src/vty/command.c index daee5c5..9b32d22 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -619,15 +619,17 @@ return out; } +typedef int (*print_func_t)(void *data, const char *fmt, ...); + /* - * Write one cmd_element as XML to the given VTY. + * Write one cmd_element as XML via a print_func_t. */ -static int vty_dump_element(struct cmd_element *cmd, struct vty *vty) +static int vty_dump_element(struct cmd_element *cmd, print_func_t print_func, void *data, const char *newline) { char *xml_string = xml_escape(cmd->string); - vty_out(vty, " %s", xml_string, VTY_NEWLINE); - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", xml_string, newline); + print_func(data, " %s", newline); int j; for (j = 0; j < vector_count(cmd->strvec); ++j) { @@ -641,15 +643,15 @@ xml_param = xml_escape(desc->cmd); xml_doc = xml_escape(desc->str); - vty_out(vty, " %s", - xml_param, xml_doc, VTY_NEWLINE); + print_func(data, " %s", + xml_param, xml_doc, newline); talloc_free(xml_param); talloc_free(xml_doc); } } - vty_out(vty, " %s", VTY_NEWLINE); - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); + print_func(data, " %s", newline); talloc_free(xml_string); return 0; @@ -658,20 +660,20 @@ static bool vty_command_is_common(struct cmd_element *cmd); /* - * Dump all nodes and commands associated with a given node as XML to the VTY. + * Dump all nodes and commands associated with a given node as XML via a print_func_t. */ -static int vty_dump_nodes(struct vty *vty) +static int vty_dump_nodes(print_func_t print_func, void *data, const char *newline) { int i, j; int same_name_count; - vty_out(vty, "%s", VTY_NEWLINE); + print_func(data, "%s", newline); /* Only once, list all common node commands. Use the CONFIG node to find common node commands. */ - vty_out(vty, " %s", VTY_NEWLINE); - vty_out(vty, " Common Commands%s", VTY_NEWLINE); - vty_out(vty, " These commands are available on all VTY nodes. They are listed" - " here only once, to unclutter the VTY reference.%s", VTY_NEWLINE); + print_func(data, " %s", newline); + print_func(data, " Common Commands%s", newline); + print_func(data, " These commands are available on all VTY nodes. They are listed" + " here only once, to unclutter the VTY reference.%s", newline); for (i = 0; i < vector_active(cmdvec); ++i) { struct cmd_node *cnode; cnode = vector_slot(cmdvec, i); @@ -686,10 +688,10 @@ if (!vty_command_is_common(elem)) continue; if (!(elem->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_dump_element(elem, vty); + vty_dump_element(elem, print_func, data, newline); } } - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); for (i = 0; i < vector_active(cmdvec); ++i) { struct cmd_node *cnode; @@ -712,11 +714,11 @@ same_name_count ++; } - vty_out(vty, " name); if (same_name_count > 1 || !*cnode->name) - vty_out(vty, "_%d", same_name_count); - vty_out(vty, "'>%s", VTY_NEWLINE); - vty_out(vty, " %s%s", cnode->name, VTY_NEWLINE); + print_func(data, "_%d", same_name_count); + print_func(data, "'>%s", newline); + print_func(data, " %s%s", cnode->name, newline); for (j = 0; j < vector_active(cnode->cmd_vector); ++j) { struct cmd_element *elem; @@ -724,17 +726,50 @@ if (vty_command_is_common(elem)) continue; if (!(elem->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_dump_element(elem, vty); + vty_dump_element(elem, print_func, data, newline); } - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); } - vty_out(vty, "%s", VTY_NEWLINE); + print_func(data, "%s", newline); return 0; } +static int print_func_vty(void *data, const char *format, ...) +{ + struct vty *vty = data; + va_list args; + int rc; + va_start(args, format); + rc = vty_out_va(vty, format, args); + va_end(args); + return rc; +} + +static int vty_dump_xml_ref_to_vty(struct vty *vty) +{ + return vty_dump_nodes(print_func_vty, vty, VTY_NEWLINE); +} + +static int print_func_stream(void *data, const char *format, ...) +{ + va_list args; + int rc; + va_start(args, format); + rc = vfprintf((FILE*)data, format, args); + va_end(args); + return rc; +} + +/*! Print the XML reference of all VTY nodes to the given stream. + */ +int vty_dump_xml_ref(FILE *stream) +{ + return vty_dump_nodes(print_func_stream, stream, "\n"); +} + /* Check if a command with given string exists at given node */ static int check_element_exists(struct cmd_node *cnode, const char *cmdstring) { @@ -2772,7 +2807,7 @@ DEFUN(show_online_help, show_online_help_cmd, "show online-help", SHOW_STR "Online help\n") { - vty_dump_nodes(vty); + vty_dump_xml_ref_to_vty(vty); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 Gerrit-Change-Number: 18345 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 12:22:48 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 to look at the new patch set (#2). Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... deprecate 'msc' / 'ip.access rtp-base ' The bsc_msc_data->rtp_base has been unused ever since we introduced the exernal MGW in osmo-bsc [1]. The vty command also still exists. Deprecate the vty command, remove the member. [1] "mgcp: use osmo-mgw to switch RTP streams" commit 39c609b7c924524172ad311bdf89f92b7ccf175a Change-Id Ia2882b7ca31a3219c676986e85045fa08a425d7a Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 --- M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 3 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/18236/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 12:22:48 +0000 Subject: Change in osmo-bsc[master]: manuals: update bsc_vty_reference.xml References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18346 ) Change subject: manuals: update bsc_vty_reference.xml ...................................................................... manuals: update bsc_vty_reference.xml I notice that some merges seem to have missed updating the bsc_vty_reference.xml file. Re-generating it from current master yields these changes. Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 40 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/46/18346/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index dac4ec5..e87e027 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -1414,18 +1414,20 @@ - + + + @@ -2153,6 +2155,12 @@ + + + + + + config-line @@ -2177,6 +2185,18 @@ config-e1_input + + + + + + + + + + + + @@ -4282,6 +4302,18 @@ + + + + + + + + + + + + @@ -5043,6 +5075,13 @@ + + + + + + + om2k-con-group -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2 Gerrit-Change-Number: 18346 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:22:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 12:22:49 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18347 ) Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... add osmo-bsc -X: dump VTY ref XML to stdout Depends: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 (libosmocore) Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/18347/1 diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index ad5a3a9..b2af904 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -84,6 +84,7 @@ static const char *config_file = "osmo-bsc.cfg"; static const char *rf_ctrl = NULL; static int daemonize = 0; +static bool vty_ref_xml = false; static LLIST_HEAD(access_lists); struct llist_head *bsc_access_lists(void) @@ -110,6 +111,7 @@ printf(" -e --log-level number Set a global loglevel.\n"); printf(" -r --rf-ctl NAME A unix domain socket to listen for cmds.\n"); printf(" -t --testmode A special mode to provoke failures at the MSC.\n"); + printf(" -X --vty-ref-xml Generate the VTY reference xml output and exit.\n"); } static void handle_options(int argc, char **argv) @@ -128,10 +130,11 @@ {"log-level", 1, 0, 'e'}, {"rf-ctl", 1, 0, 'r'}, {"testmode", 0, 0, 't'}, + {"vty-ref-xml", 0, 0, 'X'}, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "hd:DsTVc:e:r:t", + c = getopt_long(argc, argv, "hd:DsTVc:e:r:tX", long_options, &option_index); if (c == -1) break; @@ -166,6 +169,9 @@ case 'r': rf_ctrl = optarg; break; + case 'X': + vty_ref_xml = true; + break; default: /* ignore */ break; @@ -855,6 +861,11 @@ /* parse options */ handle_options(argc, argv); + if (vty_ref_xml) { + vty_dump_xml_ref(stdout); + exit(0); + } + /* seed the PRNG */ srand(time(NULL)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:24:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 12:24:31 +0000 Subject: Change in osmo-pcu[master]: sysmo: femtobts.h: Avoid redefining global variables References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18348 ) Change subject: sysmo: femtobts.h: Avoid redefining global variables ...................................................................... sysmo: femtobts.h: Avoid redefining global variables Change-Id: I0f04726ae608f499c557cedffb4d86625bccbd5a --- M src/osmo-bts-sysmo/femtobts.h 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/48/18348/1 diff --git a/src/osmo-bts-sysmo/femtobts.h b/src/osmo-bts-sysmo/femtobts.h index 7e45578..3a428ee 100644 --- a/src/osmo-bts-sysmo/femtobts.h +++ b/src/osmo-bts-sysmo/femtobts.h @@ -18,22 +18,22 @@ L1P_T_IND, }; -const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; -const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; -const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; +extern const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; +extern const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; -const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; -const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; +extern const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; +extern const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; +extern const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string femtobts_tracef_names[29]; +extern const struct value_string femtobts_tracef_names[29]; -const struct value_string femtobts_tch_pl_names[15]; +extern const struct value_string femtobts_tch_pl_names[15]; -const struct value_string femtobts_dir_names[6]; +extern const struct value_string femtobts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -52,6 +52,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* FEMTOBTS_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f04726ae608f499c557cedffb4d86625bccbd5a Gerrit-Change-Number: 18348 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:24:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 12:24:31 +0000 Subject: Change in osmo-pcu[master]: rlc: Drop unused function gprs_rlc_data::put_data References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18349 ) Change subject: rlc: Drop unused function gprs_rlc_data::put_data ...................................................................... rlc: Drop unused function gprs_rlc_data::put_data Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 --- M src/rlc.cpp M src/rlc.h 2 files changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/49/18349/1 diff --git a/src/rlc.cpp b/src/rlc.cpp index c44d27e..6d084b1 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -44,12 +44,6 @@ return block; } -void gprs_rlc_data::put_data(const uint8_t *data, size_t data_len) -{ - memcpy(block, data, data_len); - len = data_len; -} - void gprs_rlc_v_b::reset() { for (size_t i = 0; i < ARRAY_SIZE(m_v_b); ++i) diff --git a/src/rlc.h b/src/rlc.h index 5b6a0dd..135060e 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -178,7 +178,6 @@ struct gprs_rlc_data { uint8_t *prepare(size_t block_data_length); - void put_data(const uint8_t *data, size_t len); /* block data including LI headers */ uint8_t block[RLC_MAX_LEN]; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 Gerrit-Change-Number: 18349 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:24:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 12:24:31 +0000 Subject: Change in osmo-pcu[master]: rlc: Move prepare() function out of gprs_rlc_data struct References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18350 ) Change subject: rlc: Move prepare() function out of gprs_rlc_data struct ...................................................................... rlc: Move prepare() function out of gprs_rlc_data struct Newer gcc 10.1.0 is erroring due to memset being applied on a complex type, so let's start by removing this only function outside of the struct. Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 --- M src/rlc.cpp M src/rlc.h M src/tbf_dl.cpp M tests/types/TypesTest.cpp 4 files changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/50/18350/1 diff --git a/src/rlc.cpp b/src/rlc.cpp index 6d084b1..5316136 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -32,16 +32,16 @@ } -uint8_t *gprs_rlc_data::prepare(size_t block_data_len) +uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_len) { /* todo.. only set it once if it turns out to be a bottleneck */ - memset(block, 0x0, sizeof(block)); - memset(block, 0x2b, block_data_len); + memset(rlc->block, 0x0, sizeof(rlc->block)); + memset(rlc->block, 0x2b, block_data_len); /* Initial value of puncturing scheme */ - next_ps = EGPRS_PS_1; + rlc->next_ps = EGPRS_PS_1; - return block; + return rlc->block; } void gprs_rlc_v_b::reset() diff --git a/src/rlc.h b/src/rlc.h index 135060e..109c5b3 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -177,8 +177,6 @@ }; struct gprs_rlc_data { - uint8_t *prepare(size_t block_data_length); - /* block data including LI headers */ uint8_t block[RLC_MAX_LEN]; /* block data len including LI headers*/ @@ -211,6 +209,8 @@ union split_block_status spb_status; }; +uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_length); + void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, GprsCodingScheme cs, bool with_padding, const unsigned int spb); void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index dab1e29..cd4ddb9 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -581,7 +581,7 @@ /* now we still have untransmitted LLC data, so we fill mac block */ rlc_data = m_rlc.block(bsn); - data = rlc_data->prepare(block_data_len); + data = prepare(rlc_data, block_data_len); rlc_data->cs_last = cs; rlc_data->cs_current_trans = cs; diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index b46a82b..e1c894d 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -97,7 +97,7 @@ { struct gprs_rlc_data rlc = { 0, }; memset(rlc.block, 0x23, RLC_MAX_LEN); - uint8_t *p = rlc.prepare(20); + uint8_t *p = prepare(&rlc, 20); OSMO_ASSERT(p == rlc.block); for (int i = 0; i < 20; ++i) OSMO_ASSERT(p[i] == 0x2B); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 Gerrit-Change-Number: 18350 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:24:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 12:24:32 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Get rid of class GprsCodingScheme We have same kind of object splitted into two layers, in coding_scheme and gprs_coding_scheme. Let's merge them together and get rid of the class, which is not really useful because it's only a set of functions operating on one enum value. This change also fixes gcc 10.1.0 error about memseting a complex type in rlc.h init(). Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df --- M src/Makefile.am M src/bts.h M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp D src/gprs_coding_scheme.cpp D src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_main.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/pdch.h M src/rlc.cpp M src/rlc.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp M tests/tbf/TbfTest.cpp 26 files changed, 530 insertions(+), 669 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/18351/1 diff --git a/src/Makefile.am b/src/Makefile.am index 54c6f1b..ece372d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -68,7 +68,6 @@ osmobts_sock.cpp \ gprs_codel.c \ coding_scheme.c \ - gprs_coding_scheme.cpp \ egprs_rlc_compression.cpp \ gprs_rlcmac_sched.cpp @@ -104,7 +103,6 @@ pcu_utils.h \ cxx_linuxlist.h \ gprs_codel.h \ - gprs_coding_scheme.h \ coding_scheme.h \ egprs_rlc_compression.h \ wireshark_compat.h diff --git a/src/bts.h b/src/bts.h index 15dd482..9986bdc 100644 --- a/src/bts.h +++ b/src/bts.h @@ -37,7 +37,7 @@ #include "sba.h" #include "tbf.h" #include "gprs_ms_storage.h" -#include "gprs_coding_scheme.h" +#include "coding_scheme.h" #include #endif diff --git a/src/coding_scheme.c b/src/coding_scheme.c index eaa4953..9848432 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -42,6 +42,56 @@ { 0, NULL } }; +enum Family { + FAMILY_INVALID, + FAMILY_A, + FAMILY_B, + FAMILY_C, +}; + +static struct { + struct { + uint8_t bytes; + uint8_t ext_bits; + uint8_t data_header_bits; + } uplink, downlink; + uint8_t data_bytes; + uint8_t optional_padding_bits; + enum HeaderType data_hdr; + enum Family family; +} mcs_info[NUM_SCHEMES] = { + {{0, 0}, {0, 0}, 0, 0, + HEADER_INVALID, FAMILY_INVALID}, + {{23, 0}, {23, 0}, 20, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{33, 7}, {33, 7}, 30, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{39, 3}, {39, 3}, 36, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{53, 7}, {53, 7}, 50, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + + {{26, 1}, {26, 1}, 22, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + {{32, 1}, {32, 1}, 28, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, + {{41, 1}, {41, 1}, 37, 48, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, + {{48, 1}, {48, 1}, 44, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + + {{60, 7}, {59, 6}, 56, 0, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, + {{78, 7}, {77, 6}, 74, 48, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, + {{118, 2}, {117, 4}, 56, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, + {{142, 2}, {141, 4}, 68, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, + {{154, 2}, {153, 4}, 74, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, +}; + const char *mcs_name(enum CodingScheme val) { return get_value_string(mcs_names, val); } @@ -77,6 +127,194 @@ return 0; } +enum CodingScheme mcs_get_by_size_ul(unsigned size) +{ + switch (size) { + case 23: return CS1; + case 27: return MCS1; + case 33: return MCS2; + case 34: return CS2; + case 40: return CS3; + case 42: return MCS3; + case 49: return MCS4; + case 54: return CS4; + case 61: return MCS5; + case 79: return MCS6; + case 119: return MCS7; + case 143: return MCS8; + case 155: return MCS9; + default: return UNKNOWN; + } +} + +enum CodingScheme mcs_get_gprs_by_num(unsigned num) +{ + if (num < 1 || num > 4) + return UNKNOWN; + return CS1 + (num - 1); +} + +enum CodingScheme mcs_get_egprs_by_num(unsigned num) +{ + if (num < 1 || num > 9) + return UNKNOWN; + return MCS1 + (num - 1); +} + +bool mcs_is_valid(enum CodingScheme cs) +{ + return UNKNOWN <= cs && cs <= MCS9; +} + +bool mcs_is_compat_kind(enum CodingScheme cs, enum mcs_kind mode) +{ + switch (mode) { + case GPRS: return mcs_is_gprs(cs); + case EGPRS_GMSK: return mcs_is_edge_gmsk(cs); + case EGPRS: return mcs_is_edge(cs); + } + + return false; +} + +bool mcs_is_compat(enum CodingScheme cs, enum CodingScheme o) +{ + return (mcs_is_gprs(cs) && mcs_is_gprs(o)) || (mcs_is_edge(cs) && mcs_is_edge(o)); +} + +uint8_t mcs_size_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.bytes + (mcs_spare_bits_ul(cs) ? 1 : 0); +} + +uint8_t mcs_size_dl(enum CodingScheme cs) +{ + return mcs_info[cs].downlink.bytes + (mcs_spare_bits_dl(cs) ? 1 : 0); +} + +uint8_t mcs_used_size_ul(enum CodingScheme cs) +{ + if (mcs_info[cs].data_hdr == HEADER_GPRS_DATA) + return mcs_info[cs].uplink.bytes; + else + return mcs_size_ul(cs); +} + +uint8_t mcs_used_size_dl(enum CodingScheme cs) +{ + if (mcs_info[cs].data_hdr == HEADER_GPRS_DATA) + return mcs_info[cs].downlink.bytes; + else + return mcs_size_dl(cs); +} + +uint8_t mcs_max_bytes_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.bytes; +} + +uint8_t mcs_max_bytes_dl(enum CodingScheme cs) +{ + return mcs_info[cs].downlink.bytes; +} + +uint8_t mcs_spare_bits_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.ext_bits; +} + +uint8_t mcs_spare_bits_dl(enum CodingScheme cs) +{ +return mcs_info[cs].downlink.ext_bits; +} + +uint8_t mcs_max_data_block_bytes(enum CodingScheme cs) +{ + return mcs_info[cs].data_bytes; +} + +uint8_t mcs_opt_padding_bits(enum CodingScheme cs) +{ + return mcs_info[cs].optional_padding_bits; +} + +void mcs_inc_kind(enum CodingScheme *cs, enum mcs_kind mode) +{ + if (!mcs_is_compat_kind(*cs, mode)) + /* This should not happen. TODO: Use assert? */ + return; + + enum CodingScheme new_cs = *cs + 1; + if (!mcs_is_compat_kind(new_cs, mode)) + /* Clipping, do not change the value */ + return; + + *cs = new_cs; +} + +void mcs_dec_kind(enum CodingScheme *cs, enum mcs_kind mode) +{ + if (!mcs_is_compat_kind(*cs, mode)) + /* This should not happen. TODO: Use assert? */ + return; + + enum CodingScheme new_cs = *cs - 1; + if (!mcs_is_compat_kind(new_cs, mode)) + /* Clipping, do not change the value */ + return; + + *cs = new_cs; +} + +void mcs_inc(enum CodingScheme *cs) +{ + if (mcs_is_gprs(*cs) && *cs == CS4) + return; + + if (mcs_is_edge(*cs) && *cs == MCS9) + return; + + if (!mcs_is_valid(*cs)) + return; + + *cs = *cs + 1; +} + +void mcs_dec(enum CodingScheme *cs) +{ + if (mcs_is_gprs(*cs) && *cs == CS1) + return; + + if (mcs_is_edge(*cs) && *cs == MCS1) + return; + + if (!mcs_is_valid(*cs)) + return; + + *cs = *cs - 1; +} + +bool mcs_is_family_compat(enum CodingScheme cs, enum CodingScheme o) +{ + if (cs == o) + return true; + + if (mcs_info[cs].family == FAMILY_INVALID) + return false; + + return mcs_info[cs].family == mcs_info[o].family; +} + +void mcs_dec_to_single_block(enum CodingScheme *cs, bool *needStuffing) +{ + switch (*cs) { + case MCS7: *needStuffing = false; *cs = MCS5; break; + case MCS8: *needStuffing = true; *cs = MCS6; break; + case MCS9: *needStuffing = false; *cs = MCS6; break; + default: *needStuffing = false; break; + } +} + static struct { struct { uint8_t data_header_bits; @@ -93,6 +331,11 @@ { { 3 * 8 + 7 }, { 3 * 8 + 7 }, 2, 1, "EGPRS_DATA_TYPE3" }, }; +enum HeaderType mcs_header_type(enum CodingScheme mcs) +{ + return mcs_info[mcs].data_hdr; +} + uint8_t num_data_blocks(enum HeaderType ht) { OSMO_ASSERT(ht < NUM_HEADER_TYPES); diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 24db86d..8800f0c 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -21,6 +21,8 @@ #include +#include + enum CodingScheme { UNKNOWN, /* GPRS Coding Schemes: */ @@ -30,6 +32,15 @@ NUM_SCHEMES }; +enum mcs_kind { + GPRS, + EGPRS_GMSK, + EGPRS, +}; + +#define EGPRS_ARQ1 0x0 +#define EGPRS_ARQ2 0x1 + extern const struct value_string mcs_names[]; const char *mcs_name(enum CodingScheme val); enum CodingScheme get_retx_mcs(enum CodingScheme initial_mcs, enum CodingScheme commanded_mcs, bool resegment_bit); @@ -40,6 +51,32 @@ uint8_t mcs_chan_code(enum CodingScheme cs); +enum CodingScheme mcs_get_by_size_ul(unsigned size); +enum CodingScheme mcs_get_gprs_by_num(unsigned num); +enum CodingScheme mcs_get_egprs_by_num(unsigned num); +bool mcs_is_valid(enum CodingScheme cs); +bool mcs_is_compat(enum CodingScheme cs, enum CodingScheme o); +bool mcs_is_compat_kind(enum CodingScheme cs, enum mcs_kind mode); + +uint8_t mcs_size_ul(enum CodingScheme cs); +uint8_t mcs_size_dl(enum CodingScheme cs); +uint8_t mcs_used_size_ul(enum CodingScheme cs); +uint8_t mcs_used_size_dl(enum CodingScheme cs); +uint8_t mcs_max_bytes_ul(enum CodingScheme cs); +uint8_t mcs_max_bytes_dl(enum CodingScheme cs); +uint8_t mcs_spare_bits_ul(enum CodingScheme cs); +uint8_t mcs_spare_bits_dl(enum CodingScheme cs); +uint8_t mcs_max_data_block_bytes(enum CodingScheme cs); +uint8_t mcs_opt_padding_bits(enum CodingScheme cs); + +void mcs_inc_kind(enum CodingScheme *cs, enum mcs_kind mode); +void mcs_dec_kind(enum CodingScheme *cs, enum mcs_kind mode); +void mcs_inc(enum CodingScheme *cs); +void mcs_dec(enum CodingScheme *cs); + +bool mcs_is_family_compat(enum CodingScheme cs, enum CodingScheme o); +void mcs_dec_to_single_block(enum CodingScheme *cs, bool *needStuffing); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, @@ -50,17 +87,11 @@ NUM_HEADER_TYPES }; -enum HeaderType headerTypeData(enum CodingScheme mcs); +enum HeaderType mcs_header_type(enum CodingScheme mcs); uint8_t num_data_blocks(enum HeaderType ht); uint8_t num_data_header_bits_UL(enum HeaderType ht); uint8_t num_data_header_bits_DL(enum HeaderType ht); uint8_t num_data_block_header_bits(enum HeaderType ht); -enum mcs_kind { - GPRS, - EGPRS_GMSK, - EGPRS, -}; - const char *mode_name(enum mcs_kind val); diff --git a/src/decoding.cpp b/src/decoding.cpp index 99a17dc..7b9ae06 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -189,7 +189,7 @@ } int Decoding::rlc_data_from_ul_data( - const struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + const struct gprs_rlc_data_block_info *rdbi, CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli) { @@ -351,10 +351,10 @@ } int Decoding::rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, - const uint8_t *data, GprsCodingScheme cs) + const uint8_t *data, CodingScheme cs) { unsigned int cur_bit = 0; - switch(cs.headerTypeData()) { + switch(mcs_header_type(cs)) { case HEADER_GPRS_DATA : cur_bit = rlc_parse_ul_data_header_gprs(rlc, data, cs); break; @@ -380,7 +380,7 @@ int Decoding::rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs) + const CodingScheme &cs) { int punct, punct2, with_padding, cps; unsigned int e_ti_header, offs, cur_bit = 0; @@ -414,7 +414,7 @@ rlc->block_info[0].ti = !!(e_ti_header & 0x02); cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } @@ -422,7 +422,7 @@ int Decoding::rlc_parse_ul_data_header_egprs_type_2( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs) + const CodingScheme &cs) { const struct gprs_rlc_ul_header_egprs_2 *egprs2; unsigned int e_ti_header, offs, cur_bit = 0; @@ -458,14 +458,14 @@ cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } int Decoding::rlc_parse_ul_data_header_egprs_type_1( struct gprs_rlc_data_info *rlc, - const uint8_t *data, const GprsCodingScheme &cs) + const uint8_t *data, const CodingScheme &cs) { struct gprs_rlc_ul_header_egprs_1 *egprs1; unsigned int e_ti_header, cur_bit = 0, offs; @@ -517,13 +517,13 @@ rlc->block_info[1].ti = !!(e_ti_header & 0x02); cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } int Decoding::rlc_parse_ul_data_header_gprs(struct gprs_rlc_data_info *rlc, - const uint8_t *data, const GprsCodingScheme &cs) + const uint8_t *data, const CodingScheme &cs) { const struct rlc_ul_header *gprs; unsigned int cur_bit = 0; @@ -547,7 +547,7 @@ rlc->block_info[0].spb = 0; cur_bit += rlc->data_offs_bits[0]; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } diff --git a/src/decoding.h b/src/decoding.h index cadb80c..695c4b4 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -40,7 +40,7 @@ static int rlc_data_from_ul_data( const struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, const uint8_t *data, RlcData *chunks, + CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli); static uint8_t get_ms_class_by_capability(MS_Radio_Access_capability_t *cap); static uint8_t get_egprs_ms_class_by_capability(MS_Radio_Access_capability_t *cap); @@ -50,21 +50,21 @@ static int rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const CodingScheme &cs); static int rlc_parse_ul_data_header_egprs_type_2( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const CodingScheme &cs); static int rlc_parse_ul_data_header_egprs_type_1( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const CodingScheme &cs); static int rlc_parse_ul_data_header_gprs( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const CodingScheme &cs); static int rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, - const uint8_t *data, GprsCodingScheme cs); + const uint8_t *data, CodingScheme cs); static unsigned int rlc_copy_to_aligned_buffer( const struct gprs_rlc_data_info *rlc, unsigned int data_block_idx, diff --git a/src/encoding.cpp b/src/encoding.cpp index a4a14dd..619f2ec 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1107,11 +1107,11 @@ struct gprs_rlc_dl_header_egprs_3 *egprs3; struct rlc_dl_header *gprs; unsigned int e_fbi_header; - GprsCodingScheme cs = rlc->cs; + CodingScheme cs = rlc->cs; unsigned int offs; unsigned int bsn_delta; - switch(cs.headerTypeData()) { + switch(mcs_header_type(cs)) { case HEADER_GPRS_DATA: gprs = static_cast ((void *)data); @@ -1595,7 +1595,7 @@ * \return the state of the rlc/mac like if there is more space for another chunk */ Encoding::AppendResult Encoding::rlc_data_to_dl_append( - struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + struct gprs_rlc_data_block_info *rdbi, CodingScheme cs, gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data_block, bool is_final, int *count_payload) { diff --git a/src/encoding.h b/src/encoding.h index 2365f07..33290c1 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -21,9 +21,10 @@ #pragma once #include -#include + extern "C" { #include +#include "coding_scheme.h" #include "gsm_rlcmac.h" } @@ -99,7 +100,7 @@ }; static AppendResult rlc_data_to_dl_append( - struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + struct gprs_rlc_data_block_info *rdbi, CodingScheme cs, gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data, bool is_final, int *count_payload); }; diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index b8e746a..9e293a8 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include @@ -639,9 +639,9 @@ return num_pdch; } -static uint32_t gprs_bssgp_max_leak_rate(GprsCodingScheme cs, int num_pdch) +static uint32_t gprs_bssgp_max_leak_rate(CodingScheme cs, int num_pdch) { - int bytes_per_rlc_block = cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()); + int bytes_per_rlc_block = mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)); /* n byte payload per 20ms */ return bytes_per_rlc_block * (1000 / 20) * num_pdch; @@ -717,7 +717,7 @@ return rate; } -static GprsCodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts) +static CodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts) { int num; @@ -733,7 +733,7 @@ num = 9; } - return GprsCodingScheme::getEgprsByNum(num); + return mcs_get_egprs_by_num(num); } if (!bts->cs_adj_enabled) { @@ -753,7 +753,7 @@ num = 4; } - return GprsCodingScheme::getGprsByNum(num); + return mcs_get_gprs_by_num(num); } static int gprs_bssgp_tx_fc_bvc(void) @@ -765,7 +765,7 @@ uint32_t ms_leak_rate; /* oct/s */ uint32_t avg_delay_ms; int num_pdch = -1; - GprsCodingScheme max_cs_dl; + CodingScheme max_cs_dl; if (!the_pcu.bctx) { LOGP(DBSSGP, LOGL_ERROR, "No bctx\n"); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp deleted file mode 100644 index 0c22670..0000000 --- a/src/gprs_coding_scheme.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/* gprs_coding_scheme.cpp - * - * Copyright (C) 2015 by Sysmocom s.f.m.c. GmbH - * Author: Jacob Erlbeck - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - - -#include "gprs_coding_scheme.h" - -enum Family { - FAMILY_INVALID, - FAMILY_A, - FAMILY_B, - FAMILY_C, -}; - -static struct { - struct { - uint8_t bytes; - uint8_t ext_bits; - uint8_t data_header_bits; - } uplink, downlink; - uint8_t data_bytes; - uint8_t optional_padding_bits; - enum HeaderType data_hdr; - enum Family family; -} mcs_info[NUM_SCHEMES] = { - {{0, 0}, {0, 0}, 0, 0, - HEADER_INVALID, FAMILY_INVALID}, - {{23, 0}, {23, 0}, 20, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{33, 7}, {33, 7}, 30, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{39, 3}, {39, 3}, 36, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{53, 7}, {53, 7}, 50, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - - {{26, 1}, {26, 1}, 22, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - {{32, 1}, {32, 1}, 28, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, - {{41, 1}, {41, 1}, 37, 48, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, - {{48, 1}, {48, 1}, 44, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - - {{60, 7}, {59, 6}, 56, 0, - HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, - {{78, 7}, {77, 6}, 74, 48, - HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, - {{118, 2}, {117, 4}, 56, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, - {{142, 2}, {141, 4}, 68, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, - {{154, 2}, {153, 4}, 74, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, -}; - -GprsCodingScheme GprsCodingScheme::getBySizeUL(unsigned size) -{ - switch (size) { - case 23: return GprsCodingScheme(CS1); - case 27: return GprsCodingScheme(MCS1); - case 33: return GprsCodingScheme(MCS2); - case 34: return GprsCodingScheme(CS2); - case 40: return GprsCodingScheme(CS3); - case 42: return GprsCodingScheme(MCS3); - case 49: return GprsCodingScheme(MCS4); - case 54: return GprsCodingScheme(CS4); - case 61: return GprsCodingScheme(MCS5); - case 79: return GprsCodingScheme(MCS6); - case 119: return GprsCodingScheme(MCS7); - case 143: return GprsCodingScheme(MCS8); - case 155: return GprsCodingScheme(MCS9); - } - - return GprsCodingScheme(UNKNOWN); -} - -uint8_t GprsCodingScheme::sizeUL() const -{ - return mcs_info[m_scheme].uplink.bytes + (spareBitsUL() ? 1 : 0); -} - -uint8_t GprsCodingScheme::usedSizeUL() const -{ - if (mcs_info[m_scheme].data_hdr == HEADER_GPRS_DATA) - return mcs_info[m_scheme].uplink.bytes; - else - return sizeUL(); -} - -uint8_t GprsCodingScheme::maxBytesUL() const -{ - return mcs_info[m_scheme].uplink.bytes; -} - -uint8_t GprsCodingScheme::spareBitsUL() const -{ - return mcs_info[m_scheme].uplink.ext_bits; -} - -uint8_t GprsCodingScheme::sizeDL() const -{ - return mcs_info[m_scheme].downlink.bytes + (spareBitsDL() ? 1 : 0); -} - -uint8_t GprsCodingScheme::usedSizeDL() const -{ - if (mcs_info[m_scheme].data_hdr == HEADER_GPRS_DATA) - return mcs_info[m_scheme].downlink.bytes; - else - return sizeDL(); -} - -uint8_t GprsCodingScheme::maxBytesDL() const -{ - return mcs_info[m_scheme].downlink.bytes; -} - -uint8_t GprsCodingScheme::spareBitsDL() const -{ - return mcs_info[m_scheme].downlink.ext_bits; -} - -uint8_t GprsCodingScheme::maxDataBlockBytes() const -{ - return mcs_info[m_scheme].data_bytes; -} - -uint8_t GprsCodingScheme::optionalPaddingBits() const -{ - return mcs_info[m_scheme].optional_padding_bits; -} - -enum HeaderType GprsCodingScheme::headerTypeData() const -{ - return mcs_info[m_scheme].data_hdr; -} - -void GprsCodingScheme::inc(enum mcs_kind mode) -{ - if (!isCompatible(mode)) - /* This should not happen. TODO: Use assert? */ - return; - - CodingScheme new_cs(CodingScheme(m_scheme + 1)); - if (!GprsCodingScheme(new_cs).isCompatible(mode)) - /* Clipping, do not change the value */ - return; - - m_scheme = new_cs; -} - -void GprsCodingScheme::dec(enum mcs_kind mode) -{ - if (!isCompatible(mode)) - /* This should not happen. TODO: Use assert? */ - return; - - CodingScheme new_cs(CodingScheme(m_scheme - 1)); - if (!GprsCodingScheme(new_cs).isCompatible(mode)) - /* Clipping, do not change the value */ - return; - - m_scheme = new_cs; -} - -void GprsCodingScheme::inc() -{ - if (mcs_is_gprs(m_scheme) && m_scheme == CS4) - return; - - if (mcs_is_edge(m_scheme) && m_scheme == MCS9) - return; - - if (!isValid()) - return; - - m_scheme = CodingScheme(m_scheme + 1); -} - -void GprsCodingScheme::dec() -{ - if (mcs_is_gprs(m_scheme) && m_scheme == CS1) - return; - - if (mcs_is_edge(m_scheme) && m_scheme == MCS1) - return; - - if (!isValid()) - return; - - m_scheme = CodingScheme(m_scheme - 1); -} - -bool GprsCodingScheme::isFamilyCompatible(GprsCodingScheme o) const -{ - if (*this == o) - return true; - - if (mcs_info[m_scheme].family == FAMILY_INVALID) - return false; - - return mcs_info[m_scheme].family == mcs_info[o.m_scheme].family; -} - -void GprsCodingScheme::decToSingleBlock(bool *needStuffing) -{ - switch (m_scheme) { - case MCS7: *needStuffing = false; m_scheme = MCS5; break; - case MCS8: *needStuffing = true; m_scheme = MCS6; break; - case MCS9: *needStuffing = false; m_scheme = MCS6; break; - default: *needStuffing = false; break; - } -} diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h deleted file mode 100644 index c31f58f..0000000 --- a/src/gprs_coding_scheme.h +++ /dev/null @@ -1,163 +0,0 @@ -/* gprs_coding_scheme.h - * - * Copyright (C) 2015 by Sysmocom s.f.m.c. GmbH - * Author: Jacob Erlbeck - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#pragma once - -#include -#include - -extern "C" { - #include - #include "coding_scheme.h" -} - -class GprsCodingScheme { -public: - -#define EGPRS_ARQ1 0x0 -#define EGPRS_ARQ2 0x1 - - GprsCodingScheme(CodingScheme s = UNKNOWN); - - operator bool() const {return m_scheme != UNKNOWN;} - operator CodingScheme() const {return m_scheme;} - uint8_t to_num() const; - - GprsCodingScheme& operator =(CodingScheme s); - bool operator == (CodingScheme s) const; - GprsCodingScheme& operator =(GprsCodingScheme o); - - bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;} - - bool isCompatible(enum mcs_kind mode) const; - bool isCompatible(GprsCodingScheme o) const; - bool isFamilyCompatible(GprsCodingScheme o) const; - - void inc(enum mcs_kind mode); - void dec(enum mcs_kind mode); - void inc(); - void dec(); - void decToSingleBlock(bool *needStuffing); - - uint8_t sizeUL() const; - uint8_t sizeDL() const; - uint8_t usedSizeUL() const; - uint8_t usedSizeDL() const; - uint8_t maxBytesUL() const; - uint8_t maxBytesDL() const; - uint8_t spareBitsUL() const; - uint8_t spareBitsDL() const; - uint8_t maxDataBlockBytes() const; - uint8_t optionalPaddingBits() const; - - enum HeaderType headerTypeData() const; - - static GprsCodingScheme getBySizeUL(unsigned size); - static GprsCodingScheme getGprsByNum(unsigned num); - static GprsCodingScheme getEgprsByNum(unsigned num); - -private: - GprsCodingScheme(int s); /* fail on use */ - GprsCodingScheme& operator =(int s); /* fail on use */ - enum CodingScheme m_scheme; -}; - -// FIXME: remove once < comparison operator below is no longer necessary -inline uint8_t GprsCodingScheme::to_num() const -{ - if (mcs_is_gprs(m_scheme)) - return (m_scheme - CS1) + 1; - - if (mcs_is_edge(m_scheme)) - return (m_scheme - MCS1) + 1; - - return 0; -} - -inline bool GprsCodingScheme::isCompatible(enum mcs_kind mode) const -{ - switch (mode) { - case GPRS: return mcs_is_gprs(m_scheme); - case EGPRS_GMSK: return mcs_is_edge_gmsk(m_scheme); - case EGPRS: return mcs_is_edge(m_scheme); - } - - return false; -} - -inline bool GprsCodingScheme::isCompatible(GprsCodingScheme o) const -{ - return (mcs_is_gprs(m_scheme) && mcs_is_gprs(o)) || (mcs_is_edge(m_scheme) && mcs_is_edge(o)); -} - -inline GprsCodingScheme::GprsCodingScheme(CodingScheme s) - : m_scheme(s) -{ - if (!isValid()) - m_scheme = UNKNOWN; -} - -inline GprsCodingScheme& GprsCodingScheme::operator =(CodingScheme s) -{ - m_scheme = s; - - if (!isValid()) - m_scheme = UNKNOWN; - - return *this; -} - -inline GprsCodingScheme& GprsCodingScheme::operator =(GprsCodingScheme o) -{ - m_scheme = o.m_scheme; - return *this; -} - -inline GprsCodingScheme GprsCodingScheme::getGprsByNum(unsigned num) -{ - if (num < 1 || num > 4) - return GprsCodingScheme(); - - return GprsCodingScheme(CodingScheme(CS1 + (num - 1))); -} - -inline GprsCodingScheme GprsCodingScheme::getEgprsByNum(unsigned num) -{ - if (num < 1 || num > 9) - return GprsCodingScheme(); - - return GprsCodingScheme(CodingScheme(MCS1 + (num - 1))); -} - -/* The coding schemes form a partial ordering */ -inline bool GprsCodingScheme::operator == (CodingScheme scheme) const -{ - return this->m_scheme == scheme; -} - -inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b) -{ - return !(a == b); -} - -inline bool operator <(GprsCodingScheme a, GprsCodingScheme b) -{ - return a.isCompatible(b) && a.to_num() < b.to_num(); -} diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 102f558..68d7640 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -20,7 +20,6 @@ #include "gprs_ms.h" -#include #include "bts.h" #include "tbf.h" #include "tbf_ul.h" @@ -103,6 +102,8 @@ m_ta(GSM48_TA_INVALID), m_ms_class(0), m_egprs_ms_class(0), + m_current_cs_ul(UNKNOWN), + m_current_cs_dl(UNKNOWN), m_is_idle(true), m_ref(0), m_list(this), @@ -226,15 +227,15 @@ switch (m_mode) { case GPRS: if (!mcs_is_gprs(m_current_cs_ul)) { - m_current_cs_ul = GprsCodingScheme::getGprsByNum( + m_current_cs_ul = mcs_get_gprs_by_num( m_bts->bts_data()->initial_cs_ul); - if (!m_current_cs_ul.isValid()) + if (!mcs_is_valid(m_current_cs_ul)) m_current_cs_ul = CS1; } if (!mcs_is_gprs(m_current_cs_dl)) { - m_current_cs_dl = GprsCodingScheme::getGprsByNum( + m_current_cs_dl = mcs_get_gprs_by_num( m_bts->bts_data()->initial_cs_dl); - if (!m_current_cs_dl.isValid()) + if (!mcs_is_valid(m_current_cs_dl)) m_current_cs_dl = CS1; } break; @@ -242,15 +243,15 @@ case EGPRS_GMSK: case EGPRS: if (!mcs_is_edge(m_current_cs_ul)) { - m_current_cs_ul = GprsCodingScheme::getEgprsByNum( + m_current_cs_ul = mcs_get_egprs_by_num( m_bts->bts_data()->initial_mcs_ul); - if (!m_current_cs_ul.isValid()) + if (!mcs_is_valid(m_current_cs_ul)) m_current_cs_ul = MCS1; } if (!mcs_is_edge(m_current_cs_dl)) { - m_current_cs_dl = GprsCodingScheme::getEgprsByNum( + m_current_cs_dl = mcs_get_egprs_by_num( m_bts->bts_data()->initial_mcs_dl); - if (!m_current_cs_dl.isValid()) + if (!mcs_is_valid(m_current_cs_dl)) m_current_cs_dl = MCS1; } break; @@ -510,7 +511,7 @@ { struct gprs_rlcmac_bts *bts_data; int64_t now; - GprsCodingScheme max_cs_dl = this->max_cs_dl(); + CodingScheme max_cs_dl = this->max_cs_dl(); OSMO_ASSERT(max_cs_dl); bts_data = m_bts->bts_data(); @@ -527,7 +528,7 @@ if (error_rate > bts_data->cs_adj_upper_limit) { if (mcs_chan_code(m_current_cs_dl) > 0) { - m_current_cs_dl.dec(mode()); + mcs_dec_kind(&m_current_cs_dl, mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): High error rate %d%%, " "reducing CS level to %s\n", @@ -537,7 +538,7 @@ } else if (error_rate < bts_data->cs_adj_lower_limit) { if (m_current_cs_dl < max_cs_dl) { if (now - m_last_cs_not_low > 1000) { - m_current_cs_dl.inc(mode()); + mcs_inc_kind(&m_current_cs_dl, mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): Low error rate %d%%, " @@ -560,7 +561,7 @@ } } -GprsCodingScheme GprsMs::max_cs_ul() const +CodingScheme GprsMs::max_cs_ul() const { struct gprs_rlcmac_bts *bts_data; @@ -568,21 +569,22 @@ bts_data = m_bts->bts_data(); if (mcs_is_gprs(m_current_cs_ul)) { - if (!bts_data->max_cs_ul) - return GprsCodingScheme(CS4); + if (!bts_data->max_cs_ul) { + return CS4; + } - return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul); + return mcs_get_gprs_by_num(bts_data->max_cs_ul); } if (!mcs_is_edge(m_current_cs_ul)) - return GprsCodingScheme(); /* UNKNOWN */ + return UNKNOWN; if (bts_data->max_mcs_ul) - return GprsCodingScheme::getEgprsByNum(bts_data->max_mcs_ul); + return mcs_get_egprs_by_num(bts_data->max_mcs_ul); else if (bts_data->max_cs_ul) - return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_ul); + return mcs_get_egprs_by_num(bts_data->max_cs_ul); - return GprsCodingScheme(MCS4); + return MCS4; } void GprsMs::set_current_cs_dl(CodingScheme scheme) @@ -590,7 +592,7 @@ m_current_cs_dl = scheme; } -GprsCodingScheme GprsMs::max_cs_dl() const +CodingScheme GprsMs::max_cs_dl() const { struct gprs_rlcmac_bts *bts_data; @@ -598,32 +600,33 @@ bts_data = m_bts->bts_data(); if (mcs_is_gprs(m_current_cs_dl)) { - if (!bts_data->max_cs_dl) - return GprsCodingScheme(CS4); + if (!bts_data->max_cs_dl) { + return CS4; + } - return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl); + return mcs_get_gprs_by_num(bts_data->max_cs_dl); } if (!mcs_is_edge(m_current_cs_dl)) - return GprsCodingScheme(); /* UNKNOWN */ + return CodingScheme(); /* UNKNOWN */ if (bts_data->max_mcs_dl) - return GprsCodingScheme::getEgprsByNum(bts_data->max_mcs_dl); + return mcs_get_egprs_by_num(bts_data->max_mcs_dl); else if (bts_data->max_cs_dl) - return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_dl); + return mcs_get_egprs_by_num(bts_data->max_cs_dl); - return GprsCodingScheme(MCS4); + return MCS4; } void GprsMs::update_cs_ul(const pcu_l1_meas *meas) { struct gprs_rlcmac_bts *bts_data; - GprsCodingScheme max_cs_ul = this->max_cs_ul(); + CodingScheme max_cs_ul = this->max_cs_ul(); int old_link_qual; int low; int high; - GprsCodingScheme new_cs_ul = m_current_cs_ul; + CodingScheme new_cs_ul = m_current_cs_ul; uint8_t current_cs = mcs_chan_code(m_current_cs_ul); bts_data = m_bts->bts_data(); @@ -674,10 +677,10 @@ old_link_qual = meas->link_qual; if (meas->link_qual < low && old_link_qual < low) - new_cs_ul.dec(mode()); + mcs_dec_kind(&new_cs_ul, mode()); else if (meas->link_qual > high && old_link_qual > high && m_current_cs_ul < max_cs_ul) - new_cs_ul.inc(mode()); + mcs_inc_kind(&new_cs_ul, mode()); if (m_current_cs_ul != new_cs_ul) { LOGP(DRLCMACMEAS, LOGL_INFO, @@ -724,9 +727,9 @@ } } -GprsCodingScheme GprsMs::current_cs_dl() const +CodingScheme GprsMs::current_cs_dl() const { - GprsCodingScheme cs = m_current_cs_dl; + CodingScheme cs = m_current_cs_dl; size_t unencoded_octets; if (!m_bts) @@ -747,11 +750,11 @@ return cs; /* The throughput would probably be better if the CS level was reduced */ - cs.dec(mode()); + mcs_dec_kind(&cs, mode()); /* CS-2 doesn't gain throughput with small packets, further reduce to CS-1 */ - if (cs == GprsCodingScheme(CS2)) - cs.dec(mode()); + if (cs == CS2) + mcs_dec_kind(&cs, mode()); return cs; } diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 688708e..8836204 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -22,17 +22,17 @@ struct gprs_codel; -#include #include "cxx_linuxlist.h" #include "llc.h" #include "tbf.h" #include "tbf_dl.h" #include "pcu_l1_if.h" -#include extern "C" { #include #include + + #include "coding_scheme.h" } #include @@ -89,10 +89,10 @@ void set_egprs_ms_class(uint8_t ms_class); void set_current_cs_dl(CodingScheme scheme); - GprsCodingScheme current_cs_ul() const; - GprsCodingScheme current_cs_dl() const; - GprsCodingScheme max_cs_ul() const; - GprsCodingScheme max_cs_dl() const; + CodingScheme current_cs_ul() const; + CodingScheme current_cs_dl() const; + CodingScheme max_cs_ul() const; + CodingScheme max_cs_dl() const; int first_common_ts() const; uint8_t dl_slots() const; @@ -164,8 +164,8 @@ uint8_t m_ms_class; uint8_t m_egprs_ms_class; /* current coding scheme */ - GprsCodingScheme m_current_cs_ul; - GprsCodingScheme m_current_cs_dl; + CodingScheme m_current_cs_ul; + CodingScheme m_current_cs_dl; gprs_llc_queue m_llc_queue; @@ -235,7 +235,7 @@ return m_egprs_ms_class; } -inline GprsCodingScheme GprsMs::current_cs_ul() const +inline CodingScheme GprsMs::current_cs_ul() const { return m_current_cs_ul; } diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index a33b655..3912204 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -31,12 +31,12 @@ #include #include #include -#include #include #include "gprs_bssgp_pcu.h" extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include #include diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 7b6c84f..97241e1 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -27,7 +27,6 @@ #include "gprs_ms_storage.h" #include "gprs_ms.h" #include "cxx_linuxlist.h" -#include #include #include #include diff --git a/src/pdch.cpp b/src/pdch.cpp index fb02d59..953dec4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include #include @@ -688,11 +688,11 @@ /* Received Uplink RLC control block. */ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, - uint32_t fn, struct pcu_l1_meas *meas, GprsCodingScheme cs) + uint32_t fn, struct pcu_l1_meas *meas, CodingScheme cs) { bitvec *rlc_block; RlcMacUplink_t *ul_control_block; - unsigned len = cs.maxBytesUL(); + unsigned len = mcs_max_bytes_ul(cs); int rc; if (!(rlc_block = bitvec_alloc(len, tall_pcu_ctx))) @@ -751,7 +751,7 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - GprsCodingScheme cs = GprsCodingScheme::getBySizeUL(len); + CodingScheme cs = mcs_get_by_size_ul(len); if (!cs) { bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Dropping data block with invalid" @@ -762,7 +762,7 @@ bts()->do_rate_ctr_add(CTR_RLC_UL_BYTES, len); LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " - "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); + "length: %d (%d))\n", mcs_name(cs), len, mcs_used_size_ul(cs)); if (mcs_is_gprs(cs)) return rcv_block_gprs(data, len, fn, meas, cs); @@ -778,12 +778,12 @@ /*! \brief process egprs and gprs data blocks */ int gprs_rlcmac_pdch::rcv_data_block(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs) + struct pcu_l1_meas *meas, CodingScheme cs) { int rc; struct gprs_rlc_data_info rlc_dec; struct gprs_rlcmac_ul_tbf *tbf; - unsigned len = cs.sizeUL(); + unsigned len = mcs_size_ul(cs); /* These are always data blocks, since EGPRS still uses CS-1 for * control blocks (see 44.060, section 10.3, 1st par.) @@ -836,7 +836,7 @@ } int gprs_rlcmac_pdch::rcv_block_gprs(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs) + struct pcu_l1_meas *meas, CodingScheme cs) { unsigned payload = data[0] >> 6; int rc = 0; diff --git a/src/pdch.h b/src/pdch.h index 97b4b23..1bb028b 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -25,9 +25,9 @@ extern "C" { #include #include "gsm_rlcmac.h" +#include "coding_scheme.h" } -#include #include #endif @@ -61,9 +61,9 @@ int rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); int rcv_block_gprs(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, CodingScheme cs); int rcv_data_block(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, CodingScheme cs); gprs_rlcmac_bts *bts_data() const; BTS *bts() const; @@ -113,7 +113,7 @@ #ifdef __cplusplus private: int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, CodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn, struct pcu_l1_meas *meas); diff --git a/src/rlc.cpp b/src/rlc.cpp index 5316136..bbfb798 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -18,7 +18,6 @@ #include "bts.h" #include "gprs_debug.h" -#include #include #include @@ -29,6 +28,8 @@ #include #include #include + +#include "coding_scheme.h" } @@ -314,11 +315,11 @@ } static void gprs_rlc_data_header_init(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, unsigned int header_bits, + CodingScheme cs, bool with_padding, unsigned int header_bits, const unsigned int spb) { unsigned int i; - unsigned int padding_bits = with_padding ? cs.optionalPaddingBits() : 0; + unsigned int padding_bits = with_padding ? mcs_opt_padding_bits(cs) : 0; rlc->cs = cs; rlc->r = 0; @@ -330,7 +331,7 @@ rlc->es_p = 0; rlc->rrbp = 0; rlc->pr = 0; - rlc->num_data_blocks = num_data_blocks(cs.headerTypeData()); + rlc->num_data_blocks = num_data_blocks(mcs_header_type(cs)); rlc->with_padding = with_padding; OSMO_ASSERT(rlc->num_data_blocks <= ARRAY_SIZE(rlc->block_info)); @@ -341,35 +342,35 @@ rlc->data_offs_bits[i] = header_bits + padding_bits + - (i+1) * num_data_block_header_bits(cs.headerTypeData()) + + (i+1) * num_data_block_header_bits(mcs_header_type(cs)) + i * 8 * rlc->block_info[0].data_len; } } void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, const unsigned int spb) + CodingScheme cs, bool with_padding, const unsigned int spb) { return gprs_rlc_data_header_init(rlc, cs, with_padding, - num_data_header_bits_DL(cs.headerTypeData()), spb); + num_data_header_bits_DL(mcs_header_type(cs)), spb); } void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding) + CodingScheme cs, bool with_padding) { /* * last parameter is sent as 0 since common function used * for both DL and UL */ return gprs_rlc_data_header_init(rlc, cs, with_padding, - num_data_header_bits_UL(cs.headerTypeData()), 0); + num_data_header_bits_UL(mcs_header_type(cs)), 0); } void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, bool with_padding, const unsigned int spb) + CodingScheme cs, bool with_padding, const unsigned int spb) { - unsigned int data_len = cs.maxDataBlockBytes(); + unsigned int data_len = mcs_max_data_block_bytes(cs); if (with_padding) - data_len -= cs.optionalPaddingBits() / 8; + data_len -= mcs_opt_padding_bits(cs) / 8; rdbi->data_len = data_len; rdbi->bsn = 0; @@ -380,19 +381,19 @@ rdbi->spb = spb; } -unsigned int gprs_rlc_mcs_cps(GprsCodingScheme cs, +unsigned int gprs_rlc_mcs_cps(CodingScheme cs, enum egprs_puncturing_values punct, enum egprs_puncturing_values punct2, bool with_padding) { /* validate that punct and punct2 are as expected */ - switch (CodingScheme(cs)) { + switch (cs) { case MCS9: case MCS8: case MCS7: if (punct2 == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct2 value for coding scheme %d: %d\n", - CodingScheme(cs), punct2); + cs, punct2); return -1; } /* fall through */ @@ -405,7 +406,7 @@ if (punct == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct value for coding scheme %d: %d\n", - CodingScheme(cs), punct); + cs, punct); return -1; } break; @@ -414,7 +415,7 @@ } /* See 3GPP TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */ - switch (CodingScheme(cs)) { + switch (cs) { case MCS1: return 0b1011 + punct % EGPRS_MAX_PS_NUM_2; case MCS2: return 0b1001 + @@ -443,12 +444,12 @@ } void gprs_rlc_mcs_cps_decode(unsigned int cps, - GprsCodingScheme cs, int *punct, int *punct2, int *with_padding) + CodingScheme cs, int *punct, int *punct2, int *with_padding) { *punct2 = -1; *with_padding = 0; - switch (CodingScheme(cs)) { + switch (cs) { case MCS1: cps -= 0b1011; *punct = cps % 2; break; case MCS2: @@ -481,8 +482,8 @@ */ enum egprs_puncturing_values gprs_get_punct_scheme( enum egprs_puncturing_values punct, - const GprsCodingScheme &cs, - const GprsCodingScheme &cs_current, + const CodingScheme &cs, + const CodingScheme &cs_current, const enum egprs_rlcmac_dl_spb spb) { @@ -495,23 +496,23 @@ return punct; /* TS 44.060 9.3.2.1.1 */ - if ((CodingScheme(cs) == MCS9) && - (CodingScheme(cs_current) == MCS6)) { + if ((cs == MCS9) && + (cs_current == MCS6)) { if ((punct == EGPRS_PS_1) || (punct == EGPRS_PS_3)) return EGPRS_PS_1; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((CodingScheme(cs) == MCS6) && - (CodingScheme(cs_current) == MCS9)) { + } else if ((cs == MCS6) && + (cs_current == MCS9)) { if (punct == EGPRS_PS_1) return EGPRS_PS_3; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((CodingScheme(cs) == MCS7) && - (CodingScheme(cs_current) == MCS5)) + } else if ((cs == MCS7) && + (cs_current == MCS5)) return EGPRS_PS_1; - else if ((CodingScheme(cs) == MCS5) && - (CodingScheme(cs_current) == MCS7)) + else if ((cs == MCS5) && + (cs_current == MCS7)) return EGPRS_PS_2; else if (cs != cs_current) return EGPRS_PS_1; @@ -532,9 +533,9 @@ * TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */ void gprs_update_punct_scheme(enum egprs_puncturing_values *punct, - const GprsCodingScheme &cs) + const CodingScheme &cs) { - switch (CodingScheme(cs)) { + switch (cs) { case MCS1 : case MCS2 : case MCS5 : diff --git a/src/rlc.h b/src/rlc.h index 109c5b3..02ea437 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -19,7 +19,9 @@ */ #pragma once -#include "gprs_coding_scheme.h" +extern "C" { +#include "coding_scheme.h" +} #include @@ -154,7 +156,7 @@ }; struct gprs_rlc_data_info { - GprsCodingScheme cs; + CodingScheme cs; unsigned int r; unsigned int si; unsigned int tfi; @@ -192,15 +194,15 @@ * 8.1.1.1 and Table 8.1.1.2 * For UL. cs_last shall be used everywhere. */ - GprsCodingScheme cs_current_trans; - GprsCodingScheme cs_last; + CodingScheme cs_current_trans; + CodingScheme cs_last; /* * The MCS of initial transmission of a BSN * This variable is used for split block * processing in DL */ - GprsCodingScheme cs_init; + CodingScheme cs_init; /* puncturing scheme value to be used for next transmission*/ enum egprs_puncturing_values next_ps; @@ -212,21 +214,21 @@ uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_length); void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, const unsigned int spb); + CodingScheme cs, bool with_padding, const unsigned int spb); void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding); + CodingScheme cs, bool with_padding); void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, bool with_padding, const unsigned int spb); -unsigned int gprs_rlc_mcs_cps(GprsCodingScheme cs, enum egprs_puncturing_values + CodingScheme cs, bool with_padding, const unsigned int spb); +unsigned int gprs_rlc_mcs_cps(CodingScheme cs, enum egprs_puncturing_values punct, enum egprs_puncturing_values punct2, bool with_padding); -void gprs_rlc_mcs_cps_decode(unsigned int cps, GprsCodingScheme cs, +void gprs_rlc_mcs_cps_decode(unsigned int cps, CodingScheme cs, int *punct, int *punct2, int *with_padding); enum egprs_puncturing_values gprs_get_punct_scheme(enum egprs_puncturing_values - punct, const GprsCodingScheme &cs, - const GprsCodingScheme &cs_current_trans, + punct, const CodingScheme &cs, + const CodingScheme &cs_current_trans, const enum egprs_rlcmac_dl_spb spb); void gprs_update_punct_scheme(enum egprs_puncturing_values *punct, - const GprsCodingScheme &cs); + const CodingScheme &cs); /* * I hold the currently transferred blocks and will provide * the routines to manipulate these arrays. diff --git a/src/tbf.cpp b/src/tbf.cpp index ccf257d..3726707 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include @@ -49,6 +48,7 @@ #include #include "gsm_rlcmac.h" +#include "coding_scheme.h" } #include @@ -310,13 +310,14 @@ m_ms_class = ms_class_; } -GprsCodingScheme gprs_rlcmac_tbf::current_cs() const +CodingScheme gprs_rlcmac_tbf::current_cs() const { - GprsCodingScheme cs; + CodingScheme cs; + if (direction == GPRS_RLCMAC_UL_TBF) - cs = m_ms ? m_ms->current_cs_ul() : GprsCodingScheme(); + cs = m_ms ? m_ms->current_cs_ul() : UNKNOWN; else - cs = m_ms ? m_ms->current_cs_dl() : GprsCodingScheme(); + cs = m_ms ? m_ms->current_cs_dl() : UNKNOWN; return cs; } @@ -965,8 +966,8 @@ static void setup_egprs_mode(gprs_rlcmac_bts *bts, GprsMs *ms) { - if (mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul)) && - mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl)) && + if (mcs_is_edge_gmsk(mcs_get_egprs_by_num(bts->max_mcs_ul)) && + mcs_is_edge_gmsk(mcs_get_egprs_by_num(bts->max_mcs_dl)) && ms->mode() != EGPRS) { ms->set_mode(EGPRS_GMSK); diff --git a/src/tbf.h b/src/tbf.h index 2b4cf6d..764c76f 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -24,14 +24,16 @@ #include "rlc.h" #include "cxx_linuxlist.h" #include -#include #include #include + extern "C" { #include - #include - #include - #include +#include +#include +#include + +#include "coding_scheme.h" } struct bssgp_bvc_ctx; @@ -245,7 +247,7 @@ void set_ta(uint8_t); uint8_t ms_class() const; void set_ms_class(uint8_t); - GprsCodingScheme current_cs() const; + CodingScheme current_cs() const; size_t llc_queue_size() const; time_t created_ts() const; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index cd4ddb9..530ed04 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -370,7 +369,7 @@ { int bsn; int data_len2, force_data_len = -1; - GprsCodingScheme force_cs; + CodingScheme force_cs = UNKNOWN; /* search for a nacked or resend marked bsn */ bsn = m_window.resend_needed(); @@ -446,7 +445,7 @@ return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { /* The window has space left, generate new bsn */ - GprsCodingScheme new_cs; + CodingScheme new_cs; new_cs = force_cs ? force_cs : current_cs(); LOGPTBFDL(this, LOGL_DEBUG, "Sending new block at BSN %d, CS=%s\n", @@ -480,7 +479,7 @@ bts->do_rate_ctr_inc(CTR_RLC_RESENT); } - *may_combine = num_data_blocks(m_rlc.block(bsn)->cs_current_trans.headerTypeData()) > 1; + *may_combine = num_data_blocks(mcs_header_type(m_rlc.block(bsn)->cs_current_trans)) > 1; return bsn; } @@ -561,7 +560,7 @@ m_last_dl_drained_fn = -1; } -int gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, GprsCodingScheme cs) +int gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, CodingScheme cs) { uint8_t *data; gprs_rlc_data *rlc_data; @@ -574,10 +573,10 @@ if (m_llc.frame_length() == 0) schedule_next_frame(); - OSMO_ASSERT(cs.isValid()); + OSMO_ASSERT(mcs_is_valid(cs)); /* length of usable data block (single data unit w/o header) */ - const uint8_t block_data_len = cs.maxDataBlockBytes(); + const uint8_t block_data_len = mcs_max_data_block_bytes(cs); /* now we still have untransmitted LLC data, so we fill mac block */ rlc_data = m_rlc.block(bsn); @@ -691,7 +690,7 @@ int rc; bool is_final = false; gprs_rlc_data_info rlc; - GprsCodingScheme cs; + CodingScheme cs; int bsns[ARRAY_SIZE(rlc.block_info)]; unsigned num_bsns; bool need_padding = false; @@ -740,8 +739,8 @@ * Refer commit be881c028fc4da00c4046ecd9296727975c206a3 * dated 2016-02-07 23:45:40 (UTC) */ - if (cs != GprsCodingScheme(MCS8)) - cs.decToSingleBlock(&need_padding); + if (cs != MCS8) + mcs_dec_to_single_block(&cs, &need_padding); } spb = get_egprs_dl_spb(index); @@ -756,7 +755,7 @@ rlc.tfi = m_tfi; /* TFI */ /* return data block(s) as message */ - msg_len = cs.sizeDL(); + msg_len = mcs_size_dl(cs); dl_msg = msgb_alloc(msg_len, "rlcmac_dl_data"); if (!dl_msg) return NULL; @@ -1273,11 +1272,11 @@ egprs_rlc_dl_reseg_bsn_state *block_status_dl = &rlc_data->spb_status.block_status_dl; - enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); - enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + enum CodingScheme cs_init = rlc_data->cs_init; + enum CodingScheme cs_current_trans = rlc_data->cs_current_trans; - enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); - enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + enum HeaderType ht_cs_init = mcs_header_type(rlc_data->cs_init); + enum HeaderType ht_cs_current_trans = mcs_header_type(rlc_data->cs_current_trans); *block_data = &rlc_data->block[0]; @@ -1346,11 +1345,11 @@ struct gprs_rlc_data *rlc_data = m_rlc.block(bsn); egprs_rlc_dl_reseg_bsn_state block_status_dl = rlc_data->spb_status.block_status_dl; - enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); - enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + enum CodingScheme cs_init = rlc_data->cs_init; + enum CodingScheme cs_current_trans = rlc_data->cs_current_trans; - enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); - enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + enum HeaderType ht_cs_init = mcs_header_type(rlc_data->cs_init); + enum HeaderType ht_cs_current_trans = mcs_header_type(rlc_data->cs_current_trans); /* Table 10.4.8b.1 of 44.060 */ if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index f3838d7..2da0ec1 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -111,7 +111,7 @@ int take_next_bsn(uint32_t fn, int previous_bsn, bool *may_combine); bool restart_bsn_cycle(); - int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); + int create_new_bsn(const uint32_t fn, CodingScheme cs); struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, int index, int index2 = -1); int update_window(const uint8_t ssn, const uint8_t *rbb); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9899580..0cc60f3 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include "pcu_utils.h" @@ -75,7 +74,7 @@ const uint8_t *data = _data->block; uint8_t len = _data->len; const struct gprs_rlc_data_block_info *rdbi = &_data->block_info; - GprsCodingScheme cs = _data->cs_last; + CodingScheme cs = _data->cs_last; Decoding::RlcData frames[16], *frame; int i, num_frames = 0; diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 3f424d1..4f5fb5d 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -21,7 +21,6 @@ */ #include "gprs_debug.h" -#include "gprs_coding_scheme.h" #include "decoding.h" #include "encoding.h" #include "rlc.h" @@ -31,6 +30,7 @@ extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include @@ -48,69 +48,69 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -static void check_coding_scheme(GprsCodingScheme& cs, enum mcs_kind mode) +static void check_coding_scheme(CodingScheme& cs, enum mcs_kind mode) { volatile unsigned expected_size; bool need_padding; - GprsCodingScheme new_cs; + CodingScheme new_cs; - OSMO_ASSERT(cs.isValid()); - OSMO_ASSERT(cs.isCompatible(mode)); + OSMO_ASSERT(mcs_is_valid(cs)); + OSMO_ASSERT(mcs_is_compat_kind(cs, mode)); /* Check static getBySizeUL() */ - expected_size = cs.usedSizeUL(); - if (cs.spareBitsUL() > 0 && mcs_is_gprs(cs)) + expected_size = mcs_used_size_ul(cs); + if (mcs_spare_bits_ul(cs) > 0 && mcs_is_gprs(cs)) expected_size += 1; - OSMO_ASSERT(expected_size == cs.sizeUL()); - OSMO_ASSERT(cs == GprsCodingScheme::getBySizeUL(expected_size)); + OSMO_ASSERT(expected_size == mcs_size_ul(cs)); + OSMO_ASSERT(cs == mcs_get_by_size_ul(expected_size)); /* Check static sizeUL() */ - expected_size = cs.usedSizeDL(); - if (cs.spareBitsDL() > 0 && mcs_is_gprs(cs)) + expected_size = mcs_used_size_dl(cs); + if (mcs_spare_bits_dl(cs) > 0 && mcs_is_gprs(cs)) expected_size += 1; - OSMO_ASSERT(expected_size == cs.sizeDL()); + OSMO_ASSERT(expected_size == mcs_size_dl(cs)); /* Check data block sizes */ - OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesDL()); - OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesUL()); + OSMO_ASSERT(mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)) < mcs_max_bytes_dl(cs)); + OSMO_ASSERT(mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)) < mcs_max_bytes_ul(cs)); /* Check inc/dec */ new_cs = cs; - new_cs.inc(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_inc_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); if (new_cs != cs) { - new_cs.dec(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_dec_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); OSMO_ASSERT(new_cs == cs); } - new_cs.dec(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_dec_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); if (new_cs != cs) { - new_cs.inc(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_inc_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); OSMO_ASSERT(new_cs == cs); } new_cs = cs; - new_cs.decToSingleBlock(&need_padding); - OSMO_ASSERT(new_cs.isFamilyCompatible(cs)); - OSMO_ASSERT(cs.isFamilyCompatible(new_cs)); - OSMO_ASSERT(cs.isCompatible(new_cs)); + mcs_dec_to_single_block(&new_cs, &need_padding); + OSMO_ASSERT(mcs_is_family_compat(new_cs, cs)); + OSMO_ASSERT(mcs_is_family_compat(cs, new_cs)); + OSMO_ASSERT(mcs_is_compat(cs, new_cs)); if (need_padding) { - OSMO_ASSERT(new_cs.maxDataBlockBytes() == - new_cs.optionalPaddingBits()/8 + cs.maxDataBlockBytes()); + OSMO_ASSERT(mcs_max_data_block_bytes(new_cs) == + mcs_opt_padding_bits(new_cs)/8 + mcs_max_data_block_bytes(cs)); } else { - OSMO_ASSERT(new_cs.maxDataBlockBytes() == cs.maxDataBlockBytes()); + OSMO_ASSERT(mcs_max_data_block_bytes(new_cs) == mcs_max_data_block_bytes(cs)); } } -static bool check_strong_monotonicity(const GprsCodingScheme *cs, uint8_t last_UL, uint8_t last_DL) +static bool check_strong_monotonicity(const CodingScheme cs, uint8_t last_UL, uint8_t last_DL) { - if (cs->maxBytesUL() <= last_UL) + if (mcs_max_bytes_ul(cs) <= last_UL) return false; - if (cs->maxBytesDL() <= last_DL) + if (mcs_max_bytes_dl(cs) <= last_DL) return false; return true; @@ -144,31 +144,28 @@ printf("=== start %s ===\n", __func__); - GprsCodingScheme cs; + CodingScheme cs = UNKNOWN; OSMO_ASSERT(!cs); - OSMO_ASSERT(CodingScheme(cs) == UNKNOWN); - OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN)); - OSMO_ASSERT(!cs.isCompatible(GPRS)); - OSMO_ASSERT(!cs.isCompatible(EGPRS_GMSK)); - OSMO_ASSERT(!cs.isCompatible(EGPRS)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, GPRS)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, EGPRS_GMSK)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, EGPRS)); last_size_UL = 0; last_size_DL = 0; for (i = 0; i < ARRAY_SIZE(gprs_schemes); i++) { - GprsCodingScheme current_cs(gprs_schemes[i]); + CodingScheme current_cs = gprs_schemes[i]; OSMO_ASSERT(mcs_is_gprs(current_cs)); OSMO_ASSERT(!mcs_is_edge(current_cs)); OSMO_ASSERT(!mcs_is_edge_gmsk(current_cs)); - OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]); - OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i])); + OSMO_ASSERT(current_cs == gprs_schemes[i]); - OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); - last_size_UL = current_cs.maxBytesUL(); - last_size_DL = current_cs.maxBytesDL(); + OSMO_ASSERT(check_strong_monotonicity(current_cs, last_size_UL, last_size_DL)); + last_size_UL = mcs_max_bytes_ul(current_cs); + last_size_DL = mcs_max_bytes_dl(current_cs); /* Check header types */ - OSMO_ASSERT(current_cs.headerTypeData() == HEADER_GPRS_DATA); + OSMO_ASSERT(mcs_header_type(current_cs) == HEADER_GPRS_DATA); check_coding_scheme(current_cs, GPRS); } @@ -178,16 +175,15 @@ last_size_DL = 0; for (i = 0; i < ARRAY_SIZE(egprs_schemes); i++) { - GprsCodingScheme current_cs(egprs_schemes[i].s); + CodingScheme current_cs = egprs_schemes[i].s; OSMO_ASSERT(!mcs_is_gprs(current_cs)); OSMO_ASSERT(mcs_is_edge(current_cs)); OSMO_ASSERT(mcs_is_edge_gmsk(current_cs) == !!egprs_schemes[i].is_gmsk); - OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s); - OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s)); + OSMO_ASSERT(current_cs == egprs_schemes[i].s); - OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); - last_size_UL = current_cs.maxBytesUL(); - last_size_DL = current_cs.maxBytesDL(); + OSMO_ASSERT(check_strong_monotonicity(current_cs, last_size_UL, last_size_DL)); + last_size_UL = mcs_max_bytes_ul(current_cs); + last_size_DL = mcs_max_bytes_dl(current_cs); if (egprs_schemes[i].is_gmsk) check_coding_scheme(current_cs, EGPRS_GMSK); @@ -201,7 +197,7 @@ static void test_rlc_unit_decoder() { struct gprs_rlc_data_block_info rdbi = {0}; - GprsCodingScheme cs; + CodingScheme cs; uint8_t data[74]; Decoding::RlcData chunks[16]; volatile int num_chunks = 0; @@ -213,7 +209,7 @@ /* TS 44.060, B.1 */ cs = CS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -232,12 +228,12 @@ OSMO_ASSERT(chunks[1].length == 26); OSMO_ASSERT(chunks[1].is_complete); OSMO_ASSERT(chunks[2].offset == 39); - OSMO_ASSERT(chunks[2].length == cs.maxDataBlockBytes() - 39); + OSMO_ASSERT(chunks[2].length == mcs_max_data_block_bytes(cs) - 39); OSMO_ASSERT(!chunks[2].is_complete); /* TS 44.060, B.2 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -271,7 +267,7 @@ /* TS 44.060, B.3 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -292,7 +288,7 @@ /* TS 44.060, B.4 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 15; @@ -308,7 +304,7 @@ /* TS 44.060, B.6 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 0; @@ -324,7 +320,7 @@ /* TS 44.060, B.8.1 */ cs = MCS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -353,7 +349,7 @@ * is not consistent with Section 10.3a.1 & 10.3a.2. */ cs = MCS2; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -417,7 +413,7 @@ /* Note that the spec confuses the byte numbering here, too (see above) */ cs = MCS2; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 0; @@ -433,7 +429,7 @@ /* CS-1, TLLI, last block, single chunk until the end of the block */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 1; rdbi.cv = 0; @@ -454,7 +450,7 @@ /* Like TS 44.060, B.2, first RLC block but with TLLI */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 1; rdbi.cv = 15; @@ -476,7 +472,7 @@ /* Like TS 44.060, B.8.1 but with TLLI */ cs = MCS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 1; rdbi.cv = 15; @@ -528,7 +524,7 @@ static void test_rlc_unit_encoder() { struct gprs_rlc_data_block_info rdbi = {0}; - GprsCodingScheme cs; + CodingScheme cs; uint8_t data[74]; uint8_t llc_data[1500] = {0,}; int num_chunks = 0; @@ -1088,17 +1084,17 @@ scheme < NUM_SCHEMES; scheme = CodingScheme(scheme + 1)) { - GprsCodingScheme cs(scheme); + CodingScheme cs(scheme); for (pattern = 0; pattern <= 0xff; pattern += 0xff) { /* prepare test block */ test_block[0] = pattern ^ 0xff; - for (i = 1; i + 1 < cs.maxDataBlockBytes(); i++) + for (i = 1; i + 1 < mcs_max_data_block_bytes(cs); i++) test_block[i] = i; - test_block[cs.maxDataBlockBytes()-1] = pattern ^ 0xff; + test_block[mcs_max_data_block_bytes(cs)-1] = pattern ^ 0xff; for (block_idx = 0; - block_idx < num_data_blocks(cs.headerTypeData()); + block_idx < num_data_blocks(mcs_header_type(cs)); block_idx++) { struct gprs_rlc_data_info rlc; @@ -1110,7 +1106,7 @@ fprintf(stderr, "Test data block: %s\n", - osmo_hexdump(test_block, cs.maxDataBlockBytes())); + osmo_hexdump(test_block, mcs_max_data_block_bytes(cs))); Encoding::rlc_copy_from_aligned_buffer( &rlc, block_idx, bits, test_block); @@ -1119,20 +1115,20 @@ "Encoded message block, %s, idx %d, " "pattern %02x: %s\n", mcs_name(rlc.cs), block_idx, pattern, - osmo_hexdump(bits, cs.sizeDL())); + osmo_hexdump(bits, mcs_size_dl(cs))); Decoding::rlc_copy_to_aligned_buffer( &rlc, block_idx, bits, out_block); fprintf(stderr, "Out data block: %s\n", - osmo_hexdump(out_block, cs.maxDataBlockBytes())); + osmo_hexdump(out_block, mcs_max_data_block_bytes(cs))); /* restore original bits */ Encoding::rlc_copy_from_aligned_buffer( &rlc, block_idx, bits, saved_block); OSMO_ASSERT(memcmp(test_block, out_block, - rlc.cs.maxDataBlockBytes()) == 0); + mcs_max_data_block_bytes(rlc.cs)) == 0); for (i = 0; i < sizeof(bits); i++) OSMO_ASSERT(bits[i] == pattern); @@ -1147,13 +1143,13 @@ printf("=== start %s ===\n", __func__); gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(CS1), false, 0); + CodingScheme(CS1), false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 24); OSMO_ASSERT(rlc.block_info[0].data_len == 20); gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(MCS1), false, 0); + CodingScheme(MCS1), false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 33); OSMO_ASSERT(rlc.block_info[0].data_len == 22); @@ -1188,7 +1184,7 @@ tfi = 1; struct gprs_rlc_data_info rlc; - GprsCodingScheme cs; + CodingScheme cs; int rc, offs; /*without padding*/ @@ -1289,7 +1285,7 @@ uint8_t data[155] = {0}; struct gprs_rlc_ul_header_egprs_1 *egprs1 = NULL; struct gprs_rlc_data_info rlc; - GprsCodingScheme cs; + CodingScheme cs; int rc; egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data; diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 36f9ced..f934c6c 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -32,6 +32,7 @@ extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include @@ -656,7 +657,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -732,7 +732,6 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; @@ -805,7 +804,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -882,7 +880,6 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -937,7 +934,6 @@ */ memset(data_msg, 0, sizeof(data_msg)); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -990,7 +986,6 @@ * TS 44.060, B.8.1 * Error scenario with spb as 1 */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1027,7 +1022,6 @@ for (i = 0; i < 42; i++) data_msg[i] = i; - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1051,7 +1045,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1079,7 +1072,6 @@ OSMO_ASSERT(block->cs_last == MCS6); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1103,7 +1095,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1127,7 +1118,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1155,7 +1145,6 @@ /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1179,7 +1168,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_SECOND_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1251,7 +1239,6 @@ gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -1318,8 +1305,6 @@ uint8_t trx_no = 0; int tfi = 0; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; - /* send fake data with cv=0*/ struct gprs_rlc_ul_header_egprs_3 *hdr3 = NULL; @@ -1400,7 +1385,6 @@ uint8_t trx_no = 0; int tfi = 0; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; check_tbf(ul_tbf); /* send fake data with cv=0*/ @@ -1482,8 +1466,6 @@ int tfi = 0; gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; - /* check the TBF */ ul_tbf = the_bts->ul_tbf_by_tfi(tfi, trx_no, ts_no); @@ -2363,7 +2345,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; Packet_Resource_Request_t *presreq = NULL; MS_Radio_Access_capability_t *pmsradiocap = NULL; Multislot_capability_t *pmultislotcap = NULL; @@ -2428,7 +2409,6 @@ OSMO_ASSERT(ms->ta() == qta/4); OSMO_ASSERT(ms->ul_tbf() == ul_tbf); - cs = MCS4; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:27:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 12:27:07 +0000 Subject: Change in osmo-hlr[master]: add mslookup_manual_test In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/16210 ) Change subject: add mslookup_manual_test ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/16210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I80473528c9524263b60fc3ba37ba246c80bfe452 Gerrit-Change-Number: 16210 Gerrit-PatchSet: 26 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 12:29:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 12:29:36 +0000 Subject: Change in osmo-bsc[master]: manuals: update bsc_vty_reference.xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18346 ) Change subject: manuals: update bsc_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2 Gerrit-Change-Number: 18346 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 18 May 2020 12:29:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 14:08:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 14:08:27 +0000 Subject: Change in osmo-bsc[master]: manuals: update bsc_vty_reference.xml In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18346 ) Change subject: manuals: update bsc_vty_reference.xml ...................................................................... manuals: update bsc_vty_reference.xml I notice that some merges seem to have missed updating the bsc_vty_reference.xml file. Re-generating it from current master yields these changes. Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 40 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index dac4ec5..e87e027 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -1414,18 +1414,20 @@ - + + + @@ -2153,6 +2155,12 @@ + + + + + + config-line @@ -2177,6 +2185,18 @@ config-e1_input + + + + + + + + + + + + @@ -4282,6 +4302,18 @@ + + + + + + + + + + + + @@ -5043,6 +5075,13 @@ + + + + + + + om2k-con-group -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2 Gerrit-Change-Number: 18346 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 14:20:14 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 14:20:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 ) Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e --- M deps/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/18352/1 diff --git a/deps/Makefile b/deps/Makefile index 977beba..18615e0 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -40,7 +40,6 @@ titan.TestPorts.PIPEasp \ titan.TestPorts.SIPmsg \ titan.TestPorts.TCPasp \ - titan.TestPorts.TELNETasp \ titan.TestPorts.UNIX_DOMAIN_SOCKETasp ECLIPSEGIT2_REPOS= titan.ProtocolModules.GRE \ @@ -64,6 +63,7 @@ OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ titan.TestPorts.UDPasp \ + titan.TestPorts.TELNETasp \ titan.ProtocolEmulations.M3UA \ titan.ProtocolEmulations.SCCP @@ -122,7 +122,7 @@ titan.TestPorts.SCTPasp_commit= R.11.A-2-g2faa9cf titan.TestPorts.SIPmsg_commit= R.15.A-1-ge4f9dd0 titan.TestPorts.TCPasp_commit= R.9.A-5-g2c91bc6 -titan.TestPorts.TELNETasp_commit= R.9.A-3-g62f281b +titan.TestPorts.TELNETasp_commit= R.9.A-5-ge2a254a titan.TestPorts.UDPasp_commit= c20d77a34f288dd70dd4aaa30e520778876e9336 titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-8-g7ec4fe0 titan.TestPorts.USB_commit= master -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:00:56 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 15:00:56 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 15:00:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:01:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 15:01:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 to look at the new patch set (#3). Change subject: Move all GPRS helper function to its own file and component ...................................................................... Move all GPRS helper function to its own file and component This is a first step towards refactoring of all functions to use MS and Ul/DlTBF objects containing state. Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 --- A pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 623 insertions(+), 571 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/18333/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:04:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 15:04:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 168 PS2, Line 168: f_pcuif_rx_imm_ass > Basically all functions where you removed 'private' qualifier should be revisited. compilation fails if I leave "private", I tested it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 15:04:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:42:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 15:42:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 168 PS2, Line 168: f_pcuif_rx_imm_ass > compilation fails if I leave "private", I tested it. you can also use 'friend'. it depends a bit if you think it is a public function for everyone to use,or if it is more some internal function with 1-2 callers (also in the future) and hence the private/friend mechanism might be better in terms of encapsulation. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 15:42:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:43:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 15:43:00 +0000 Subject: Change in osmo-pcu[master]: sysmo: femtobts.h: Avoid redefining global variables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18348 ) Change subject: sysmo: femtobts.h: Avoid redefining global variables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f04726ae608f499c557cedffb4d86625bccbd5a Gerrit-Change-Number: 18348 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 15:43:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:43:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 15:43:18 +0000 Subject: Change in osmo-pcu[master]: rlc: Drop unused function gprs_rlc_data::put_data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18349 ) Change subject: rlc: Drop unused function gprs_rlc_data::put_data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 Gerrit-Change-Number: 18349 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 15:43:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:44:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 15:44:00 +0000 Subject: Change in osmo-pcu[master]: rlc: Move prepare() function out of gprs_rlc_data struct In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18350 ) Change subject: rlc: Move prepare() function out of gprs_rlc_data struct ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 Gerrit-Change-Number: 18350 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 15:44:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:47:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 15:47:22 +0000 Subject: Change in libosmocore[master]: enable vty xml dumping to stdout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18345 ) Change subject: enable vty xml dumping to stdout ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 Gerrit-Change-Number: 18345 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 15:47:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 15:52:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 15:52:48 +0000 Subject: Change in docker-playground[master]: bsc: drop access-list-name from osmo-bsc.cfg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18353 ) Change subject: bsc: drop access-list-name from osmo-bsc.cfg ...................................................................... bsc: drop access-list-name from osmo-bsc.cfg This configuration option is unused. Related: the IMSI filtering access list is being dropped from osmo-bsc, which might cause test fallout. Related: I89727af5387e8360362e995fdee959883c37d89a (osmo-bsc) Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/18353/1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index f19d74c..5871e26 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -395,7 +395,6 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list ctrl bind 0.0.0.0 cbc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 Gerrit-Change-Number: 18353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:10:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 ) Change subject: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType ...................................................................... library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType The old name was a bit confusing, because this enumerated type also contains ASP_IPA_EVENT_ID_ACK, among with UP/DOWN events. Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f --- M library/IPA_Emulation.ttcnpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/18354/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 7b80c2d..6658ca8 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -76,7 +76,7 @@ octetstring payload } -type enumerated ASP_IPA_EventUpDown { +type enumerated ASP_IPA_EventType { ASP_IPA_EVENT_DOWN, ASP_IPA_EVENT_UP, ASP_IPA_EVENT_ID_ACK @@ -85,10 +85,10 @@ /* an event indicating us whether or not a connection is physically up or down, * and whether we have received an ID_ACK */ type union ASP_IPA_Event { - ASP_IPA_EventUpDown up_down + ASP_IPA_EventType up_down } -template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventUpDown ud) := { +template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventType ud) := { up_down := ud } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f Gerrit-Change-Number: 18354 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:10:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 ) Change subject: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates ...................................................................... library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd --- M bts/BTS_Tests_OML.ttcn M hlr/HLR_Tests.ttcn M library/IPA_Emulation.ttcnpp M msc/MSC_Tests.ttcn M remsim/RemsimClient_Tests.ttcn M remsim/RemsimServer_Tests.ttcn M selftest/Selftest.ttcn M sgsn/SGSN_Tests.ttcn 8 files changed, 25 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/18355/1 diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 84d46a4..4835e66 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -102,8 +102,8 @@ T_oml_guard.start; activate(as_Tguard()); - OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); - //OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + //OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); activate(as_SwAct()); activate(as_IPA_evt()); diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 06354b9..27a44de 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -200,7 +200,7 @@ timer T := 10.0; T.start; alt { - [not legacy] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [not legacy] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [legacy] GSUP.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 6658ca8..0edc0a7 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -88,7 +88,11 @@ ASP_IPA_EventType up_down } -template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventType ud) := { +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ud) := { + up_down := ud +} + +template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ud) := { up_down := ud } @@ -291,7 +295,7 @@ data := char2oct(payload) & '00'O } -private function f_send_IPA_EVT(template ASP_IPA_Event evt) runs on IPA_Emulation_CT { +private function f_send_IPA_EVT(template (value) ASP_IPA_Event evt) runs on IPA_Emulation_CT { if (IPA_SP_PORT.checkstate("Connected")) { IPA_SP_PORT.send(evt); } @@ -410,7 +414,7 @@ f_ccm_tx(valueof(ts_IPA_PONG)); } case (IPAC_MSGT_ID_ACK) { - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); } case (IPAC_MSGT_ID_GET) { f_ccm_tx(f_ccm_make_id_resp(ccm)); @@ -432,7 +436,7 @@ * the TCP connection is established. Other implementations may differ. * We currently ignore it completely - but actually we should make sure that * one ID_ACK is received by the server at some point */ - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); @@ -488,7 +492,7 @@ /* we're a client: Send ID_ACK immediately after connect */ f_ccm_tx(valueof(ts_IPA_ACK)); } - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); ScanEvents(); } @@ -666,7 +670,7 @@ [] IPA_PORT.receive(ASP_Event:{connOpened:=?}) -> value asp_evt { log("IPA: Connected"); g_ipa_conn_id := asp_evt.connOpened.connId; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); if (g_mode == IPA_MODE_SERVER and g_ccm_enabled) { select (g_init_behavior) { case (IPA_INIT_SEND_IPA_ID_GET) { @@ -682,14 +686,14 @@ [] IPA_PORT.receive(ASP_Event:{connClosed:=?}) -> value asp_evt { log("IPA: Closed"); g_ipa_conn_id := -1; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); self.stop; } [] IPA_PORT.receive(Socket_API_Definitions.PortEvent:{result:={errorCode:=ERROR_SOCKET, connId:=?, os_error_code:=?, os_error_text:=?}}) -> value port_evt { log("PortEvent: ERROR_SOCKET: ", port_evt); g_ipa_conn_id := -1; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); self.stop; } @@ -774,7 +778,7 @@ port IPA_SP_PT IPA_SP_PORT; } -function waiter_main(template ASP_IPA_Event wait_for := t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) +function waiter_main(template ASP_IPA_Event wait_for := tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) runs on IPA_EventWaiter_CT { alt { diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 084ae85..35ca84a 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -290,7 +290,7 @@ timer T := 10.0; T.start; alt { - [] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn index 457e449..499fd3e 100644 --- a/remsim/RemsimClient_Tests.ttcn +++ b/remsim/RemsimClient_Tests.ttcn @@ -59,7 +59,7 @@ /* expect inbound connectClientReq */ as_connectClientReq(res := illegalClientId); /* expect disconnect by client */ - RSPRO_SRV[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); setverdict(pass); f_sleep(1.0); } @@ -139,7 +139,7 @@ f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0)); /* expect disconnect of client on simulated bankd side */ - RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); setverdict(pass); } @@ -162,7 +162,7 @@ f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0)); /* expect disconnect of client on simulated bankd side */ - RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); /* re-start the IPA emulation (which terminated itself on the TCP disconnect */ f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false); diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn index bada70a..1ca5ce9 100644 --- a/remsim/RemsimServer_Tests.ttcn +++ b/remsim/RemsimServer_Tests.ttcn @@ -164,8 +164,8 @@ T.start; /* expect that we're disconnected if we never send a ConnectClientReq */ alt { - [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) { repeat; } - [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] T.timeout { diff --git a/selftest/Selftest.ttcn b/selftest/Selftest.ttcn index 8411b3d..263c317 100644 --- a/selftest/Selftest.ttcn +++ b/selftest/Selftest.ttcn @@ -46,8 +46,8 @@ function f_ipa_wait_up() runs on IPA_selftest_CT { interleave { - [] IPA_RSL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); - [] IPA_CTRL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + [] IPA_RSL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + [] IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); } } diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6c963fa..9d191cc 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -232,7 +232,7 @@ timer T := 10.0; T.start; alt { - [] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd Gerrit-Change-Number: 18355 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:10:02 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:10:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: use tr_ASP_IPA_EV instead of inline templates References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 ) Change subject: library/IPA: use tr_ASP_IPA_EV instead of inline templates ...................................................................... library/IPA: use tr_ASP_IPA_EV instead of inline templates This way we can easily add new parameters to ASP_IPA_Event. Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 --- M bsc-nat/BSC_MS_Simulation.ttcn M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M hlr/HLR_EUSE.ttcn M hlr/HLR_Tests.ttcn M library/GSUP_Emulation.ttcn M library/Osmocom_CTRL_Adapter.ttcn M library/RAN_Emulation.ttcnpp M library/RSL_Emulation.ttcn M remsim/REMSIM_Tests.ttcn M remsim/RSPRO_Server.ttcn M remsim/RemsimBankd_Tests.ttcn 12 files changed, 30 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/18356/1 diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 0582576..0a057a3 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -131,7 +131,7 @@ /* Initial delay to wait for IPA connection establishment */ T.start; alt { - [] SCCPLITE_IPA_CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] SCCPLITE_IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout CTRL waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 38a961b..bcefe67 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -226,7 +226,7 @@ /* wait for IPA RSL link to connect and send ID ACK */ T.start; alt { - [] IPA_RSL[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { + [] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { T.stop; IPA_RSL[i].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); } @@ -1707,7 +1707,7 @@ /* wait for IPA OML link to connect and then disconnect */ T.start; alt { - [] IPA_RSL[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] IPA_RSL[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { T.stop; return true; } diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 289298b..d241496 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -417,7 +417,7 @@ f_init_rsl(id); T.start; alt { - [] RSL_CCHAN.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}); + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } @@ -4956,7 +4956,7 @@ f_init_rsl(testcasename()); T.start; alt { - [] RSL_CCHAN.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}); + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } diff --git a/hlr/HLR_EUSE.ttcn b/hlr/HLR_EUSE.ttcn index ef07ca6..17e4776 100644 --- a/hlr/HLR_EUSE.ttcn +++ b/hlr/HLR_EUSE.ttcn @@ -49,8 +49,8 @@ timer T := 10.0; T.start; alt { - [] EUSE.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { repeat; } - [] EUSE.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] EUSE.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { repeat; } + [] EUSE.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [] T.timeout { setverdict(fail, "EUSE: Timeout waiting for GSUP IPA Link to come up"); self.stop; diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 27a44de..36e28b8 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -201,7 +201,7 @@ T.start; alt { [not legacy] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } - [legacy] GSUP.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [legacy] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop; diff --git a/library/GSUP_Emulation.ttcn b/library/GSUP_Emulation.ttcn index 4a03359..51c158a 100644 --- a/library/GSUP_Emulation.ttcn +++ b/library/GSUP_Emulation.ttcn @@ -183,9 +183,9 @@ alt { - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_ID_ACK}) { repeat; } - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_UP}) { repeat; } - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_DOWN}) { + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { repeat; } + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(fail, "GSUP Connection Lost"); mtc.stop; } diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn index 08195c8..0be3ebb 100644 --- a/library/Osmocom_CTRL_Adapter.ttcn +++ b/library/Osmocom_CTRL_Adapter.ttcn @@ -44,7 +44,7 @@ /* wait for IPA CTRL link to connect and send UP */ T.start; alt { - [] IPA_CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout CTRL waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index b54d6e4..7e98b8b 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1149,13 +1149,13 @@ CTRL_CLIENT.send(ctrl); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) -> value evt { + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { CTRL_CLIENT.send(evt); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) {} + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) {} #else [false] CLIENT.receive {} #endif diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 309ec13..5a0816f 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -372,22 +372,22 @@ while (true) { alt { - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) -> value evt { + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { CCHAN_PT.send(evt); } - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; diff --git a/remsim/REMSIM_Tests.ttcn b/remsim/REMSIM_Tests.ttcn index ee2d450..b97dea1 100644 --- a/remsim/REMSIM_Tests.ttcn +++ b/remsim/REMSIM_Tests.ttcn @@ -46,7 +46,7 @@ }; private altstep as_ignore_id_ack(integer i := 0) runs on rspro_client_CT { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } } function f_rspro_init(inout RSPRO_Client clnt, charstring dst_host, integer dst_port, @@ -73,7 +73,7 @@ T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); mtc.stop; @@ -81,7 +81,7 @@ } T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_ID_ACK"); mtc.stop; @@ -132,7 +132,7 @@ timer T := 10.0; T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] T.timeout { diff --git a/remsim/RSPRO_Server.ttcn b/remsim/RSPRO_Server.ttcn index 25ec4d1..635629f 100644 --- a/remsim/RSPRO_Server.ttcn +++ b/remsim/RSPRO_Server.ttcn @@ -45,7 +45,7 @@ } altstep as_ignore_id_ack(integer i) runs on rspro_server_CT { - [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } + [] RSPRO_SRV[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } } @@ -55,7 +55,7 @@ timer T := 20.0; T.start; alt { - [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] RSPRO_SRV[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn index fd3f907..47beedd 100644 --- a/remsim/RemsimBankd_Tests.ttcn +++ b/remsim/RemsimBankd_Tests.ttcn @@ -63,7 +63,7 @@ f_rspro_srv_exp(tr_RSPRO_ConnectBankReq(?, ?, ?)); T.start; alt { - [] RSPRO_SRV[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO_SRV[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] RSPRO_SRV[0].receive { repeat; } @@ -233,7 +233,7 @@ timer T := 5.0; T.start; alt { - [] RSPRO[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] RSPRO[0].receive { @@ -273,7 +273,7 @@ timer T := 5.0; T.start; alt { - [] RSPRO[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(fail, "Unexpected client disconnect"); } [] RSPRO[0].receive { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 Gerrit-Change-Number: 18356 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:10:02 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:10:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: fix server mode: properly handle multiple client connect... References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 ) Change subject: library/IPA: fix server mode: properly handle multiple client connections ...................................................................... library/IPA: fix server mode: properly handle multiple client connections Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 --- M library/IPA_Emulation.ttcnpp 1 file changed, 33 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/18357/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 0edc0a7..b9c7940 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -84,16 +84,21 @@ /* an event indicating us whether or not a connection is physically up or down, * and whether we have received an ID_ACK */ -type union ASP_IPA_Event { - ASP_IPA_EventType up_down +type record ASP_IPA_Event { + ASP_IPA_EventType ev_type, + IPL4asp_Types.ConnectionId conn_id } -template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ud) := { - up_down := ud +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, + IPL4asp_Types.ConnectionId conn_id) := { + ev_type := ev_type, + conn_id := conn_id } -template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ud) := { - up_down := ud +template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ev_type, + template IPL4asp_Types.ConnectionId conn_id := ?) := { + ev_type := ev_type, + conn_id := conn_id } template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl, @@ -382,8 +387,9 @@ } /* transmit IPA CCM message */ -private function f_ccm_tx(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { - var IPA_Send ipa_tx := valueof(t_IPA_Send(g_ipa_conn_id, IPAC_PROTO_CCM, enc_PDU_IPA_CCM(ccm))); +private function f_ccm_tx(PDU_IPA_CCM ccm, IPL4asp_Types.ConnectionId conn_id) +runs on IPA_Emulation_CT { + var IPA_Send ipa_tx := valueof(t_IPA_Send(conn_id, IPAC_PROTO_CCM, enc_PDU_IPA_CCM(ccm))); log("CCM Tx:", ccm); IPA_PORT.send(ipa_tx); } @@ -411,13 +417,13 @@ private function f_ccm_rx_client(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { select (ccm.msg_type) { case (IPAC_MSGT_PING) { - f_ccm_tx(valueof(ts_IPA_PONG)); + f_ccm_tx(valueof(ts_IPA_PONG), g_ipa_conn_id); } case (IPAC_MSGT_ID_ACK) { - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK, g_ipa_conn_id)); } case (IPAC_MSGT_ID_GET) { - f_ccm_tx(f_ccm_make_id_resp(ccm)); + f_ccm_tx(f_ccm_make_id_resp(ccm), g_ipa_conn_id); } case else { log("Unknown/unsupported IPA CCM message type", ccm); @@ -425,10 +431,11 @@ } } -private function f_ccm_rx_server(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { +private function f_ccm_rx_server(PDU_IPA_CCM ccm, IPL4asp_Types.ConnectionId conn_id) +runs on IPA_Emulation_CT { select (ccm.msg_type) { case (IPAC_MSGT_PING) { - f_ccm_tx(valueof(ts_IPA_PONG)); + f_ccm_tx(valueof(ts_IPA_PONG), conn_id); } case (IPAC_MSGT_ID_ACK) { /* the IPA server should at some point receive an ID_ACK from the client, @@ -436,12 +443,12 @@ * the TCP connection is established. Other implementations may differ. * We currently ignore it completely - but actually we should make sure that * one ID_ACK is received by the server at some point */ - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK, conn_id)); } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); /* acknowledge any identity that the client may have sent */ - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), conn_id); } case else { log("Unknown/unsupported IPA CCM message type", ccm); @@ -490,9 +497,9 @@ f_connect(remote_host, remote_port, local_host, local_port, ccm_pars); if (g_ccm_enabled) { /* we're a client: Send ID_ACK immediately after connect */ - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), g_ipa_conn_id); } - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP, g_ipa_conn_id)); ScanEvents(); } @@ -596,7 +603,7 @@ f_ccm_rx_client(ccm); } case (IPA_MODE_SERVER) { - f_ccm_rx_server(ccm); + f_ccm_rx_server(ccm, ipa_rx.connId); } case else { setverdict(fail, "Unknown mode"); @@ -668,16 +675,17 @@ /* server only */ [] IPA_PORT.receive(ASP_Event:{connOpened:=?}) -> value asp_evt { - log("IPA: Connected"); - g_ipa_conn_id := asp_evt.connOpened.connId; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + var IPL4asp_Types.ConnectionId conn_id := asp_evt.connOpened.connId; + log("IPA: accepted a new client connection (conn_id=", conn_id, ")"); + + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP, conn_id)); if (g_mode == IPA_MODE_SERVER and g_ccm_enabled) { select (g_init_behavior) { case (IPA_INIT_SEND_IPA_ID_GET) { - f_ccm_tx(valueof(ts_IPA_ID_GET)); + f_ccm_tx(valueof(ts_IPA_ID_GET), conn_id); } case (IPA_INIT_SEND_IPA_ID_ACK) { - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), conn_id); } } } @@ -686,14 +694,14 @@ [] IPA_PORT.receive(ASP_Event:{connClosed:=?}) -> value asp_evt { log("IPA: Closed"); g_ipa_conn_id := -1; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN, asp_evt.connClosed.connId)); self.stop; } [] IPA_PORT.receive(Socket_API_Definitions.PortEvent:{result:={errorCode:=ERROR_SOCKET, connId:=?, os_error_code:=?, os_error_text:=?}}) -> value port_evt { log("PortEvent: ERROR_SOCKET: ", port_evt); g_ipa_conn_id := -1; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN, port_evt.result.connId)); self.stop; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Gerrit-Change-Number: 18357 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 16:21:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 ) Change subject: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f Gerrit-Change-Number: 18354 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 16:21:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:22:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 16:22:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 ) Change subject: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd Gerrit-Change-Number: 18355 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 18 May 2020 16:22:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:23:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 18 May 2020 16:23:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: use tr_ASP_IPA_EV instead of inline templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 ) Change subject: library/IPA: use tr_ASP_IPA_EV instead of inline templates ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 Gerrit-Change-Number: 18356 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 16:23:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 16:23:34 +0000 Subject: Change in libosmocore[master]: enable vty xml dumping to stdout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18345 ) Change subject: enable vty xml dumping to stdout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 Gerrit-Change-Number: 18345 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:23:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:23:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 16:23:57 +0000 Subject: Change in docker-playground[master]: bsc: drop access-list-name from osmo-bsc.cfg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18353 ) Change subject: bsc: drop access-list-name from osmo-bsc.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 Gerrit-Change-Number: 18353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:23:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:25:44 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:25:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333/2/pcu/GPRS_Components.ttcn at 168 PS2, Line 168: f_pcuif_rx_imm_ass > compilation fails if I leave "private", I tested it. I meant alignment, not the keyword itself. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:25:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Vadim Yanitskiy Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:30:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 16:30:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 to look at the new patch set (#4). Change subject: Move all GPRS helper function to its own file and component ...................................................................... Move all GPRS helper function to its own file and component This is a first step towards refactoring of all functions to use MS and Ul/DlTBF objects containing state. Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 --- A pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 623 insertions(+), 571 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/33/18333/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:35:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 16:35:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: use tr_ASP_IPA_EV instead of inline templates In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 ) Change subject: library/IPA: use tr_ASP_IPA_EV instead of inline templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 Gerrit-Change-Number: 18356 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:36:23 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:36:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:36:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:40:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:40:44 +0000 Subject: Change in libosmocore[master]: enable vty xml dumping to stdout In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18345 ) Change subject: enable vty xml dumping to stdout ...................................................................... enable vty xml dumping to stdout Allow dumping the VTY XML reference (for generating manuals) to a normal FILE* stream instead of a vty output buffer. We currently generate the VTY reference by starting the client program, connecting to the VTY telnet and dumping the reference. That is weirdly convoluted, especially since there has to be a valid config file that successfully starts up a minimal set of external links before the reference can be generated. IMO we should have dumped the XML reference to stdout from the start, and never to a VTY session. With this patch, it is trivial to generate the XML VTY reference by a commandline switch. The client program will set up the entire VTY, and immediately after parsing the cmdline options but before parsing a config file, just dumps the reference and doesn't even start establishing local ports. That would allow generating the XML reference on the fly during the build process of the manuals, without the need of a docker container or somesuch. A first implementation of such a commandline switch is `osmo-bsc -X`, added in I316efedb2c1652791434ecf14a1e261367cd2fb7 This patch jumps through a bit of a hoop to still allow dumping to a VTY buffer without code dup, to still allow dumping the XML reference through telnet VTY, until all our programs have implemented an -X switch (TM). Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 --- M include/osmocom/vty/command.h M src/vty/command.c 2 files changed, 62 insertions(+), 25 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index d63dbde..88490f7 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -401,4 +401,6 @@ extern void *tall_vty_cmd_ctx; +int vty_dump_xml_ref(FILE *stream); + /*! @} */ diff --git a/src/vty/command.c b/src/vty/command.c index daee5c5..9b32d22 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -619,15 +619,17 @@ return out; } +typedef int (*print_func_t)(void *data, const char *fmt, ...); + /* - * Write one cmd_element as XML to the given VTY. + * Write one cmd_element as XML via a print_func_t. */ -static int vty_dump_element(struct cmd_element *cmd, struct vty *vty) +static int vty_dump_element(struct cmd_element *cmd, print_func_t print_func, void *data, const char *newline) { char *xml_string = xml_escape(cmd->string); - vty_out(vty, " %s", xml_string, VTY_NEWLINE); - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", xml_string, newline); + print_func(data, " %s", newline); int j; for (j = 0; j < vector_count(cmd->strvec); ++j) { @@ -641,15 +643,15 @@ xml_param = xml_escape(desc->cmd); xml_doc = xml_escape(desc->str); - vty_out(vty, " %s", - xml_param, xml_doc, VTY_NEWLINE); + print_func(data, " %s", + xml_param, xml_doc, newline); talloc_free(xml_param); talloc_free(xml_doc); } } - vty_out(vty, " %s", VTY_NEWLINE); - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); + print_func(data, " %s", newline); talloc_free(xml_string); return 0; @@ -658,20 +660,20 @@ static bool vty_command_is_common(struct cmd_element *cmd); /* - * Dump all nodes and commands associated with a given node as XML to the VTY. + * Dump all nodes and commands associated with a given node as XML via a print_func_t. */ -static int vty_dump_nodes(struct vty *vty) +static int vty_dump_nodes(print_func_t print_func, void *data, const char *newline) { int i, j; int same_name_count; - vty_out(vty, "%s", VTY_NEWLINE); + print_func(data, "%s", newline); /* Only once, list all common node commands. Use the CONFIG node to find common node commands. */ - vty_out(vty, " %s", VTY_NEWLINE); - vty_out(vty, " Common Commands%s", VTY_NEWLINE); - vty_out(vty, " These commands are available on all VTY nodes. They are listed" - " here only once, to unclutter the VTY reference.%s", VTY_NEWLINE); + print_func(data, " %s", newline); + print_func(data, " Common Commands%s", newline); + print_func(data, " These commands are available on all VTY nodes. They are listed" + " here only once, to unclutter the VTY reference.%s", newline); for (i = 0; i < vector_active(cmdvec); ++i) { struct cmd_node *cnode; cnode = vector_slot(cmdvec, i); @@ -686,10 +688,10 @@ if (!vty_command_is_common(elem)) continue; if (!(elem->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_dump_element(elem, vty); + vty_dump_element(elem, print_func, data, newline); } } - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); for (i = 0; i < vector_active(cmdvec); ++i) { struct cmd_node *cnode; @@ -712,11 +714,11 @@ same_name_count ++; } - vty_out(vty, " name); if (same_name_count > 1 || !*cnode->name) - vty_out(vty, "_%d", same_name_count); - vty_out(vty, "'>%s", VTY_NEWLINE); - vty_out(vty, " %s%s", cnode->name, VTY_NEWLINE); + print_func(data, "_%d", same_name_count); + print_func(data, "'>%s", newline); + print_func(data, " %s%s", cnode->name, newline); for (j = 0; j < vector_active(cnode->cmd_vector); ++j) { struct cmd_element *elem; @@ -724,17 +726,50 @@ if (vty_command_is_common(elem)) continue; if (!(elem->attr & (CMD_ATTR_DEPRECATED | CMD_ATTR_HIDDEN))) - vty_dump_element(elem, vty); + vty_dump_element(elem, print_func, data, newline); } - vty_out(vty, " %s", VTY_NEWLINE); + print_func(data, " %s", newline); } - vty_out(vty, "%s", VTY_NEWLINE); + print_func(data, "%s", newline); return 0; } +static int print_func_vty(void *data, const char *format, ...) +{ + struct vty *vty = data; + va_list args; + int rc; + va_start(args, format); + rc = vty_out_va(vty, format, args); + va_end(args); + return rc; +} + +static int vty_dump_xml_ref_to_vty(struct vty *vty) +{ + return vty_dump_nodes(print_func_vty, vty, VTY_NEWLINE); +} + +static int print_func_stream(void *data, const char *format, ...) +{ + va_list args; + int rc; + va_start(args, format); + rc = vfprintf((FILE*)data, format, args); + va_end(args); + return rc; +} + +/*! Print the XML reference of all VTY nodes to the given stream. + */ +int vty_dump_xml_ref(FILE *stream) +{ + return vty_dump_nodes(print_func_stream, stream, "\n"); +} + /* Check if a command with given string exists at given node */ static int check_element_exists(struct cmd_node *cnode, const char *cmdstring) { @@ -2772,7 +2807,7 @@ DEFUN(show_online_help, show_online_help_cmd, "show online-help", SHOW_STR "Online help\n") { - vty_dump_nodes(vty); + vty_dump_xml_ref_to_vty(vty); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 Gerrit-Change-Number: 18345 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:42:17 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:42:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add initial support for Packet Uplink Ack/nack EGPRS Struct In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 ) Change subject: Add initial support for Packet Uplink Ack/nack EGPRS Struct ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f Gerrit-Change-Number: 18335 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 16:42:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:42:50 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 to look at the new patch set (#2). Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... add osmo-bsc -X: dump VTY ref XML to stdout This allows generating the XML reference on the fly during build, or to verify in a verification job that the VTY reference is indeed up-to-date. Depends: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 (libosmocore) Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/18347/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:42:50 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... jenkins.sh: use osmo-bsc -X to ensure correct VTY reference Instead of this, we could always generate the XML reference from osmo-bsc -X as part of the build process, but it is actually also nice to see a history of changes in the VTY commands we support. Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 --- M contrib/jenkins.sh 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/18358/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 73f1174..2ca1cd7 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -57,6 +57,17 @@ $MAKE $PARALLEL_MAKE LD_LIBRARY_PATH="$inst/lib" $MAKE check \ || cat-testlogs.sh + +# verify that the VTY XML reference is up-to-date +xmlref="$(mktemp)" +./src/osmo-bsc/osmo-bsc -X > "$xmlref" +if ! diff ./doc/manuals/vty/bsc_vty_reference.xml "$xmlref"; then + echo + echo "ERROR: The VTY reference differs from 'osmo-bsc -X' output." + echo " Run 'osmo-bsc -X > doc/manuals/vty/bsc_vty_reference.xml'" + exit 1 +fi + LD_LIBRARY_PATH="$inst/lib" \ DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \ $MAKE distcheck \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:42:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:42:50 +0000 Subject: Change in osmo-bsc[master]: NOT FOR MERGE -- test whether build job fails as expected References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18359 ) Change subject: NOT FOR MERGE -- test whether build job fails as expected ...................................................................... NOT FOR MERGE -- test whether build job fails as expected Change-Id: I24dc424b2b1358599b4740ddf0fdcdbc2ab759d8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/18359/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index e87e027..54e8b32 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -1,3 +1,4 @@ +testing error Common Commands @@ -5182,6 +5183,7 @@ + testing error @@ -5216,12 +5218,7 @@ - - - - - - +missing: no listen-port -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I24dc424b2b1358599b4740ddf0fdcdbc2ab759d8 Gerrit-Change-Number: 18359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:43:40 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:43:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Expect UL ACK/NACK after all UL data is transmitted In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 ) Change subject: pcu: Expect UL ACK/NACK after all UL data is transmitted ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 Gerrit-Change-Number: 18336 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 18 May 2020 16:43:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:44:27 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:44:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 ) Change subject: library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType ...................................................................... library/IPA: rename ASP_IPA_EventUpDown to ASP_IPA_EventType The old name was a bit confusing, because this enumerated type also contains ASP_IPA_EVENT_ID_ACK, among with UP/DOWN events. Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f --- M library/IPA_Emulation.ttcnpp 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 7b80c2d..6658ca8 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -76,7 +76,7 @@ octetstring payload } -type enumerated ASP_IPA_EventUpDown { +type enumerated ASP_IPA_EventType { ASP_IPA_EVENT_DOWN, ASP_IPA_EVENT_UP, ASP_IPA_EVENT_ID_ACK @@ -85,10 +85,10 @@ /* an event indicating us whether or not a connection is physically up or down, * and whether we have received an ID_ACK */ type union ASP_IPA_Event { - ASP_IPA_EventUpDown up_down + ASP_IPA_EventType up_down } -template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventUpDown ud) := { +template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventType ud) := { up_down := ud } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8f73a64de40d1c8e9b7f43f538d6b59dcede065f Gerrit-Change-Number: 18354 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:44:28 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:44:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 ) Change subject: library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates ...................................................................... library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd --- M bts/BTS_Tests_OML.ttcn M hlr/HLR_Tests.ttcn M library/IPA_Emulation.ttcnpp M msc/MSC_Tests.ttcn M remsim/RemsimClient_Tests.ttcn M remsim/RemsimServer_Tests.ttcn M selftest/Selftest.ttcn M sgsn/SGSN_Tests.ttcn 8 files changed, 25 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests_OML.ttcn b/bts/BTS_Tests_OML.ttcn index 84d46a4..4835e66 100644 --- a/bts/BTS_Tests_OML.ttcn +++ b/bts/BTS_Tests_OML.ttcn @@ -102,8 +102,8 @@ T_oml_guard.start; activate(as_Tguard()); - OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); - //OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + //OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); activate(as_SwAct()); activate(as_IPA_evt()); diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 06354b9..27a44de 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -200,7 +200,7 @@ timer T := 10.0; T.start; alt { - [not legacy] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [not legacy] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [legacy] GSUP.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 6658ca8..0edc0a7 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -88,7 +88,11 @@ ASP_IPA_EventType up_down } -template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventType ud) := { +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ud) := { + up_down := ud +} + +template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ud) := { up_down := ud } @@ -291,7 +295,7 @@ data := char2oct(payload) & '00'O } -private function f_send_IPA_EVT(template ASP_IPA_Event evt) runs on IPA_Emulation_CT { +private function f_send_IPA_EVT(template (value) ASP_IPA_Event evt) runs on IPA_Emulation_CT { if (IPA_SP_PORT.checkstate("Connected")) { IPA_SP_PORT.send(evt); } @@ -410,7 +414,7 @@ f_ccm_tx(valueof(ts_IPA_PONG)); } case (IPAC_MSGT_ID_ACK) { - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); } case (IPAC_MSGT_ID_GET) { f_ccm_tx(f_ccm_make_id_resp(ccm)); @@ -432,7 +436,7 @@ * the TCP connection is established. Other implementations may differ. * We currently ignore it completely - but actually we should make sure that * one ID_ACK is received by the server at some point */ - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); @@ -488,7 +492,7 @@ /* we're a client: Send ID_ACK immediately after connect */ f_ccm_tx(valueof(ts_IPA_ACK)); } - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); ScanEvents(); } @@ -666,7 +670,7 @@ [] IPA_PORT.receive(ASP_Event:{connOpened:=?}) -> value asp_evt { log("IPA: Connected"); g_ipa_conn_id := asp_evt.connOpened.connId; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); if (g_mode == IPA_MODE_SERVER and g_ccm_enabled) { select (g_init_behavior) { case (IPA_INIT_SEND_IPA_ID_GET) { @@ -682,14 +686,14 @@ [] IPA_PORT.receive(ASP_Event:{connClosed:=?}) -> value asp_evt { log("IPA: Closed"); g_ipa_conn_id := -1; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); self.stop; } [] IPA_PORT.receive(Socket_API_Definitions.PortEvent:{result:={errorCode:=ERROR_SOCKET, connId:=?, os_error_code:=?, os_error_text:=?}}) -> value port_evt { log("PortEvent: ERROR_SOCKET: ", port_evt); g_ipa_conn_id := -1; - f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); self.stop; } @@ -774,7 +778,7 @@ port IPA_SP_PT IPA_SP_PORT; } -function waiter_main(template ASP_IPA_Event wait_for := t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) +function waiter_main(template ASP_IPA_Event wait_for := tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) runs on IPA_EventWaiter_CT { alt { diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 084ae85..35ca84a 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -290,7 +290,7 @@ timer T := 10.0; T.start; alt { - [] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn index 457e449..499fd3e 100644 --- a/remsim/RemsimClient_Tests.ttcn +++ b/remsim/RemsimClient_Tests.ttcn @@ -59,7 +59,7 @@ /* expect inbound connectClientReq */ as_connectClientReq(res := illegalClientId); /* expect disconnect by client */ - RSPRO_SRV[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); setverdict(pass); f_sleep(1.0); } @@ -139,7 +139,7 @@ f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0)); /* expect disconnect of client on simulated bankd side */ - RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); setverdict(pass); } @@ -162,7 +162,7 @@ f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0)); /* expect disconnect of client on simulated bankd side */ - RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)); + RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); /* re-start the IPA emulation (which terminated itself on the TCP disconnect */ f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false); diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn index bada70a..1ca5ce9 100644 --- a/remsim/RemsimServer_Tests.ttcn +++ b/remsim/RemsimServer_Tests.ttcn @@ -164,8 +164,8 @@ T.start; /* expect that we're disconnected if we never send a ConnectClientReq */ alt { - [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) { repeat; } - [] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] T.timeout { diff --git a/selftest/Selftest.ttcn b/selftest/Selftest.ttcn index 8411b3d..263c317 100644 --- a/selftest/Selftest.ttcn +++ b/selftest/Selftest.ttcn @@ -46,8 +46,8 @@ function f_ipa_wait_up() runs on IPA_selftest_CT { interleave { - [] IPA_RSL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); - [] IPA_CTRL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)); + [] IPA_RSL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + [] IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); } } diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6c963fa..9d191cc 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -232,7 +232,7 @@ timer T := 10.0; T.start; alt { - [] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { } + [] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd Gerrit-Change-Number: 18355 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:44:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA: use tr_ASP_IPA_EV instead of inline templates In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 ) Change subject: library/IPA: use tr_ASP_IPA_EV instead of inline templates ...................................................................... library/IPA: use tr_ASP_IPA_EV instead of inline templates This way we can easily add new parameters to ASP_IPA_Event. Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 --- M bsc-nat/BSC_MS_Simulation.ttcn M bsc/BSC_Tests.ttcn M bts/BTS_Tests.ttcn M hlr/HLR_EUSE.ttcn M hlr/HLR_Tests.ttcn M library/GSUP_Emulation.ttcn M library/Osmocom_CTRL_Adapter.ttcn M library/RAN_Emulation.ttcnpp M library/RSL_Emulation.ttcn M remsim/REMSIM_Tests.ttcn M remsim/RSPRO_Server.ttcn M remsim/RemsimBankd_Tests.ttcn 12 files changed, 30 insertions(+), 30 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc-nat/BSC_MS_Simulation.ttcn b/bsc-nat/BSC_MS_Simulation.ttcn index 0582576..0a057a3 100644 --- a/bsc-nat/BSC_MS_Simulation.ttcn +++ b/bsc-nat/BSC_MS_Simulation.ttcn @@ -131,7 +131,7 @@ /* Initial delay to wait for IPA connection establishment */ T.start; alt { - [] SCCPLITE_IPA_CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] SCCPLITE_IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout CTRL waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 38a961b..bcefe67 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -226,7 +226,7 @@ /* wait for IPA RSL link to connect and send ID ACK */ T.start; alt { - [] IPA_RSL[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { + [] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { T.stop; IPA_RSL[i].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); } @@ -1707,7 +1707,7 @@ /* wait for IPA OML link to connect and then disconnect */ T.start; alt { - [] IPA_RSL[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] IPA_RSL[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { T.stop; return true; } diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 289298b..d241496 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -417,7 +417,7 @@ f_init_rsl(id); T.start; alt { - [] RSL_CCHAN.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}); + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } @@ -4956,7 +4956,7 @@ f_init_rsl(testcasename()); T.start; alt { - [] RSL_CCHAN.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}); + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } diff --git a/hlr/HLR_EUSE.ttcn b/hlr/HLR_EUSE.ttcn index ef07ca6..17e4776 100644 --- a/hlr/HLR_EUSE.ttcn +++ b/hlr/HLR_EUSE.ttcn @@ -49,8 +49,8 @@ timer T := 10.0; T.start; alt { - [] EUSE.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { repeat; } - [] EUSE.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] EUSE.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { repeat; } + [] EUSE.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [] T.timeout { setverdict(fail, "EUSE: Timeout waiting for GSUP IPA Link to come up"); self.stop; diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 27a44de..36e28b8 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -201,7 +201,7 @@ T.start; alt { [not legacy] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } - [legacy] GSUP.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [legacy] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "No connection to GSUP Port"); mtc.stop; diff --git a/library/GSUP_Emulation.ttcn b/library/GSUP_Emulation.ttcn index 4a03359..51c158a 100644 --- a/library/GSUP_Emulation.ttcn +++ b/library/GSUP_Emulation.ttcn @@ -183,9 +183,9 @@ alt { - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_ID_ACK}) { repeat; } - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_UP}) { repeat; } - [] GSUP.receive(ASP_IPA_Event:{up_down:=ASP_IPA_EVENT_DOWN}) { + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { repeat; } + [] GSUP.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(fail, "GSUP Connection Lost"); mtc.stop; } diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn index 08195c8..0be3ebb 100644 --- a/library/Osmocom_CTRL_Adapter.ttcn +++ b/library/Osmocom_CTRL_Adapter.ttcn @@ -44,7 +44,7 @@ /* wait for IPA CTRL link to connect and send UP */ T.start; alt { - [] IPA_CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout CTRL waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/library/RAN_Emulation.ttcnpp b/library/RAN_Emulation.ttcnpp index b54d6e4..7e98b8b 100644 --- a/library/RAN_Emulation.ttcnpp +++ b/library/RAN_Emulation.ttcnpp @@ -1149,13 +1149,13 @@ CTRL_CLIENT.send(ctrl); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) -> value evt { + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { CTRL_CLIENT.send(evt); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [] CTRL.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) {} + [] CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) {} #else [false] CLIENT.receive {} #endif diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 309ec13..5a0816f 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -372,22 +372,22 @@ while (true) { alt { - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) -> value evt { + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { CCHAN_PT.send(evt); } - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } - [bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { + [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); } - [not bts_role] IPA_PT.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; diff --git a/remsim/REMSIM_Tests.ttcn b/remsim/REMSIM_Tests.ttcn index ee2d450..b97dea1 100644 --- a/remsim/REMSIM_Tests.ttcn +++ b/remsim/REMSIM_Tests.ttcn @@ -46,7 +46,7 @@ }; private altstep as_ignore_id_ack(integer i := 0) runs on rspro_client_CT { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } } function f_rspro_init(inout RSPRO_Client clnt, charstring dst_host, integer dst_port, @@ -73,7 +73,7 @@ T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); mtc.stop; @@ -81,7 +81,7 @@ } T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { } + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_ID_ACK"); mtc.stop; @@ -132,7 +132,7 @@ timer T := 10.0; T.start; alt { - [] RSPRO[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] T.timeout { diff --git a/remsim/RSPRO_Server.ttcn b/remsim/RSPRO_Server.ttcn index 25ec4d1..635629f 100644 --- a/remsim/RSPRO_Server.ttcn +++ b/remsim/RSPRO_Server.ttcn @@ -45,7 +45,7 @@ } altstep as_ignore_id_ack(integer i) runs on rspro_server_CT { - [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_ID_ACK}) { repeat; } + [] RSPRO_SRV[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; } } @@ -55,7 +55,7 @@ timer T := 20.0; T.start; alt { - [] RSPRO_SRV[i].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { } + [] RSPRO_SRV[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [] T.timeout { setverdict(fail, "Timeout waiting for ASP_IPA_EVENT_UP"); mtc.stop; diff --git a/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn index fd3f907..47beedd 100644 --- a/remsim/RemsimBankd_Tests.ttcn +++ b/remsim/RemsimBankd_Tests.ttcn @@ -63,7 +63,7 @@ f_rspro_srv_exp(tr_RSPRO_ConnectBankReq(?, ?, ?)); T.start; alt { - [] RSPRO_SRV[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO_SRV[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] RSPRO_SRV[0].receive { repeat; } @@ -233,7 +233,7 @@ timer T := 5.0; T.start; alt { - [] RSPRO[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(pass); } [] RSPRO[0].receive { @@ -273,7 +273,7 @@ timer T := 5.0; T.start; alt { - [] RSPRO[0].receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_DOWN}) { + [] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { setverdict(fail, "Unexpected client disconnect"); } [] RSPRO[0].receive { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1 Gerrit-Change-Number: 18356 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:48:10 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Mon, 18 May 2020 16:48:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 ) Change subject: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() ...................................................................... BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/18360/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index d241496..012df47 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -178,6 +178,8 @@ } function f_init_rsl(charstring id) runs on test_CT { + timer T := mp_ipa_up_timeout; + vc_IPA := IPA_Emulation_CT.create(id & "-RSL-IPA"); vc_RSL := RSL_Emulation_CT.create(id & "-RSL"); @@ -187,6 +189,14 @@ vc_IPA.start(IPA_Emulation.main_server(mp_rsl_ip, mp_rsl_port)); vc_RSL.start(RSL_Emulation.main(false)); + + T.start; + alt { + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + } + } } type record ConnHdlrPars { @@ -375,7 +385,6 @@ /* global init function */ function f_init() runs on test_CT { var charstring id := testcasename(); - timer T := mp_ipa_up_timeout; g_AllChannels := { /* TS 1..4: TCH/F */ valueof(ts_RslChanNr_Bm(1)), valueof(ts_RslChanNr_Bm(2)), @@ -415,13 +424,6 @@ }; } f_init_rsl(id); - T.start; - alt { - [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); - [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); - } - } f_sleep(0.5); /* workaround for OS#3000 */ f_init_vty(id); f_ipa_ctrl_start(mp_ctrl_ip, mp_ctrl_port); @@ -4950,17 +4952,8 @@ /* Make sure that GPRS Indicator is absent when the PCU is not connected */ private function f_TC_pcu_socket_noconnect(RrMessageType si_type) runs on test_CT { - timer T := 5.0; - /* don't call f_init() as this would connect PCU socket */ f_init_rsl(testcasename()); - T.start; - alt { - [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); - [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); - } - } /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a Gerrit-Change-Number: 18360 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:52:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:52:48 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 11: Code-Review-1 (4 comments) (-1 for those trailing tabs) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/lchan_fsm.c at 1416 PS11, Line 1416: rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CLEANUP]); "cleanup" is an FSM term, it sounds like we cleaned up the lchan, rather than what happened: the BTS disconnected. So I'd rather say something like "teardown" "bts disconnect" "lchan shutdown"? https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 711 PS11, Line 711: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK]); weird whitespace https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 724 PS11, Line 724: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK]); weird whitespace https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 785 PS11, Line 785: rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_CLEANUP]); "cleanup" is an FSM term, it sounds like we cleaned up the timeslot, rather than what happened: the BTS disconnected. So I'd rather say something like "teardown" "bts disconnect" "ts shutdown"? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:52:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:53:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:53:28 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... Patch Set 1: I'm confused, didn't I comment on this patch before? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: neels Gerrit-Comment-Date: Mon, 18 May 2020 16:53:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:55:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 16:55:49 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... Patch Set 7: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18332/7/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18332/7/include/osmocom/bsc/gsm_data.h at 1602 PS7, Line 1602: [BSC_CTR_PAGING_NON_ACTIVE] = {"paging:non_active", "Paging response for non active subscriber."}, ("inactive" would be a smoother term; possibly "un-paged" even) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 18 May 2020 16:55:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 16:58:23 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 16:58:23 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... Patch Set 1: > Patch Set 1: > > I'm confused, didn't I comment on this patch before? You commented on a previous patch which is already merged to master. This is an update of the old patch, based on more testing in the field -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-CC: neels Gerrit-Comment-Date: Mon, 18 May 2020 16:58:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 17:00:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 17:00:28 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18334/4/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18334/4/src/osmo-bsc/chan_alloc.c at 93 PS4, Line 93: if (!ts_is_usable(ts)) { This function also triggers on disconnected TRX or timeslots still in the UNINITIALIZED state. I'm not sure this should count as used. If you specifically want to target BORKEN, maybe rather test for ts->fi->state? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 17:00:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 17:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 17:13:26 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 10: Code-Review-1 (4 comments) (-1 for error log verbosity) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 13 PS10, Line 13: Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec we're commonly using 'Depends:' instead. Depends: If8afd2d096fb66c6c2f255a08fc1129de3d09cec (libosmocore) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 14 PS10, Line 14: (and we usually don't have a blank line here) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c at 1027 PS10, Line 1027: "Received Confusion message," please state "BSSMAP" as in "BSSMAP Confusion message", otherwise it is confusing. ... or does the FSM id already say "BSSMAP"? Anyway, it could still be confused for some internal event, let's rather name BSSMAP. Same below. https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c at 1064 PS10, Line 1064: osmo_hexdump(diag->msg, diag_len-2)); Please don't spam the error log like this, I'd much prefer combining these several bits of information on *one* log line. Especially the ERROR log is very strong in punching through silent logging configuration, so this should be as unobtrusive as possible (while still reflecting the interesting information). I'm thinking like Rx BSSMAP Confusion: class 0x23 cause 0x42 msg octet 23 (string) bit 3 (string) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 10 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 17:13:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 17:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 17:15:37 +0000 Subject: Change in osmo-bsc[master]: NOT FOR MERGE -- test whether build job fails as expected In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18359 to look at the new patch set (#2). Change subject: NOT FOR MERGE -- test whether build job fails as expected ...................................................................... NOT FOR MERGE -- test whether build job fails as expected Change-Id: I24dc424b2b1358599b4740ddf0fdcdbc2ab759d8 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 2 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/18359/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I24dc424b2b1358599b4740ddf0fdcdbc2ab759d8 Gerrit-Change-Number: 18359 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 18:19:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 18:19:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 ) Change subject: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a Gerrit-Change-Number: 18360 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 18:19:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 18:19:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 18 May 2020 18:19:32 +0000 Subject: Change in osmo-pcu[master]: sysmo: femtobts.h: Avoid redefining global variables In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18348 ) Change subject: sysmo: femtobts.h: Avoid redefining global variables ...................................................................... sysmo: femtobts.h: Avoid redefining global variables Change-Id: I0f04726ae608f499c557cedffb4d86625bccbd5a --- M src/osmo-bts-sysmo/femtobts.h 1 file changed, 12 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-sysmo/femtobts.h b/src/osmo-bts-sysmo/femtobts.h index 7e45578..3a428ee 100644 --- a/src/osmo-bts-sysmo/femtobts.h +++ b/src/osmo-bts-sysmo/femtobts.h @@ -18,22 +18,22 @@ L1P_T_IND, }; -const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; -const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; -const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; +extern const enum l1prim_type femtobts_l1prim_type[GsmL1_PrimId_NUM]; +extern const struct value_string femtobts_l1prim_names[GsmL1_PrimId_NUM+1]; +extern const GsmL1_PrimId_t femtobts_l1prim_req2conf[GsmL1_PrimId_NUM]; -const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; -const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; +extern const enum l1prim_type femtobts_sysprim_type[SuperFemto_PrimId_NUM]; +extern const struct value_string femtobts_sysprim_names[SuperFemto_PrimId_NUM+1]; +extern const SuperFemto_PrimId_t femtobts_sysprim_req2conf[SuperFemto_PrimId_NUM]; -const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; -const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; +extern const struct value_string femtobts_l1sapi_names[GsmL1_Sapi_NUM+1]; +extern const struct value_string femtobts_l1status_names[GSML1_STATUS_NUM+1]; -const struct value_string femtobts_tracef_names[29]; +extern const struct value_string femtobts_tracef_names[29]; -const struct value_string femtobts_tch_pl_names[15]; +extern const struct value_string femtobts_tch_pl_names[15]; -const struct value_string femtobts_dir_names[6]; +extern const struct value_string femtobts_dir_names[6]; enum pdch_cs { PDCH_CS_1, @@ -52,6 +52,6 @@ _NUM_PDCH_CS }; -const uint8_t pdch_msu_size[_NUM_PDCH_CS]; +extern const uint8_t pdch_msu_size[_NUM_PDCH_CS]; #endif /* FEMTOBTS_H */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0f04726ae608f499c557cedffb4d86625bccbd5a Gerrit-Change-Number: 18348 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 20:26:10 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 20:26:10 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 11: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/lchan_fsm.c File src/osmo-bsc/lchan_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/lchan_fsm.c at 1416 PS11, Line 1416: rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CLEANUP]); > "cleanup" is an FSM term, it sounds like we cleaned up the lchan, rather than what happened: the BTS [?] I like the "teardown" version. Will rename in the new patchset https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c File src/osmo-bsc/timeslot_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 711 PS11, Line 711: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK]); > weird whitespace Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 724 PS11, Line 724: rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK]); > weird whitespace Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18192/11/src/osmo-bsc/timeslot_fsm.c at 785 PS11, Line 785: rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_CLEANUP]); > "cleanup" is an FSM term, it sounds like we cleaned up the timeslot, rather than what happened: the [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 20:26:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 20:39:51 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 20:39:51 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NON_ACTIVE. ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18332/7/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18332/7/include/osmocom/bsc/gsm_data.h at 1602 PS7, Line 1602: [BSC_CTR_PAGING_NON_ACTIVE] = {"paging:non_active", "Paging response for non active subscriber."}, > ("inactive" would be a smoother term; possibly "un-paged" even) See the new patchset for a better name/desciption -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 7 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 18 May 2020 20:39:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 20:51:51 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 20:51:51 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN/NOT_INITIALIZED TS. ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18334/4/src/osmo-bsc/chan_alloc.c File src/osmo-bsc/chan_alloc.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18334/4/src/osmo-bsc/chan_alloc.c at 93 PS4, Line 93: if (!ts_is_usable(ts)) { > This function also triggers on disconnected TRX or timeslots still in the UNINITIALIZED state. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 20:51:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 21:03:54 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 21:03:54 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 10: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 13 PS10, Line 13: Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec > we're commonly using 'Depends:' instead. [?] This was suggested by Harald but ok, I've changed it https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 14 PS10, Line 14: > (and we usually don't have a blank line here) Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c File src/osmo-bsc/osmo_bsc_bssap.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c at 1027 PS10, Line 1027: "Received Confusion message," > please state "BSSMAP" as in "BSSMAP Confusion message", otherwise it is confusing. [?] Ack https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10/src/osmo-bsc/osmo_bsc_bssap.c at 1064 PS10, Line 1064: osmo_hexdump(diag->msg, diag_len-2)); > Please don't spam the error log like this, I'd much prefer combining these several bits of informati [?] Ok, see the new patchset. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 10 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 18 May 2020 21:03:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 21:04:17 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 21:04:17 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 to look at the new patch set (#12). Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 148 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/92/18192/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 12 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 21:04:17 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 21:04:17 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. In-Reply-To: References: Message-ID: Hello neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 to look at the new patch set (#8). Change subject: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. ...................................................................... stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. This is a corner case but still we should count the events to know when is this happening. And for the number of paging requests to match the number of paging responses. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18332/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 21:04:17 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 21:04:17 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN TS. In-Reply-To: References: Message-ID: Hello pespin, neels, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 to look at the new patch set (#5). Change subject: stats: Correctly count lchans under BORKEN TS. ...................................................................... stats: Correctly count lchans under BORKEN TS. lchans under a BORKEN TS should be counted as used just as BORKEN lchans under a normal TS. Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/18334/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 21:04:17 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 18 May 2020 21:04:17 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: Hello pespin, neels, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 to look at the new patch set (#11). Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... bssap: Handle BSSMAP CONFUSION message. We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Depends: If8afd2d096fb66c6c2f255a08fc1129de3d09cec (libosmocore) Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 --- M TODO-RELEASE M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 4 files changed, 59 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/32/18232/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 18 23:52:34 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 18 May 2020 23:52:34 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 to look at the new patch set (#2). Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... jenkins.sh: use osmo-bsc -X to ensure correct VTY reference Instead of this, we could always generate the XML reference from osmo-bsc -X as part of the build process, but it is actually also nice to see a history of changes in the VTY commands we support. Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 --- M contrib/jenkins.sh 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/18358/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 06:45:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 06:45:47 +0000 Subject: Change in osmo-pcu[master]: rlc: Drop unused function gprs_rlc_data::put_data In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18349 ) Change subject: rlc: Drop unused function gprs_rlc_data::put_data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 Gerrit-Change-Number: 18349 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 06:45:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 06:47:20 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 06:47:20 +0000 Subject: Change in osmo-pcu[master]: rlc: Move prepare() function out of gprs_rlc_data struct In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18350 ) Change subject: rlc: Move prepare() function out of gprs_rlc_data struct ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 Gerrit-Change-Number: 18350 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 06:47:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 07:19:57 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 07:19:57 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 1: Code-Review+1 (2 comments) LGTM, could not find any logical changes. I've read through the changes and compared gprs_coding_scheme.cpp with coding_scheme.c side by side. https://gerrit.osmocom.org/c/osmo-pcu/+/18351/1/src/coding_scheme.c File src/coding_scheme.c: https://gerrit.osmocom.org/c/osmo-pcu/+/18351/1/src/coding_scheme.c at 228 PS1, Line 228: return mcs_info[cs].downlink.ext_bits; Cosmetic: missing indent https://gerrit.osmocom.org/c/osmo-pcu/+/18351/1/src/coding_scheme.c at 308 PS1, Line 308: needStuffing Cosmetic: make this snake case? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 07:19:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 07:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 07:52:43 +0000 Subject: Change in libosmocore[master]: gsmtap_makemsg_ex: NULL for unknown chan_type References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18361 ) Change subject: gsmtap_makemsg_ex: NULL for unknown chan_type ...................................................................... gsmtap_makemsg_ex: NULL for unknown chan_type Related: osmo-bts Ic22ab71e520ab44429a93724250d349d16250801 Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d --- M src/gsmtap_util.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/18361/1 diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 9a0ac02..8674f1c 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -169,7 +169,8 @@ * \param[in] snr Signal/Noise Ratio (SNR) * \param[in] data Pointer to data buffer * \param[in] len Length of \ref data - * \return dynamically allocated message buffer containing data + * \return dynamically allocated message buffer containing data, + * or NULL for unknown chan_type * * This function will allocate a new msgb and fill it with a GSMTAP * header containing the information @@ -182,6 +183,9 @@ struct gsmtap_hdr *gh; uint8_t *dst; + if (chan_type == GSMTAP_CHANNEL_UNKNOWN) + return NULL; + msg = msgb_alloc(sizeof(*gh) + len, "gsmtap_tx"); if (!msg) return NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Gerrit-Change-Number: 18361 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 07:52:52 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 07:52:52 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 to look at the new patch set (#3). Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... virtual/scheduler: log unknown GSMTAP chan Related change in libosmocore will let gsmtap_makemsg return NULL if the channel type is unknown: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Related: SYS#4822 Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/18267/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 07:55:02 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 07:55:02 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c at 82 PS2, Line 82: LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn, "RSL ctype 0x%02x is unknown in GSMTAP?\n", rsl_chantype); > ctype -> channel type [?] Good point, done here: https://gerrit.osmocom.org/c/libosmocore/+/18361 https://gerrit.osmocom.org/c/osmo-bts/+/18267/2/src/osmo-bts-virtual/scheduler_virtbts.c at 83 PS2, Line 83: msgb_free(msg); > what about goto the end of function? Right, should have been done with goto. It's not needed anymore with the libosmocore change. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 07:55:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 08:20:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 08:20:03 +0000 Subject: Change in osmo-pcu[master]: rlc: Drop unused function gprs_rlc_data::put_data In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18349 ) Change subject: rlc: Drop unused function gprs_rlc_data::put_data ...................................................................... rlc: Drop unused function gprs_rlc_data::put_data Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 --- M src/rlc.cpp M src/rlc.h 2 files changed, 0 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/rlc.cpp b/src/rlc.cpp index c44d27e..6d084b1 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -44,12 +44,6 @@ return block; } -void gprs_rlc_data::put_data(const uint8_t *data, size_t data_len) -{ - memcpy(block, data, data_len); - len = data_len; -} - void gprs_rlc_v_b::reset() { for (size_t i = 0; i < ARRAY_SIZE(m_v_b); ++i) diff --git a/src/rlc.h b/src/rlc.h index 5b6a0dd..135060e 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -178,7 +178,6 @@ struct gprs_rlc_data { uint8_t *prepare(size_t block_data_length); - void put_data(const uint8_t *data, size_t len); /* block data including LI headers */ uint8_t block[RLC_MAX_LEN]; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I10eb93a1aa6ac1eac15c8e64da300caf2e6ccc44 Gerrit-Change-Number: 18349 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 08:20:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 08:20:05 +0000 Subject: Change in osmo-pcu[master]: rlc: Move prepare() function out of gprs_rlc_data struct In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18350 ) Change subject: rlc: Move prepare() function out of gprs_rlc_data struct ...................................................................... rlc: Move prepare() function out of gprs_rlc_data struct Newer gcc 10.1.0 is erroring due to memset being applied on a complex type, so let's start by removing this only function outside of the struct. Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 --- M src/rlc.cpp M src/rlc.h M src/tbf_dl.cpp M tests/types/TypesTest.cpp 4 files changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/rlc.cpp b/src/rlc.cpp index 6d084b1..5316136 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -32,16 +32,16 @@ } -uint8_t *gprs_rlc_data::prepare(size_t block_data_len) +uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_len) { /* todo.. only set it once if it turns out to be a bottleneck */ - memset(block, 0x0, sizeof(block)); - memset(block, 0x2b, block_data_len); + memset(rlc->block, 0x0, sizeof(rlc->block)); + memset(rlc->block, 0x2b, block_data_len); /* Initial value of puncturing scheme */ - next_ps = EGPRS_PS_1; + rlc->next_ps = EGPRS_PS_1; - return block; + return rlc->block; } void gprs_rlc_v_b::reset() diff --git a/src/rlc.h b/src/rlc.h index 135060e..109c5b3 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -177,8 +177,6 @@ }; struct gprs_rlc_data { - uint8_t *prepare(size_t block_data_length); - /* block data including LI headers */ uint8_t block[RLC_MAX_LEN]; /* block data len including LI headers*/ @@ -211,6 +209,8 @@ union split_block_status spb_status; }; +uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_length); + void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, GprsCodingScheme cs, bool with_padding, const unsigned int spb); void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index dab1e29..cd4ddb9 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -581,7 +581,7 @@ /* now we still have untransmitted LLC data, so we fill mac block */ rlc_data = m_rlc.block(bsn); - data = rlc_data->prepare(block_data_len); + data = prepare(rlc_data, block_data_len); rlc_data->cs_last = cs; rlc_data->cs_current_trans = cs; diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index b46a82b..e1c894d 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -97,7 +97,7 @@ { struct gprs_rlc_data rlc = { 0, }; memset(rlc.block, 0x23, RLC_MAX_LEN); - uint8_t *p = rlc.prepare(20); + uint8_t *p = prepare(&rlc, 20); OSMO_ASSERT(p == rlc.block); for (int i = 0; i < 20; ++i) OSMO_ASSERT(p[i] == 0x2B); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119 Gerrit-Change-Number: 18350 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 08:49:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 08:49:03 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 08:49:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 08:49:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 08:49:27 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... Patch Set 2: -Code-Review I'm not sure we should be really comparing that, since library changes will make the test fail. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 08:49:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:01:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:01:35 +0000 Subject: Change in libosmocore[master]: gsmtap_makemsg_ex: NULL for unknown chan_type In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18361 ) Change subject: gsmtap_makemsg_ex: NULL for unknown chan_type ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18361/1/src/gsmtap_util.c File src/gsmtap_util.c: https://gerrit.osmocom.org/c/libosmocore/+/18361/1/src/gsmtap_util.c at 186 PS1, Line 186: if (chan_type == GSMTAP_CHANNEL_UNKNOWN) Why not generating a message for that channel type? I wanna see that in pcap files and see something's wrong. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Gerrit-Change-Number: 18361 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:01:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:15:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:15:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Expect UL ACK/NACK after all UL data is transmitted In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 ) Change subject: pcu: Expect UL ACK/NACK after all UL data is transmitted ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 Gerrit-Change-Number: 18336 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:15:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:19:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:19:44 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 to look at the new patch set (#2). Change subject: Get rid of class GprsCodingScheme ...................................................................... Get rid of class GprsCodingScheme We have same kind of object splitted into two layers, in coding_scheme and gprs_coding_scheme. Let's merge them together and get rid of the class, which is not really useful because it's only a set of functions operating on one enum value. This change also fixes gcc 10.1.0 error about memseting a complex type in rlc.h init(). Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df --- M src/Makefile.am M src/bts.h M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp D src/gprs_coding_scheme.cpp D src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_main.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/pdch.h M src/rlc.cpp M src/rlc.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp M tests/tbf/TbfTest.cpp 26 files changed, 530 insertions(+), 669 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/18351/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:21:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:21:06 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 2: v2: Applied comments from osmith. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:21:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:23:39 2020 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 19 May 2020 09:23:39 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:23:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:30:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:30:23 +0000 Subject: Change in osmo-pcu[master]: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18323 ) Change subject: tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost ...................................................................... tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost In normal conditions ACKing of UL blocks is only sent every SEND_ACK_AFTER_FRAMES (20) frames. Which means if CV=0 is received (and hence no more packets are received) less than 20 frames before a lost, the PCU won't ask for a retransmission and wait there until some timer destroys the TBF. This issue is shown by TTCN3 test PCU_Tests.ttcn TC_ul_intermediate_retrans. Unit tests triggering this condition are adapted. Some similar tests are not triggering it because BSN/CV relation being used is totally wrong (like CV=0 being sent on a BSN with previous value than others). Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 --- M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 4 files changed, 25 insertions(+), 15 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 9899580..009dfcb 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -188,6 +188,9 @@ const struct gprs_rlc_data_info *rlc, uint8_t *data, struct pcu_l1_meas *meas) { + const struct gprs_rlc_data_block_info *rdbi; + struct gprs_rlc_data *block; + int8_t rssi = meas->have_rssi ? meas->rssi : 0; const uint16_t ws = m_window.ws(); @@ -218,10 +221,8 @@ for (block_idx = 0; block_idx < rlc->num_data_blocks; block_idx++) { int num_chunks; uint8_t *rlc_data; - const struct gprs_rlc_data_block_info *rdbi = - &rlc->block_info[block_idx]; + rdbi = &rlc->block_info[block_idx]; bool need_rlc_data = false; - struct gprs_rlc_data *block; LOGPTBFUL(this, LOGL_DEBUG, "Got %s RLC data block: CV=%d, BSN=%d, SPB=%d, PI=%d, E=%d, TI=%d, bitoffs=%d\n", @@ -330,14 +331,13 @@ assemble_forward_llc(m_rlc.block(index)); } - /* Check CV of last frame in buffer */ + /* Last frame in buffer: */ + block = m_rlc.block(m_window.mod_sns(m_window.v_r() - 1)); + rdbi = &block->block_info; + + /* Check if we already received all data TBF had to send: */ if (this->state_is(GPRS_RLCMAC_FLOW) /* still in flow state */ && this->m_window.v_q() == this->m_window.v_r()) { /* if complete */ - struct gprs_rlc_data *block = - m_rlc.block(m_window.mod_sns(m_window.v_r() - 1)); - const struct gprs_rlc_data_block_info *rdbi = - &block->block_info; - LOGPTBFUL(this, LOGL_DEBUG, "No gaps in received block, last block: BSN=%d CV=%d\n", rdbi->bsn, rdbi->cv); @@ -351,13 +351,13 @@ /* If TLLI is included or if we received half of the window, we send * an ack/nack */ - maybe_schedule_uplink_acknack(rlc); + maybe_schedule_uplink_acknack(rlc, rdbi->cv == 0); return 0; } void gprs_rlcmac_ul_tbf::maybe_schedule_uplink_acknack( - const gprs_rlc_data_info *rlc) + const gprs_rlc_data_info *rlc, bool countdown_finished) { bool require_ack = false; bool have_ti = rlc->block_info[0].ti || @@ -373,10 +373,14 @@ LOGPTBFUL(this, LOGL_DEBUG, "Scheduling Ack/Nack, because TLLI is included.\n"); } - if (state_is(GPRS_RLCMAC_FINISHED)) { + if (countdown_finished) { require_ack = true; - LOGPTBFUL(this, LOGL_DEBUG, - "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); + if (state_is(GPRS_RLCMAC_FLOW)) + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling Ack/Nack, because some data is missing and last block has CV==0.\n"); + else if (state_is(GPRS_RLCMAC_FINISHED)) + LOGPTBFUL(this, LOGL_DEBUG, + "Scheduling final Ack/Nack, because all data was received and last block has CV==0.\n"); } if ((m_rx_counter % SEND_ACK_AFTER_FRAMES) == 0) { require_ack = true; diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 85da4f6..c6df0cd 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -21,6 +21,8 @@ #ifdef __cplusplus +#include + #include "tbf.h" /* * TBF instance @@ -97,7 +99,7 @@ struct rate_ctr_group *m_ul_egprs_ctrs; protected: - void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc); + void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc, bool countdown_finished); /* Please note that all variables below will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 36f9ced..3f2925a 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -1459,6 +1459,7 @@ pdch = &the_bts->bts_data()->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); + ul_tbf->create_ul_ack(*fn, ts_no); request_dl_rlc_block(ul_tbf, fn); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a1530c1..57787c5 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -7193,6 +7193,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1 Gerrit-Change-Number: 18323 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:43:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 09:43:47 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:43:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:47:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:47:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, daniel, laforge, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 to look at the new patch set (#2). Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e --- M deps/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/52/18352/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 09:51:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 09:51:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 ) Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Patch Set 2: I signed the eclipse terms and now the pull request is pasing: https://github.com/eclipse/titan.TestPorts.TELNETasp/pull/1 The branch from which the PR is created is located in our osmocom fork: https://github.com/osmocom/titan.TestPorts.TELNETasp/tree/pespin/fix-sign That's where we pull from in the Makefile of this commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 09:51:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 11:02:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 11:02:39 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... Patch Set 2: > Patch Set 2: -Code-Review > > I'm not sure we should be really comparing that, since library changes will make the test fail. Good point. So then we should rather generate the reference in the build process directly and remove the file from version control. right? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 11:02:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 12:30:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 12:30:04 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... Patch Set 2: That could make sense indeed. You mean during generation of the pdf file, calling osmo-bsc -X right? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 12:30:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:33:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:33:51 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... vty reference: allow reference XML generated at build time Add variable BUILT_REFERENCE_XML for callers to indicate dependencies for the VTY reference. Add script find_existing_path.sh to pick a given path from either builddir or srcdir, whichever exists. In Makefile.vty-reference.inc, use find_existing_path.sh to make the VTY reference build rules work no matter whether the reference.xml is built in builddir or committed in srcdir. Change-Id: I613d692328050a036d05b49a436ab495fc2087ba --- M build/Makefile.vty-reference.inc A build/find_existing_path.sh 2 files changed, 43 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/62/18362/1 diff --git a/build/Makefile.vty-reference.inc b/build/Makefile.vty-reference.inc index b2daf8a..50afa31 100644 --- a/build/Makefile.vty-reference.inc +++ b/build/Makefile.vty-reference.inc @@ -6,6 +6,12 @@ # Manual additions to specific VTY nodes, any number of files. # - vty/*_reference.xml # Export from VTY 'show online-help', exactly one file. +# The vty/*_reference.xml file may also live in the $(builddir)/vty/, +# in which case you need to add it to BUILT_REFERENCE_XML, and provide a build rule, like: +# BUILT_REFERENCE_XML = $(builddir)/vty/osmoyada_reference.xml +# $(builddir)/vty/osmoyada_reference.xml: +# mkdir -p $(builddir)/vty +# $(top_builddir)/src/osmoyada --vty-ref-xml > $@ # # In your Makefile.am, # - define 'OSMO_GSM_MANUALS_DIR' to point at the osmo-gsm-manuals shared files @@ -34,6 +40,12 @@ # your new VTY_REFERENCE entry ("vty-osmobar" in this example). # - Add osmobar-vty-reference.xml and vty-osmobar to EXTRA_DIST in Makefile.am. # - Full example: osmo-sgsn.git I24c3ca2fc2446673edceefb797c7d800c3a1a5d2 +# - The vty-osmobar/*_reference.xml may also live in the builddir: add it to +# BUILT_REFERENCE_XML and provide a build rule, like: +# BUILT_REFERENCE_XML += $(builddir)/vty-osmobar/osmobar_reference.xml +# $(builddir)/vty-osmobar/osmobar_reference.xml: $(top_builddir)/src/osmobar +# mkdir -p $(builddir)/vty-osmobar +# $(top_builddir)/src/osmobar --vty-ref-xml > $@ DOCBOOKS = $(VTY_REFERENCE) @@ -51,15 +63,17 @@ MERGE_DOC = $(shell realpath $(OSMO_GSM_MANUALS_DIR)/merge_doc.xsl) CLEAN_FILES += generated +CLEAN_FILES += $(BUILT_REFERENCE_XML) # First VTY reference generated/docbook_vty.xml: \ $(srcdir)/vty/*xml \ + $(BUILT_REFERENCE_XML) \ $(OSMO_GSM_MANUALS_DIR)/common/vty_additions.xml \ $(OSMO_GSM_MANUALS_DIR)/common/chapters/vty.xml \ $(OSMO_GSM_MANUALS_DIR)/vty_reference.xsl $(OSMO_GSM_MANUALS_DIR)/build/vty_reference_combine.sh "$(MERGE_DOC)" \ - $(srcdir)/vty/*reference.xml \ + $$($(OSMO_GSM_MANUALS_DIR)/build/find_existing_path.sh vty/*reference.xml $(builddir) $(srcdir)) \ $(OSMO_GSM_MANUALS_DIR)/common/vty_additions.xml \ $(srcdir)/vty/*additions*.xml xsltproc $(OSMO_GSM_MANUALS_DIR)/vty_reference.xsl generated/combined.xml \ @@ -68,13 +82,16 @@ # Additional VTY references generated/docbook_%-vty-reference.xml: \ $(srcdir)/vty-%/*xml \ + $(BUILT_REFERENCE_XML) \ $(OSMO_GSM_MANUALS_DIR)/common/vty_additions.xml \ $(OSMO_GSM_MANUALS_DIR)/common/chapters/vty.xml \ $(OSMO_GSM_MANUALS_DIR)/vty_reference.xsl - export VTYDIR="$(srcdir)/vty-$(patsubst generated/docbook_%-vty-reference.xml,%,$@)" && \ + export VTYDIR_NAME="vty-$(patsubst generated/docbook_%-vty-reference.xml,%,$@)" && \ + export VTYDIR_SRC="$(srcdir)/$$VTYDIR_NAME" && \ + export VTYDIR_BUILD="$(builddir)/$$VTYDIR_NAME" && \ export VTYGEN="$@_combine" && \ $(OSMO_GSM_MANUALS_DIR)/build/vty_reference_combine.sh "$(MERGE_DOC)" \ - $$VTYDIR/*reference.xml \ + $$($(OSMO_GSM_MANUALS_DIR)/build/find_existing_path.sh *reference.xml $$VTYDIR_BUILD $$VTYDIR_SRC) \ $(OSMO_GSM_MANUALS_DIR)/common/vty_additions.xml \ - $$VTYDIR/*additions*.xml && \ + $$VTYDIR_SRC/*additions*.xml && \ xsltproc $(OSMO_GSM_MANUALS_DIR)/vty_reference.xsl $$VTYGEN/combined.xml > "$@" diff --git a/build/find_existing_path.sh b/build/find_existing_path.sh new file mode 100755 index 0000000..b8c726e --- /dev/null +++ b/build/find_existing_path.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# Pick a path, depending on where such path exists: +# find_existing_path.sh want/*.file ./dir1 ../../dir2 /tmp/dir3 +# prints the first existing match: +# ../../dir2/want/foo.file +# or just the first argument if none is found: +# want/*.file +path="$1" + +shift 1 +for dir in $@ ; do + for f in "$dir"/$path ; do + if [ ! -r "$f" ]; then + continue + fi + echo "$f" + exit 0 + done +done + +echo "$path" +exit 1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:43:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:43:27 +0000 Subject: Change in osmo-bsc[master]: NOT FOR MERGE -- test whether build job fails as expected In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18359 ) Change subject: NOT FOR MERGE -- test whether build job fails as expected ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I24dc424b2b1358599b4740ddf0fdcdbc2ab759d8 Gerrit-Change-Number: 18359 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:43:47 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:43:47 +0000 Subject: Change in osmo-bsc[master]: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18358 ) Change subject: jenkins.sh: use osmo-bsc -X to ensure correct VTY reference ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If9dcacdcd09759143dda2f60123672612ad42fe2 Gerrit-Change-Number: 18358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:45:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:45:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 ) Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Patch Set 2: Code-Review+1 (I have no idea but it looks like it makes sense) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 13:45:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:54:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:54:44 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 2: Code-Review+1 (3 comments) just a minor cosmetic remark... https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/coding_scheme.h File src/coding_scheme.h: https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/coding_scheme.h at 57 PS2, Line 57: bool mcs_is_valid(enum CodingScheme cs); so, here writing 'enum CodingScheme' makes it clear that this is just an enum, but ..... https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/decoding.h File src/decoding.h: https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/decoding.h at 43 PS2, Line 43: CodingScheme cs, const uint8_t *data, RlcData *chunks, .... here, you write just CodingScheme, which looks like a complex datatype (class). I think it would be nicer to see 'enum CodingScheme' written out everywhere, because ..... https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/encoding.cpp File src/encoding.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18351/2/src/encoding.cpp at 1114 PS2, Line 1114: switch(mcs_header_type(cs)) { .... here it looks like mcs_header_type() should have been a member function of the CodingScheme class. If it said 'enum' above, that misunderstanding would not come up. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 13:54:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 13:58:33 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 13:58:33 +0000 Subject: Change in libosmocore[master]: gsmtap_makemsg_ex: NULL for unknown chan_type In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18361 ) Change subject: gsmtap_makemsg_ex: NULL for unknown chan_type ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18361/1/src/gsmtap_util.c File src/gsmtap_util.c: https://gerrit.osmocom.org/c/libosmocore/+/18361/1/src/gsmtap_util.c at 186 PS1, Line 186: if (chan_type == GSMTAP_CHANNEL_UNKNOWN) > Why not generating a message for that channel type? I wanna see that in pcap files and see something [?] I think returning NULL indicates to the caller that something is wrong, and it should be handled there. I just hope that all callers check for the return value. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Gerrit-Change-Number: 18361 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 13:58:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:03:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 14:03:20 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 2: enum is used in some files while in others is not because in C; it's mandatory to write the "enum" keyword, while in C++ (other files), it's not :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:03:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:05:01 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:05:01 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18267/3/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/18267/3/src/osmo-bts-virtual/scheduler_virtbts.c at 83 PS3, Line 83: rsl_chantype); it would be good to indicate the source and trajectory of the message. As a reader of the log I would like to not have to guess the context, something like: Tx GSMTAP for RSL channel type 0x23: cannot send, this channel type is unknown in GSMTAP Why is this not LOGL_ERROR? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 19 May 2020 14:05:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:07:26 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 19 May 2020 14:07:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:10:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:10:49 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 12: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18192/12/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18192/12/include/osmocom/bsc/gsm_data.h at 1487 PS12, Line 1487: [BTS_CTR_TS_BORKEN_EV_TEARDOWN] = {"ts_borken:event:teardown", "TS in a BORKEN state is shutting down (BTS disconnected?)"}, I'd say drop the question mark :) BTS disconnect is pretty much the only scenario where a TS is torn down. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 12 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:10:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:11:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:11:37 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:11:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:14:31 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:14:31 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN TS. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN TS. ...................................................................... Patch Set 5: Code-Review+1 (BTW, I notice some of your short comments tend to span two lines; we have adopted a policy of 120 width where they could easily fit on a single line. Not important, just noticing.) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:14:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:15:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 14:15:10 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: Hello neels, osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 to look at the new patch set (#3). Change subject: Get rid of class GprsCodingScheme ...................................................................... Get rid of class GprsCodingScheme We have same kind of object splitted into two layers, in coding_scheme and gprs_coding_scheme. Let's merge them together and get rid of the class, which is not really useful because it's only a set of functions operating on one enum value. This change also fixes gcc 10.1.0 error about memseting a complex type in rlc.h init(). Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df --- M src/Makefile.am M src/bts.h M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp D src/gprs_coding_scheme.cpp D src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_main.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/pdch.h M src/rlc.cpp M src/rlc.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp M tests/tbf/TbfTest.cpp 26 files changed, 541 insertions(+), 686 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/51/18351/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:17:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:17:29 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 11: Code-Review+1 (1 comment) nice https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 13 PS10, Line 13: Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec > This was suggested by Harald but ok, I've changed it interesting, all I ever see is "Depends:" ... maybe I've missed some new policy? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:17:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: ipse Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:18:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:18:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 ) Change subject: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a Gerrit-Change-Number: 18360 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 14:18:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:25:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 14:25:27 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Patch Set 7: Code-Review-1 (1 comment) The aim of this patch is to fix a bug, or to make invocation more convenient? After this patch, is it still possible to program an IMSI that mismatches the MCC,MNC? (I'm not sure that I understand the difference between batch and non-batch...) https://gerrit.osmocom.org/c/pysim/+/18071/7/pySim-prog.py File pySim-prog.py: https://gerrit.osmocom.org/c/pysim/+/18071/7/pySim-prog.py at 275 PS7, Line 275: if not mcc.isdigit() or not mnc.isdigit(): There is mcc and mnc validation up here, but your patch changes them again below. The extraction should happen above this line instead. Then you also don't need to code-dup the lpad() calls, but simply let the mcc and mnc be left-padded as normally. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 19 May 2020 14:25:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:30:43 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 May 2020 14:30:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 ) Change subject: BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() ...................................................................... BTS: move ASP_IPA_EVENT_UP handling to f_init_rsl() Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a --- M bts/BTS_Tests.ttcn 1 file changed, 10 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index d241496..012df47 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -178,6 +178,8 @@ } function f_init_rsl(charstring id) runs on test_CT { + timer T := mp_ipa_up_timeout; + vc_IPA := IPA_Emulation_CT.create(id & "-RSL-IPA"); vc_RSL := RSL_Emulation_CT.create(id & "-RSL"); @@ -187,6 +189,14 @@ vc_IPA.start(IPA_Emulation.main_server(mp_rsl_ip, mp_rsl_port)); vc_RSL.start(RSL_Emulation.main(false)); + + T.start; + alt { + [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); + } + } } type record ConnHdlrPars { @@ -375,7 +385,6 @@ /* global init function */ function f_init() runs on test_CT { var charstring id := testcasename(); - timer T := mp_ipa_up_timeout; g_AllChannels := { /* TS 1..4: TCH/F */ valueof(ts_RslChanNr_Bm(1)), valueof(ts_RslChanNr_Bm(2)), @@ -415,13 +424,6 @@ }; } f_init_rsl(id); - T.start; - alt { - [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); - [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); - } - } f_sleep(0.5); /* workaround for OS#3000 */ f_init_vty(id); f_ipa_ctrl_start(mp_ctrl_ip, mp_ctrl_port); @@ -4950,17 +4952,8 @@ /* Make sure that GPRS Indicator is absent when the PCU is not connected */ private function f_TC_pcu_socket_noconnect(RrMessageType si_type) runs on test_CT { - timer T := 5.0; - /* don't call f_init() as this would connect PCU socket */ f_init_rsl(testcasename()); - T.start; - alt { - [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); - [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); - } - } /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2479ce67426810d2789dda885bdbbe82b5d5282a Gerrit-Change-Number: 18360 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 14:40:18 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Tue, 19 May 2020 14:40:18 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Patch Set 7: > Patch Set 7: Code-Review-1 > > (1 comment) > > The aim of this patch is to fix a bug, or to make invocation more convenient? > After this patch, is it still possible to program an IMSI that mismatches the MCC,MNC? > > (I'm not sure that I understand the difference between batch and non-batch...) I was trying to address this issue raised (https://osmocom.org/issues/4531 -- even though its rejected). I am not sure whether using --mnc and --mcc in non-IMSI autogen scenarios is still allowed or not. Maybe Harald can comment on this. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 19 May 2020 14:40:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:03:13 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:03:13 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... OBS: add RPM spec files Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set the same version, as in the debian .dsc files. Related: OS#4550 Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/16/18316/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:03:14 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:03:14 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: new file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18364 ) Change subject: scripts/osmocom-obs-link.sh: new file ...................................................................... scripts/osmocom-obs-link.sh: new file Related: OS#4550 Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa --- A scripts/osmocom-obs-link.sh 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/64/18364/1 diff --git a/scripts/osmocom-obs-link.sh b/scripts/osmocom-obs-link.sh new file mode 100755 index 0000000..5f017ff --- /dev/null +++ b/scripts/osmocom-obs-link.sh @@ -0,0 +1,30 @@ +#!/bin/sh -x +# Building packages for CentOS requires some dependencies, that are only available in openSUSE. These packages are +# linked into the Osmocom repository, so they get built for CentOS as well. This script is a reference for all linked +# packages in the repository and can be executed once when creating a new repository (e.g. in home:USER:nightly for +# testing changes before applying them to network:osmocom:nightly). + +PROJ="home:USER" + +# osmo-sip-connector: depends on sofia-sip-ua-glib +osc linkpac openSUSE:Factory sofia-sip "$PROJ" + +# osmo-pcap: depends on libzmq +osc linkpac openSUSE:Factory zeromq "$PROJ" +osc linkpac openSUSE:Factory libunwind "$PROJ" +osc linkpac openSUSE:Factory libsodium "$PROJ" +osc linkpac openSUSE:Factory openpgm "$PROJ" + +# osmo-remsim: depends on libulfius +osc linkpac openSUSE:Factory ulfius "$PROJ" +osc linkpac openSUSE:Factory orcania "$PROJ" +osc linkpac openSUSE:Factory yder "$PROJ" + +# osmo-remsim: depends on libcsv +osc linkpac openSUSE:Factory libcsv "$PROJ" + +# libusrp: depends on fdupes +osc linkpac openSUSE:Factory fdupes "$PROJ" + +# libusrp: depends on sdcc +osc linkpac openSUSE:Factory sdcc "$PROJ" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa Gerrit-Change-Number: 18364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:43 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, roox, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18272 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d --- M .gitignore M configure.ac R contrib/libosmocore.spec.in 3 files changed, 7 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/72/18272/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:43 +0000 Subject: Change in libosmo-abis[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18274 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I3e135e5e7807688366598a24e121550d6292906c --- M .gitignore M configure.ac R contrib/libosmo-abis.spec.in 3 files changed, 5 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/74/18274/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3e135e5e7807688366598a24e121550d6292906c Gerrit-Change-Number: 18274 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:44 +0000 Subject: Change in libosmo-netif[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18276 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 --- M .gitignore M configure.ac R contrib/libosmo-netif.spec.in 3 files changed, 5 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/76/18276/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 Gerrit-Change-Number: 18276 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:44 +0000 Subject: Change in libosmo-sccp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Do not try to build libsscp, libmtp and libxua as shared libraries. The imported spec file patched the source with "0001-build-fixes.patch" (not imported) and packaged resulting so files. However, these libraries are legacy and built statically on purpose, as it's stated on the wiki page: https://osmocom.org/projects/libosmo-sccp/wiki Related: OS#4550 Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 --- M .gitignore M configure.ac R contrib/libosmo-sccp.spec.in 3 files changed, 14 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/78/18278/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 Gerrit-Change-Number: 18278 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:45 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:45 +0000 Subject: Change in libsmpp34[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libsmpp34/+/18280 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 --- M .gitignore M configure.ac R contrib/libsmpp34.spec.in 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/80/18280/2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 Gerrit-Change-Number: 18280 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:46 +0000 Subject: Change in libusrp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libusrp/+/18282 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea --- M .gitignore M configure.ac R contrib/libusrp.spec.in 3 files changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/82/18282/2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea Gerrit-Change-Number: 18282 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:46 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libasn1c/+/18284 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 --- M .gitignore M configure.ac R contrib/libasn1c.spec.in 3 files changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libasn1c refs/changes/84/18284/2 -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:47 +0000 Subject: Change in gapk[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/gapk/+/18286 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 --- M .gitignore M configure.ac R contrib/gapk.spec.in 3 files changed, 3 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/86/18286/2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 Gerrit-Change-Number: 18286 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:47 +0000 Subject: Change in osmo-bts[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18288 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 --- M .gitignore M configure.ac R contrib/osmo-bts.spec.in 3 files changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18288/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 Gerrit-Change-Number: 18288 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:48 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:48 +0000 Subject: Change in osmo-bsc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18290 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f --- M .gitignore M configure.ac R contrib/osmo-bsc.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/90/18290/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f Gerrit-Change-Number: 18290 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:49 +0000 Subject: Change in osmo-ggsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 --- M .gitignore M configure.ac R contrib/osmo-ggsn.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/93/18293/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 Gerrit-Change-Number: 18293 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:49 +0000 Subject: Change in osmo-hlr[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-hlr/+/18295 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa --- M .gitignore M configure.ac R contrib/osmo-hlr.spec.in 3 files changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/95/18295/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa Gerrit-Change-Number: 18295 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:50 +0000 Subject: Change in osmo-iuh[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-iuh/+/18297 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 --- M .gitignore M configure.ac R contrib/osmo-iuh.spec.in 3 files changed, 12 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/97/18297/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 Gerrit-Change-Number: 18297 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:51 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:51 +0000 Subject: Change in osmo-mgw[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18299 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb --- M .gitignore M configure.ac R contrib/osmo-mgw.spec.in 3 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/99/18299/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb Gerrit-Change-Number: 18299 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:51 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:51 +0000 Subject: Change in osmo-msc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/18301 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 --- M .gitignore M configure.ac R contrib/osmo-msc.spec.in 3 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/01/18301/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 Gerrit-Change-Number: 18301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:52 +0000 Subject: Change in osmo-pcap[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcap/+/18303 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 --- M .gitignore M configure.ac R contrib/osmo-pcap.spec.in 3 files changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/03/18303/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 Gerrit-Change-Number: 18303 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:53 +0000 Subject: Change in osmo-pcu[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18305 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 --- M .gitignore M configure.ac R contrib/osmo-pcu.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/05/18305/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 Gerrit-Change-Number: 18305 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:53 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b --- M .gitignore M configure.ac R contrib/osmo-remsim.spec.in 3 files changed, 10 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/18307/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:54 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 --- M .gitignore M configure.ac R contrib/osmo-sgsn.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/09/18309/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:54 +0000 Subject: Change in osmo-sip-connector[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac --- M .gitignore M configure.ac R contrib/osmo-sip-connector.spec.in 3 files changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/11/18311/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac Gerrit-Change-Number: 18311 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:55 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:55 +0000 Subject: Change in osmo-trx[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/18312 to look at the new patch set (#2). Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 --- A contrib/osmo-trx.spec 1 file changed, 189 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/12/18312/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 Gerrit-Change-Number: 18312 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:56 +0000 Subject: Change in simtrace2[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/18314 to look at the new patch set (#2). Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f --- A host/contrib/simtrace2.spec 1 file changed, 103 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/14/18314/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f Gerrit-Change-Number: 18314 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:08:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:08:56 +0000 Subject: Change in simtrace2[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/18315 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 --- M .gitignore M host/configure.ac R host/contrib/simtrace2.spec.in 3 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/15/18315/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 Gerrit-Change-Number: 18315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:09:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 19 May 2020 15:09:18 +0000 Subject: Change in osmo-trx[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18313 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 Gerrit-Change-Number: 18313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 19 May 2020 15:09:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:28:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 15:28:51 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... gsmtap: Set signal level and SNR fields lqlual (containing C/I value) is passed instead of SNR, but let's have that better than nothing. Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pdch.cpp 4 files changed, 21 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/18365/1 diff --git a/src/bts.cpp b/src/bts.cpp index 2cf219a..a75de30 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -434,6 +434,13 @@ uint8_t ts_no, uint8_t channel, uint32_t fn, const uint8_t *data, unsigned int len) { + struct pcu_l1_meas meas; + send_gsmtap_meas(categ, uplink, trx_no, ts_no, channel, fn, data, len, &meas); +} +void BTS::send_gsmtap_meas(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, + uint8_t ts_no, uint8_t channel, uint32_t fn, + const uint8_t *data, unsigned int len, struct pcu_l1_meas *meas) +{ uint16_t arfcn; /* check if category is activated at all */ @@ -444,7 +451,8 @@ if (uplink) arfcn |= GSMTAP_ARFCN_F_UPLINK; - gsmtap_send(m_bts.gsmtap, arfcn, ts_no, channel, 0, fn, 0, 0, data, len); + gsmtap_send(m_bts.gsmtap, arfcn, ts_no, channel, 0, fn, + meas->rssi, meas->link_qual, data, len); } static inline bool tbf_check(gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t trx_no, uint8_t ts) diff --git a/src/bts.h b/src/bts.h index 9986bdc..aae8b43 100644 --- a/src/bts.h +++ b/src/bts.h @@ -316,6 +316,9 @@ void send_gsmtap(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, uint8_t ts_no, uint8_t channel, uint32_t fn, const uint8_t *data, unsigned int len); + void send_gsmtap_meas(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, + uint8_t ts_no, uint8_t channel, uint32_t fn, + const uint8_t *data, unsigned int len, struct pcu_l1_meas *meas); /* * Below for C interface for the VTY diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 30d22bd..40e933e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -347,7 +347,7 @@ if (rc < 0 && (bts->gsmtap_categ_mask & (1 <gsmtap, data_ind->arfcn | GSMTAP_ARFCN_F_UPLINK, data_ind->ts_nr, - GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); + GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, meas.rssi, meas.link_qual, data_ind->data, data_ind->len); } return rc; diff --git a/src/pdch.cpp b/src/pdch.cpp index f7cdd89..b97f4c7 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -704,9 +704,9 @@ rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); else - bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " @@ -789,8 +789,9 @@ * control blocks (see 44.060, section 10.3, 1st par.) */ if (mcs_is_edge(cs)) { - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DATA_EGPRS, true, + trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len, meas); if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", @@ -798,8 +799,9 @@ return 0; } } else { - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_GPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DATA_GPRS, true, + trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len, meas); } LOGP(DRLCMACUL, LOGL_DEBUG, " UL data: %s\n", osmo_hexdump(data, len)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 15:29:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 15:29:57 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... gsmtap: Set signal level and SNR fields lqlual (containing C/I value) is passed instead of SNR, but let's have that better than nothing. Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pdch.cpp 4 files changed, 22 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/18365/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 16:16:22 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 16:16:22 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 to look at the new patch set (#2). Change subject: vty reference: allow reference XML generated at build time ...................................................................... vty reference: allow reference XML generated at build time Add variable BUILT_REFERENCE_XML for callers to indicate dependencies for the VTY reference. Add script find_existing_path.sh to pick a given path from either builddir or srcdir, whichever exists. In Makefile.vty-reference.inc, use find_existing_path.sh to make the VTY reference build rules work no matter whether the reference.xml is built in builddir or committed in srcdir. Change-Id: I613d692328050a036d05b49a436ab495fc2087ba --- M build/Makefile.vty-reference.inc A build/find_existing_path.sh 2 files changed, 43 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/62/18362/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 16:20:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 16:20:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected results References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 ) Change subject: update expected results ...................................................................... update expected results Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856 --- M bsc/expected-results.xml M bts/expected-results.xml M hlr/expected-results.xml M mgw/expected-results.xml M msc/expected-results.xml M pcu/expected-results.xml M sgsn/expected-results.xml M sip/expected-results.xml 8 files changed, 354 insertions(+), 106 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/18366/1 diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index e266660..1d4f5d7 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -1,9 +1,8 @@ - + - @@ -38,6 +37,23 @@ + + + + + + + + + + + + + + + + + @@ -94,6 +110,13 @@ + + + + + + + @@ -106,23 +129,6 @@ - - - - - - - - - - - - - - - - - @@ -137,4 +143,81 @@ + + Could not connect to CBSP port, check your configuration + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_bsc_server testcase + + + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_bss testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_bts_cgi testcase + + + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lac_ci testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_ci testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lai testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lac testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_then_replace testcase + + + + + + + Dynamic test case error: Performing lengthof() operation on a template of type @CBSP_Types.CBSP_IEs with no exact length. + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_then_reset testcase + + + + + Received unexpected OSMO_ETWS_CMD + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_emerg_write_bts_cgi_cchan testcase + + + + Received unexpected OSMO_ETWS_CMD + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_emerg_write_bts_cgi_cchan_disable testcase + + diff --git a/bts/expected-results.xml b/bts/expected-results.xml index 7d89da3..a03e16b 100644 --- a/bts/expected-results.xml +++ b/bts/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -9,9 +9,36 @@ + + + "BTS_Tests.ttcn:MASKED : Unexpected RSL message received" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_sacch_chan_act_ho_async testcase + + + + "BTS_Tests.ttcn:MASKED : Unexpected RSL message received" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_sacch_chan_act_ho_sync testcase + + + + + Unexpected RACH LOAD IND: { streamId := IPAC_PROTO_RSL_TRX0 (0), rsl := { msg_disc := { msg_group := RSL_MDISC_CCHAN (6), transparent := false }, msg_type := RSL_MT_CCCH_LOAD_IND (18), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_RACH (17) }, tn := 0 } } }, { iei := RSL_IE_RACH_LOAD (18), body := { rach_load := { len := 6, slot_count := 0, busy_count := 0, access_count := 0 } } } } } } + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rach_load_idle_thresh0 testcase + + + + + Unexpected RACH LOAD IND: { streamId := IPAC_PROTO_RSL_TRX0 (0), rsl := { msg_disc := { msg_group := RSL_MDISC_CCHAN (6), transparent := false }, msg_type := RSL_MT_CCCH_LOAD_IND (18), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_RACH (17) }, tn := 0 } } }, { iei := RSL_IE_RACH_LOAD (18), body := { rach_load := { len := 6, slot_count := 0, busy_count := 0, access_count := 0 } } } } } } + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rach_load_count testcase + + "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { lm := { tag := '0001'B, sub_chan := 0 } }, tn := 5 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 1 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" @@ -19,25 +46,38 @@ BTS_Tests.ttcn:MASKED TC_meas_res_sign_tchh testcase - - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { sdcch4 := { tag := '001'B, sub_chan := 0 } }, tn := 0 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 14 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 7, reserved1 := '00'B, rxlev_s_u := 7, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" - BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_sdcch4 testcase - - - - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { sdcch8 := { tag := '01'B, sub_chan := 0 } }, tn := 6 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 14 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 7, reserved1 := '00'B, rxlev_s_u := 7, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" - BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_sdcch8 testcase - - + + - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { lm := { tag := '0001'B, sub_chan := 0 } }, tn := 5 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 1 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 11, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := { toa256_mean := 512, toa256_min := 512, toa256_max := 512, toa256_std_dev := 0 } } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" + + + + "BTS_Tests.ttcn:MASKED : Received wrong BS power level in MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_Bm_ACCH (1) }, tn := 1 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 0 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 0, rxq_s_u := 0, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 18, payload := '0615363601C0000000000000000000000000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_tchh_toa256 testcase + BTS_Tests.ttcn:MASKED TC_rsl_bs_pwr_static_ass testcase + + + + "BTS_Tests.ttcn:MASKED : Received wrong BS power level in MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_Bm_ACCH (1) }, tn := 1 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 0 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 0, rxq_s_u := 0, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 18, payload := '0615363601C0000000000000000000000000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rsl_bs_pwr_static_power_control testcase + + + + + + + + + + "BTS_Tests.ttcn:MASKED : BTS shouldn't be able to decrypt after key change" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rsl_modify_encr testcase + + @@ -66,28 +106,56 @@ - - - - - no verdict - - - + + + + + + + Could not connect IPA socket from "" port 0 to "127.0.0.1" port 4249; check your configuration + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_oml_alert testcase + + + + + + + + SYSTEM_INFORMATION_TYPE_4 (28) indicates GPRS even before PCU socket connected + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_noconnect_nosi4gprs testcase + + + + + + + SYSTEM_INFORMATION_TYPE_4 (28) indicates GPRS after PCU socket disconnected + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_disconnect_nosi4gprs testcase + + + + Expected cell_id '23' and got '0'. This either means, that the BTS is sending the wrong cell_id, or that the BTS sent it too early (OS#4179) + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_verify_info_ind testcase + + - + + + - - @@ -106,6 +174,9 @@ + + + @@ -116,4 +187,65 @@ + + + + + + + + + + + + + + + + + + Initial SABM/UA must contain L3 payload but BTS accepts without + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_sabm_ua_dcch_sapi0_nopayload testcase + + + + + + + + Incorrect number of SABM re-transmissions of observed: 7 + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_sabm_retransmit_bts testcase + + + + + + + + + Missing second REJ + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_ns_seq_error testcase + + + + Missing DISC from BTS + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_nr_seq_error testcase + + + + + + + "BTS_Tests.ttcn:MASKED : Tguard timeout" + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_t200_n200 testcase + + + + + diff --git a/hlr/expected-results.xml b/hlr/expected-results.xml index b7d2773..7f1c277 100644 --- a/hlr/expected-results.xml +++ b/hlr/expected-results.xml @@ -1,10 +1,14 @@ - + + + + + @@ -13,12 +17,15 @@ + + + diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index 8975f78..0a1bdac 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -1,8 +1,6 @@ - - - no verdict - + + @@ -50,4 +48,5 @@ + diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 2d24d43..93d24c0 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -9,6 +9,7 @@ Timeout waiting for ClearCommand/Release + MSC_Tests.ttcn:MASKED MSC_Tests control part MSC_Tests.ttcn:MASKED TC_lu_imsi_timeout_tmsi_realloc testcase @@ -51,9 +52,12 @@ + + + @@ -122,22 +126,15 @@ + + - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_reject testcase - - - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_timeout_gsup testcase - - + + Timeout waiting for ClearCommand/Release + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_timeout_tmsi_realloc testcase @@ -147,12 +144,8 @@ MSC_Tests_Iu.ttcn:MASKED TC_iu_cmserv_imsi_unknown testcase - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mo_call testcase - - + + @@ -162,33 +155,27 @@ - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_emerg_call_imsi testcase - - + - - Timeout waiting for channel release - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_mo_crcx_ran_reject testcase - - + - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_gsup_cancel testcase - - + + + + + + UTRAN: Expected a second Paging + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part + MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mt_sms_paging_repeated testcase + + @@ -198,18 +185,8 @@ - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mo_ussd_during_mt_call testcase - - - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mt_ussd_during_mt_call testcase - - + + diff --git a/pcu/expected-results.xml b/pcu/expected-results.xml index e9610bd..ddee7ec 100644 --- a/pcu/expected-results.xml +++ b/pcu/expected-results.xml @@ -1,7 +1,47 @@ - - - - - + + + + + + Timing Advance value doesn't match + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_idle_dl_tbf_ass testcase + + + + Failed to match Timing Advance Index for #0 + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_ptcch_ul_multi_tbf testcase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 8381064..39d5529 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -61,6 +61,15 @@ + + + + + + + + + diff --git a/sip/expected-results.xml b/sip/expected-results.xml index c704f85..2ac1ec5 100644 --- a/sip/expected-results.xml +++ b/sip/expected-results.xml @@ -1,7 +1,8 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856 Gerrit-Change-Number: 18366 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 16:20:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 16:20:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare-results.py: use python3, python is no longer available in our... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 ) Change subject: compare-results.py: use python3, python is no longer available in our build images ...................................................................... compare-results.py: use python3, python is no longer available in our build images Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb --- M compare-results.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/18367/1 diff --git a/compare-results.py b/compare-results.py index d1adb20..556a063 100755 --- a/compare-results.py +++ b/compare-results.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright 2018 sysmocom - s.f.m.c. GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb Gerrit-Change-Number: 18367 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 16:20:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 16:20:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare_results.py: use ansi colors References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 ) Change subject: compare_results.py: use ansi colors ...................................................................... compare_results.py: use ansi colors Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473 --- M compare-results.py 1 file changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/18368/1 diff --git a/compare-results.py b/compare-results.py index 556a063..ff5004e 100755 --- a/compare-results.py +++ b/compare-results.py @@ -22,13 +22,22 @@ re_testcase_end = re.compile(r'''(|]*/>)''') re_failure = re.compile(r'''(FAIL') +RESULT_SKIP = col(BLUE, 'skip') +RESULT_XFAIL = col(YELLOW, 'xfail') +RESULT_FIXED = col(GREEN, 'xfail->PASS') +RESULT_NEW_PASS = col(GREEN, 'NEW: PASS') +RESULT_NEW_FAIL = col(RED, 'NEW: FAIL') RESULTS = ( RESULT_FAIL, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473 Gerrit-Change-Number: 18368 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 17:03:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 17:03:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 ) Change subject: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment ...................................................................... library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf --- M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn 2 files changed, 72 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/18369/1 diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1f1fb0a..ee02a8a 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -122,15 +122,59 @@ TenTlli tlli }; + type record PacketDlAssignmentRel1999SubStruct { + EgprsWindowSize window_size, + BIT2 link_quality_meas_mode, + BIT1 bep_period2_present, + BIT4 bep_period2 optional + } with { + variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)" + }; /* 11.2.7 Packet Downlink Assignment */ type record PacketDlAssignment { PageMode page_mode, BIT1 pres1, PersistenceLevels persistence_levels optional, - GlobalTfiOrTlli tfi_or_tlli - /* TODO */ + GlobalTfiOrTlli tfi_or_tlli, + BIT1 egprs2('0'B), /* TODO: implement union with egprs2 */ + BIT2 mac_mode, + BIT2 rlc_mode, + BIT1 control_ack, + BIT8 timeslot_alloc, + PacketTimingAdvance pkt_ta, + BIT1 p0_present, + uint4_t p0 optional, + BIT1 reserved('0'B) optional, + BIT1 pr_mode optional, + BIT1 freq_par_present, + FrequencyParameters freq_par optional, + BIT1 dl_tfi_ass_present, + uint5_t dl_tfi_assignment optional, + BIT1 pwr_ctrl_present, + PowerControlParameters pwr_ctrl optional, + BIT1 tbf_starting_time_present, + StartingFnDesc tbf_starting_time optional, + BIT1 release1999('1'B), + BIT1 sub_present, + PacketDlAssignmentRel1999SubStruct sub optional, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 compact_reduced_ma_present, + COMPACTreducedMA compact_reduced_ma optional + /* TODO: Additions for REL-5 */ } with { variant (persistence_levels) "PRESENCE(pres1 = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (reserved) "PRESENCE(p0_present = '1'B)" + variant (pr_mode) "PRESENCE(p0_present = '1'B)" + variant (freq_par) "PRESENCE(freq_par_present = '1'B)" + variant (dl_tfi_assignment) "PRESENCE(dl_tfi_ass_present = '1'B)" + variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" + variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)" + variant (sub) "PRESENCE(sub_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (compact_reduced_ma) "PRESENCE(compact_reduced_ma_present = '1'B)" }; /* 11.2.29 Packet Uplink Assignment */ diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 0ffa840..e2abd84 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -444,7 +444,32 @@ page_mode := ?, pres1 := ?, persistence_levels := *, - tfi_or_tlli := ? + tfi_or_tlli := ?, + egprs2 := '0'B, + mac_mode := ?, + rlc_mode := ?, + control_ack := ?, + timeslot_alloc := ?, + pkt_ta := ?, + p0_present := ?, + p0 := *, + reserved := *, + pr_mode := *, + freq_par_present := ?, + freq_par := *, + dl_tfi_ass_present := ?, + dl_tfi_assignment := *, + pwr_ctrl_present := ?, + pwr_ctrl := *, + tbf_starting_time_present := ?, + tbf_starting_time := *, + release1999 := '1'B, + sub_present := ?, + sub := *, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + compact_reduced_ma_present := ?, + compact_reduced_ma := * } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf Gerrit-Change-Number: 18369 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 18:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 18:15:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions except for TC_egprs_pkt_chan_req* family, where new ifnrastructure is actually fixing a bug of the old infrastructure and TTCN3 code (new and old) is yet not prepared for that, making the test fail. It will be fixed in next commit. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 629 insertions(+), 644 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index cbb6cda..8d47d44 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -44,16 +44,76 @@ import from Native_Functions all; import from SGSN_Components all; +type record DlTbf { + GsmRrMessage rr_imm_ass, + PacketDlAssign ass, + PacketDlAssignment rlcmac_ass, + uint5_t tfi, + AckNackDescription acknack_desc +}; + +type record UlTbf { + GsmRrMessage rr_imm_ass, + PacketUlAssign ass, + PacketUlAssignment rlcmac_ass, + uint5_t tfi, + uint14_t bsn, + CodingScheme tx_cs_mcs +}; + +type record GprsMS { + hexstring imsi, + GprsTlli tlli, + uint16_t ra, + uint8_t ra_is_11bit, + PCUIF_BurstType burst_type, + TimingAdvance ta, + int16_t lqual_cb, + UlTbf ul_tbf optional, + DlTbf dl_tbf optional +}; +type record of GprsMS GprsMSArray; + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ +const BIT8 chan_req_def := '01111000'B; + +template (value) GprsMS t_GprsMS_def := { + imsi := f_gen_imsi(42), + tlli := '00000001'O, + ra := bit2int(chan_req_def), + ra_is_11bit := 0, + burst_type := BURST_TYPE_0, + ta := 0, + lqual_cb := 0, + ul_tbf := omit, + dl_tbf := omit +}; + type component MS_BTS_IFACE_CT { /* Virtual BTS component */ var RAW_PCU_BTS_CT vc_BTS; /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; + /* Support only 1 ms for now */ + var GprsMS g_ms[1]; + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ var uint4_t g_bs_cv_max := 4; } +function f_init_gprs_ms(template (value) GprsMS ms_params := t_GprsMS_def) runs on MS_BTS_IFACE_CT +{ + g_ms[0] := valueof(ms_params); +} + + function f_shutdown(charstring file, integer line, boolean final := false) runs on MS_BTS_IFACE_CT { @@ -74,10 +134,274 @@ mtc.stop; } -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) +runs on MS_BTS_IFACE_CT return UlTbf { + var UlTbf ul_tbf; + + ul_tbf.rr_imm_ass := rr_imm_ass; + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf.ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf.ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + if (match(ul_tbf.ass, tr_PacketUlDynAssign)) { + ul_tbf.tfi := ul_tbf.ass.dynamic.tfi_assignment; + } else if (match(ul_tbf.ass, tr_PacketUlSglAssign)) { + /* Nothing to do here yet */ + } + ul_tbf.bsn := 0; + return ul_tbf; +} + +/* TODO: get stuff from f_rx_rlcmac_dl_block_exp_pkt_ul_ass */ +function f_ultbf_new_from_rlcmac_ass(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return UlTbf { + var UlTbf ul_tbf; + + ul_tbf.tx_cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); + + ul_tbf.rlcmac_ass := dl_block.ctrl.payload.u.ul_assignment; + ul_tbf.bsn := 0; + ul_tbf.tx_cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); + ul_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); + /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_ul_ass */ + + /* TODO: support single block allocation */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { + ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + } + return ul_tbf; +} + +function f_dltbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass, template PacketDlAssign dl_ass := tr_PacketDlAssign(?)) +runs on MS_BTS_IFACE_CT return DlTbf { + var DlTbf dl_tbf; + + dl_tbf.rr_imm_ass := rr_imm_ass; + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := ?))) { + dl_tbf.ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf.ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: match TLLI */ + if (dl_tbf.ass.group1_present == '1'B) { + dl_tbf.tfi := dl_tbf.ass.group1.tfi_assignment; + } else { + setverdict(fail, "Immediate Assignment contains no DL TFI"); + f_shutdown(__BFILE__, __LINE__); + } + dl_tbf.acknack_desc := valueof(t_AckNackDescription_init); + return dl_tbf; +} + +/* TODO: get stuff from f_rx_rlcmac_dl_block_exp_pkt_ass */ +function f_dltbf_new_from_rlcmac_ass(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return DlTbf { + var DlTbf dl_tbf; + + dl_tbf.rlcmac_ass := dl_block.ctrl.payload.u.dl_assignment; + dl_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); + /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_dl_ass */ + dl_tbf.acknack_desc := valueof(t_AckNackDescription_init); + return dl_tbf; +} + +function f_ms_use_ra(inout GprsMS ms, uint16_t ra, uint8_t ra_is_11bit := 0) +runs on MS_BTS_IFACE_CT { + ms.ra_is_11bit := ra_is_11bit; + if (ra_is_11bit != 0) { + ms.burst_type := BURST_TYPE_1; + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + ms.ra := ra; + } else { + ms.burst_type := BURST_TYPE_0; + ms.ra := ra; + } +} + +function f_ms_set_lqual(inout GprsMS ms, uint16_t lqual_cb := 0) +runs on MS_BTS_IFACE_CT { + ms.lqual_cb := lqual_cb; +} + +function f_ms_set_ta(inout GprsMS ms, TimingAdvance ta := 0) +runs on MS_BTS_IFACE_CT { + ms.ta := ta; +} + +function f_ms_rx_imm_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) +runs on MS_BTS_IFACE_CT return GsmRrMessage { + var PCUIF_Message pcu_msg; + var GsmRrMessage rr_imm_ass; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + f_pcuif_tx_data_cnf(pcu_msg); + setverdict(pass); + return rr_imm_ass; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + } + return rr_imm_ass; /* make compiler happy */ +} + +function f_ms_rx_imm_ass_rlcmac(inout GprsMS ms, out uint32_t poll_fn, template RlcmacDlBlock t_imm_ass := tr_RLCMAC_DL_PACKET_ASS) +runs on MS_BTS_IFACE_CT return RlcmacDlBlock { + var RlcmacDlBlock dl_block; + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, t_imm_ass)) { + setverdict(fail, "Failed to match Packet Assignment:", t_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS)) { + ms.ul_tbf := f_ultbf_new_from_rlcmac_ass(dl_block); + if (ms.ul_tbf.rlcmac_ass.identity.tlli.tlli != ms.tlli) { + setverdict(fail, "Wrong TLLI ", ms.ul_tbf.rlcmac_ass.identity.tlli, " received vs exp ", ms.tlli); + f_shutdown(__BFILE__, __LINE__); + } + } else if (match(dl_block, tr_RLCMAC_DL_PACKET_ASS)) { + ms.dl_tbf := f_dltbf_new_from_rlcmac_ass(dl_block); + /* TODO: match tlli from ms.dl_tbf.ass_rlcmac with ms.tlli), or error */ + } else { + setverdict(fail, "Should not happen:", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + return dl_block; +} + +function f_ms_establish_ul_tbf(inout GprsMS ms, uint32_t fn := 1337) +runs on MS_BTS_IFACE_CT { + var GsmRrMessage rr_imm_ass; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ms.ra, ", TA=", ms.ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, + ra := ms.ra, is_11bit := ms.ra_is_11bit, + burst_type := ms.burst_type, + fn := fn, arfcn := 871, + qta := ms.ta * 4)); + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(false, ms.ra, fn)); + + ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); +} + +function f_ms_establish_dl_tbf_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) +runs on MS_BTS_IFACE_CT { + var GsmRrMessage rr_imm_ass; + + rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, sapi, t_imm_ass); + ms.dl_tbf := f_dltbf_new_from_rr_imm_ass(rr_imm_ass, tr_PacketDlAssign(ms.tlli)); +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +function f_ms_tx_data_ind(inout GprsMS ms, octetstring data, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT { + var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := fn, arfcn := 871, lqual_cb := ms.lqual_cb)); + if (fn != 0) { + ev_param := {tdma_fn := fn }; + } + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); +} + +function f_ms_tx_ul_block(inout GprsMS ms, template (value) RlcmacUlBlock ul_data, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT return integer { + var octetstring data; + var integer padding_len; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_ms_tx_data_ind(ms, data, fn); + return padding_len; +} + +function f_ms_tx_ul_data_block(inout GprsMS ms, octetstring payload, uint4_t cv := 15, boolean with_tlli := false, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT return integer { + var template (value) RlcmacUlBlock ul_data; + ul_data := t_RLCMAC_UL_DATA(tfi := ms.ul_tbf.tfi, + cv := cv, + bsn := ms.ul_tbf.bsn, + blocks := {t_RLCMAC_LLCBLOCK(payload)}); + if (with_tlli) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := ms.tlli; + } + ms.ul_tbf.bsn := ms.ul_tbf.bsn + 1; + ms.ul_tbf.bsn := ms.ul_tbf.bsn mod 128; /* FIXME: EGPRS SNS: 2048 */ + return f_ms_tx_ul_block(ms, ul_data, fn); + +} + +function f_ms_tx_ul_data_block_multi(inout GprsMS ms, integer num_blocks := 1, boolean with_tlli := false) +runs on MS_BTS_IFACE_CT return octetstring { + var octetstring total_payload := ''O; + + for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); + /* Prepare a new UL block (CV, random payload) */ + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + padding_len := f_ms_tx_ul_data_block(ms, payload, cv := cv, with_tlli := with_tlli) + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); + } + return total_payload; } function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) @@ -93,6 +417,9 @@ if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; } + if (match(dl_block, tr_RLCMAC_DL_PACKET_ASS(?))) { + return dl_block.ctrl.payload.u.dl_assignment.dl_tfi_assignment; + } } setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); f_shutdown(__BFILE__, __LINE__); @@ -169,120 +496,9 @@ BTS.send(pcu_msg_cnf); } -function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) -runs on MS_BTS_IFACE_CT return boolean { - var PCUIF_Message pcu_msg; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - setverdict(pass); - return true; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - } - } - - return false; -} - -/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ -const BIT8 chan_req_def := '01111000'B; - -/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := bit2int(chan_req_def), - uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) -runs on MS_BTS_IFACE_CT return boolean { - var uint32_t fn; - - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (is_11bit != 0) { ra := 127; } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn), - bts_nr := bts_nr); -} - -function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) -runs on MS_BTS_IFACE_CT { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on MS_BTS_IFACE_CT { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on MS_BTS_IFACE_CT { - var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; - BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, - sapi := PCU_IF_SAPI_PDTCH, data := data, - fn := fn, arfcn := 871, lqual_cb := lqual_cb)); - if (fn != 0) { - ev_param := {tdma_fn := fn }; - } - BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); -} +//////////////////////// +// OLD APIs +//////////////////////// /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) @@ -294,23 +510,6 @@ sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; } -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on MS_BTS_IFACE_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - f_shutdown(__BFILE__, __LINE__); - } - f_pcuif_tx_data_cnf(pcu_msg); -} - /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, template integer pag_group := ?) @@ -348,56 +547,6 @@ return rr_pag_req1; } -/* Send one rlcmac UL block adding necessary extra padding at the end. - * returns length of extra padding added at the end, in octets. - * FIXME: Only supports CS-1 so far. - */ -function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on MS_BTS_IFACE_CT return integer { - var octetstring data; - var integer padding_len; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - padding_len := 23 - lengthof(data); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); - return padding_len; -} - -function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on MS_BTS_IFACE_CT return octetstring { - var octetstring total_payload := ''O; - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := tfi, - cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* To be generated in loop */ - blocks := { /* To be generated in loop */ }); - - if (not istemplatekind(tlli, "omit")) { - ul_data.data.mac_hdr.tlli_ind := true; - ul_data.data.tlli := tlli; - } - - for (var integer i := 0; i < num_blocks; i := i + 1) { - var integer padding_len; - var octetstring payload := f_rnd_octstring(10); - /* Prepare a new UL block (CV, random payload) */ - var integer cv := num_blocks - i - 1; - if (cv > g_bs_cv_max) { - cv := 15; - } - ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := bsn + i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; - padding_len := f_tx_rlcmac_ul_block(ul_data); - total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); - } - bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ - return total_payload; -} - function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) runs on MS_BTS_IFACE_CT { var PCUIF_Message pcu_msg; @@ -438,46 +587,6 @@ } } -function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - - function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT { var uint32_t dl_fn; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 22e3c1f..358d974 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -253,9 +253,11 @@ /* Test of correct Timing Advance at the time of TBF establishment * (derived from timing offset of the Access Burst). */ testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var boolean ok; + var GprsMS ms; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -263,16 +265,13 @@ * at some point the PCU will fail to allocate a new TBF. */ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF"); - break; - } + f_ms_set_ta(ms, ta); + f_ms_establish_ul_tbf(ms, fn := 1337 + ta); /* Make sure Timing Advance IE matches out expectations */ - if (rr_msg.payload.imm_ass.timing_advance != ta) { + if (ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance != ta) { setverdict(fail, "Timing Advance mismatch: ", - rr_msg.payload.imm_ass.timing_advance, + ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance, " vs expected ", ta); break; } @@ -286,30 +285,29 @@ * IUT that causes it to send an unreasonable Timing Advance value > 0 despite * no active TBF exists at the moment of establishment (idle mode). */ testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var OCT4 tlli := f_rnd_octstring(4); - var GsmRrMessage rr_imm_ass; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will initiate Packet Downlink * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(10))); /* Make sure that Timing Advance is 0 (the actual value is not known yet). * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { - setverdict(fail, "Timing Advance value doesn't match"); - } + f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(ta := 0)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -460,9 +458,11 @@ testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { var template PacketUlAssign t_ul_tbf_ass; - var PacketUlAssign ul_tbf_ass[7]; - var GsmRrMessage rr_msg[7]; - var boolean ok; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -472,30 +472,18 @@ /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ for (var integer i := 0; i < 7; i := i + 1) { - ok := f_establish_tbf(rr_msg[i], ta := 0); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF #", i); - break; - } - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); - } else { - setverdict(fail, "Failed to match UL TBF Assignment for #", i); - break; - } + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); /* We expect incremental TFI/USF assignment (dynamic allocation) */ t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); - if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + if (not match(ms.ul_tbf.ass, t_ul_tbf_ass)) { setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); break; } /* We also expect Timing Advance Index to be a part of the assignment */ - if (ul_tbf_ass[i].dynamic.ta_index != i) { + if (ms.ul_tbf.ass.dynamic.ta_index != i) { setverdict(fail, "Failed to match Timing Advance Index for #", i); /* Keep going, the current OsmoPCU does not assign TA Index */ } @@ -540,13 +528,14 @@ private template integer CS4_lqual_dB_range := (12 .. infinity); testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; + var GprsMS ms; + var uint32_t unused_fn, sched_fn; + var uint4_t cv; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -555,47 +544,51 @@ f_pcuvty_set_link_quality_ranges(); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; /* The actual / old link quality values. We need to keep track of the old * (basically previous) link quality value, because OsmoPCU actually * changes the coding scheme if not only the actual, but also the old * value leaves the current link quality range (window). */ - var integer lqual := 0; var integer lqual_old; + f_ms_set_lqual(ms, 0); - /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + /* 16 UL blocks (0 .. 15 dB, step = 1 cB) */ + for (var integer i := 150; i >= 0; i := i - 1) { /* Update the old / actual link quality */ - lqual_old := lqual; - lqual := i; + lqual_old := ms.lqual_cb; + f_ms_set_lqual(ms, 150 - i); /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - log("Sending DATA.ind with link quality (dB): ", lqual); - f_tx_rlcmac_ul_block(ul_data, lqual * 10); + log("Sending DATA.ind with link quality (dB): ", ms.lqual_cb); + if (i > g_bs_cv_max) { + cv := 15; + } else { + cv := i; + } - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := cv) + + /* we will receive UL ACK/NACK from time to time. In that case, check CdCofing increases */ + f_rx_rlcmac_dl_block(dl_block, unused_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and + not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); + } log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); @@ -604,7 +597,7 @@ * the link quality value on each iteration and not decreasing, there * is no need to check the both old and current link quality values. */ var template ChCodingCommand ch_coding; - select (lqual_old) { + select (lqual_old / 10) { case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } @@ -613,6 +606,7 @@ if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + f_shutdown(__BFILE__, __LINE__); } } @@ -621,13 +615,14 @@ /* Test the max UL CS set by VTY works fine */ testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var integer lqual_cb; var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; + var uint32_t unused_fn, sched_fn; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -638,65 +633,56 @@ f_pcuvty_set_link_quality_ranges(); /* Take lqual (dB->cB) so that we stay in that CS */ - lqual_cb := g_cs_lqual_ranges[2].low * 10; + f_ms_set_lqual(ms, g_cs_lqual_ranges[2].low * 10); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); + /* Send UL blocks, until we receive UL ACK/NACK and check we are in same initial CS: */ + while (true) { + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 15); + f_rx_rlcmac_dl_block(dl_block, unused_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and + not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); + break; + } - /* 3 UL blocks, check we are in same initial CS: */ - for (var integer i := 0; i < 3; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, lqual_cb); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + break; } - if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } /* Remaining UL blocks are used to make sure regardless of initial /* lqual, we can go lower at any time */ - + /* 0 dB, make sure we downgrade CS */ + f_ms_set_lqual(ms, 0); /* 5 UL blocks, check we are in same initial CS: */ - for (var integer i := 3; i < 8; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } + f_ms_tx_ul_data_block_multi(ms, 5); + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); @@ -704,12 +690,14 @@ /* Test the max UL CS set by VTY works fine */ testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; + var uint32_t unused_fn, sched_fn; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -720,41 +708,26 @@ f_pcuvty_set_link_quality_ranges(); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); + f_ms_set_lqual(ms, 40*10); /* 40 dB */ + f_ms_tx_ul_data_block_multi(ms, 16); - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 16 UL blocks */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); @@ -763,18 +736,15 @@ /* Verify PCU drops TBF after some time of inactivity. */ testcase TC_t3169() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind; - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 0; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ info_ind := valueof(ts_PCUIF_INFO_default); /* Set timer to 1 sec (default 5) to speedup test: */ @@ -785,31 +755,22 @@ /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 1, with_tlli := true) f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + /* UL block should NOT be received in SGSN, since we didn't get CV=0 */ /* Wait until T3169 fires (plus 1 extra sec to make sure) */ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - bsn := 0; - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 0) f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -819,117 +780,99 @@ * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU * T3193) after DL TBF release */ testcase TC_t3193() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; + var GprsMS ms; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); - /* we are done with the DL-TBF here so far, let's clean up our local state: */ - ack_nack_desc := valueof(t_AckNackDescription_init) + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); /* Now that final DL block is ACKED and TBF is released, T3193 in PCU - (T3192 in MS) was started and until it fires the MS will be abailable + (T3192 in MS) was started and until it fires the MS will be available on PDCH in case new data arrives from SGSN. Let's verify it: */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_rx_imm_ass_rlcmac(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); + + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 1; - var PDU_BSSGP bssgp_pdu; var octetstring total_payload; - var integer padding_len; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine. */ - total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA_TLLI( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ - bsn := 0, - blocks := { valueof(t_RLCMAC_LLCBLOCK(total_payload)) }, - tlli := tlli); - - f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, total_payload, cv := 15, with_tlli := true) f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* Send enough blocks to test whole procedure: Until Nth block (N=BS_CV_MAX), CV=15 is sent, and then the decreasing countdown value is sent. */ - total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 20); + total_payload := total_payload & f_ms_tx_ul_data_block_multi(ms, 20); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* receive one message on BSSGP with all aggregated data in payload: */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id, total_payload)); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is @@ -937,63 +880,50 @@ */ private function f_TC_mo_ping_pong_1phase_access(template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - var uint14_t bsn := 0; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1013,20 +943,13 @@ template (present) CodingScheme exp_ul_cs_mcs := ?, template (present) CodingScheme exp_dl_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - var CodingScheme cs_mcs; - var uint14_t bsn := 0; + var GprsMS ms; + /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); if (g_force_two_phase_access) { @@ -1038,55 +961,52 @@ /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass, ra := ra); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_use_ra(ms, ra, ra_is_11bit := 0); + f_ms_establish_ul_tbf(ms); /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass, tr_PacketUlSglAssign); + if (not match(ms.ul_tbf.ass, tr_PacketUlSglAssign)) { + setverdict(fail, "Wrong Packet Uplink Assignment received: ", ms.ul_tbf.ass, " vs exp: ", tr_PacketUlSglAssign); + f_shutdown(__BFILE__, __LINE__); + } /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - f_shutdown(__BFILE__, __LINE__); - } - cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); - if (not match(cs_mcs, exp_ul_cs_mcs)) { - setverdict(fail, "Wrong CS_MCS ", cs_mcs, " received vs exp ", exp_ul_cs_mcs); + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, ms_racap))), 0); + f_ms_rx_imm_ass_rlcmac(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS); + if (not match(ms.ul_tbf.tx_cs_mcs, exp_ul_cs_mcs)) { + setverdict(fail, "Wrong CS_MCS ", ms.ul_tbf.tx_cs_mcs, " received vs exp ", exp_ul_cs_mcs); f_shutdown(__BFILE__, __LINE__); } /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), bsn, 1); /* TODO: send using cs_mcs */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); /* TODO: send using cs_mcs */ - //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); /* Now SGSN sends some DL data, PCU will page on PACCH */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_dl_ass(dl_block, sched_fn); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_rx_imm_ass_rlcmac(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* PCU acks the UL data after having received CV=0) */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); @@ -1095,9 +1015,9 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.ul_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1152,64 +1072,50 @@ * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 0; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, ms_racap)); + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1237,123 +1143,102 @@ * be transferred). */ testcase TC_ul_intermediate_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; var template (value) RlcmacUlBlock ul_data; - var boolean ok; var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 5; - var PDU_BSSGP bssgp_pdu; var octetstring total_payload; var octetstring payload; var octetstring lost_payload; - var integer padding_len; var uint5_t tfi; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - tfi := ul_tbf_ass.dynamic.tfi_assignment; + f_ms_establish_ul_tbf(ms); + tfi := ms.ul_tbf.tfi; /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine. */ payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ - ul_data := t_RLCMAC_UL_DATA_TLLI( - tfi := tfi, - cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ - bsn := 0, - blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }, - tlli := tlli); + f_ms_tx_ul_data_block(ms, payload, cv := 15, with_tlli := true); - f_tx_rlcmac_ul_block(ul_data, 0); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); total_payload := payload; /* Send 2 packets, skip 1 (inc bsn) and send another one */ payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 1, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 2, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; - lost_payload := f_rnd_octstring(20); /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ + lost_payload := f_rnd_octstring(20); + ms.ul_tbf.bsn := ms.ul_tbf.bsn + 1; /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ total_payload := total_payload & lost_payload; payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 4, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; /* Send enough blocks to finish the transmission (since we were sending BSN=15, send BS_CV_MAX packets) */ - total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, g_bs_cv_max); + total_payload := total_payload & f_ms_tx_ul_data_block_multi(ms, g_bs_cv_max); /* On CV=0, we'll receive a UL ACK asking about missing block */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* TODO: check ack ack bitmap (URBB) */ ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 3, blocks := {t_RLCMAC_LLCBLOCK(lost_payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_block(ms, ul_data); /* Now final ack is recieved */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* receive one message on BSSGP with all aggregated data in payload: */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id, total_payload)); } /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it * will retry by retransmitting both the IMM ASS + DL block after poll (ack) * timeout occurs (specified by sent RRBP on DL block). */ testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1362,19 +1247,16 @@ /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1389,38 +1271,32 @@ var RlcmacDlBlock dl_block; var uint32_t ack_fn; var uint32_t fn; + var GprsMS ms; timer T := 5.0; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment with DL TFI */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ispresent(dl_tbf_ass.group1)) { - setverdict(fail, "Immediate Assignment contains no DL TFI"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Get DL TFI from received Downlink TBF assignment */ - var uint5_t tfi := dl_tbf_ass.group1.tfi_assignment; + f_ms_establish_dl_tbf_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ f_sleep(X2002); /* Expect the first (GPRS DL) block with bsn=0 and rrbp_valid=1 */ f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); /* TDMA frame number on which we are supposed to send the ACK */ ack_fn := f_dl_block_ack_fn(dl_block, fn); @@ -1434,24 +1310,24 @@ /* Make sure this block has the same TFI as was assigned * FIXME: this is only valid for GPRS, not EGPRS. */ - if (dl_block.data.mac_hdr.hdr_ext.tfi != tfi) { + if (dl_block.data.mac_hdr.hdr_ext.tfi != ms.dl_tbf.tfi) { setverdict(fail, "Rx DL data block with unexpected TFI: ", dl_block.data.mac_hdr.hdr_ext.tfi); f_shutdown(__BFILE__, __LINE__); } /* Keep Ack/Nack description updated */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); /* Break if this is the end of RRBP */ if (fn == ack_fn) { - ack_nack_desc.final_ack := '1'B; + ms.dl_tbf.acknack_desc.final_ack := '1'B; break; } } /* This is the end of RRBP, send Packet Downlink Ack/Nack */ - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(tfi, ack_nack_desc), fn := fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), fn := fn); /* Make sure that the next block (after the Ack) is dummy */ f_rx_rlcmac_dl_block_exp_dummy(dl_block); @@ -1491,34 +1367,27 @@ * 3. Expect a Paging Frame */ testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; var MobileIdentityLV mi; var octetstring mi_enc_lv; var hexstring imsi := f_gen_imsi(42); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* build mobile Identity */ mi := valueof(ts_MI_IMSI_LV(imsi)); @@ -1540,33 +1409,26 @@ */ private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; var hexstring imsi := f_gen_imsi(42); var GsmTmsi tmsi; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send paging request with or without TMSI */ if (use_ptmsi) { @@ -1605,19 +1467,22 @@ */ private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var OCT4 tlli := '00000001'O; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ @@ -1646,23 +1511,20 @@ } private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?, - PCUIF_BurstType bt := BURST_TYPE_1) + template GsmRrMessage t_imm_ass := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; var uint16_t ra11; - var boolean ok; + var GprsMS ms; + + ms := g_ms[0]; /* We only use first MS in this test */ ra11 := enc_EGPRSPktChRequest2uint(req); + f_ms_use_ra(ms, ra11, ra_is_11bit := 1); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); - if (not ok) { - setverdict(fail, "Failed to establush an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - if (not match(rr_msg, t_imm_ass)) { + if (not match(ms.ul_tbf.rr_imm_ass, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); } @@ -1675,6 +1537,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1703,6 +1568,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1737,6 +1605,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 70138bf..91bab7f 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -255,6 +255,7 @@ testcase TC_selftest_rlcmac_egprs() runs on RAW_PCU_Test_CT { + var GprsMS ms; var octetstring data; var CodingSchemeArray schemes := { //MCS_0, @@ -269,6 +270,10 @@ MCS_9 }; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -291,7 +296,7 @@ data := f_pad_oct(data, f_rlcmac_cs_mcs2block_len(schemes[i]), '00'O); /* Send to PCU so that we get gsmtap traces to verify with wireshark */ - f_pcuif_tx_data_ind(data, 0, 0); + f_ms_tx_data_ind(ms, data, 0); log("Decoding ", schemes[i]); ul_data := dec_RlcmacUlBlock(data); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 18:15:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 19 May 2020 18:15:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: Fix TC_egprs_pkt_chan_req* tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18371 ) Change subject: WIP: Fix TC_egprs_pkt_chan_req* tests ...................................................................... WIP: Fix TC_egprs_pkt_chan_req* tests Somehow after refactoring these 3 tests became broken. I think it's because before the refactoring, a bug was present in f_establish_tbf which set it always to 127 no matter what was passed (which looks wrong from these tests point of view). So apparently I fixed a part of the infrastructure, and now tests fail because other parts of the infrastructure (also old ones) do not support this kind of scenarios. Change-Id: I690ede0667a574892dcd93b941003054182c8e39 --- M pcu/GPRS_Components.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/71/18371/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 8d47d44..f845c14 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -146,7 +146,8 @@ log("Rx Uplink TBF assignment: ", ul_tbf.ass); setverdict(pass); } else { - setverdict(fail, "Failed to match UL TBF Assignment"); + setverdict(fail, "Failed to match UL TBF Assignment: ", rr_imm_ass, + " vs exp ", tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?))); f_shutdown(__BFILE__, __LINE__); } @@ -327,9 +328,15 @@ fn := fn, arfcn := 871, qta := ms.ta * 4)); + /* TODO: tr_IMM_TBF_ASS(false, ms.ra, fn) fails for 11bit, because + * tr_compute_ReqRef() doens't support 11bit: + * GSM_RR_Types.ttcn:345 + * Dynamic test case error: The first argument of function int2bit(), + * which is 1661, does not fit in 8 bits, needs at least 11. */ + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ms.ra, fn)); + tr_IMM_TBF_ASS(false, ?, fn)); ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I690ede0667a574892dcd93b941003054182c8e39 Gerrit-Change-Number: 18371 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:14:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:14:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 ) Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:14:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:21:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:21:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:21:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:21:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:21:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 ) Change subject: Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 ...................................................................... Use osmocom fork of TELNETasp to fix compilation error spotted by gcc 10.1.0 Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e --- M deps/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/deps/Makefile b/deps/Makefile index 977beba..c352cb2 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -40,7 +40,6 @@ titan.TestPorts.PIPEasp \ titan.TestPorts.SIPmsg \ titan.TestPorts.TCPasp \ - titan.TestPorts.TELNETasp \ titan.TestPorts.UNIX_DOMAIN_SOCKETasp ECLIPSEGIT2_REPOS= titan.ProtocolModules.GRE \ @@ -64,6 +63,7 @@ OSMOGITHUB_REPOS= titan.TestPorts.SCTPasp \ titan.TestPorts.MTP3asp \ titan.TestPorts.UDPasp \ + titan.TestPorts.TELNETasp \ titan.ProtocolEmulations.M3UA \ titan.ProtocolEmulations.SCCP @@ -122,7 +122,7 @@ titan.TestPorts.SCTPasp_commit= R.11.A-2-g2faa9cf titan.TestPorts.SIPmsg_commit= R.15.A-1-ge4f9dd0 titan.TestPorts.TCPasp_commit= R.9.A-5-g2c91bc6 -titan.TestPorts.TELNETasp_commit= R.9.A-3-g62f281b +titan.TestPorts.TELNETasp_commit= R.9.A-5-g7a07a97 titan.TestPorts.UDPasp_commit= c20d77a34f288dd70dd4aaa30e520778876e9336 titan.TestPorts.UNIX_DOMAIN_SOCKETasp_commit= R.2.A-8-g7ec4fe0 titan.TestPorts.USB_commit= master -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I45beacb3a3141531e2552588147e3741c8637f4e Gerrit-Change-Number: 18352 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:21:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:21:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Move all GPRS helper function to its own file and component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 ) Change subject: Move all GPRS helper function to its own file and component ...................................................................... Move all GPRS helper function to its own file and component This is a first step towards refactoring of all functions to use MS and Ul/DlTBF objects containing state. Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 --- A pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 623 insertions(+), 571 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn new file mode 100644 index 0000000..c3ec440 --- /dev/null +++ b/pcu/GPRS_Components.ttcn @@ -0,0 +1,620 @@ +module GPRS_Components { +/* + * Osmocom PCU test suite in TTCN-3, components for GPRS handlng + * (C) 2018-2019 Harald Welte + * (C) 2019 Vadim Yanitskiy + * (C) 2020 by sysmocom s.f.m.c. GmbH + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from GSM_RR_Types all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_GMM_SM_Types all; +import from RLCMAC_CSN1_Types all; +import from RLCMAC_CSN1_Templates all; +import from RLCMAC_Types all; +import from RLCMAC_Templates all; + +import from MobileL3_CommonIE_Types all; +import from L3_Templates all; + +import from NS_Types all; +import from BSSGP_Types all; +import from Osmocom_Gb_Types all; + +import from BSSGP_Emulation all; /* BssgpConfig */ +import from NS_Emulation all; /* NSConfiguration */ + +import from UD_Types all; +import from PCUIF_Types all; +import from PCUIF_CodecPort all; +import from PCUIF_Components all; +import from IPL4asp_Types all; +import from Native_Functions all; +import from SGSN_Components all; + +type component MS_BTS_IFACE_CT { + /* Virtual BTS component */ + var RAW_PCU_BTS_CT vc_BTS; + /* Connection to the BTS component (one for now) */ + port RAW_PCU_MSG_PT BTS; + + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ + var uint4_t g_bs_cv_max := 4; +} + +function f_shutdown(charstring file, integer line, + boolean final := false) +runs on MS_BTS_IFACE_CT { + /* Determine if the test case was aborted in the middle */ + if (not final) { + log("Test case ", testcasename(), " aborted at ", file, ":", line); + } else { + /* Guard verdict to avoid 'none' */ + setverdict(pass); + } + + /* Properly shutdown virtual BTS and its clock generator */ + BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); + vc_BTS.done; /* wait untill it's done */ + + /* Shutdown the others and MTC */ + all component.stop; + mtc.stop; +} + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return uint5_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.hdr_ext.tfi; + } else if (ischosen(dl_block.data_egprs)) { + return dl_block.data_egprs.mac_hdr.tfi; + } else { /* Ctrl block */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + } + } + setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ +} + +/* Get the Chan coding command from a dl block containing PACCH UL Assignment */ +function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return CodingScheme { + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { + return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { + return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); + } + setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return CS_1; /* make compiler happy */ +} + +/* TS 44.060 sec 12.3 Ack/Nack Description */ +function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) +{ + var uint7_t bsn; + var integer i; + var integer inc; + + if (ischosen(dl_block.data)) { + bsn := dl_block.data.mac_hdr.hdr_ext.bsn; + } else { + bsn := dl_block.data_egprs.mac_hdr.bsn1; + } + + inc := bsn - desc.starting_seq_nr + 1; + /* Filling hole? */ + if (bsn < desc.starting_seq_nr) { + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); + return; + } + + /* SSN is increased, and so RBB values need to be moved */ + for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { + desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; + } + for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { + desc.receive_block_bitmap[i] := int2bit(0, 1); + } + /* Now we can set current bit and update SSN */ + desc.starting_seq_nr := bsn + 1; + desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); + + /* Finally update the final_ack bit as requested: */ + desc.final_ack := final_ack; +} + +/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. + * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ +function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) +runs on MS_BTS_IFACE_CT { + var PCUIF_Message pcu_msg_cnf := { + msg_type := PCU_IF_MSG_DATA_CNF, + bts_nr := pcu_msg.bts_nr, + spare := pcu_msg.spare, + u := { data_cnf := pcu_msg.u.data_req } + }; + + /* PCU wants DATA.cnf containing basically everything that was in DATA.req, + * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, + pcu_msg.u.data_req.len - 3); + } + + BTS.send(pcu_msg_cnf); +} + +function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, + template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := ?, + uint8_t bts_nr := 0) +runs on MS_BTS_IFACE_CT return boolean { + var PCUIF_Message pcu_msg; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + setverdict(pass); + return true; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + } + } + + return false; +} + +/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ +const BIT8 chan_req_def := '01111000'B; + +/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ +function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, + uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) +runs on MS_BTS_IFACE_CT return boolean { + var uint32_t fn; + + /* FIXME: ask the BTS component to give us the current TDMA fn */ + fn := 1337 + ta; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + ra := ra, is_11bit := is_11bit, + burst_type := burst_type, + fn := fn, arfcn := 871, + qta := ta * 4)); + + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (is_11bit != 0) { ra := 127; } + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(false, ra, fn), + bts_nr := bts_nr); +} + +function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) +runs on MS_BTS_IFACE_CT { + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { + ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF assignment: ", ul_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match UL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) +runs on MS_BTS_IFACE_CT { + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { + dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf_ass); + setverdict(pass); + } else { + setverdict(fail, "Failed to match DL TBF Assignment"); + f_shutdown(__BFILE__, __LINE__); + } +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT { + var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; + BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, + sapi := PCU_IF_SAPI_PDTCH, data := data, + fn := fn, arfcn := 871, lqual_cb := lqual_cb)); + if (fn != 0) { + ev_param := {tdma_fn := fn }; + } + BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); +} + +/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ +function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) +runs on MS_BTS_IFACE_CT { + BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := 871, block_nr := 0)); + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, + sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; +} + +/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ +function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) +runs on MS_BTS_IFACE_CT { + var PCUIF_Message pcu_msg; + var octetstring macblock; + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + /* First 3 bytes contain paging group: */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_imm_ass := dec_GsmRrMessage(macblock); + if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { + setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + f_pcuif_tx_data_cnf(pcu_msg); +} + +/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ +function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, + template integer pag_group := ?) +runs on MS_BTS_IFACE_CT return GsmRrMessage { + var GsmRrMessage rr_pag_req1; + var PCUIF_Message pcu_msg; + var octetstring imsi_suff_octstr; + var integer pag_group_rx; + var octetstring macblock; + + BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; + + /* First 3 bytes contain IMSI suffix to calculate paging group: */ + imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); + pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + + str2int(oct2char(imsi_suff_octstr[1])) * 10 + + str2int(oct2char(imsi_suff_octstr[2])); + + /* Make sure we've got RR Paging Request Type 1 for a given MI */ + macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + rr_pag_req1 := dec_GsmRrMessage(macblock); + if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { + setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); + f_shutdown(__BFILE__, __LINE__); + } + + /* Make sure that received paging froup matches the expected one */ + if (not match(pag_group_rx, pag_group)) { + setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); + f_shutdown(__BFILE__, __LINE__); + } + + f_pcuif_tx_data_cnf(pcu_msg); + return rr_pag_req1; +} + +/* Send one rlcmac UL block adding necessary extra padding at the end. + * returns length of extra padding added at the end, in octets. + * FIXME: Only supports CS-1 so far. + */ +function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT return integer { + var octetstring data; + var integer padding_len; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_pcuif_tx_data_ind(data, lqual_cb, fn); + return padding_len; +} + +function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) +runs on MS_BTS_IFACE_CT return octetstring { + var octetstring total_payload := ''O; + var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( + tfi := tfi, + cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ + bsn := 0, /* To be generated in loop */ + blocks := { /* To be generated in loop */ }); + + if (not istemplatekind(tlli, "omit")) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := tlli; + } + + for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); + /* Prepare a new UL block (CV, random payload) */ + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + ul_data.data.mac_hdr.countdown := cv; + ul_data.data.mac_hdr.bsn := bsn + i; + ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; + padding_len := f_tx_rlcmac_ul_block(ul_data); + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); + } + bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ + return total_payload; +} + +function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) +runs on MS_BTS_IFACE_CT { + var PCUIF_Message pcu_msg; + f_pcuif_rx_data_req(pcu_msg); + dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); + dl_fn := pcu_msg.u.data_req.fn; + + var integer len := lengthof(pcu_msg.u.data_req.data); + var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) + if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { + setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + setverdict(fail, "Failed to match Packet DUMMY DL"); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Uplink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + +function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { + setverdict(fail, "Failed to match Packet Downlink Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); +} + + +function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT { + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { + setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); + f_shutdown(__BFILE__, __LINE__); + } +} + +/* This function does what could probably be done with templates */ +function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, + template (present) octetstring data := ?, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on MS_BTS_IFACE_CT { + if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); + } + + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); + f_shutdown(__BFILE__, __LINE__); + } + + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); + f_shutdown(__BFILE__, __LINE__); + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: check exp_cs */ +} + +/* This function does what could probably be done with templates */ +function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, + template (present) octetstring data := ?, + template (present) uint14_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on MS_BTS_IFACE_CT { + if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { + setverdict(fail, "DL block BSN doesn't match: ", + data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); + } + + if (lengthof(data_block.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", data_block); + f_shutdown(__BFILE__, __LINE__); + } + + if (not match(data_block.blocks[0].payload, data)) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", + data_block.blocks[0].payload, " vs ", data); + f_shutdown(__BFILE__, __LINE__); + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", + data_block.blocks[1].payload); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. + See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ +} + +/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ +function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, + template (present) octetstring data := ?, + template (present) uint7_t exp_bsn := ?, + template (present) CodingScheme exp_cs := ?) +runs on MS_BTS_IFACE_CT { + /* FIXME: ideally we should use an alt statement with timeout here, rather than + * having +100500 layers of abstraction. This would facilitate developing the + * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received + * block is exactly what you need. */ + f_rx_rlcmac_dl_block(dl_block, dl_fn); + + /* Make sure it's either GPRS or EGPRS data block */ + if (not match(dl_block, tr_RLCMAC_DATA)) { + setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); + f_shutdown(__BFILE__, __LINE__); + } + + if (ischosen(dl_block.data_egprs)) { + f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); + } else if (ischosen(dl_block.data)) { + f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); + } else { + /* Should not happen, but the caller may theoretically give us a template for CTRL */ + setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); + f_shutdown(__BFILE__, __LINE__); + } +} + +function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) +runs on MS_BTS_IFACE_CT return uint32_t { + var boolean rrbp_valid; + var MacRrbp rrbp; + + /* The argument must be either a GPRS or EGPRS data block */ + if (ischosen(dl_block.data_egprs)) { + rrbp_valid := true; /* always valid */ + rrbp := dl_block.data_egprs.mac_hdr.rrbp; + } else if (ischosen(dl_block.data)) { + rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; + rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; + } else { + rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; + rrbp := dl_block.ctrl.mac_hdr.rrbp; + } + + /* Make sure that the given block really needs to be ACKnowledged */ + if (not rrbp_valid) { + setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); + f_shutdown(__BFILE__, __LINE__); + } + + return f_rrbp_ack_fn(dl_fn, rrbp); +} + +function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) +runs on MS_BTS_IFACE_CT { + if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { + setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", + "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); + f_shutdown(__BFILE__, __LINE__); + } +} + +} diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 43ed7c5..5193369 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -49,6 +49,7 @@ import from IPL4asp_Types all; import from Native_Functions all; import from SGSN_Components all; +import from GPRS_Components all; modulepar { charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT; @@ -100,14 +101,10 @@ uint8_t high } -type component RAW_PCU_Test_CT extends bssgp_CT { +type component RAW_PCU_Test_CT extends bssgp_CT, MS_BTS_IFACE_CT { /* PCU interface abstraction component */ var RAW_PCUIF_CT vc_PCUIF; - /* Virtual BTS component */ - var RAW_PCU_BTS_CT vc_BTS; - /* Connection to the BTS component (one for now) */ - port RAW_PCU_MSG_PT BTS; /* Connection to the PCUIF component */ port RAW_PCU_MSG_PT PCUIF; /* VTY connection to the PCU */ @@ -136,9 +133,6 @@ var uint8_t g_mcs_max_dl := 9; var uint8_t g_mcs_max_ul := 9; - /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ - var uint4_t g_bs_cv_max := 4; - var boolean g_egprs_only := false; var boolean g_force_two_phase_access := false; @@ -227,560 +221,6 @@ BTS.receive(tr_RAW_PCU_EV(BTS_EV_SI13_NEGO)); } -private function f_shutdown(charstring file, integer line, - boolean final := false) -runs on RAW_PCU_Test_CT { - /* Determine if the test case was aborted in the middle */ - if (not final) { - log("Test case ", testcasename(), " aborted at ", file, ":", line); - } else { - /* Guard verdict to avoid 'none' */ - setverdict(pass); - } - - /* Properly shutdown virtual BTS and its clock generator */ - BTS.send(ts_RAW_PCU_CMD(GENERAL_CMD_SHUTDOWN)); - vc_BTS.done; /* wait untill it's done */ - - /* Shutdown the others and MTC */ - all component.stop; - mtc.stop; -} - -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B -} - -private function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT return uint5_t { - if (ischosen(dl_block.data)) { - return dl_block.data.mac_hdr.hdr_ext.tfi; - } else if (ischosen(dl_block.data_egprs)) { - return dl_block.data_egprs.mac_hdr.tfi; - } else { /* Ctrl block */ - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { - return dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { - return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; - } - } - setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); - f_shutdown(__BFILE__, __LINE__); - return 0; /* make compiler happy */ -} - -/* Get the Chan coding command from a dl block containing PACCH UL Assignment */ -private function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT return CodingScheme { - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(?)))) { - return f_rlcmac_block_ChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.gprs.ch_coding_cmd); - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(?)))) { - return f_rlcmac_block_EgprsChCodingCommand2cs_mcs(dl_block.ctrl.payload.u.ul_assignment.egprs.chan_coding_cmd); - } - setverdict(fail, "DlBlock doesn't contain CS_MCS information:", dl_block); - f_shutdown(__BFILE__, __LINE__); - return CS_1; /* make compiler happy */ -} - -/* TS 44.060 sec 12.3 Ack/Nack Description */ -private function f_acknackdesc_ack_block(inout AckNackDescription desc, RlcmacDlBlock dl_block, BIT1 final_ack := '0'B) -{ - var uint7_t bsn; - var integer i; - var integer inc; - - if (ischosen(dl_block.data)) { - bsn := dl_block.data.mac_hdr.hdr_ext.bsn; - } else { - bsn := dl_block.data_egprs.mac_hdr.bsn1; - } - - inc := bsn - desc.starting_seq_nr + 1; - /* Filling hole? */ - if (bsn < desc.starting_seq_nr) { - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - (desc.starting_seq_nr - bsn)] := int2bit(1, 1); - return; - } - - /* SSN is increased, and so RBB values need to be moved */ - for (i := 0; i < lengthof(desc.receive_block_bitmap) - inc; i := i+1) { - desc.receive_block_bitmap[i] := desc.receive_block_bitmap[i + inc]; - } - for (i := lengthof(desc.receive_block_bitmap) - inc; i < lengthof(desc.receive_block_bitmap) - 1; i := i+1) { - desc.receive_block_bitmap[i] := int2bit(0, 1); - } - /* Now we can set current bit and update SSN */ - desc.starting_seq_nr := bsn + 1; - desc.receive_block_bitmap[lengthof(desc.receive_block_bitmap) - 1] := int2bit(1, 1); - - /* Finally update the final_ack bit as requested: */ - desc.final_ack := final_ack; -} - -/* This function can be used to send DATA.cnf in response to the IUT originated DATA.req. - * NOTE: it's the responsibility of caller to make sure that pcu_msg contains u.data_req. */ -private function f_pcuif_tx_data_cnf(in PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg_cnf := { - msg_type := PCU_IF_MSG_DATA_CNF, - bts_nr := pcu_msg.bts_nr, - spare := pcu_msg.spare, - u := { data_cnf := pcu_msg.u.data_req } - }; - - /* PCU wants DATA.cnf containing basically everything that was in DATA.req, - * but PCU_IF_SAPI_PCH is a special case - paging group shall be excluded. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - pcu_msg_cnf.u.data_cnf.data := substr(pcu_msg.u.data_req.data, 3, - pcu_msg.u.data_req.len - 3); - } - - BTS.send(pcu_msg_cnf); -} - -private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) -runs on RAW_PCU_Test_CT return boolean { - var PCUIF_Message pcu_msg; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - setverdict(pass); - return true; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - } - } - - return false; -} - -/* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ -private const BIT8 chan_req_def := '01111000'B; - -/* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -private function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, - uint16_t ra := bit2int(chan_req_def), - uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) -runs on RAW_PCU_Test_CT return boolean { - var uint32_t fn; - - /* FIXME: ask the BTS component to give us the current TDMA fn */ - fn := 1337 + ta; - - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, - ra := ra, is_11bit := is_11bit, - burst_type := burst_type, - fn := fn, arfcn := 871, - qta := ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (is_11bit != 0) { ra := 127; } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn), - bts_nr := bts_nr); -} - -private function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) -runs on RAW_PCU_Test_CT { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on RAW_PCU_Test_CT { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ -function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT { - var template RAW_PCU_EventParam ev_param := {tdma_fn := ? }; - BTS.send(ts_PCUIF_DATA_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7, block_nr := 0, - sapi := PCU_IF_SAPI_PDTCH, data := data, - fn := fn, arfcn := 871, lqual_cb := lqual_cb)); - if (fn != 0) { - ev_param := {tdma_fn := fn }; - } - BTS.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_param)); -} - -/* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ -private function f_pcuif_rx_data_req(out PCUIF_Message pcu_msg) -runs on RAW_PCU_Test_CT { - BTS.send(ts_PCUIF_RTS_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH, fn := 0, - arfcn := 871, block_nr := 0)); - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 7, - sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; -} - -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - f_shutdown(__BFILE__, __LINE__); - } - f_pcuif_tx_data_cnf(pcu_msg); -} - -/* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ -private function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, - template integer pag_group := ?) -runs on RAW_PCU_Test_CT return GsmRrMessage { - var GsmRrMessage rr_pag_req1; - var PCUIF_Message pcu_msg; - var octetstring imsi_suff_octstr; - var integer pag_group_rx; - var octetstring macblock; - - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - - /* First 3 bytes contain IMSI suffix to calculate paging group: */ - imsi_suff_octstr := substr(pcu_msg.u.data_req.data, 0, 3); - pag_group_rx := str2int(oct2char(imsi_suff_octstr[0])) * 100 + - str2int(oct2char(imsi_suff_octstr[1])) * 10 + - str2int(oct2char(imsi_suff_octstr[2])); - - /* Make sure we've got RR Paging Request Type 1 for a given MI */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_pag_req1 := dec_GsmRrMessage(macblock); - if (not match(rr_pag_req1, tr_PAG_REQ1(tr_MI_LV(mi1)))) { - setverdict(fail, "Failed to match Paging Request Type 1: ", rr_pag_req1); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure that received paging froup matches the expected one */ - if (not match(pag_group_rx, pag_group)) { - setverdict(fail, "Paging group", pag_group_rx, " does not match expected ", pag_group); - f_shutdown(__BFILE__, __LINE__); - } - - f_pcuif_tx_data_cnf(pcu_msg); - return rr_pag_req1; -} - -/* Send one rlcmac UL block adding necessary extra padding at the end. - * returns length of extra padding added at the end, in octets. - * FIXME: Only supports CS-1 so far. - */ -private function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on RAW_PCU_Test_CT return integer { - var octetstring data; - var integer padding_len; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - padding_len := 23 - lengthof(data); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); - return padding_len; -} - -private function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on RAW_PCU_Test_CT return octetstring { - var octetstring total_payload := ''O; - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := tfi, - cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* To be generated in loop */ - blocks := { /* To be generated in loop */ }); - - if (not istemplatekind(tlli, "omit")) { - ul_data.data.mac_hdr.tlli_ind := true; - ul_data.data.tlli := tlli; - } - - for (var integer i := 0; i < num_blocks; i := i + 1) { - var integer padding_len; - var octetstring payload := f_rnd_octstring(10); - /* Prepare a new UL block (CV, random payload) */ - var integer cv := num_blocks - i - 1; - if (cv > g_bs_cv_max) { - cv := 15; - } - ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := bsn + i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; - padding_len := f_tx_rlcmac_ul_block(ul_data); - total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); - } - bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ - return total_payload; -} - -private function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) -runs on RAW_PCU_Test_CT { - var PCUIF_Message pcu_msg; - f_pcuif_rx_data_req(pcu_msg); - dl_block := dec_RlcmacDlBlock(pcu_msg.u.data_req.data); - dl_fn := pcu_msg.u.data_req.fn; - - var integer len := lengthof(pcu_msg.u.data_req.data); - var CodingScheme cs_mcs := f_rlcmac_block_len2cs_mcs(len) - if (not match(f_rlcmac_block_len2cs_mcs(len), exp_cs_mcs)) { - setverdict(fail, "Failed to match Coding Scheme exp ", exp_cs_mcs, " vs ", cs_mcs, " (", len, ")"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_rx_rlcmac_dl_block_exp_ack_nack(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { - setverdict(fail, "Failed to match Packet DUMMY DL"); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -private function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - - -private function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) -runs on RAW_PCU_Test_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_PACKET_PAG_REQ())) { - setverdict(fail, "Failed to match Packet Paging Request: ", dl_block, " vs ", tr_RLCMAC_PACKET_PAG_REQ()); - f_shutdown(__BFILE__, __LINE__); - } -} - -/* This function does what could probably be done with templates */ -private function f_rlcmac_dl_block_verify_data_gprs(in RlcmacDlDataBlock data_block, - template (present) octetstring data := ?, - template (present) uint7_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - if (not match(data_block.mac_hdr.hdr_ext.bsn, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - data_block.mac_hdr.hdr_ext.bsn, " vs exp ", exp_bsn); - } - - if (lengthof(data_block.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", data_block); - f_shutdown(__BFILE__, __LINE__); - } - - if (not match(data_block.blocks[0].payload, data)) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", - data_block.blocks[0].payload, " vs ", data); - f_shutdown(__BFILE__, __LINE__); - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", - data_block.blocks[1].payload); - f_shutdown(__BFILE__, __LINE__); - } - - /* TODO: check exp_cs */ -} - -/* This function does what could probably be done with templates */ -private function f_rlcmac_dl_block_verify_data_egprs(in RlcmacDlEgprsDataBlock data_block, - template (present) octetstring data := ?, - template (present) uint14_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - if (not match(data_block.mac_hdr.bsn1, exp_bsn)) { - setverdict(fail, "DL block BSN doesn't match: ", - data_block.mac_hdr.bsn1, " vs exp ", exp_bsn); - } - - if (lengthof(data_block.blocks) < 1) { - setverdict(fail, "DL block has no LLC payload: ", data_block); - f_shutdown(__BFILE__, __LINE__); - } - - if (not match(data_block.blocks[0].payload, data)) { - setverdict(fail, "Failed to match content of LLC payload in DL Block: ", - data_block.blocks[0].payload, " vs ", data); - f_shutdown(__BFILE__, __LINE__); - } - - /* Check next data blocks contain dummy frames */ - if (lengthof(data_block.blocks) > 1 and substr(data_block.blocks[1].payload, 0, 3) != '43C001'O) { - setverdict(fail, "Second data payload is not a dummy frame: ", - data_block.blocks[1].payload); - f_shutdown(__BFILE__, __LINE__); - } - - /* TODO: Check exp_cs. In the case of EGPRS, first check mac_hdr.header_type and then decode CPS = exp_cs based on mac_hdr.header_type. - See wireshark's egprs_Header_type1_coding_puncturing_scheme_to_mcs. */ -} - -/* High level (task specific) helper for receiving and matching GPRS/EGPRS data blocks */ -private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, out uint32_t dl_fn, - template (present) octetstring data := ?, - template (present) uint7_t exp_bsn := ?, - template (present) CodingScheme exp_cs := ?) -runs on RAW_PCU_Test_CT { - /* FIXME: ideally we should use an alt statement with timeout here, rather than - * having +100500 layers of abstraction. This would facilitate developing the - * multi-TBF/-TRX/-BTS tests, where you cannot expect that the first received - * block is exactly what you need. */ - f_rx_rlcmac_dl_block(dl_block, dl_fn); - - /* Make sure it's either GPRS or EGPRS data block */ - if (not match(dl_block, tr_RLCMAC_DATA)) { - setverdict(fail, "Failed to match DL DATA: ", dl_block, " vs ", tr_RLCMAC_DATA); - f_shutdown(__BFILE__, __LINE__); - } - - if (ischosen(dl_block.data_egprs)) { - f_rlcmac_dl_block_verify_data_egprs(dl_block.data_egprs, data, exp_bsn, exp_cs); - } else if (ischosen(dl_block.data)) { - f_rlcmac_dl_block_verify_data_gprs(dl_block.data, data, exp_bsn, exp_cs); - } else { - /* Should not happen, but the caller may theoretically give us a template for CTRL */ - setverdict(fail, "DL block is neither GPRS nor EGPRS data block: ", dl_block); - f_shutdown(__BFILE__, __LINE__); - } -} - -private function f_dl_block_ack_fn(in RlcmacDlBlock dl_block, uint32_t dl_fn) -runs on RAW_PCU_Test_CT return uint32_t { - var boolean rrbp_valid; - var MacRrbp rrbp; - - /* The argument must be either a GPRS or EGPRS data block */ - if (ischosen(dl_block.data_egprs)) { - rrbp_valid := true; /* always valid */ - rrbp := dl_block.data_egprs.mac_hdr.rrbp; - } else if (ischosen(dl_block.data)) { - rrbp_valid := dl_block.data.mac_hdr.mac_hdr.rrbp_valid; - rrbp := dl_block.data.mac_hdr.mac_hdr.rrbp; - } else { - rrbp_valid := dl_block.ctrl.mac_hdr.rrbp_valid; - rrbp := dl_block.ctrl.mac_hdr.rrbp; - } - - /* Make sure that the given block really needs to be ACKnowledged */ - if (not rrbp_valid) { - setverdict(fail, "DL block shall not be ACKnowledged, field RRBP is not valid"); - f_shutdown(__BFILE__, __LINE__); - } - - return f_rrbp_ack_fn(dl_fn, rrbp); -} - testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT { var octetstring ra_id := enc_RoutingAreaIdentification(mp_gb_cfg.cell_id.ra_id); var GprsTlli tlli := 'FFFFFFFF'O; @@ -2038,15 +1478,6 @@ } } -private function f_pkt_paging_match_tmsi(in PacketPagingReq req, template GsmTmsi tmsi) -runs on RAW_PCU_Test_CT { - if (not match(req.repeated_pageinfo.cs.tmsi, tmsi)) { - setverdict(fail, "Mobile Identity (TMSI/P-TMSI) mismatch: ", - "expected: ", tmsi, "got: ", req.repeated_pageinfo.cs.tmsi); - f_shutdown(__BFILE__, __LINE__); - } -} - /* Test CS paging over the BTS<->PCU socket. * When a (class B or C, not A) MS has an active TBF (or is on the PDCH), the MS can not react on CS paging over CCCH. * Paging should be send on the PACCH. diff --git a/pcu/PCU_selftest.ttcn b/pcu/PCU_selftest.ttcn index 15cdd80..70138bf 100644 --- a/pcu/PCU_selftest.ttcn +++ b/pcu/PCU_selftest.ttcn @@ -25,6 +25,7 @@ import from RLCMAC_CSN1_Types all; import from RLCMAC_Types all; import from RLCMAC_Templates all; +import from GPRS_Components all; import from PCU_Tests all; type component dummy_CT extends BSSGP_Client_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieae27d6e707f79ec2145864ef5cd67ddbbec9314 Gerrit-Change-Number: 18333 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:21:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Add initial support for Packet Uplink Ack/nack EGPRS Struct In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 ) Change subject: Add initial support for Packet Uplink Ack/nack EGPRS Struct ...................................................................... Add initial support for Packet Uplink Ack/nack EGPRS Struct Some stuff like EGPRS Ack/Nack description is still not implemented, but it's enouh for now to be able to match against this kind of ACK blocks. Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn M pcu/GPRS_Components.ttcn 4 files changed, 102 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index 772df13..eebda7f 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -217,4 +217,32 @@ multi_block_alloc := omit }; + template UlAckNackGprs tr_UlAckNackGprs(template GprsTlli tlli := *) := { + ch_coding_cmd := ?, + ack_nack_desc := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + pkt_ta_present := ?, + pkt_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + }; + + template UlAckNackEgprs tr_UlAckNackEgprs(template GprsTlli tlli := *) := { + ch_coding_cmd := ?, + resegment := ?, + preemptive_tx := ?, + prr_retrans_req := ?, + arac_retrans_req := ?, + cont_res_tlli_present := ?, + cont_res_tlli := tlli, + tbf_est := ?, + pkt_ta_present := ?, + pkt_ta := *, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + pwr_ctrl_present := ?, + pwr_ctrl := * + }; + } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }; diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index d4c6efd..1f1fb0a 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -395,14 +395,44 @@ variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" variant (cont_res_tlli) "BYTEORDER(first)" }; + type record UlAckNackEgprs { + EgprsChCodingCommand ch_coding_cmd, + BIT1 resegment, + BIT1 preemptive_tx, + BIT1 prr_retrans_req, + BIT1 arac_retrans_req, + BIT1 cont_res_tlli_present, + GprsTlli cont_res_tlli optional, + BIT1 tbf_est, + BIT1 pkt_ta_present, + PacketTimingAdvance pkt_ta optional, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 pwr_ctrl_present, + PowerControlParameters pwr_ctrl optional + /* TODO: TS 44.060 12.3.1 EGPRS Ack/Nack Description */ + /* EgprsAckNackDescription ack_nack_desc, */ + /* BIT1 not_used('0'B) */ + /* TODO: Extension Bits, Rel5 ,... */ + } with { + variant (cont_res_tlli) "PRESENCE(cont_res_tlli_present = '1'B)" + variant (pkt_ta) "PRESENCE(pkt_ta_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" + variant (cont_res_tlli) "BYTEORDER(first)" + }; type record PacketUlAckNack { PageMode page_mode, BIT2 msg_excape ('00'B), uint5_t uplink_tfi, - BIT1 is_egprs ('0'B), /* msg escape */ - UlAckNackGprs gprs optional + BIT1 is_egprs, + UlAckNackGprs gprs optional, + UlAckNackEgprs egprs optional /* TODO: EGPRS */ - } with { variant (gprs) "PRESENCE(is_egprs = '0'B)" }; + } with { + variant (gprs) "PRESENCE(is_egprs = '0'B)" + variant (egprs) "PRESENCE(is_egprs = '1'B)" + }; /* 11.2.8 Packet Downlink Dummy Control Block */ type record PacketDlDummy { diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 1774197..0ffa840 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -508,7 +508,7 @@ } /* Receive Template for Uplink ACK/NACK */ - template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi, template GprsTlli tlli := ?) := { + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK(template uint5_t ul_tfi) := { ctrl := { mac_hdr := { payload_type := (MAC_PT_RLCMAC_NO_OPT, MAC_PT_RLCMAC_OPT), @@ -524,22 +524,44 @@ page_mode := ?, msg_excape := ?, uplink_tfi := ul_tfi, - is_egprs := '0'B, - gprs := { - ch_coding_cmd := ?, - ack_nack_desc := ?, - cont_res_tlli_present := ?, - cont_res_tlli := tlli, - pkt_ta_present := ?, - pkt_ta := *, - pwr_ctrl_present := ?, - pwr_ctrl := * - } + is_egprs := ?, + gprs := *, + egprs := * } } } } - } + }; + + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK_GPRS(template uint5_t ul_tfi, template UlAckNackGprs gprs := tr_UlAckNackGprs(*)) + modifies tr_RLCMAC_UL_ACK_NACK := { + ctrl := { + payload := { + u := { + ul_ack_nack := { + is_egprs := '0'B, + gprs := gprs, + egprs := omit + } + } + } + } + }; + + template RlcmacDlBlock tr_RLCMAC_UL_ACK_NACK_EGPRS(template uint5_t ul_tfi, template UlAckNackEgprs egprs := tr_UlAckNackEgprs(*)) + modifies tr_RLCMAC_UL_ACK_NACK := { + ctrl := { + payload := { + u := { + ul_ack_nack := { + is_egprs := '1'B, + gprs := omit, + egprs := egprs + } + } + } + } + }; template RlcmacDlBlock tr_RLCMAC_PACKET_PAG_REQ(template uint3_t usf := ?) := { ctrl := { diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index c3ec440..cbb6cda 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -418,12 +418,13 @@ var uint32_t dl_fn; f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK(ul_tfi := ?, tlli := ?))) { - setverdict(fail, "Failed to match Packet Uplink ACK / NACK"); - f_shutdown(__BFILE__, __LINE__); + if (match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) or + match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + return; } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); } function f_rx_rlcmac_dl_block_exp_dummy(out RlcmacDlBlock dl_block) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8066fba0e71911f0c6344c1540a501f1853daa7f Gerrit-Change-Number: 18335 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:21:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Expect UL ACK/NACK after all UL data is transmitted In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 ) Change subject: pcu: Expect UL ACK/NACK after all UL data is transmitted ...................................................................... pcu: Expect UL ACK/NACK after all UL data is transmitted This is needed since osmo-pcu.git I9b4ef7b7277efa645bdb5becf2e9f6b32c99a9b1, where a bug was fixed in which osmo-pcu was not sending UL ACK/NACK under some conditions. Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 --- M pcu/PCU_Tests.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5193369..22e3c1f 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1022,6 +1022,7 @@ var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; + var uint32_t unused_fn; var OCT4 tlli := '00000001'O; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); var CodingScheme cs_mcs; @@ -1087,6 +1088,9 @@ /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + /* PCU acks the UL data after having received CV=0) */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + /* After acking the dl assignment, dl tbf goes into FLOW state and PCU will provide DL data when BTS asks for it */ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a58b3984a96b432b2cb5300fc8a4261133a4f69 Gerrit-Change-Number: 18336 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:22:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:22:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 ) Change subject: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf Gerrit-Change-Number: 18369 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:22:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:24:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:24:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 66 PS1, Line 66: GprsTlli tlli minor whitespace -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:24:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected results In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 ) Change subject: update expected results ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856 Gerrit-Change-Number: 18366 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:25:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare-results.py: use python3, python is no longer available in our... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 ) Change subject: compare-results.py: use python3, python is no longer available in our build images ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb Gerrit-Change-Number: 18367 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:25:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare_results.py: use ansi colors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 ) Change subject: compare_results.py: use ansi colors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473 Gerrit-Change-Number: 18368 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:25:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: update expected results In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 ) Change subject: update expected results ...................................................................... update expected results Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856 --- M bsc/expected-results.xml M bts/expected-results.xml M hlr/expected-results.xml M mgw/expected-results.xml M msc/expected-results.xml M pcu/expected-results.xml M sgsn/expected-results.xml M sip/expected-results.xml 8 files changed, 354 insertions(+), 106 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index e266660..1d4f5d7 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -1,9 +1,8 @@ - + - @@ -38,6 +37,23 @@ + + + + + + + + + + + + + + + + + @@ -94,6 +110,13 @@ + + + + + + + @@ -106,23 +129,6 @@ - - - - - - - - - - - - - - - - - @@ -137,4 +143,81 @@ + + Could not connect to CBSP port, check your configuration + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_bsc_server testcase + + + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_bss testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_bts_cgi testcase + + + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lac_ci testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_ci testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lai testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_lac testcase + + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_then_replace testcase + + + + + + + Dynamic test case error: Performing lengthof() operation on a template of type @CBSP_Types.CBSP_IEs with no exact length. + + + Received unexpected CBSP + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_write_then_reset testcase + + + + + Received unexpected OSMO_ETWS_CMD + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_emerg_write_bts_cgi_cchan testcase + + + + Received unexpected OSMO_ETWS_CMD + BSC_Tests_CBSP.ttcn:MASKED BSC_Tests_CBSP control part + BSC_Tests_CBSP.ttcn:MASKED TC_cbsp_emerg_write_bts_cgi_cchan_disable testcase + + diff --git a/bts/expected-results.xml b/bts/expected-results.xml index 7d89da3..a03e16b 100644 --- a/bts/expected-results.xml +++ b/bts/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -9,9 +9,36 @@ + + + "BTS_Tests.ttcn:MASKED : Unexpected RSL message received" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_sacch_chan_act_ho_async testcase + + + + "BTS_Tests.ttcn:MASKED : Unexpected RSL message received" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_sacch_chan_act_ho_sync testcase + + + + + Unexpected RACH LOAD IND: { streamId := IPAC_PROTO_RSL_TRX0 (0), rsl := { msg_disc := { msg_group := RSL_MDISC_CCHAN (6), transparent := false }, msg_type := RSL_MT_CCCH_LOAD_IND (18), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_RACH (17) }, tn := 0 } } }, { iei := RSL_IE_RACH_LOAD (18), body := { rach_load := { len := 6, slot_count := 0, busy_count := 0, access_count := 0 } } } } } } + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rach_load_idle_thresh0 testcase + + + + + Unexpected RACH LOAD IND: { streamId := IPAC_PROTO_RSL_TRX0 (0), rsl := { msg_disc := { msg_group := RSL_MDISC_CCHAN (6), transparent := false }, msg_type := RSL_MT_CCCH_LOAD_IND (18), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_RACH (17) }, tn := 0 } } }, { iei := RSL_IE_RACH_LOAD (18), body := { rach_load := { len := 6, slot_count := 0, busy_count := 0, access_count := 0 } } } } } } + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rach_load_count testcase + + "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { lm := { tag := '0001'B, sub_chan := 0 } }, tn := 5 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 1 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" @@ -19,25 +46,38 @@ BTS_Tests.ttcn:MASKED TC_meas_res_sign_tchh testcase - - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { sdcch4 := { tag := '001'B, sub_chan := 0 } }, tn := 0 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 14 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 7, reserved1 := '00'B, rxlev_s_u := 7, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" - BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_sdcch4 testcase - - - - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { sdcch8 := { tag := '01'B, sub_chan := 0 } }, tn := 6 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 14 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 7, reserved1 := '00'B, rxlev_s_u := 7, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" - BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_sdcch8 testcase - - + + - "BTS_Tests.ttcn:MASKED : Received unspecific MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { lm := { tag := '0001'B, sub_chan := 0 } }, tn := 5 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 1 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 11, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 7, rxq_s_u := 7, supp_meas_info := { toa256_mean := 512, toa256_min := 512, toa256_max := 512, toa256_std_dev := 0 } } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 6, payload := '061539390000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" + + + + "BTS_Tests.ttcn:MASKED : Received wrong BS power level in MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_Bm_ACCH (1) }, tn := 1 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 0 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 0, rxq_s_u := 0, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 18, payload := '0615363601C0000000000000000000000000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" BTS_Tests.ttcn:MASKED BTS_Tests control part - BTS_Tests.ttcn:MASKED TC_meas_res_sign_tchh_toa256 testcase + BTS_Tests.ttcn:MASKED TC_rsl_bs_pwr_static_ass testcase + + + + "BTS_Tests.ttcn:MASKED : Received wrong BS power level in MEAS RES { msg_disc := { msg_group := RSL_MDISC_DCHAN (4), transparent := false }, msg_type := RSL_MT_MEAS_RES (40), ies := { { iei := RSL_IE_CHAN_NR (1), body := { chan_nr := { u := { ch0 := RSL_CHAN_NR_Bm_ACCH (1) }, tn := 1 } } }, { iei := RSL_IE_MEAS_RES_NR (27), body := { meas_res_nr := 0 } }, { iei := RSL_IE_UPLINK_MEAS (25), body := { uplink_meas := { len := 3, rfu := '0'B, dtx_d := false, rxlev_f_u := 10, reserved1 := '00'B, rxlev_s_u := 10, reserved2 := '00'B, rxq_f_u := 0, rxq_s_u := 0, supp_meas_info := omit } } }, { iei := RSL_IE_BS_POWER (4), body := { bs_power := { reserved := 0, epc := false, fpc := false, power_level := 0 } } }, { iei := RSL_IE_L1_INFO (10), body := { l1_info := { ms_power_lvl := 7, fpc := false, reserved := 0, actual_ta := 0 } } }, { iei := RSL_IE_L3_INFO (11), body := { l3_info := { len := 18, payload := '0615363601C0000000000000000000000000'O } } }, { iei := RSL_IE_MS_TIMING_OFFSET (37), body := { ms_timing_offset := 65 } } } }" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rsl_bs_pwr_static_power_control testcase + + + + + + + + + + "BTS_Tests.ttcn:MASKED : BTS shouldn't be able to decrypt after key change" + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_rsl_modify_encr testcase + + @@ -66,28 +106,56 @@ - - - - - no verdict - - - + + + + + + + Could not connect IPA socket from "" port 0 to "127.0.0.1" port 4249; check your configuration + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_oml_alert testcase + + + + + + + + SYSTEM_INFORMATION_TYPE_4 (28) indicates GPRS even before PCU socket connected + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_noconnect_nosi4gprs testcase + + + + + + + SYSTEM_INFORMATION_TYPE_4 (28) indicates GPRS after PCU socket disconnected + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_disconnect_nosi4gprs testcase + + + + Expected cell_id '23' and got '0'. This either means, that the BTS is sending the wrong cell_id, or that the BTS sent it too early (OS#4179) + BTS_Tests.ttcn:MASKED BTS_Tests control part + BTS_Tests.ttcn:MASKED TC_pcu_socket_verify_info_ind testcase + + - + + + - - @@ -106,6 +174,9 @@ + + + @@ -116,4 +187,65 @@ + + + + + + + + + + + + + + + + + + Initial SABM/UA must contain L3 payload but BTS accepts without + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_sabm_ua_dcch_sapi0_nopayload testcase + + + + + + + + Incorrect number of SABM re-transmissions of observed: 7 + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_sabm_retransmit_bts testcase + + + + + + + + + Missing second REJ + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_ns_seq_error testcase + + + + Missing DISC from BTS + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_nr_seq_error testcase + + + + + + + "BTS_Tests.ttcn:MASKED : Tguard timeout" + BTS_Tests_LAPDm.ttcn:MASKED BTS_Tests_LAPDm control part + BTS_Tests_LAPDm.ttcn:MASKED TC_t200_n200 testcase + + + + + diff --git a/hlr/expected-results.xml b/hlr/expected-results.xml index b7d2773..7f1c277 100644 --- a/hlr/expected-results.xml +++ b/hlr/expected-results.xml @@ -1,10 +1,14 @@ - + + + + + @@ -13,12 +17,15 @@ + + + diff --git a/mgw/expected-results.xml b/mgw/expected-results.xml index 8975f78..0a1bdac 100644 --- a/mgw/expected-results.xml +++ b/mgw/expected-results.xml @@ -1,8 +1,6 @@ - - - no verdict - + + @@ -50,4 +48,5 @@ + diff --git a/msc/expected-results.xml b/msc/expected-results.xml index 2d24d43..93d24c0 100644 --- a/msc/expected-results.xml +++ b/msc/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -9,6 +9,7 @@ Timeout waiting for ClearCommand/Release + MSC_Tests.ttcn:MASKED MSC_Tests control part MSC_Tests.ttcn:MASKED TC_lu_imsi_timeout_tmsi_realloc testcase @@ -51,9 +52,12 @@ + + + @@ -122,22 +126,15 @@ + + - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_reject testcase - - - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_timeout_gsup testcase - - + + Timeout waiting for ClearCommand/Release + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_imsi_timeout_tmsi_realloc testcase @@ -147,12 +144,8 @@ MSC_Tests_Iu.ttcn:MASKED TC_iu_cmserv_imsi_unknown testcase - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mo_call testcase - - + + @@ -162,33 +155,27 @@ - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_emerg_call_imsi testcase - - + - - Timeout waiting for channel release - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_mo_crcx_ran_reject testcase - - + - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_gsup_cancel testcase - - + + + + + + UTRAN: Expected a second Paging + MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part + MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mt_sms_paging_repeated testcase + + @@ -198,18 +185,8 @@ - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mo_ussd_during_mt_call testcase - - - - Tguard timeout - MSC_Tests_Iu.ttcn:MASKED MSC_Tests_Iu control part - MSC_Tests_Iu.ttcn:MASKED TC_iu_lu_and_mt_ussd_during_mt_call testcase - - + + diff --git a/pcu/expected-results.xml b/pcu/expected-results.xml index e9610bd..ddee7ec 100644 --- a/pcu/expected-results.xml +++ b/pcu/expected-results.xml @@ -1,7 +1,47 @@ - - - - - + + + + + + Timing Advance value doesn't match + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_idle_dl_tbf_ass testcase + + + + Failed to match Timing Advance Index for #0 + PCU_Tests.ttcn:MASKED PCU_Tests control part + PCU_Tests.ttcn:MASKED TC_ta_ptcch_ul_multi_tbf testcase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sgsn/expected-results.xml b/sgsn/expected-results.xml index 8381064..39d5529 100644 --- a/sgsn/expected-results.xml +++ b/sgsn/expected-results.xml @@ -1,5 +1,5 @@ - + @@ -61,6 +61,15 @@ + + + + + + + + + diff --git a/sip/expected-results.xml b/sip/expected-results.xml index c704f85..2ac1ec5 100644 --- a/sip/expected-results.xml +++ b/sip/expected-results.xml @@ -1,7 +1,8 @@ - + + -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856 Gerrit-Change-Number: 18366 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare-results.py: use python3, python is no longer available in our... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 ) Change subject: compare-results.py: use python3, python is no longer available in our build images ...................................................................... compare-results.py: use python3, python is no longer available in our build images Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb --- M compare-results.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/compare-results.py b/compare-results.py index d1adb20..556a063 100755 --- a/compare-results.py +++ b/compare-results.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright 2018 sysmocom - s.f.m.c. GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I268980c8a2b0a4e826c0c488ce6315462c01cabb Gerrit-Change-Number: 18367 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:25:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:25:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: compare_results.py: use ansi colors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 ) Change subject: compare_results.py: use ansi colors ...................................................................... compare_results.py: use ansi colors Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473 --- M compare-results.py 1 file changed, 16 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/compare-results.py b/compare-results.py index 556a063..ff5004e 100755 --- a/compare-results.py +++ b/compare-results.py @@ -22,13 +22,22 @@ re_testcase_end = re.compile(r'''(|]*/>)''') re_failure = re.compile(r'''(FAIL') +RESULT_SKIP = col(BLUE, 'skip') +RESULT_XFAIL = col(YELLOW, 'xfail') +RESULT_FIXED = col(GREEN, 'xfail->PASS') +RESULT_NEW_PASS = col(GREEN, 'NEW: PASS') +RESULT_NEW_FAIL = col(RED, 'NEW: FAIL') RESULTS = ( RESULT_FAIL, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2cfabc1364c53e6ee18b9471dcd7c681407d0473 Gerrit-Change-Number: 18368 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:37:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:37:40 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18272/2/contrib/libosmocore.spec.in File contrib/libosmocore.spec.in: https://gerrit.osmocom.org/c/libosmocore/+/18272/2/contrib/libosmocore.spec.in at 291 PS2, Line 291: equires: pkgconfig(libusb-1.0) do we know (or at least assume) this change still build on SuSE? If not, I think an %if/else clause should be used instead. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Tue, 19 May 2020 19:37:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:09 +0000 Subject: Change in osmo-bts[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18287 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1 Gerrit-Change-Number: 18287 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:14 +0000 Subject: Change in osmo-bts[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18287 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1 --- A contrib/osmo-bts.spec 1 file changed, 116 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-bts.spec b/contrib/osmo-bts.spec new file mode 100644 index 0000000..2a423b2 --- /dev/null +++ b/contrib/osmo-bts.spec @@ -0,0 +1,116 @@ +# +# spec file for package osmo-bts +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-bts +Version: 1.2.0.49 +Release: 0 +Summary: Osmocom BTS-Side code (Abis, scheduling) +License: AGPL-3.0-or-later AND GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmobts/wiki/Wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.2.0 +BuildRequires: pkgconfig(libosmocoding) >= 1.2.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmotrau) >= 0.6.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +### FIXME: DependencyHACK to include osmocom/gprs/protocol/gsm_04_60.h +BuildRequires: pkgconfig(libosmogb) + +%description +Osmocom BTS-Side code (A-bis, scheduling). + +%package -n osmo-bts-virtual +Summary: Virtual Osmocom GSM BTS (no RF hardware; GSMTAP/UDP) +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description -n osmo-bts-virtual +This version of OsmoBTS doesn't use actual GSM PHY/Hardware/RF, but +utilizes GSMTAP-over-UDP frames for the Um interface. This is useful +in fully virtualized setups e.g. in combination with OsmocomBB virt_phy. + +%package -n osmo-bts-omldummy +Summary: Osmocom CI: Bring up only OML without RSL +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description -n osmo-bts-omldummy +This is used only in integration testing, where in the TTCN-3 testsuite +we currently have no A-bis OML implementation, but only a RSL one. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --enable-trx +make V=1 %{?_smp_mflags} + +%install +%make_install + +%pre %service_add_pre osmo-bts-trx.service +%post %service_add_post osmo-bts-trx.service +%preun %service_del_preun osmo-bts-trx.service +%postun %service_del_postun osmo-bts-trx.service +%pre virtual %service_add_pre osmo-bts-virtual.service +%post virtual %service_add_post osmo-bts-virtual.service +%preun virtual %service_del_preun osmo-bts-virtual.service +%postun virtual %service_del_postun osmo-bts-virtual.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.md +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-bts-trx +%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx-calypso.cfg +%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx.cfg +%dir %{_docdir}/%{name}/examples/osmo-bts-virtual +%{_docdir}/%{name}/examples/osmo-bts-virtual/openbsc-virtual.cfg +%{_docdir}/%{name}/examples/osmo-bts-virtual/osmo-bts-virtual.cfg +%{_bindir}/osmo-bts-trx +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bts-trx.cfg +%{_unitdir}/osmo-bts-trx.service + +%files -n osmo-bts-virtual +%{_bindir}/osmo-bts-virtual +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bts-virtual.cfg +%{_unitdir}/osmo-bts-virtual.service + +%files -n osmo-bts-omldummy +%{_bindir}/osmo-bts-omldummy + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I932d5965a713a3018d8819d1b244ff8ca3144fb1 Gerrit-Change-Number: 18287 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:18 +0000 Subject: Change in osmo-pcu[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18304 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4da70814357a326842de52b33934819d3ea133d8 Gerrit-Change-Number: 18304 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:23 +0000 Subject: Change in osmo-pcu[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18304 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I4da70814357a326842de52b33934819d3ea133d8 --- A contrib/osmo-pcu.spec 1 file changed, 82 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-pcu.spec b/contrib/osmo-pcu.spec new file mode 100644 index 0000000..0232b32 --- /dev/null +++ b/contrib/osmo-pcu.spec @@ -0,0 +1,82 @@ +# +# spec file for package osmo-pcu +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-pcu +Version: 0.8.0.126 +Release: 0 +Summary: Osmocom GPRS Packet Control Unit (PCU) +License: GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmopcu/wiki/OsmoPCU +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmocore) >= 1.1.0 +BuildRequires: pkgconfig(libosmogb) >= 1.1.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 +BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +%{?systemd_requires} + +%description +Osmocom PCU code (RLC/MAC/PCU) for OpenBTS and OsmoBTS. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --enable-shared \ + --disable-static \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.md +%doc %{_docdir}/%{name}/examples +%{_bindir}/osmo-pcu +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcu.cfg +%{_unitdir}/%{name}.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4da70814357a326842de52b33934819d3ea133d8 Gerrit-Change-Number: 18304 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:27 +0000 Subject: Change in osmo-trx[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18312 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 Gerrit-Change-Number: 18312 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:32 +0000 Subject: Change in osmo-trx[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18312 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 --- A contrib/osmo-trx.spec 1 file changed, 189 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/osmo-trx.spec b/contrib/osmo-trx.spec new file mode 100644 index 0000000..2e5989d --- /dev/null +++ b/contrib/osmo-trx.spec @@ -0,0 +1,189 @@ +# +# spec file for package osmo-trx +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-trx +Version: 1.2.0.33 +Release: 0 +Summary: SDR transceiver that implements Layer 1 of a GSM BTS +License: AGPL-3.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmotrx/wiki/OsmoTRX +Source: %{name}-%{version}.tar.xz +Source99: osmo-trx-rpmlintrc +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(LimeSuite) +BuildRequires: pkgconfig(fftw3f) +BuildRequires: pkgconfig(libosmocore) >= 0.12.0 +BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 +BuildRequires: pkgconfig(libosmovty) >= 0.12.0 +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(uhd) +BuildRequires: pkgconfig(usrp) >= 3.3 +%{?systemd_requires} +%if 0%{?suse_version} > 1325 +BuildRequires: libboost_program_options-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_test-devel +BuildRequires: libboost_thread-devel +%else +BuildRequires: boost-devel +%endif + +%description +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package uhd +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (UHD) +Group: Productivity/Telephony/Servers + +%description uhd +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package usrp1 +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1) +Group: Productivity/Telephony/Servers + +%description usrp1 +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%package lms +Summary: SDR transceiver that implements Layer 1 of a GSM BTS (LimeSuite) +Group: Productivity/Telephony/Servers + +%description lms +OsmoTRX is a software-defined radio transceiver that implements the Layer 1 +physical layer of a BTS comprising the following 3GPP specifications: + +TS 05.01 "Physical layer on the radio path" +TS 05.02 "Multiplexing and Multiple Access on the Radio Path" +TS 05.04 "Modulation" +TS 05.10 "Radio subsystem synchronization" + +In this context, BTS is "Base transceiver station". It's the stations that +connect mobile phones to the mobile network. + +3GPP is the "3rd Generation Partnership Project" which is the collaboration +between different telecommunication associations for developing new +generations of mobile phone networks. (post-2G/GSM) + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} \ + --with-lms \ + --with-uhd \ + --with-usrp1 + +make %{?_smp_mflags} V=1 + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%install +%make_install +%fdupes -s %{buildroot}/%{_datadir} + +%pre lms %service_add_pre osmo-trx-lms.service +%post lms %service_add_post osmo-trx-lms.service +%preun lms %service_del_preun osmo-trx-lms.service +%postun lms %service_del_postun osmo-trx-lms.service +%pre uhd %service_add_pre osmo-trx-uhd.service +%post uhd %service_add_post osmo-trx-uhd.service +%preun uhd %service_del_preun osmo-trx-uhd.service +%postun uhd %service_del_postun osmo-trx-uhd.service +%pre usrp1 %service_add_pre osmo-trx-usrp1.service +%post usrp1 %service_add_post osmo-trx-usrp1.service +%preun usrp1 %service_del_preun osmo-trx-usrp1.service +%postun usrp1 %service_del_postun osmo-trx-usrp1.service + +%files +%license COPYING +%doc README.md +%doc %{_docdir}/%{name}/examples + +%files lms +%{_bindir}/osmo-trx-lms +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-trx-lms.cfg +%{_unitdir}/osmo-trx-lms.service + +%files uhd +%{_bindir}/osmo-trx-uhd +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg +%{_unitdir}/osmo-trx-uhd.service + +%files usrp1 +%{_bindir}/osmo-trx-usrp1 +%dir %{_datadir}/usrp +%dir %{_datadir}/usrp/rev2 +%dir %{_datadir}/usrp/rev4 +%{_datadir}/usrp/rev2/std_inband.rbf +%{_datadir}/usrp/rev4/std_inband.rbf +%{_unitdir}/osmo-trx-usrp1.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I694fcd888778ab68d13165f4d0bf65e5d6870fb4 Gerrit-Change-Number: 18312 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:34 +0000 Subject: Change in simtrace2[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18314 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f Gerrit-Change-Number: 18314 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:38 +0000 Subject: Change in simtrace2[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18314 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f --- A host/contrib/simtrace2.spec 1 file changed, 103 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/contrib/simtrace2.spec b/host/contrib/simtrace2.spec new file mode 100644 index 0000000..c1bb325 --- /dev/null +++ b/host/contrib/simtrace2.spec @@ -0,0 +1,103 @@ +# +# spec file for package simtrace2 +# +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: simtrace2 +Version: 0.7.0.57 +Release: 0 +Summary: Osmocom SIMtrace host utility +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +URL: https://osmocom.org/projects/simtrace2/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libosmocore) +BuildRequires: pkgconfig(libosmosim) +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libosmousb) >= 0.0.0 +BuildRequires: pkgconfig(udev) + +%description +Osmocom SIMtrace 2 is a software and hardware system for passively +tracing SIM-ME communication between the SIM card and the mobile phone, +and remote SIM operation. + +This package contains SIMtrace 2 host utility. + +%package -n libosmo-simtrace2-0 +Summary: Shared Library part of libosmo-simtrace2 +Group: System/Libraries + +%description -n libosmo-simtrace2-0 +This library contains core "driver" functionality to interface with the +Osmocom SIMtrace2 (and compatible) USB device firmware. It enables +applications to implement SIM card / smart card tracing as well as +SIM / smart card emulation functions. + +%package -n libosmo-simtrace2-devel +Summary: Development files for the Osmocom SIMtrace2 library +Group: Development/Libraries/C and C++ +Requires: libosmo-simtrace2-0 = %{version} + +%description -n libosmo-simtrace2-devel +Osmocom SIMtrace2 (and compatible) USB device firmware. It enables +applications to implement SIM card / smart card tracing as well as +SIM / smart card emulation functions. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-simtrace2. + +%prep +%setup -q + +%build +cd host +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure --disable-static +make %{?_smp_mflags} + +%install +%make_install -C host +install -Dm0644 host/contrib/99-simtrace2.rules %{buildroot}/%{_udevrulesdir}/99-simtrace2.rules +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n libosmo-simtrace2-0 -p /sbin/ldconfig +%postun -n libosmo-simtrace2-0 -p /sbin/ldconfig + +%files +%doc README.md +%{_bindir}/simtrace2-remsim +%{_bindir}/simtrace2-remsim-usb2udp +%{_bindir}/simtrace2-list +%{_bindir}/simtrace2-sniff +%{_udevrulesdir}/99-simtrace2.rules + +%files -n libosmo-simtrace2-0 +%{_libdir}/libosmo-simtrace2.so.0* + +%files -n libosmo-simtrace2-devel +%dir %{_includedir}/osmocom/ +%dir %{_includedir}/osmocom/simtrace2/ +%{_includedir}/osmocom/simtrace2/*.h +%{_libdir}/libosmo-simtrace2.so +%{_libdir}/pkgconfig/libosmo-simtrace2.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I47ae01afb38fb18c462bf73501b49d6dc5d9f57f Gerrit-Change-Number: 18314 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:50 +0000 Subject: Change in osmo-hlr[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18294 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icb6f4335d5157f058b39701e9fcb332264911ba3 Gerrit-Change-Number: 18294 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:52 +0000 Subject: Change in osmo-hlr[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18294 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Icb6f4335d5157f058b39701e9fcb332264911ba3 --- A contrib/osmo-hlr.spec 1 file changed, 189 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-hlr.spec b/contrib/osmo-hlr.spec new file mode 100644 index 0000000..3b5a9fa --- /dev/null +++ b/contrib/osmo-hlr.spec @@ -0,0 +1,189 @@ +# +# spec file for package osmo-hlr +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-hlr +Version: 1.2.0.48 +Release: 0 +Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://projects.osmocom.org/projects/osmo-hlr +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: python2 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(talloc) >= 2.0.1 +# only needed for populate_hlr_db.pl +Requires: libdbi-drivers-dbd-sqlite3 + +%description +The GSUP HLR is a stand-alone HLR (Home Location Register) for SIM +and USIM based subscribers which exposes the GSUP protocol towards +its users. OsmoSGSN supports this protocol. + +osmo-gsup-hlr is still very simplistic. It is a single-threaded +architecture and uses only sqlite3 tables as back-end. It is suitable +for installations of the scale that OsmoNITB was able to handle. It +also lacks various features like fine-grained control of subscribed +services (like supplementary services). + +%package -n libosmo-gsup-client0 +Summary: Osmocom GSUP (General Subscriber Update Protocol) client library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-gsup-client0 +This is a shared library that can be used to implement client programs for +the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN +and External USSD Entities (EUSEs) using this library to implement clients. + +%package -n libosmo-gsup-client-devel +Summary: Development files for the Osmocom GSUP client library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-gsup-client0 = %{version} + +%description -n libosmo-gsup-client-devel +This is a shared library that can be used to implement client programs for +the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN +and External USSD Entities (EUSEs) using this library to implement clients. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-gsup-client. + +%package -n libosmo-mslookup0 +Summary: Osmocom MS lookup library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-mslookup0 +This shared library contains routines for looking up mobile subscribers. + +%package -n libosmo-mslookup-devel +Summary: Development files for the Osmocom MS lookup library +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-mslookup0 = %{version} + +%description -n libosmo-mslookup-devel +This shared library contains routines for looking up mobile subscribers. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mslookup. + + +%package -n osmo-mslookup-client +Summary: Standalone program using libosmo-mslookup +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ + +%description -n osmo-mslookup-client +Standalone program using libosmo-mslookup to easily integrate with programs +that want to connect services (SIP, SMS,...) to the current location of a +subscriber. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --enable-shared \ + --disable-static +make V=1 %{?_smp_mflags} + +%install +%make_install +install -d "%{buildroot}/%{_localstatedir}/lib/osmocom" +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%post -n libosmo-gsup-client0 -p /sbin/ldconfig +%postun -n libosmo-gsup-client0 -p /sbin/ldconfig +%post -n libosmo-mslookup0 -p /sbin/ldconfig +%postun -n libosmo-mslookup0 -p /sbin/ldconfig + +%files +%license COPYING +%dir %{_docdir}/%{name} +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-hlr.cfg +%{_docdir}/%{name}/examples/osmo-hlr-dgsm.cfg +%dir %{_docdir}/%{name}/sql +%{_docdir}/%{name}/sql/hlr.sql +%{_docdir}/%{name}/sql//hlr_data.sql +%dir %{_sysconfdir}/osmocom +%dir %{_localstatedir}/lib/osmocom +%{_bindir}/osmo-hlr +%{_bindir}/osmo-hlr-db-tool +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-hlr.cfg +%{_unitdir}/osmo-hlr.service + +%files -n libosmo-gsup-client0 +%{_libdir}/libosmo-gsup-client.so.0* + +%files -n libosmo-gsup-client-devel +%{_bindir}/osmo-euse-demo +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/gsupclient +%{_includedir}/osmocom/gsupclient/*.h +%{_libdir}/libosmo-gsup-client.so +%{_libdir}/pkgconfig/libosmo-gsup-client.pc + +%files -n libosmo-mslookup0 +%{_libdir}/libosmo-mslookup.so.0* + +%files -n libosmo-mslookup-devel +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mslookup +%{_includedir}/osmocom/mslookup/*.h +%{_libdir}/libosmo-mslookup.so +%{_libdir}/pkgconfig/libosmo-mslookup.pc + +%files -n osmo-mslookup-client +%{_bindir}/osmo-mslookup-client + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Icb6f4335d5157f058b39701e9fcb332264911ba3 Gerrit-Change-Number: 18294 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:38:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:38:57 +0000 Subject: Change in osmo-bsc[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18289 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78 Gerrit-Change-Number: 18289 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:38:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:39:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:39:00 +0000 Subject: Change in osmo-bsc[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18289 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78 --- A contrib/osmo-bsc.spec 1 file changed, 145 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-bsc.spec b/contrib/osmo-bsc.spec new file mode 100644 index 0000000..1aa4baf --- /dev/null +++ b/contrib/osmo-bsc.spec @@ -0,0 +1,145 @@ +# +# spec file for package osmo-bsc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4113 +%define _lto_cflags %{nil} + + +Name: osmo-bsc +Version: 1.6.0.78 +Release: 0 +Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/openbsc/wiki/Osmo-bsc +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.5.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 0.10.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(talloc) +%{?systemd_requires} + +%description +OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks. + +%package abisip-find +Summary: CLI utility to find ip.access compatible BTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description abisip-find +Command line utility to find ip.access compatible BTS. + +%package ipaccess-utils +Summary: Command line utilities for ip.access nanoBTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description ipaccess-utils +This package contains utilities that are specific for nanoBTS when being +used together with OpenBSC. It contains mainly two tools: ipaccess-config +and ipaccess-proxy. + +%package bs11-utils +Summary: Command line utilities for Siemens BS-11 BTS +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description bs11-utils +There is a tool in this package for configuring the Siemens BS-11 BTS. +Additionally, it contains one tool for making use of an ISDN-card and the +public telephone network as frequency standard for the E1 line. + +%package meas-utils +Summary: Command line utilities for OsmoBSC's measurement reports +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities + +%description meas-utils +This package contains utilities for handling OsmoBSC's measurement reports + * meas_json to convert measurement feed into a JSON feed + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%{_bindir}/osmo-bsc +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-bsc +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc.cfg +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg +%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc-minimal.cfg +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-bsc.cfg +%{_unitdir}/%{name}.service + +%files abisip-find +%{_bindir}/abisip-find + +%files ipaccess-utils +%{_bindir}/ipaccess-config +%{_bindir}/ipaccess-proxy + +%files bs11-utils +%{_bindir}/bs11_config +%{_bindir}/isdnsync + +%files meas-utils +%{_bindir}/meas_json + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78 Gerrit-Change-Number: 18289 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:39:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:39:37 +0000 Subject: Change in libosmo-abis[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18274 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3e135e5e7807688366598a24e121550d6292906c Gerrit-Change-Number: 18274 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:39:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:39:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:39:53 +0000 Subject: Change in libosmo-abis[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18274 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I3e135e5e7807688366598a24e121550d6292906c --- M .gitignore M configure.ac R contrib/libosmo-abis.spec.in 3 files changed, 5 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 08b34f1..2eee9cd 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ # vi/vim files *.sw? + +contrib/libosmo-abis.spec diff --git a/configure.ac b/configure.ac index 1e9cb26..f095cf5 100644 --- a/configure.ac +++ b/configure.ac @@ -167,4 +167,5 @@ include/Makefile src/Makefile tests/Makefile - Makefile) + Makefile + contrib/libosmo-abis.spec) diff --git a/contrib/libosmo-abis.spec b/contrib/libosmo-abis.spec.in similarity index 95% rename from contrib/libosmo-abis.spec rename to contrib/libosmo-abis.spec.in index ac91c60..3ad36b1 100644 --- a/contrib/libosmo-abis.spec +++ b/contrib/libosmo-abis.spec.in @@ -12,14 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 0.8.0.26 - Name: libosmo-abis -Version: 0.8.0.26 +Version: @VERSION@ Release: 0 Summary: Osmocom library for A-bis interface between BTS and BSC License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -27,7 +21,6 @@ Url: https://osmocom.org/projects/libosmo-abis/wiki/Libosmo-abis Source: %name-%version.tar.xz -Patch1: osmo-talloc.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: automake >= 1.6 #BuildRequires: dahdi-linux-devel @@ -103,7 +96,6 @@ %prep %setup -q -%patch -P 1 -p1 -F2 %build echo "%version" >.tarball-version -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I3e135e5e7807688366598a24e121550d6292906c Gerrit-Change-Number: 18274 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:40:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:40:54 +0000 Subject: Change in libosmo-sccp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 Gerrit-Change-Number: 18278 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:40:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:40:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:40:57 +0000 Subject: Change in libosmo-sccp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Do not try to build libsscp, libmtp and libxua as shared libraries. The imported spec file patched the source with "0001-build-fixes.patch" (not imported) and packaged resulting so files. However, these libraries are legacy and built statically on purpose, as it's stated on the wiki page: https://osmocom.org/projects/libosmo-sccp/wiki Related: OS#4550 Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 --- M .gitignore M configure.ac R contrib/libosmo-sccp.spec.in 3 files changed, 14 insertions(+), 64 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 848c94c..252f6f5 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,5 @@ doc/html.tar doc/libosmo-sigtran.tag doc/sigtran + +contrib/libosmo-sccp.spec diff --git a/configure.ac b/configure.ac index fdd6941..33b71b7 100644 --- a/configure.ac +++ b/configure.ac @@ -203,5 +203,6 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/libosmo-sccp.spec Doxyfile Makefile) diff --git a/contrib/libosmo-sccp.spec b/contrib/libosmo-sccp.spec.in similarity index 69% rename from contrib/libosmo-sccp.spec rename to contrib/libosmo-sccp.spec.in index 11d661c..b4d7722 100644 --- a/contrib/libosmo-sccp.spec +++ b/contrib/libosmo-sccp.spec.in @@ -12,30 +12,27 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - -%define libversion %(echo "%{version}" |sed 's/\\./_/g') Name: libosmo-sccp -Version: 1.2.0.36 +Version: @VERSION@ Release: 0 Summary: Osmocom library for the A-bis interface between BTS and BSC License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Hardware/Mobile -URL: https://projects.osmocom.org/projects/libosmo-sccp -#Git-Clone: git://git.osmocom.org/libosmo-sccp +URL: https://osmocom.org/projects/libosmo-sccp Source: %{name}-%{version}.tar.xz -Patch0: 0001-build-fixes.patch BuildRequires: automake >= 1.6 BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: xz BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 BuildRequires: pkgconfig(libosmocore) >= 1.0.0 BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +%{?systemd_requires} %description SCCP is a network layer protocol that provides extended routing, flow @@ -43,22 +40,10 @@ facilities in Signaling System 7 telecommunications networks. SCCP is heavily used in cellular networks such as GSM. -%package -n libosmo-mtp-%{libversion} -Summary: Osmocom Message Transfer Part library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-mtp-%{libversion} -The Message Transfer Part (MTP) is part of the Signaling System 7 -(SS7) used for communication in Public Switched Telephone Networks. -MTP is responsible for reliable, unduplicated and in-sequence -transport of SS7 messages between communication partners. - %package -n libosmo-mtp-devel Summary: Development files for the Osmocom MTP library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmo-mtp-%{libversion} = %{version} %description -n libosmo-mtp-devel MTP is part of SS7 used for communication in Public Switched @@ -67,23 +52,10 @@ This subpackage contains the development files for the Osmocom MTP library. -%package -n libosmo-sccp-%{libversion} -Summary: Osmocom Signalling Connection Control Part library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-sccp-%{libversion} -The Signalling Connection Control Part (SCCP) is a network layer -protocol that provides extended routing, flow control, segmentation, -connection-orientation, and error correction facilities in Signaling -System 7 telecommunications networks. SCCP relies on the services of -MTP for basic routing and error detection. - %package -n libosmo-sccp-devel Summary: Development files for the Osmocom SCCP library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmo-sccp-%{libversion} = %{version} %description -n libosmo-sccp-devel SCCP is a network layer protocol that provides routing, flow control, @@ -113,22 +85,11 @@ This subpackage contains the development files for the Osmocom SIGTRAN library. -%package -n libosmo-xua-%{libversion} -Summary: Osmocom Message Transfer Part 2 User Adaptation library -License: GPL-2.0-or-later -Group: System/Libraries - -%description -n libosmo-xua-%{libversion} -M2UA (RFC 3331) provides an SCTP (RFC 3873) adaptation layer for the -seamless backhaul of MTP Level 2 user messages and service interface -across an IP network. - %package -n libosmo-xua-devel Summary: Development files for the Osmocom M2UA library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ Requires: libosmo-sigtran-devel = %{version} -Requires: libosmo-xua-%{libversion} = %{version} %description -n libosmo-xua-devel M2UA provides an SCTP adaptation layer for MTP level 2 user messages @@ -151,14 +112,12 @@ %prep %setup -q -%patch0 -p1 %build echo "%{version}" >.tarball-version autoreconf -fiv %configure \ --enable-shared \ - --disable-static \ --includedir="%{_includedir}/%{name}" \ --docdir="%{_docdir}/%{name}" \ --with-systemdsystemunitdir=%{_unitdir} @@ -171,37 +130,27 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmo-mtp-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-mtp-%{libversion} -p /sbin/ldconfig -%post -n libosmo-sccp-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-sccp-%{libversion} -p /sbin/ldconfig %post -n libosmo-sigtran5 -p /sbin/ldconfig %postun -n libosmo-sigtran5 -p /sbin/ldconfig -%post -n libosmo-xua-%{libversion} -p /sbin/ldconfig -%postun -n libosmo-xua-%{libversion} -p /sbin/ldconfig +%if 0%{?suse_version} %preun -n osmo-stp %service_del_preun osmo-stp.service %postun -n osmo-stp %service_del_postun osmo-stp.service %pre -n osmo-stp %service_add_pre osmo-stp.service %post -n osmo-stp %service_add_post osmo-stp.service - -%files -n libosmo-mtp-%{libversion} -%{_libdir}/libosmo-mtp-%{version}.so +%endif %files -n libosmo-mtp-devel %dir %{_includedir}/%{name} %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/mtp/ -%{_libdir}/libosmo-mtp.so +%{_libdir}/libmtp.a %{_libdir}/pkgconfig/libosmo-mtp.pc -%files -n libosmo-sccp-%{libversion} -%{_libdir}/libosmo-sccp.so -%{_libdir}/libosmo-sccp-%{version}.so - %files -n libosmo-sccp-devel %dir %{_includedir}/%{name} %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/sccp/ +%{_libdir}/libsccp.a %{_libdir}/pkgconfig/libosmo-sccp.pc %files -n libosmo-sigtran5 @@ -212,13 +161,11 @@ %dir %{_includedir}/%{name}/osmocom %{_includedir}/%{name}/osmocom/sigtran %{_libdir}/libosmo-sigtran.so +%{_libdir}/libosmo-sigtran.a %{_libdir}/pkgconfig/libosmo-sigtran.pc -%files -n libosmo-xua-%{libversion} -%{_libdir}/libosmo-xua-%{version}.so - %files -n libosmo-xua-devel -%{_libdir}/libosmo-xua.so +%{_libdir}/libxua.a %{_libdir}/pkgconfig/libosmo-xua.pc %files -n osmo-stp -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85 Gerrit-Change-Number: 18278 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:41:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:41:12 +0000 Subject: Change in libusrp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18282 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea Gerrit-Change-Number: 18282 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:41:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:41:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:41:31 +0000 Subject: Change in libsmpp34[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18280 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 Gerrit-Change-Number: 18280 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:41:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:41:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:41:34 +0000 Subject: Change in libsmpp34[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18280 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 --- M .gitignore M configure.ac R contrib/libsmpp34.spec.in 3 files changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 20adb5a..602e974 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ debian/tmp debian/*.log debian/*.substvars + +contrib/libsmpp34.spec diff --git a/configure.ac b/configure.ac index 775b3b7..b25602d 100644 --- a/configure.ac +++ b/configure.ac @@ -87,4 +87,5 @@ def_list/Makefile binaries/Makefile test_apps/Makefile - libsmpp34.pc]) + libsmpp34.pc + contrib/libsmpp34.spec]) diff --git a/contrib/libsmpp34.spec b/contrib/libsmpp34.spec.in similarity index 96% rename from contrib/libsmpp34.spec rename to contrib/libsmpp34.spec.in index a6dd384..eba7dbd 100644 --- a/contrib/libsmpp34.spec +++ b/contrib/libsmpp34.spec.in @@ -13,12 +13,9 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define sover 1 Name: libsmpp34 -Version: 1.14.0.1 +Version: @VERSION@ Release: 0 Summary: PDU SMPP packaging and unpackaging tool License: GPL-2.0-or-later AND LGPL-2.1-or-later -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: If771c1298c84868a9ab0b0aba8d26325c3d810e8 Gerrit-Change-Number: 18280 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:41:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:41:50 +0000 Subject: Change in gapk[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/18285 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Idbf365be21d5629bf4bef2c95d527a80c49e9f97 Gerrit-Change-Number: 18285 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:41:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:42:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:42:01 +0000 Subject: Change in gapk[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/18286 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 Gerrit-Change-Number: 18286 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:42:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:42:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:42:04 +0000 Subject: Change in gapk[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/gapk/+/18285 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Idbf365be21d5629bf4bef2c95d527a80c49e9f97 --- A contrib/gapk.spec 1 file changed, 154 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/gapk.spec b/contrib/gapk.spec new file mode 100644 index 0000000..3f076cc --- /dev/null +++ b/contrib/gapk.spec @@ -0,0 +1,154 @@ +# +# spec file for package gapk +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define with_amr 1 +%define with_gsmhr 1 +%define sover 0 + +Name: gapk +Version: 0.4.79 +Release: 0 +Summary: GSM Audio Pocket Knife +License: GPL-3.0-only +Group: Productivity/Multimedia/Sound/Editors and Convertors +URL: http://www.osmocom.org +Source: gapk-%{version}.tar.xz +# License: for libgsmhr see 3gpp website +Source1: 0606_421.zip +Patch1: gapk-disable-codec-dl-during-build.diff +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libgsm-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: python +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(libosmocodec) +BuildRequires: pkgconfig(libosmocore) +# Benchmarking is currently only supported on intel platforms... +ExclusiveArch: %{ix86} x86_64 +%if 0%{with_amr} +BuildRequires: libopencore-amr-devel +%endif + +%description +gapk is intented to be the GSM Audio Pocket Knife. +It encodes/decodes several GSM-related audio-codes (HR,FR,EFR) + +%if 0%{with_gsmhr} +%package -n libgsmhr0 +Summary: Shared Library part of libgsmhr +License: NonFree +Group: Development/Libraries/C and C++ + +%description -n libgsmhr0 +libgsmhr contains a standard implementation of the European GSM 06.20 +provisional standard for GSM Half Rate speech speech transcoding. + +%package -n libgsmhr-devel +Summary: Development files for the gsmhr library +License: NonFree +Group: Development/Libraries/C and C++ +Requires: libgsmhr0 = %{version} + +%description -n libgsmhr-devel +libgsmhr contains a standard implementation of the European GSM 06.20 +provisional standard for GSM Half Rate speech speech transcoding. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgsmhr. +%endif + +%package -n libosmogapk%{sover} +Summary: Shared library part of GSM Audio Pocket Knife (GAPK) +License: GPL-3.0-only +Group: Development/Libraries/C and C++ + +%description -n libosmogapk%{sover} +Shared library part of GSM Audio Pocket Knife (GAPK). + +%package -n libosmogapk-devel +Summary: Development files for the GAPK library +License: GPL-3.0-only +Group: Development/Libraries/C and C++ +Requires: libosmogapk%{sover} = %{version} + +%description -n libosmogapk-devel +Shared library part of GSM Audio Pocket Knife (GAPK). + +This subpackage contains the development files for the Osmocom GAPK +library. + +%prep +%setup -q +%if 0%{with_gsmhr} +%patch1 -p1 +cp %{SOURCE1} libgsmhr/ +%endif + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if 0%{with_gsmhr} + --enable-gsmhr \ +%endif + --disable-static +make V=1 %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +%if 0%{with_gsmhr} +## GSM HR tests (6,9,13,14) are known to be broken - https://osmocom.org/issues/2514 +make %{?_smp_mflags} check || : +%else +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%endif + +%if 0%{with_gsmhr} +%post -n libgsmhr0 -p /sbin/ldconfig +%postun -n libgsmhr0 -p /sbin/ldconfig +%endif + +%post -n libosmogapk%{sover} -p /sbin/ldconfig +%postun -n libosmogapk%{sover} -p /sbin/ldconfig + +%files +%doc gpl-3.0.txt +%{_bindir}/osmo-gapk + +%if 0%{with_gsmhr} +%files -n libgsmhr0 +%{_libdir}/libgsmhr.so.0* + +%files -n libgsmhr-devel +%{_libdir}/libgsmhr.so +%endif + +%files -n libosmogapk%{sover} +%{_libdir}/libosmogapk.so.%{sover}* + +%files -n libosmogapk-devel +%dir %{_includedir}/osmocom/ +%{_includedir}/osmocom/%{name}/ +%{_libdir}/libosmogapk.so +%{_libdir}/pkgconfig/libosmogapk.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Idbf365be21d5629bf4bef2c95d527a80c49e9f97 Gerrit-Change-Number: 18285 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:42:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:42:04 +0000 Subject: Change in gapk[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/gapk/+/18286 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 --- M .gitignore M configure.ac R contrib/gapk.spec.in 3 files changed, 3 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index ffef58f..15329a5 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /compile .dirstamp +contrib/gapk.spec diff --git a/configure.ac b/configure.ac index 6551ae6..44a7cff 100644 --- a/configure.ac +++ b/configure.ac @@ -115,4 +115,4 @@ AC_FUNC_MALLOC AC_CHECK_FUNCS([memset]) -AC_OUTPUT +AC_OUTPUT([contrib/gapk.spec]) diff --git a/contrib/gapk.spec b/contrib/gapk.spec.in similarity index 97% rename from contrib/gapk.spec rename to contrib/gapk.spec.in index 3f076cc..e5d06ba 100644 --- a/contrib/gapk.spec +++ b/contrib/gapk.spec.in @@ -12,15 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define with_amr 1 %define with_gsmhr 1 %define sover 0 Name: gapk -Version: 0.4.79 +Version: @VERSION@ Release: 0 Summary: GSM Audio Pocket Knife License: GPL-3.0-only -- To view, visit https://gerrit.osmocom.org/c/gapk/+/18286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ibf21cfd2ea3f3d0def3c18374118c4cb03a45e05 Gerrit-Change-Number: 18286 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:44:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:44:10 +0000 Subject: Change in osmo-sgsn[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia18f44f1b6dc259c3d0474b88b33f4657d96fd7a Gerrit-Change-Number: 18308 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:44:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:45:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:45:22 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/18309/2/contrib/osmo-sgsn.spec.in File contrib/osmo-sgsn.spec.in: https://gerrit.osmocom.org/c/osmo-sgsn/+/18309/2/contrib/osmo-sgsn.spec.in at 89 PS2, Line 89: %if 0%{?suse_version} : %preun %service_del_preun %{name}.service : %postun %service_del_postun %{name}.service : %pre %service_add_pre %{name}.service : %post %service_add_post %{name}.service : %preun -n osmo-gtphub %service_del_preun osmo-gtphub.service : %postun -n osmo-gtphub %service_del_postun osmo-gtphub.service : %pre -n osmo-gtphub %service_add_pre osmo-gtphub.service : %post -n osmo-gtphub %service_add_post osmo-gtphub.service : %preun -n osmo-gbproxy %service_del_preun osmo-gbproxy.service : %postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service : %pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service : %post -n osmo-gbproxy %service_add_post osmo-gbproxy.service : %endif so this block is simply commented out on non-suse distributions. Don't we need something equivalent? What exactly do those macros do on SuSE? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:45:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:45:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:45:26 +0000 Subject: Change in osmo-sgsn[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ia18f44f1b6dc259c3d0474b88b33f4657d96fd7a --- A contrib/osmo-sgsn.spec 1 file changed, 141 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-sgsn.spec b/contrib/osmo-sgsn.spec new file mode 100644 index 0000000..3c592e7 --- /dev/null +++ b/contrib/osmo-sgsn.spec @@ -0,0 +1,141 @@ +# +# spec file for package osmo-sgsn +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4116 +%define _lto_cflags %{nil} + +%define with_iu 1 +Name: osmo-sgsn +Version: 1.6.0.9 +Release: 0 +Summary: Osmocom's SGSN for 2G and 3G packet-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmosgsn/wiki/OsmoSGSN +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libcares) +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libgtp) >= 1.4.0 +BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogb) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +%{?systemd_requires} +%if %{with_iu} +BuildRequires: pkgconfig(libasn1c) +BuildRequires: pkgconfig(libosmo-ranap) >= 0.4.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 1.0.0 +%endif + +%description +OsmoSGSN is Osmocom's Serving GPRS Support Node for 2G and 3G +packet-switched mobile networks. + +%package -n osmo-gtphub +Summary: Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs +Group: Productivity/Telephony/Servers + +%description -n osmo-gtphub +Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs. + +%package -n osmo-gbproxy +Summary: Osmocom GPRS Gb Interface Proxy +Group: Productivity/Telephony/Servers + +%description -n osmo-gbproxy +The purpose of the Gb proxy is to aggregate the Gb links of multiple +BSS's and present them in one Gb link to the SGSN. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if %{with_iu} + --enable-iu \ +%endif + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun %service_del_preun %{name}.service +%postun %service_del_postun %{name}.service +%pre %service_add_pre %{name}.service +%post %service_add_post %{name}.service +%preun -n osmo-gtphub %service_del_preun osmo-gtphub.service +%postun -n osmo-gtphub %service_del_postun osmo-gtphub.service +%pre -n osmo-gtphub %service_add_pre osmo-gtphub.service +%post -n osmo-gtphub %service_add_post osmo-gtphub.service +%preun -n osmo-gbproxy %service_del_preun osmo-gbproxy.service +%postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service +%pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service +%post -n osmo-gbproxy %service_add_post osmo-gbproxy.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-sgsn +%exclude %{_docdir}/%{name}/examples/osmo-gtphub +%exclude %{_docdir}/%{name}/examples/osmo-gbproxy +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn.cfg +%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg +%{_bindir}/osmo-sgsn +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-sgsn.cfg +%{_unitdir}/%{name}.service + +%files -n osmo-gtphub +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-gtphub +%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub-1iface.cfg +%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub.cfg +%{_bindir}/osmo-gtphub +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-gtphub.cfg +%{_unitdir}/osmo-gtphub.service + +%files -n osmo-gbproxy +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-gbproxy +%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy-legacy.cfg +%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy.cfg +%{_bindir}/osmo-gbproxy +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-gbproxy.cfg +%{_unitdir}/osmo-gbproxy.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia18f44f1b6dc259c3d0474b88b33f4657d96fd7a Gerrit-Change-Number: 18308 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:45:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:45:35 +0000 Subject: Change in osmo-sip-connector[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I00f13acd541ec492e4671cf88c92010f5cf61e9e Gerrit-Change-Number: 18310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:45:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:45:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:45:38 +0000 Subject: Change in osmo-sip-connector[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I00f13acd541ec492e4671cf88c92010f5cf61e9e --- A contrib/osmo-sip-connector.spec 1 file changed, 78 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-sip-connector.spec b/contrib/osmo-sip-connector.spec new file mode 100644 index 0000000..b6db802 --- /dev/null +++ b/contrib/osmo-sip-connector.spec @@ -0,0 +1,78 @@ +# +# spec file for package osmo-sip-connector +# +# Copyright (c) 2016, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-sip-connector +Version: 1.4.0.0 +Release: 0 +Summary: MNCC to SIP bridge for osmo-nitb +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: http://openbsc.osmocom.org/ +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(sofia-sip-ua-glib) >= 1.12.0 +%{?systemd_requires} + +%description +Use the osmo-nitb MNCC interface and bridge it to SIP. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc README.asciidoc +%doc %{_docdir}/%{name}/examples +%{_bindir}/osmo-sip-connector +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-sip-connector.cfg +%{_unitdir}/%{name}.service + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I00f13acd541ec492e4671cf88c92010f5cf61e9e Gerrit-Change-Number: 18310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:00 +0000 Subject: Change in osmo-msc[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18300 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief0917ad6e7ce193a54fd0d2a5e665b56ff8bbea Gerrit-Change-Number: 18300 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:46:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:03 +0000 Subject: Change in osmo-msc[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18300 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ief0917ad6e7ce193a54fd0d2a5e665b56ff8bbea --- A contrib/osmo-msc.spec 1 file changed, 117 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-msc.spec b/contrib/osmo-msc.spec new file mode 100644 index 0000000..55fa4f9 --- /dev/null +++ b/contrib/osmo-msc.spec @@ -0,0 +1,117 @@ +# +# spec file for package osmo-msc +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4115 +%define _lto_cflags %{nil} + + +%define with_iu 1 +Name: osmo-msc +Version: 1.6.1.32 +Release: 0 +Summary: Osmocom's MSC for 2G and 3G circuit-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-only +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmomsc/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libdbi-drivers-dbd-sqlite3 +BuildRequires: libtool +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(dbi) +BuildRequires: pkgconfig(libcrypto) >= 0.9.5 +BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0 +BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.6.0 +BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0 +BuildRequires: pkgconfig(libosmo-sccp) >= 1.1.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 1.1.0 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.2.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 +BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(libsmpp34) >= 1.13.0 +#### +BuildRequires: lksctp-tools-devel +#### +%{?systemd_requires} +%if %{with_iu} +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmo-ranap) >= 0.3.0 +%endif + +%description +The Mobile Switching Center (MSC) is the heart of 2G/3G +circuit-switched services. It terminates the A-interface links from the +Base Station Controllers (BSC) and handles the MM and CC sub-layers of +the Layer 3 protocol from the phones (MS). + +This Osmocom implementation of the MSC handles A interfaces via 3GPP +AoIP in an ASP role. It furthermore implements IETF MGCP against an +external media gateway, such as OsmoMGW. It does *not* implement MAP +towards a HLR, but the much simpler Osmocom GSUP protocol, which can +be translated to MAP if needed. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ +%if %{with_iu} + --enable-iu \ +%endif + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} + +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-msc +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc.cfg +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_custom-sccp.cfg +%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_multi-cs7.cfg +%{_bindir}/osmo-msc +%{_unitdir}/%{name}.service +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-msc.cfg + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ief0917ad6e7ce193a54fd0d2a5e665b56ff8bbea Gerrit-Change-Number: 18300 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:10 +0000 Subject: Change in osmo-iuh[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18296 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic3f146c1eb5b5d02277ec869516a1ec95987d4cd Gerrit-Change-Number: 18296 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:46:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:13 +0000 Subject: Change in osmo-iuh[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18296 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Ic3f146c1eb5b5d02277ec869516a1ec95987d4cd --- A contrib/osmo-iuh.spec 1 file changed, 136 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-iuh.spec b/contrib/osmo-iuh.spec new file mode 100644 index 0000000..e2abd35 --- /dev/null +++ b/contrib/osmo-iuh.spec @@ -0,0 +1,136 @@ +# +# spec file for package osmo-iuh +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: osmo-iuh +Version: 0.6.0.13 +Release: 0 +Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmohnbgw/wiki +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +# python3 for asn1tostruct.py +BuildRequires: python3 +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmo-netif) >= 0.3.0 +BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 +BuildRequires: pkgconfig(libosmocore) >= 0.12.0 +BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 0.12.0 +BuildRequires: pkgconfig(libosmovty) >= 0.12.0 + +%description +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +%package -n libosmo-ranap3 +Summary: Shared Library part of libosmo-ranap +Group: System/Libraries + +%description -n libosmo-ranap3 +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +%package -n libosmo-ranap-devel +Summary: Development files for Osmocom RANAP library +Group: Development/Libraries/C and C++ +Requires: libosmo-ranap3 = %{version} + +%description -n libosmo-ranap-devel +Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmoranap. + + +%package -n libosmo-sabp0 +Summary: Shared Library part of libosmo-sabp +Group: System/Libraries + +%description -n libosmo-sabp0 +Osmocom code for the SABP (service area broadcast protocol) interface + +%package -n libosmo-sabp-devel +Summary: Development files for Osmocom SABP library +Group: Development/Libraries/C and C++ +Requires: libosmo-sabp0 = %{version} + +%description -n libosmo-sabp-devel +Osmocom code for the SABP (service area broadcast protocol) interface + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-sabp. + + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-ranap3 -p /sbin/ldconfig +%postun -n libosmo-ranap3 -p /sbin/ldconfig +%post -n libosmo-sabp0 -p /sbin/ldconfig +%postun -n libosmo-sabp0 -p /sbin/ldconfig +%pre %service_add_pre osmo-hnbgw.service +%post %service_add_post osmo-hnbgw.service +%preun %service_del_preun osmo-hnbgw.service +%postun %service_del_postun osmo-hnbgw.service + +%files +%license COPYING +%doc README.md +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-hnbgw.cfg +%{_bindir}/osmo-hnbgw +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-hnbgw.cfg +%{_unitdir}/osmo-hnbgw.service + +%files -n libosmo-ranap3 +%{_libdir}/libosmo-ranap.so.3* + +%files -n libosmo-ranap-devel +%{_includedir}/* +%{_libdir}/libosmo-ranap.so +%{_libdir}/pkgconfig/libosmo-ranap.pc + +%files -n libosmo-sabp0 +%{_libdir}/libosmo-sabp.so.0* + +%files -n libosmo-sabp-devel +%{_libdir}/libosmo-sabp.so +%{_libdir}/pkgconfig/libosmo-sabp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ic3f146c1eb5b5d02277ec869516a1ec95987d4cd Gerrit-Change-Number: 18296 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:16 +0000 Subject: Change in osmo-remsim[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18306 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I51eaae80a9bf198247d2812d65ab5ea64a8fca14 Gerrit-Change-Number: 18306 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:46:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:21 +0000 Subject: Change in osmo-remsim[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18306 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I51eaae80a9bf198247d2812d65ab5ea64a8fca14 --- A contrib/osmo-remsim.spec 1 file changed, 215 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-remsim.spec b/contrib/osmo-remsim.spec new file mode 100644 index 0000000..84874bc --- /dev/null +++ b/contrib/osmo-remsim.spec @@ -0,0 +1,215 @@ +# +# spec file for package osmo-remsim +# +# Copyright (c) 2018, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +%define sover 1 +Name: osmo-remsim +Version: 0.2.2.86 +Release: 0 +Summary: Osmocom remote SIM software suite +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://projects.osmocom.org/projects/osmo-remsim +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libcsv-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libasn1c) >= 0.9.30 +BuildRequires: pkgconfig(libosmoabis) +BuildRequires: pkgconfig(libosmocore) >= 0.11.0 +BuildRequires: pkgconfig(libosmogsm) >= 0.11.0 +BuildRequires: pkgconfig(libosmosim) +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libulfius) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libosmousb) +BuildRequires: pkgconfig(libosmo-simtrace2) +%{?systemd_ordering} + +%description +osmo-remsim is a suite of software programs enabling physical/geographic +separation of a cellular phone (or modem) on the one hand side and the +SIM/USIM/ISIM card on the other side. + +Using osmo-remsim, you can operate an entire fleet of modems/phones, as +well as banks of SIM cards and dynamically establish or remove the +connections between modems/phones and cards. + +So in technical terms, it behaves like a proxy for the ISO 7816 smart +card interface between the MS/UE and the UICC/SIM/USIM/ISIM. + +While originally designed to be used in context of cellular networks, +there is nothing cellular specific in the system. It can therefore also +be used with other systems that use contact based smart cards according +to ISO 7816. Currently only the T=0 protocol with standard +(non-extended) APDUs is supported. Both T=1 and extended APDU support +can easily be added as a pure software update, should it be required at +some future point. + +%package -n libosmo-rspro%{sover} +Summary: Osmocom Remote SIM - Shared Library +License: GPL-2.0-or-later +Group: System/Libraries + +%description -n libosmo-rspro%{sover} +libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER +based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim +programs. + +%package -n libosmo-rspro-devel +Summary: Osmocom Remote SIM - Shared Library Development Haders +License: GPL-2.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmo-rspro%{sover} = %{version} + +%description -n libosmo-rspro-devel +libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER +based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim +programs. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-rspro. + +%package -n osmo-remsim-server +Summary: Osmocom Remote SIM - Central Server +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-server +The remsim-server is the central element of a osmo-remsim deployment, +it maintains a list of clients + bankds connected to it, as well as the +dynamic SIM card mappings between them. + +%package -n osmo-remsim-bankd +Summary: Osmocom Remote SIM - Bank Daemon +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-bankd +The remsim-bankd is managing a bank of SIM card readers and their +respective cards. It establishes a control connection to remsim-server +and receives inbound connections from remsim-clients. + +%package -n osmo-remsim-client-st2 +Summary: Osmocom Remote SIM - Client for SIMtrace2 +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-client-st2 +Description: Osmocom Remote SIM - Client for SIMtrace2 cardem firmware +The remsim-client is managing a given phone/modem. It attaches to the +'cardem' firmware of a SIMtrcace2 (or compatible, such as sysmoQMOD) +hardware and forwards the SIM card communication to a remsim-bankd, +under the control of remsim-server. + +%package -n osmo-remsim-client-shell +Summary: Osmocom Remote SIM - Interactive Client +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers + +%description -n osmo-remsim-client-shell +The remsim-client-shell is for manually interacting with a remote SIM +card via remsim-bankd + remsim-server. It's mostly a test/debug tool. + +%package -n libifd-osmo-remsim-client0 +Summary: Osmocom Remote SIM Client - PC/SC driver +License: GPL-2.0-or-later +Group: Productivity/Telephony/Servers +Requires: pcsc-lite + +%description -n libifd-osmo-remsim-client0 +This is an incarnation of osmo-remsim-client which can plug as ifd_handler +driver into pcscd. This means you can use remote smart cards managed +by osmo-remsim-server via normal PC/SC applications. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --with-systemdsystemunitdir=%{_unitdir} +make V=1 %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || find . -name testsuite.log -exec cat {} + + +%post -n libosmo-rspro%{sover} -p /sbin/ldconfig +%postun -n libosmo-rspro%{sover} -p /sbin/ldconfig + +%pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service +%post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service +%preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service +%postun -n osmo-remsim-bankd %service_del_postun osmo-remsim-bankd.service + +%pre -n osmo-remsim-client-st2 %service_add_pre osmo-remsim-client at .service +%post -n osmo-remsim-client-st2 %service_add_post osmo-remsim-client at .service +%preun -n osmo-remsim-client-st2 %service_del_preun osmo-remsim-client at .service +%postun -n osmo-remsim-client-st2 %service_del_postun osmo-remsim-client at .service + +%pre -n osmo-remsim-server %service_add_pre osmo-remsim-server.service +%post -n osmo-remsim-server %service_add_post osmo-remsim-server.service +%preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service +%postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service + +%files -n libosmo-rspro%{sover} +%license COPYING +%doc README.md +%{_libdir}/libosmo-rspro.so.%{sover}* + +%files -n libosmo-rspro-devel +%{_includedir}/osmocom +%dir %{_includedir}/osmocom/rspro +%{_includedir}/osmocom/rspro/rspro_client.h +%{_libdir}/libosmo-rspro.so +%{_libdir}/pkgconfig/libosmo-rspro.pc + +%files -n osmo-remsim-server +%{_bindir}/osmo-remsim-server +%{_unitdir}/osmo-remsim-server.service + +%files -n osmo-remsim-bankd +%{_bindir}/osmo-remsim-bankd +%{_unitdir}/osmo-remsim-bankd.service +%config %{_sysconfdir}/default/osmo-remsim-bankd + +%files -n osmo-remsim-client-shell +%{_bindir}/osmo-remsim-client-shell + +%files -n osmo-remsim-client-st2 +%{_bindir}/osmo-remsim-client-st2 +%{_unitdir}/osmo-remsim-client* +%config %{_sysconfdir}/default/osmo-remsim-client* + +%files -n libifd-osmo-remsim-client0 +%dir %{_libdir}/readers/ +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents +%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/PkgInfo +%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux +%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so* +%config %{_sysconfdir}/reader.conf.d/osmo-remsim-client-reader_conf + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I51eaae80a9bf198247d2812d65ab5ea64a8fca14 Gerrit-Change-Number: 18306 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:24 +0000 Subject: Change in osmo-pcap[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18302 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7 Gerrit-Change-Number: 18302 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:46:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:27 +0000 Subject: Change in osmo-pcap[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18302 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7 --- A contrib/osmo-pcap.spec 1 file changed, 85 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-pcap.spec b/contrib/osmo-pcap.spec new file mode 100644 index 0000000..9cbafbe --- /dev/null +++ b/contrib/osmo-pcap.spec @@ -0,0 +1,85 @@ +# +# spec file for package osmo-pcap +# +# Copyright (c) 2015, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-pcap +Version: 0.1.2.0 +Release: 0 +Summary: Osmocom's PCAP client and server +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/osmo-pcap +Source: %{name}-%{version}.tar.xz +BuildRequires: autoconf +BuildRequires: automake >= 1.6 +BuildRequires: libpcap-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(libosmocore) >= 0.11.0 +BuildRequires: pkgconfig(libosmogb) +BuildRequires: pkgconfig(libosmogsm) >= 0.11.0 +BuildRequires: pkgconfig(libosmovty) >= 0.11.0 +BuildRequires: pkgconfig(libzmq) >= 3.2.2 + +%description +Osmocom tools to help with pcap tracing. +Run osmo_pcap_client locally and send traces to a different system. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} +make %{?_smp_mflags} + +%install +%make_install + +%preun +%service_del_preun osmo-pcap-client.service osmo-pcap-server.service + +%postun +%service_del_postun osmo-pcap-client.service osmo-pcap-server.service + +%pre +%service_add_pre osmo-pcap-client.service osmo-pcap-server.service + +%post +%service_add_post osmo-pcap-client.service osmo-pcap-server.service + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%files +%license COPYING +%doc AUTHORS +%doc %{_docdir}/%{name}/examples +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-client.cfg +%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-server.cfg +%{_bindir}/osmo-pcap-client +%{_bindir}/osmo-pcap-server +%{_unitdir}/osmo-pcap-client.service +%{_unitdir}/osmo-pcap-server.service +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/osmo_pcap_clean_old + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I5593db28b91a67a7f51abe086b83905066a1dfe7 Gerrit-Change-Number: 18302 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:30 +0000 Subject: Change in osmo-mgw[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18298 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d6119ca5debf4adfec6c155f81027c8a3583537 Gerrit-Change-Number: 18298 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:46:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:46:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:46:32 +0000 Subject: Change in osmo-mgw[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18298 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I6d6119ca5debf4adfec6c155f81027c8a3583537 --- A contrib/osmo-mgw.spec 1 file changed, 129 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-mgw.spec b/contrib/osmo-mgw.spec new file mode 100644 index 0000000..2aeed06 --- /dev/null +++ b/contrib/osmo-mgw.spec @@ -0,0 +1,129 @@ +# +# spec file for package osmo-mgw +# +# Copyright (c) 2017, Martin Hauke +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: osmo-mgw +Version: 1.7.0.13 +Release: 0 +Summary: Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks +License: AGPL-3.0-or-later AND GPL-2.0-or-later +Group: Hardware/Mobile +URL: https://osmocom.org/projects/osmo-mgw +Source: %{name}-%{version}.tar.xz +BuildRequires: automake >= 1.9 +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 +BuildRequires: pkgconfig(libosmovty) >= 1.0.0 +BuildRequires: pkgconfig(libosmocoding) >= 1.0.0 +%{?systemd_requires} + +%description +OsmoMGW is Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks. + +%package -n libosmo-mgcp-client6 +Summary: Osmocom's Media Gateway Control Protocol client library +Group: System/Libraries + +%description -n libosmo-mgcp-client6 +Osmocom's Media Gateway Control Protocol client library. + +%package -n libosmo-mgcp-client-devel +Summary: Development files for Osmocom's Media Gateway Control Protocol client library +Group: Development/Libraries/C and C++ +Requires: libosmo-mgcp-client6 = %{version} + +%description -n libosmo-mgcp-client-devel +Osmocom's Media Gateway Control Protocol client librarary. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mgcp-client. + +%package -n libosmo-mgcp-devel +Summary: Development files for Osmocom's Media Gateway server library +Group: Development/Libraries/C and C++ + +%description -n libosmo-mgcp-devel +Osmocom's Media Gateway Control Protocol server library. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-mgcp. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} + +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmo-mgcp-client6 -p /sbin/ldconfig +%postun -n libosmo-mgcp-client6 -p /sbin/ldconfig +%preun +%service_del_preun osmo-mgw.service + +%postun +%service_del_postun osmo-mgw.service + +%pre +%service_add_pre osmo-mgw.service + +%post +%service_add_post osmo-mgw.service + +%files +%license COPYING +%doc AUTHORS README +%dir %{_docdir}/%{name}/examples +%dir %{_docdir}/%{name}/examples/osmo-mgw +%{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw.cfg +%{_bindir}/osmo-mgw +%{_unitdir}/osmo-mgw.service +%dir %{_sysconfdir}/osmocom +%config %{_sysconfdir}/osmocom/osmo-mgw.cfg + +%files -n libosmo-mgcp-client6 +%{_libdir}/libosmo-mgcp-client.so.6* + +%files -n libosmo-mgcp-client-devel +%{_libdir}/libosmo-mgcp-client.so +%{_libdir}/pkgconfig/libosmo-mgcp-client.pc +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mgcp_client +%{_includedir}/osmocom/mgcp_client/*.h + +%files -n libosmo-mgcp-devel +%dir %{_includedir}/osmocom +%dir %{_includedir}/osmocom/mgcp +%{_includedir}/osmocom/mgcp/*.h + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d6119ca5debf4adfec6c155f81027c8a3583537 Gerrit-Change-Number: 18298 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:48:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:48:01 +0000 Subject: Change in libgtpnl[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/18270 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 1: Code-Review-1 I guess this one still misses the .pc.in logic. -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 Gerrit-Change-Number: 18270 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:48:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:49:22 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 May 2020 19:49:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 ) Change subject: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf Gerrit-Change-Number: 18369 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:49:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:49:32 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18316/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ci/+/18316/2//COMMIT_MSG at 1 PS2, Line 1: Parent: 71cc851e (osmo-gsm-tester: Point config parameter to file instead of its dirname) why are we working with the spec.in file and manualyl patch in the version? Shouldn't we let autoconf do the trick? Or is this to patch in the date into the nightly build version? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:49:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:49:47 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 19 May 2020 19:49:47 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... osmo-mgw: refactor endpoint and trunk handling The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various placed (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. - get rid of integers as endpoint identifiers, use strings instead and find the endpoint based on its string name on the trunk. - identify the trunk based on the trunk prefix given in the endpoint name. - rename struct mgcp_trunk_config to mgcp_trunk and "tcfg" to "trunk" in order to better match the reality. - refactor trunk and endpoint allocation. Aggregate functionality in in mgcp_endp.c and mgcp_trunk.c. Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Related: OS#2659 --- M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_trunk.h A include/osmocom/mgcp_client/mgcp_common.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c A src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 20 files changed, 1,054 insertions(+), 782 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/18372/1 diff --git a/include/osmocom/mgcp/Makefile.am b/include/osmocom/mgcp/Makefile.am index 036b4ca..0d5f5f6 100644 --- a/include/osmocom/mgcp/Makefile.am +++ b/include/osmocom/mgcp/Makefile.am @@ -7,5 +7,6 @@ mgcp_sdp.h \ mgcp_codec.h \ mgcp_ctrl.h \ + mgcp_trunk.h \ debug.h \ $(NULL) diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 43f480e..99c12a1 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -42,7 +42,7 @@ */ struct mgcp_endpoint; struct mgcp_config; -struct mgcp_trunk_config; +struct mgcp_trunk; struct mgcp_rtp_end; #define MGCP_ENDP_CRCX 1 @@ -59,10 +59,9 @@ #define MGCP_POLICY_REJECT 5 #define MGCP_POLICY_DEFER 6 -typedef int (*mgcp_realloc)(struct mgcp_trunk_config *cfg, int endpoint); -typedef int (*mgcp_change)(struct mgcp_trunk_config *cfg, int endpoint, int state); -typedef int (*mgcp_policy)(struct mgcp_trunk_config *cfg, int endpoint, int state, const char *transactio_id); -typedef int (*mgcp_reset)(struct mgcp_trunk_config *cfg); +typedef int (*mgcp_change)(struct mgcp_endpoint *endp, int state); +typedef int (*mgcp_policy)(struct mgcp_endpoint *endp, int state, const char *transaction_id); +typedef int (*mgcp_reset)(struct mgcp_trunk *cfg); typedef int (*mgcp_rqnt)(struct mgcp_endpoint *endp, char tone); /** @@ -178,57 +177,6 @@ MGCP_DLCX_DEFERRED_BY_POLICY, }; -struct mgcp_trunk_config { - struct llist_head entry; - - struct mgcp_config *cfg; - - int trunk_nr; - int trunk_type; - - char *audio_fmtp_extra; - char *audio_name; - int audio_payload; - int audio_send_ptime; - int audio_send_name; - int audio_loop; - - int no_audio_transcoding; - - int omit_rtcp; - int keepalive_interval; - - /* RTP patching */ - int force_constant_ssrc; /* 0: don't, 1: once */ - int force_aligned_timing; - bool rfc5993_hr_convert; - - /* spec handling */ - int force_realloc; - - /* timer */ - struct osmo_timer_list keepalive_timer; - - /* When set, incoming RTP packets are not filtered - * when ports and ip-address do not match (debug) */ - int rtp_accept_all; - - unsigned int number_endpoints; - int vty_number_endpoints; - struct mgcp_endpoint *endpoints; - - /* Rate counter group which contains stats for generic MGCP events. */ - struct rate_ctr_group *mgcp_general_ctr_group; - /* Rate counter group which contains stats for processed CRCX commands. */ - struct rate_ctr_group *mgcp_crcx_ctr_group; - /* Rate counter group which contains stats for processed MDCX commands. */ - struct rate_ctr_group *mgcp_mdcx_ctr_group; - /* Rate counter group which contains stats for processed DLCX commands. */ - struct rate_ctr_group *mgcp_dlcx_ctr_group; - /* Rate counter group which aggregates stats of individual RTP connections. */ - struct rate_ctr_group *all_rtp_conn_stats; -}; - enum mgcp_role { MGCP_BSC = 0, MGCP_BSC_NAT, @@ -256,14 +204,13 @@ mgcp_change change_cb; mgcp_policy policy_cb; mgcp_reset reset_cb; - mgcp_realloc realloc_cb; mgcp_rqnt rqnt_cb; void *data; uint32_t last_call_id; /* trunk handling */ - struct mgcp_trunk_config trunk; + struct mgcp_trunk *trunk; struct llist_head trunks; enum mgcp_role role; @@ -301,8 +248,7 @@ int mgcp_parse_config(const char *config_file, struct mgcp_config *cfg, enum mgcp_role role); int mgcp_vty_init(void); -int mgcp_endpoints_allocate(struct mgcp_trunk_config *cfg); -void mgcp_trunk_set_keepalive(struct mgcp_trunk_config *tcfg, int interval); +void mgcp_trunk_set_keepalive(struct mgcp_trunk *trunk, int interval); /* * format helper functions @@ -310,7 +256,7 @@ struct msgb *mgcp_handle_message(struct mgcp_config *cfg, struct msgb *msg); -int mgcp_send_reset_ep(struct mgcp_endpoint *endp, int endpoint); +int mgcp_send_reset_ep(struct mgcp_endpoint *endp); int mgcp_send_reset_all(struct mgcp_config *cfg); diff --git a/include/osmocom/mgcp/mgcp_common.h b/include/osmocom/mgcp/mgcp_common.h index a1bbb19..07d8d37 100644 --- a/include/osmocom/mgcp/mgcp_common.h +++ b/include/osmocom/mgcp/mgcp_common.h @@ -100,6 +100,10 @@ /* A prefix to denote the virtual trunk (RTP on both ends) */ #define MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK "rtpbridge/" +/* A prefix to denote the e1 trunk + * (see also RFC3435 section E.2) */ +#define MGCP_ENDPOINT_PREFIX_E1_TRUNK "ds/e1-" + /* Maximal number of payload types / codecs that can be negotiated via SDP at * at once. */ #define MGCP_MAX_CODECS 10 diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index 75f093d..79399a4 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -63,6 +63,9 @@ /*! MGCP endpoint model */ struct mgcp_endpoint { + /*! Unique endpoint name, used for addressing via MGCP */ + char *name; + /*! Call identifier string (as supplied by the call agant) */ char *callid; @@ -75,8 +78,8 @@ /*! Backpointer to the MGW configuration */ struct mgcp_config *cfg; - /*! Backpointer to the Trunk specific configuration */ - struct mgcp_trunk_config *tcfg; + /*! Backpointer to the related trunk */ + struct mgcp_trunk *trunk; /*! Endpoint properties (see above) */ const struct mgcp_endpoint_type *type; @@ -95,7 +98,9 @@ uint32_t x_osmo_ign; }; -/*! Extract endpoint number for a given endpoint */ -#define ENDPOINT_NUMBER(endp) abs((int)(endp - endp->tcfg->endpoints)) - +struct mgcp_endpoint *mgcp_endp_alloc(struct mgcp_trunk *trunk, char *name); void mgcp_endp_release(struct mgcp_endpoint *endp); +struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, + struct mgcp_trunk *trunk); +struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, + struct mgcp_config *cfg); diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index e9d5d2d..557559f 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -282,9 +282,6 @@ return endpoint + 60; } -struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, int index); -struct mgcp_trunk_config *mgcp_trunk_num(struct mgcp_config *cfg, int index); - char *get_lco_identifier(const char *options); int check_local_cx_options(void *ctx, const char *options); void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, @@ -342,8 +339,8 @@ void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); #define LOGPENDP(endp, cat, level, fmt, args...) \ -LOGP(cat, level, "endpoint:0x%x " fmt, \ - endp ? ENDPOINT_NUMBER(endp) : -1, \ +LOGP(cat, level, "endpoint:%s " fmt, \ + endp ? endp->name : "none", \ ## args) #define LOGPCONN(conn, cat, level, fmt, args...) \ diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h new file mode 100644 index 0000000..7c37ead --- /dev/null +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -0,0 +1,57 @@ +#pragma once + +struct mgcp_trunk { + struct llist_head entry; + + struct mgcp_config *cfg; + + int trunk_nr; + int trunk_type; + + char *audio_fmtp_extra; + char *audio_name; + int audio_payload; + int audio_send_ptime; + int audio_send_name; + int audio_loop; + + int no_audio_transcoding; + + int omit_rtcp; + int keepalive_interval; + + /* RTP patching */ + int force_constant_ssrc; /* 0: don't, 1: once */ + int force_aligned_timing; + bool rfc5993_hr_convert; + + /* spec handling */ + int force_realloc; + + /* timer */ + struct osmo_timer_list keepalive_timer; + + /* When set, incoming RTP packets are not filtered + * when ports and ip-address do not match (debug) */ + int rtp_accept_all; + + unsigned int number_endpoints; + int vty_number_endpoints; + struct mgcp_endpoint **endpoints; + + /* Rate counter group which contains stats for generic MGCP events. */ + struct rate_ctr_group *mgcp_general_ctr_group; + /* Rate counter group which contains stats for processed CRCX commands. */ + struct rate_ctr_group *mgcp_crcx_ctr_group; + /* Rate counter group which contains stats for processed MDCX commands. */ + struct rate_ctr_group *mgcp_mdcx_ctr_group; + /* Rate counter group which contains stats for processed DLCX commands. */ + struct rate_ctr_group *mgcp_dlcx_ctr_group; + /* Rate counter group which aggregates stats of individual RTP connections. */ + struct rate_ctr_group *all_rtp_conn_stats; +}; + +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, int nr, int trunk_type); +int mgcp_trunk_alloc_endpts(struct mgcp_trunk *tcfg); +struct mgcp_trunk *mgcp_trunk_by_num(struct mgcp_config *cfg, int index); +struct mgcp_trunk *mgcp_trunk_by_name(const char *epname, struct mgcp_config *cfg); diff --git a/include/osmocom/mgcp_client/mgcp_common.h b/include/osmocom/mgcp_client/mgcp_common.h new file mode 100644 index 0000000..058d94a --- /dev/null +++ b/include/osmocom/mgcp_client/mgcp_common.h @@ -0,0 +1,118 @@ +/* + + DO NOT EDIT THIS FILE! + THIS IS OVERWRITTEN DURING BUILD + This is an automatic copy of + + */ +/* MGCP common implementations. + * These are used in libosmo-mgcp as well as libosmo-mgcp-client. + * To avoid interdependency, these are implemented in .h file only. */ + +/* + * (C) 2017 by sysmocom s.f.m.c. GmbH + * (C) 2009-2012 by Holger Hans Peter Freyther + * (C) 2009-2012 by On-Waves + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +/* Two copies of this file are kept in osmocom/mgcp/ and osmocom/mgcp_client/. + * Since both are by definition identical, use the old header exclusion ifdefs + * instead of '#pragma once' to avoid including both of these files. + * Though at the time of writing there are no such users, this allows including + * both libosmo-mgcp and libosmo-mgcp-client headers in the same file. */ +#ifndef OSMO_MGCP_COMMON_H +#define OSMO_MGCP_COMMON_H + +#include +#include + +#include +#include + +#define for_each_non_empty_line(line, save) \ + for (line = strtok_r(NULL, "\r\n", &save); line; \ + line = strtok_r(NULL, "\r\n", &save)) + +enum mgcp_connection_mode { + MGCP_CONN_NONE = 0, + MGCP_CONN_RECV_ONLY = 1, + MGCP_CONN_SEND_ONLY = 2, + MGCP_CONN_RECV_SEND = MGCP_CONN_RECV_ONLY | MGCP_CONN_SEND_ONLY, + MGCP_CONN_LOOPBACK = 4 | MGCP_CONN_RECV_SEND, +}; + +#define MGCP_X_OSMO_IGN_HEADER "X-Osmo-IGN:" +#define MGCP_X_OSMO_OSMUX_HEADER "X-Osmux:" + +/* Values should be bitwise-OR-able */ +enum mgcp_x_osmo_ign { + MGCP_X_OSMO_IGN_NONE = 0, + MGCP_X_OSMO_IGN_CALLID = 1, +}; + +/* Codec parameters (communicated via SDP/fmtp) */ +struct mgcp_codec_param { + bool amr_octet_aligned_present; + bool amr_octet_aligned; +}; + +/* Ensure that the msg->l2h is NUL terminated. */ +static inline int mgcp_msg_terminate_nul(struct msgb *msg) +{ + unsigned char *tail = msg->l2h + msgb_l2len(msg); /* char after l2 data */ + if (tail[-1] == '\0') + /* nothing to do */; + else if (msgb_tailroom(msg) > 0) + tail[0] = '\0'; + else if (tail[-1] == '\r' || tail[-1] == '\n') + tail[-1] = '\0'; + else { + LOGP(DLMGCP, LOGL_ERROR, "Cannot NUL terminate MGCP message: " + "Length: %d, Buffer size: %d\n", + msgb_l2len(msg), msg->data_len); + return -ENOTSUP; + } + return 0; +} + +/* Maximum length of the comment field */ +#define MGCP_COMMENT_MAXLEN 256 + +/* Maximum allowed String length of Connection Identifiers as per spec + * (see also RFC3435 2.1.3.2 Names of Connections), plus one for '\0'. */ +#define MGCP_CONN_ID_MAXLEN 32+1 + +/* Deprecated: old name of MGCP_CONN_ID_MAXLEN. */ +#define MGCP_CONN_ID_LENGTH MGCP_CONN_ID_MAXLEN + +/* String length of Endpoint Identifiers. +/ (see also RFC3435 section 3.2.1.3) */ +#define MGCP_ENDPOINT_MAXLEN (255*2+1+1) + +/* A prefix to denote the virtual trunk (RTP on both ends) */ +#define MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK "rtpbridge/" + +/* A prefix to denote the e1 trunk + * (see also RFC3435 section E.2) */ +#define MGCP_ENDPOINT_PREFIX_E1_TRUNK "ds/e1-" + +/* Maximal number of payload types / codecs that can be negotiated via SDP at + * at once. */ +#define MGCP_MAX_CODECS 10 + +#endif diff --git a/src/libosmo-mgcp/Makefile.am b/src/libosmo-mgcp/Makefile.am index a0c015b..142ff75 100644 --- a/src/libosmo-mgcp/Makefile.am +++ b/src/libosmo-mgcp/Makefile.am @@ -40,5 +40,6 @@ mgcp_conn.c \ mgcp_stat.c \ mgcp_endp.c \ + mgcp_trunk.c \ mgcp_ctrl.c \ $(NULL) diff --git a/src/libosmo-mgcp/mgcp_codec.c b/src/libosmo-mgcp/mgcp_codec.c index 9e55ab0..c251317 100644 --- a/src/libosmo-mgcp/mgcp_codec.c +++ b/src/libosmo-mgcp/mgcp_codec.c @@ -19,6 +19,7 @@ */ #include #include +#include #include /* Helper function to dump codec information of a specified codec to a printable @@ -292,7 +293,7 @@ * We do not compare to the full audio_name because we expect that * "GSM", "GSM/8000" and "GSM/8000/1" are all compatible when the * audio name of the codec is set to "GSM" */ - if (sscanf(endp->tcfg->audio_name, "%63[^/]/%*d/%*d", codec_name) < 1) + if (sscanf(endp->trunk->audio_name, "%63[^/]/%*d/%*d", codec_name) < 1) return false; /* Finally we check if the subtype_name we have generated from the @@ -302,9 +303,9 @@ return true; /* FIXME: It is questinable that the method to pick a compatible - * codec can work properly. Since this useses tcfg->audio_name, as + * codec can work properly. Since this useses trunk->audio_name, as * a reference, which is set to "AMR/8000" permanently. - * tcfg->audio_name must be updated by the first connection that + * trunk->audio_name must be updated by the first connection that * has been made on an endpoint, so that the second connection * can make a meaningful decision here */ @@ -335,7 +336,7 @@ for (i = 0; i < rtp->codecs_assigned; i++) { /* When no transcoding is available, avoid codecs that would * require transcoding. */ - if (endp->tcfg->no_audio_transcoding && !is_codec_compatible(endp, &rtp->codecs[i])) { + if (endp->trunk->no_audio_transcoding && !is_codec_compatible(endp, &rtp->codecs[i])) { LOGP(DLMGCP, LOGL_NOTICE, "transcoding not available, skipping codec: %d/%s\n", rtp->codecs[i].payload_type, rtp->codecs[i].subtype_name); continue; diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 7a86274..6bbcbbc 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -255,7 +256,7 @@ } static void -aggregate_rtp_conn_stats(struct mgcp_trunk_config *trunk, struct mgcp_conn_rtp *conn_rtp) +aggregate_rtp_conn_stats(struct mgcp_trunk *trunk, struct mgcp_conn_rtp *conn_rtp) { struct rate_ctr_group *all_stats = trunk->all_rtp_conn_stats; struct rate_ctr_group *conn_stats = conn_rtp->rate_ctr_group; @@ -296,7 +297,7 @@ switch (conn->type) { case MGCP_CONN_TYPE_RTP: - aggregate_rtp_conn_stats(endp->tcfg, &conn->u.rtp); + aggregate_rtp_conn_stats(endp->trunk, &conn->u.rtp); mgcp_rtp_conn_cleanup(&conn->u.rtp); break; default: diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index eec46bf..80eb5b8 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -1,7 +1,7 @@ /* Endpoint types */ /* - * (C) 2017 by sysmocom s.f.m.c. GmbH + * (C) 2017-2020 by sysmocom s.f.m.c. GmbH * All Rights Reserved * * Author: Philipp Maier @@ -23,6 +23,7 @@ #include #include +#include /* Endpoint typeset definition */ const struct mgcp_endpoint_typeset ep_typeset = { @@ -32,6 +33,38 @@ .rtp.cleanup_cb = mgcp_cleanup_rtp_bridge_cb }; +/*! allocate an endpoint and set default values. + * \param[in] trunk configuration + * \returns endpoint on success, NULL on failure */ +struct mgcp_endpoint *mgcp_endp_alloc(struct mgcp_trunk *trunk, char *name) +{ + struct mgcp_endpoint *endp; + + endp = talloc_zero(trunk->endpoints, struct mgcp_endpoint); + if (!endp) + return NULL; + + INIT_LLIST_HEAD(&endp->conns); + endp->cfg = trunk->cfg; + endp->trunk = trunk; + endp->name = talloc_strdup(endp, name); + + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + endp->type = &ep_typeset.rtp; + break; + case MGCP_TRUNK_E1: + /* FIXME: Implement E1 allocation */ + LOGP(DLMGCP, LOGL_FATAL, "E1 trunks not implemented!\n"); + break; + default: + osmo_panic("Cannot allocate unimplemented trunk type %d! %s:%d\n", + trunk->trunk_type, __FILE__, __LINE__); + } + + return endp; +} + /*! release endpoint, all open connections are closed. * \param[in] endp endpoint to release */ void mgcp_endp_release(struct mgcp_endpoint *endp) @@ -53,3 +86,183 @@ endp->local_options.codec = NULL; endp->wildcarded_req = false; } + +/* Check if the endpoint name contains the prefix, and chop it off, if it + * exists (per trunk the prefix is the same for all endpoints, so no ambiguity + * is introduced) */ +static const char *chop_endp_prefix(struct mgcp_trunk *trunk, + const char *epname) +{ + size_t prefix_len; + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; + if (strncmp + (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, + prefix_len) == 0) + return epname + prefix_len; + case MGCP_TRUNK_E1: + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_E1_TRUNK) - 1; + if (strncmp + (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, + prefix_len) == 0) + return epname + prefix_len; + } + + return epname; +} + +/* Check for suffixes that can be omitted and return the true length of the + * endpoint name */ +static unsigned int ep_name_len(struct mgcp_trunk *trunk, + const char *epname) +{ + char *suffix_begin; + + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + suffix_begin = strchr(epname, '@'); + if (!suffix_begin) + return strlen(epname); + return suffix_begin - epname; + case MGCP_TRUNK_E1: + return strlen(epname); + } + + return strlen(epname); +} + +/*! Find an endpoint by its name on a specified trunk. + * \param[out] cause, pointer to store cause code, can be NULL. + * \param[in] epname endpoint name to lookup (may lack trunk prefix and domain name). + * \param[in] trunk where the endpoint is located. + * \returns endpoint or NULL if endpoint was not found. */ +struct mgcp_endpoint *mgcp_endp_by_name_trunk(int *cause, const char *epname, + struct mgcp_trunk *trunk) +{ + struct mgcp_endpoint *endp; + unsigned int i; + char epname_lc[MGCP_ENDPOINT_MAXLEN]; + const char *epname_ch; + unsigned int epname_ch_len; + + if (cause) + *cause = 0; + + osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); + epname = epname_lc; + epname_ch = chop_endp_prefix(trunk, epname); + epname_ch_len = ep_name_len(trunk, epname_ch); + + /* At the moment we only support a primitive ('*'-only) method of + * wildarded endpoint searches that picks the next free endpoint on + * a trunk. */ + if (strncmp(epname_ch, "*", epname_ch_len) == 0) { + for (i = 0; i < trunk->number_endpoints; i++) { + endp = trunk->endpoints[i]; + if (endp->callid == NULL) { + LOGPENDP(endp, DLMGCP, LOGL_DEBUG, + "(trunk:%i) found free endpoint: %s\n", + trunk->trunk_nr, endp->name); + endp->wildcarded_req = true; + return endp; + } + } + + LOGP(DLMGCP, LOGL_ERROR, + "(trunk:%i) Not able to find a free endpoint\n", + trunk->trunk_nr); + if (cause) + *cause = -403; + return NULL; + } + + /* Find an enspoint by its name (if wildcarded request is not + * applicable) */ + for (i = 0; i < trunk->number_endpoints; i++) { + endp = trunk->endpoints[i]; + if (strncmp + (chop_endp_prefix(trunk, endp->name), epname_ch, + epname_ch_len) == 0) { + LOGPENDP(endp, DLMGCP, LOGL_DEBUG, + "(trunk:%i) found endpoint: %s\n", + trunk->trunk_nr, endp->name); + endp->wildcarded_req = false; + return endp; + } + } + + LOGP(DLMGCP, LOGL_ERROR, + "(trunk:%i) Not able to find specified endpoint: %s\n", + trunk->trunk_nr, epname); + if (cause) + *cause = -500; + + return NULL; +} + +/* Check if the domain name, which is supplied with the endpoint name + * matches the configuration. */ +static int check_domain_name(const char *epname, struct mgcp_config *cfg) +{ + char *domain_to_check; + + domain_to_check = strstr(epname, "@"); + if (!domain_to_check) { + LOGP(DLMGCP, LOGL_ERROR, "(endpoint:%s) missing domain name, expecting '%s'\n", + epname, cfg->domain); + return -EINVAL; + } + + /* Accept any domain if configured as "*" */ + if (!strcmp(cfg->domain, "*")) + return 0; + + if (strcmp(domain_to_check+1, cfg->domain) != 0) { + LOGP(DLMGCP, LOGL_ERROR, "(endpoint:%s) wrong domain name, expecting '%s'\n", + epname, cfg->domain); + return -EINVAL; + } + + return 0; +} + +/*! Find an endpoint by its name, search at all trunks. + * \param[out] cause, pointer to store cause code, can be NULL. + * \param[in] epname, must contain trunk prefix. + * \param[in] cfg, mgcp configuration (trunks). + * \returns endpoint or NULL if endpoint was not found. */ +struct mgcp_endpoint *mgcp_endp_by_name(int *cause, const char *epname, + struct mgcp_config *cfg) +{ + struct mgcp_trunk *trunk; + struct mgcp_endpoint *endp; + char epname_lc[MGCP_ENDPOINT_MAXLEN]; + + osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); + epname = epname_lc; + + if (cause) + *cause = -500; + + /* Identify the trunk where the endpoint is located */ + trunk = mgcp_trunk_by_name(epname, cfg); + if (!trunk) + return NULL; + + /* Virtual endpoints require a domain name (see RFC3435, section E.3) */ + if (trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { + if (check_domain_name(epname, cfg)) + return NULL; + } + + /* Identify the endpoint on the trunk */ + endp = mgcp_endp_by_name_trunk(cause, epname, trunk); + if (!endp) { + return NULL; + } + + if (cause) + *cause = 0; + return endp; +} diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 3e95ed1..019466e 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -129,166 +129,6 @@ return ret; } -/* We have a null terminated string with the endpoint name here. We only - * support two kinds. Simple ones as seen on the BSC level and the ones - * seen on the trunk side. (helper function for find_endpoint()) */ -static struct mgcp_endpoint *find_e1_endpoint(struct mgcp_config *cfg, - const char *mgcp) -{ - char *rest = NULL; - struct mgcp_trunk_config *tcfg; - int trunk, endp; - struct mgcp_endpoint *endp_ptr; - - trunk = strtoul(mgcp + 6, &rest, 10); - if (rest == NULL || rest[0] != '/' || trunk < 1) { - LOGP(DLMGCP, LOGL_ERROR, "Wrong trunk name '%s'\n", mgcp); - return NULL; - } - - endp = strtoul(rest + 1, &rest, 10); - if (rest == NULL || rest[0] != '@') { - LOGP(DLMGCP, LOGL_ERROR, "Wrong endpoint name '%s'\n", mgcp); - return NULL; - } - - /* signalling is on timeslot 1 */ - if (endp == 1) - return NULL; - - tcfg = mgcp_trunk_num(cfg, trunk); - if (!tcfg) { - LOGP(DLMGCP, LOGL_ERROR, "The trunk %d is not declared.\n", - trunk); - return NULL; - } - - if (!tcfg->endpoints) { - LOGP(DLMGCP, LOGL_ERROR, - "Endpoints of trunk %d not allocated.\n", trunk); - return NULL; - } - - if (endp < 1 || endp >= tcfg->number_endpoints) { - LOGP(DLMGCP, LOGL_ERROR, "Failed to find endpoint '%s'\n", - mgcp); - return NULL; - } - - endp_ptr = &tcfg->endpoints[endp]; - endp_ptr->wildcarded_req = false; - return endp_ptr; -} - -/* Find an endpoint that is not in use. Do this by going through the endpoint - * array, check the callid. A callid nullpointer indicates that the endpoint - * is free */ -static struct mgcp_endpoint *find_free_endpoint(struct mgcp_endpoint *endpoints, - unsigned int number_endpoints) -{ - struct mgcp_endpoint *endp; - unsigned int i; - - for (i = 0; i < number_endpoints; i++) { - if (endpoints[i].callid == NULL) { - endp = &endpoints[i]; - LOGPENDP(endp, DLMGCP, LOGL_DEBUG, - "found free endpoint\n"); - endp->wildcarded_req = true; - return endp; - } - } - - LOGP(DLMGCP, LOGL_ERROR, "Not able to find a free endpoint\n"); - return NULL; -} - -/* Check if the domain name, which is supplied with the endpoint name - * matches the configuration. */ -static int check_domain_name(struct mgcp_config *cfg, const char *mgcp) -{ - char *domain_to_check; - - domain_to_check = strstr(mgcp, "@"); - if (!domain_to_check) - return -EINVAL; - - /* Accept any domain if configured as "*" */ - if (!strcmp(cfg->domain, "*")) - return 0; - - if (strcmp(domain_to_check+1, cfg->domain) != 0) { - LOGP(DLMGCP, LOGL_ERROR, "Wrong domain name '%s', expecting '%s'\n", mgcp, cfg->domain); - return -EINVAL; - } - - return 0; -} - -/* Search the endpoint pool for the endpoint that had been selected via the - * MGCP message (helper function for mgcp_analyze_header()) */ -static struct mgcp_endpoint *find_endpoint(struct mgcp_config *cfg, - const char *mgcp, - int *cause) -{ - char *endptr = NULL; - unsigned int gw = INT_MAX; - const char *endpoint_number_str; - struct mgcp_endpoint *endp; - - *cause = 0; - - /* Check if the domainname in the request is correct */ - if (check_domain_name(cfg, mgcp)) { - *cause = -500; - return NULL; - } - - /* Check if the E1 trunk is requested */ - if (strncmp(mgcp, "ds/e1", 5) == 0) { - endp = find_e1_endpoint(cfg, mgcp); - if (!endp) - *cause = -500; - return endp; - } - - /* Check if the virtual trunk is addressed (new, correct way with prefix) */ - if (strncmp - (mgcp, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, - strlen(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK)) == 0) { - endpoint_number_str = - mgcp + strlen(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK); - if (endpoint_number_str[0] == '*') { - endp = find_free_endpoint(cfg->trunk.endpoints, - cfg->trunk.number_endpoints); - if (!endp) - *cause = -403; - return endp; - } - gw = strtoul(endpoint_number_str, &endptr, 16); - if (gw < cfg->trunk.number_endpoints && endptr[0] == '@') { - endp = &cfg->trunk.endpoints[gw]; - endp->wildcarded_req = false; - return endp; - } - } - - /* Deprecated method without prefix */ - LOGP(DLMGCP, LOGL_NOTICE, - "Addressing virtual trunk without prefix (deprecated), please use %s: '%s'\n", - MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, mgcp); - gw = strtoul(mgcp, &endptr, 16); - if (gw < cfg->trunk.number_endpoints && endptr[0] == '@') { - endp = &cfg->trunk.endpoints[gw]; - endp->wildcarded_req = false; - return endp; - } - - LOGP(DLMGCP, LOGL_ERROR, "Not able to find the endpoint: '%s'\n", mgcp); - *cause = -500; - return NULL; -} - /*! Analyze and parse the the hader of an MGCP messeage string. * \param[out] pdata caller provided memory to store the parsing results * \param[in] data mgcp message string @@ -316,7 +156,7 @@ pdata->trans = elem; break; case 1: - pdata->endp = find_endpoint(pdata->cfg, elem, &cause); + pdata->endp = mgcp_endp_by_name(&cause, elem, pdata->cfg); if (!pdata->endp) { LOGP(DLMGCP, LOGL_ERROR, "Unable to find Endpoint `%s'\n", elem); @@ -390,8 +230,8 @@ const size_t line_len = strlen(line); if (line[0] != '\0' && line_len < 2) { LOGP(DLMGCP, LOGL_ERROR, - "Wrong MGCP option format: '%s' on 0x%x\n", - line, ENDPOINT_NUMBER(endp)); + "Wrong MGCP option format: '%s' on %s\n", + line, endp->name); return 0; } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 608a93b..d3c7de8 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -61,7 +62,7 @@ int id, int inc) { struct rate_ctr_group *conn_stats = conn_rtp->rate_ctr_group; - struct rate_ctr_group *trunk_stats = endp->tcfg->all_rtp_conn_stats; + struct rate_ctr_group *trunk_stats = endp->trunk->all_rtp_conn_stats; /* add to both the per-connection and the per-trunk global stats */ rate_ctr_add(&conn_stats->ctr[id], inc); @@ -187,7 +188,7 @@ if (rc == -1) goto failed; - if (endp->tcfg->omit_rtcp) + if (endp->trunk->omit_rtcp) return rc; was_rtcp = 1; @@ -649,8 +650,8 @@ #if 0 DEBUGP(DRTP, - "endpoint:0x%x payload hdr payload %u -> endp payload %u\n", - ENDPOINT_NUMBER(endp), rtp_hdr->payload_type, payload); + "endpoint:%s payload hdr payload %u -> endp payload %u\n", + endp->name, rtp_hdr->payload_type, payload); rtp_hdr->payload_type = payload; #endif } @@ -819,7 +820,7 @@ * connection in loopback mode exists), then the source connection * shall be specified as destination connection */ - struct mgcp_trunk_config *tcfg = endp->tcfg; + struct mgcp_trunk *trunk = endp->trunk; struct mgcp_rtp_end *rtp_end; struct mgcp_rtp_state *rtp_state; char *dest_name; @@ -835,7 +836,7 @@ } LOGPENDP(endp, DRTP, LOGL_DEBUG, "loop:%d, mode:%d%s\n", - tcfg->audio_loop, conn_src->conn->mode, + trunk->audio_loop, conn_src->conn->mode, conn_src->conn->mode == MGCP_CONN_LOOPBACK ? " (loopback)" : ""); /* FIXME: It is legal that the payload type on the egress connection is @@ -947,7 +948,7 @@ buflen = cont; } while (buflen > 0); return nbytes; - } else if (!tcfg->omit_rtcp) { + } else if (!trunk->omit_rtcp) { LOGPENDP(endp, DRTP, LOGL_DEBUG, "send to %s %s rtp_port:%u rtcp_port:%u\n", dest_name, inet_ntoa(rtp_end->addr), @@ -1150,12 +1151,12 @@ { struct mgcp_endpoint *endp; struct mgcp_conn_rtp *conn; - struct mgcp_trunk_config *tcfg; + struct mgcp_trunk *trunk; int rc; conn = (struct mgcp_conn_rtp*) fd->data; endp = conn->conn->endp; - tcfg = endp->tcfg; + trunk = endp->trunk; LOGPCONN(conn->conn, DRTP, LOGL_DEBUG, "receiving RTP/RTCP packet...\n"); @@ -1190,7 +1191,7 @@ LOGPENDP(endp, DRTP, LOGL_DEBUG, "conn:%s\n", mgcp_conn_dump(conn->conn)); /* Check if the origin of the RTP packet seems plausible */ - if (tcfg->rtp_accept_all == 0) { + if (trunk->rtp_accept_all == 0) { if (check_rtp_origin(conn, addr) != 0) return -1; } @@ -1436,11 +1437,10 @@ /* Bind RTP and RTCP port (helper function for mgcp_bind_net_rtp_port()) */ static int bind_rtp(struct mgcp_config *cfg, const char *source_addr, - struct mgcp_rtp_end *rtp_end, int endpno) + struct mgcp_rtp_end *rtp_end, struct mgcp_endpoint *endp) { /* NOTE: The port that is used for RTCP is the RTP port incremented by one * (e.g. RTP-Port = 16000 ==> RTCP-Port = 16001) */ - struct mgcp_endpoint *endp = &cfg->trunk.endpoints[endpno]; if (mgcp_create_bind(source_addr, &rtp_end->rtp, rtp_end->local_port) != 0) { @@ -1527,8 +1527,7 @@ mgcp_get_local_addr(local_ip_addr, conn); - return bind_rtp(endp->cfg, local_ip_addr, end, - ENDPOINT_NUMBER(endp)); + return bind_rtp(endp->cfg, local_ip_addr, end, endp); } /*! free allocated RTP and RTCP ports. diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index a1121de..29ad45f 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -27,6 +27,7 @@ #include #include #include +#include static struct osmo_fd osmux_fd; @@ -202,9 +203,9 @@ struct mgcp_conn_rtp * conn_rtp; int i; - for (i=0; itrunk.number_endpoints; i++) { + for (i=0; itrunk->number_endpoints; i++) { - endp = &cfg->trunk.endpoints[i]; + endp = cfg->trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->type != MGCP_CONN_TYPE_RTP) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 82c10aa..c66d984 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include @@ -40,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -53,101 +53,6 @@ #define MGCP_REQUEST(NAME, REQ, DEBUG_NAME) \ { .name = NAME, .handle_request = REQ, .debug_name = DEBUG_NAME }, -static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { - /* rx_msgs = rx_msgs_retransmitted + rx_msgs_handled + rx_msgs_unhandled + err_rx_msg_parse + err_rx_no_endpoint */ - [MGCP_GENERAL_RX_MSGS_TOTAL] = {"mgcp:rx_msgs", "total number of MGCP messages received."}, - [MGCP_GENERAL_RX_MSGS_RETRANSMITTED] = {"mgcp:rx_msgs_retransmitted", "number of received retransmissions."}, - [MGCP_GENERAL_RX_MSGS_HANDLED] = {"mgcp:rx_msgs_handled", "number of handled MGCP messages."}, - [MGCP_GENERAL_RX_MSGS_UNHANDLED] = {"mgcp:rx_msgs_unhandled", "number of unhandled MGCP messages."}, - [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = {"mgcp:err_rx_msg_parse", "error parsing MGCP message."}, - [MGCP_GENERAL_RX_FAIL_NO_ENDPOINT] = {"mgcp:err_rx_no_endpoint", "can't find MGCP endpoint, probably we've used all allocated endpoints."}, -}; - -const static struct rate_ctr_group_desc mgcp_general_ctr_group_desc = { - .group_name_prefix = "mgcp", - .group_description = "mgcp general statistics", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_ctr = ARRAY_SIZE(mgcp_general_ctr_desc), - .ctr_desc = mgcp_general_ctr_desc -}; - -static const struct rate_ctr_desc mgcp_crcx_ctr_desc[] = { - [MGCP_CRCX_SUCCESS] = {"crcx:success", "CRCX command processed successfully."}, - [MGCP_CRCX_FAIL_BAD_ACTION] = {"crcx:bad_action", "bad action in CRCX command."}, - [MGCP_CRCX_FAIL_UNHANDLED_PARAM] = {"crcx:unhandled_param", "unhandled parameter in CRCX command."}, - [MGCP_CRCX_FAIL_MISSING_CALLID] = {"crcx:missing_callid", "missing CallId in CRCX command."}, - [MGCP_CRCX_FAIL_INVALID_MODE] = {"crcx:invalid_mode", "invalid connection mode in CRCX command."}, - [MGCP_CRCX_FAIL_LIMIT_EXCEEDED] = {"crcx:limit_exceeded", "limit of concurrent connections was reached."}, - [MGCP_CRCX_FAIL_UNKNOWN_CALLID] = {"crcx:unkown_callid", "unknown CallId in CRCX command."}, - [MGCP_CRCX_FAIL_ALLOC_CONN] = {"crcx:alloc_conn_fail", "connection allocation failure."}, - [MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC] = {"crcx:no_remote_conn_desc", "no opposite end specified for connection."}, - [MGCP_CRCX_FAIL_START_RTP] = {"crcx:start_rtp_failure", "failure to start RTP processing."}, - [MGCP_CRCX_FAIL_REJECTED_BY_POLICY] = {"crcx:conn_rejected", "connection rejected by policy."}, - [MGCP_CRCX_FAIL_NO_OSMUX] = {"crcx:no_osmux", "no osmux offered by peer."}, - [MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS] = {"crcx:conn_opt", "connection options invalid."}, - [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = {"crcx:codec_nego", "codec negotiation failure."}, - [MGCP_CRCX_FAIL_BIND_PORT] = {"crcx:bind_port", "port bind failure."}, -}; - -const static struct rate_ctr_group_desc mgcp_crcx_ctr_group_desc = { - .group_name_prefix = "crcx", - .group_description = "crxc statistics", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_ctr = ARRAY_SIZE(mgcp_crcx_ctr_desc), - .ctr_desc = mgcp_crcx_ctr_desc -}; - -static const struct rate_ctr_desc mgcp_mdcx_ctr_desc[] = { - [MGCP_MDCX_SUCCESS] = {"mdcx:success", "MDCX command processed successfully."}, - [MGCP_MDCX_FAIL_WILDCARD] = {"mdcx:wildcard", "wildcard endpoint names in MDCX commands are unsupported."}, - [MGCP_MDCX_FAIL_NO_CONN] = {"mdcx:no_conn", "endpoint specified in MDCX command has no active connections."}, - [MGCP_MDCX_FAIL_INVALID_CALLID] = {"mdcx:callid", "invalid CallId specified in MDCX command."}, - [MGCP_MDCX_FAIL_INVALID_CONNID] = {"mdcx:connid", "invalid connection ID specified in MDCX command."}, - [MGCP_MDCX_FAIL_UNHANDLED_PARAM] = {"crcx:unhandled_param", "unhandled parameter in MDCX command."}, - [MGCP_MDCX_FAIL_NO_CONNID] = {"mdcx:no_connid", "no connection ID specified in MDCX command."}, - [MGCP_MDCX_FAIL_CONN_NOT_FOUND] = {"mdcx:conn_not_found", "connection specified in MDCX command does not exist."}, - [MGCP_MDCX_FAIL_INVALID_MODE] = {"mdcx:invalid_mode", "invalid connection mode in MDCX command."}, - [MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS] = {"mdcx:conn_opt", "connection options invalid."}, - [MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC] = {"mdcx:no_remote_conn_desc", "no opposite end specified for connection."}, - [MGCP_MDCX_FAIL_START_RTP] = {"mdcx:start_rtp_failure", "failure to start RTP processing."}, - [MGCP_MDCX_FAIL_REJECTED_BY_POLICY] = {"mdcx:conn_rejected", "connection rejected by policy."}, - [MGCP_MDCX_DEFERRED_BY_POLICY] = {"mdcx:conn_deferred", "connection deferred by policy."}, -}; - -const static struct rate_ctr_group_desc mgcp_mdcx_ctr_group_desc = { - .group_name_prefix = "mdcx", - .group_description = "mdcx statistics", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_ctr = ARRAY_SIZE(mgcp_mdcx_ctr_desc), - .ctr_desc = mgcp_mdcx_ctr_desc -}; - -static const struct rate_ctr_desc mgcp_dlcx_ctr_desc[] = { - [MGCP_DLCX_SUCCESS] = {"dlcx:success", "DLCX command processed successfully."}, - [MGCP_DLCX_FAIL_WILDCARD] = {"dlcx:wildcard", "wildcard names in DLCX commands are unsupported."}, - [MGCP_DLCX_FAIL_NO_CONN] = {"dlcx:no_conn", "endpoint specified in DLCX command has no active connections."}, - [MGCP_DLCX_FAIL_INVALID_CALLID] = {"dlcx:callid", "CallId specified in DLCX command mismatches endpoint's CallId ."}, - [MGCP_DLCX_FAIL_INVALID_CONNID] = {"dlcx:connid", "connection ID specified in DLCX command does not exist on endpoint."}, - [MGCP_DLCX_FAIL_UNHANDLED_PARAM] = {"dlcx:unhandled_param", "unhandled parameter in DLCX command."}, - [MGCP_DLCX_FAIL_REJECTED_BY_POLICY] = {"dlcx:rejected", "connection deletion rejected by policy."}, - [MGCP_DLCX_DEFERRED_BY_POLICY] = {"dlcx:deferred", "connection deletion deferred by policy."}, -}; - -const static struct rate_ctr_group_desc mgcp_dlcx_ctr_group_desc = { - .group_name_prefix = "dlcx", - .group_description = "dlcx statistics", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_ctr = ARRAY_SIZE(mgcp_dlcx_ctr_desc), - .ctr_desc = mgcp_dlcx_ctr_desc -}; - -const static struct rate_ctr_group_desc all_rtp_conn_rate_ctr_group_desc = { - .group_name_prefix = "all_rtp_conn", - .group_description = "aggregated statistics for all rtp connections", - .class_id = 1, - .num_ctr = ARRAY_SIZE(all_rtp_conn_rate_ctr_desc), - .ctr_desc = all_rtp_conn_rate_ctr_desc -}; static struct msgb *handle_audit_endpoint(struct mgcp_parse_data *data); static struct msgb *handle_create_con(struct mgcp_parse_data *data); @@ -254,11 +159,11 @@ * Remember the last transmission per endpoint. */ if (endp) { - struct mgcp_trunk_config *tcfg = endp->tcfg; + struct mgcp_trunk *trunk = endp->trunk; talloc_free(endp->last_response); talloc_free(endp->last_trans); - endp->last_trans = talloc_strdup(tcfg->endpoints, trans); - endp->last_response = talloc_strndup(tcfg->endpoints, + endp->last_trans = talloc_strdup(trunk->endpoints, trans); + endp->last_response = talloc_strndup(trunk->endpoints, (const char *)res->l2h, msgb_l2len(res)); } @@ -296,10 +201,8 @@ /* NOTE: Only in the virtual trunk we allow dynamic endpoint names */ if (endp->wildcarded_req - && endp->tcfg->trunk_type == MGCP_TRUNK_VIRTUAL) { - rc = msgb_printf(msg, "Z: %s%x@%s\r\n", - MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, - ENDPOINT_NUMBER(endp), endp->cfg->domain); + && endp->trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { + rc = msgb_printf(msg, "Z: %s\r\n", endp->name); if (rc < 0) return -EINVAL; } @@ -379,8 +282,8 @@ * - or a response (three numbers, space, transaction id) */ struct msgb *mgcp_handle_message(struct mgcp_config *cfg, struct msgb *msg) { - struct mgcp_trunk_config *tcfg = &cfg->trunk; - struct rate_ctr_group *rate_ctrs = tcfg->mgcp_general_ctr_group; + struct mgcp_trunk *trunk = cfg->trunk; + struct rate_ctr_group *rate_ctrs = trunk->mgcp_general_ctr_group; struct mgcp_parse_data pdata; int rc, i, code, handled = 0; struct msgb *resp = NULL; @@ -692,13 +595,13 @@ void mgcp_rtp_end_config(struct mgcp_endpoint *endp, int expect_ssrc_change, struct mgcp_rtp_end *rtp) { - struct mgcp_trunk_config *tcfg = endp->tcfg; + struct mgcp_trunk *trunk = endp->trunk; - int patch_ssrc = expect_ssrc_change && tcfg->force_constant_ssrc; + int patch_ssrc = expect_ssrc_change && trunk->force_constant_ssrc; - rtp->force_aligned_timing = tcfg->force_aligned_timing; + rtp->force_aligned_timing = trunk->force_aligned_timing; rtp->force_constant_ssrc = patch_ssrc ? 1 : 0; - rtp->rfc5993_hr_convert = tcfg->rfc5993_hr_convert; + rtp->rfc5993_hr_convert = trunk->rfc5993_hr_convert; LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "Configuring RTP endpoint: local port %d%s%s\n", @@ -830,9 +733,9 @@ /* CRCX command handler, processes the received command */ static struct msgb *handle_create_con(struct mgcp_parse_data *p) { - struct mgcp_trunk_config *tcfg = p->endp->tcfg; + struct mgcp_trunk *trunk = p->endp->trunk; struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = tcfg->mgcp_crcx_ctr_group; + struct rate_ctr_group *rate_ctrs = trunk->mgcp_crcx_ctr_group; int error_code = 400; const char *local_options = NULL; const char *callid = NULL; @@ -915,7 +818,7 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: endpoint full, max. %i connections allowed!\n", endp->type->max_conns); - if (tcfg->force_realloc) { + if (trunk->force_realloc) { /* There is no more room for a connection, make some * room by blindly tossing the oldest of the two two * connections */ @@ -934,7 +837,7 @@ LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: already seized by other call (%s)\n", endp->callid); - if (tcfg->force_realloc) + if (trunk->force_realloc) /* This is not our call, toss everything by releasing * the entire endpoint. (rude!) */ mgcp_endp_release(endp); @@ -949,10 +852,10 @@ /* Set the callid, creation of another connection will only be possible * when the callid matches up. (Connections are distinguished by their * connection ids) */ - endp->callid = talloc_strdup(tcfg->endpoints, callid); + endp->callid = talloc_strdup(trunk->endpoints, callid); snprintf(conn_name, sizeof(conn_name), "%s", callid); - _conn = mgcp_conn_alloc(tcfg->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); + _conn = mgcp_conn_alloc(trunk->endpoints, endp, MGCP_CONN_TYPE_RTP, conn_name); if (!_conn) { LOGPENDP(endp, DLMGCP, LOGL_ERROR, "CRCX: unable to allocate RTP connection\n"); @@ -987,7 +890,7 @@ /* Set local connection options, if present */ if (local_options) { - rc = set_local_cx_options(endp->tcfg->endpoints, + rc = set_local_cx_options(endp->trunk->endpoints, &endp->local_options, local_options); if (rc != 0) { LOGPCONN(_conn, DLMGCP, LOGL_ERROR, @@ -1007,8 +910,8 @@ goto error2; } - conn->end.fmtp_extra = talloc_strdup(tcfg->endpoints, - tcfg->audio_fmtp_extra); + conn->end.fmtp_extra = talloc_strdup(trunk->endpoints, + trunk->audio_fmtp_extra); if (p->cfg->force_ptime) { conn->end.packet_duration_ms = p->cfg->force_ptime; @@ -1043,8 +946,7 @@ /* policy CB */ if (p->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(tcfg, ENDPOINT_NUMBER(endp), - MGCP_ENDP_CRCX, p->trans); + rc = p->cfg->policy_cb(endp, MGCP_ENDP_CRCX, p->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, @@ -1066,12 +968,12 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "CRCX: Creating connection: port: %u\n", conn->end.local_port); if (p->cfg->change_cb) - p->cfg->change_cb(tcfg, ENDPOINT_NUMBER(endp), MGCP_ENDP_CRCX); + p->cfg->change_cb(endp, MGCP_ENDP_CRCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ - OSMO_ASSERT(tcfg->keepalive_interval >= MGCP_KEEPALIVE_ONCE); + OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); if (conn->conn->mode & MGCP_CONN_RECV_ONLY - && tcfg->keepalive_interval != MGCP_KEEPALIVE_NEVER) + && trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, @@ -1085,16 +987,12 @@ return create_err_response(endp, error_code, "CRCX", p->trans); } - - - - /* MDCX command handler, processes the received command */ static struct msgb *handle_modify_con(struct mgcp_parse_data *p) { - struct mgcp_trunk_config *tcfg = p->endp->tcfg; + struct mgcp_trunk *trunk = p->endp->trunk; struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = tcfg->mgcp_mdcx_ctr_group; + struct rate_ctr_group *rate_ctrs = trunk->mgcp_mdcx_ctr_group; int error_code = 500; int silent = 0; int have_sdp = 0; @@ -1202,7 +1100,7 @@ /* Set local connection options, if present */ if (local_options) { - rc = set_local_cx_options(endp->tcfg->endpoints, + rc = set_local_cx_options(endp->trunk->endpoints, &endp->local_options, local_options); if (rc != 0) { LOGPCONN(conn->conn, DLMGCP, LOGL_ERROR, @@ -1261,8 +1159,7 @@ /* policy CB */ if (p->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp->tcfg, ENDPOINT_NUMBER(endp), - MGCP_ENDP_MDCX, p->trans); + rc = p->cfg->policy_cb(endp, MGCP_ENDP_MDCX, p->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, @@ -1291,13 +1188,12 @@ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: modified conn:%s\n", mgcp_conn_dump(conn->conn)); if (p->cfg->change_cb) - p->cfg->change_cb(endp->tcfg, ENDPOINT_NUMBER(endp), - MGCP_ENDP_MDCX); + p->cfg->change_cb(endp, MGCP_ENDP_MDCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ - OSMO_ASSERT(endp->tcfg->keepalive_interval >= MGCP_KEEPALIVE_ONCE); + OSMO_ASSERT(endp->trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); if (conn->conn->mode & MGCP_CONN_RECV_ONLY - && endp->tcfg->keepalive_interval != MGCP_KEEPALIVE_NEVER) + && endp->trunk->keepalive_interval != MGCP_KEEPALIVE_NEVER) send_dummy(endp, conn); rate_ctr_inc(&rate_ctrs->ctr[MGCP_MDCX_SUCCESS]); @@ -1318,9 +1214,9 @@ /* DLCX command handler, processes the received command */ static struct msgb *handle_delete_con(struct mgcp_parse_data *p) { - struct mgcp_trunk_config *tcfg = p->endp->tcfg; + struct mgcp_trunk *trunk = p->endp->trunk; struct mgcp_endpoint *endp = p->endp; - struct rate_ctr_group *rate_ctrs = tcfg->mgcp_dlcx_ctr_group; + struct rate_ctr_group *rate_ctrs = trunk->mgcp_dlcx_ctr_group; int error_code = 400; int silent = 0; char *line; @@ -1381,8 +1277,7 @@ /* policy CB */ if (p->cfg->policy_cb) { int rc; - rc = p->cfg->policy_cb(endp->tcfg, ENDPOINT_NUMBER(endp), - MGCP_ENDP_DLCX, p->trans); + rc = p->cfg->policy_cb(endp, MGCP_ENDP_DLCX, p->trans); switch (rc) { case MGCP_POLICY_REJECT: LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); @@ -1446,8 +1341,7 @@ } if (p->cfg->change_cb) - p->cfg->change_cb(endp->tcfg, ENDPOINT_NUMBER(endp), - MGCP_ENDP_DLCX); + p->cfg->change_cb(endp, MGCP_ENDP_DLCX); rate_ctr_inc(&rate_ctrs->ctr[MGCP_DLCX_SUCCESS]); if (silent) @@ -1476,7 +1370,7 @@ LOGP(DLMGCP, LOGL_NOTICE, "RSIP: resetting all endpoints ...\n"); if (p->cfg->reset_cb) - p->cfg->reset_cb(p->endp->tcfg); + p->cfg->reset_cb(p->endp->trunk); return NULL; } @@ -1522,37 +1416,37 @@ /* Connection keepalive timer, will take care that dummy packets are send * regularly, so that NAT connections stay open */ -static void mgcp_keepalive_timer_cb(void *_tcfg) +static void mgcp_keepalive_timer_cb(void *_trunk) { - struct mgcp_trunk_config *tcfg = _tcfg; + struct mgcp_trunk *trunk = _trunk; struct mgcp_conn *conn; int i; LOGP(DLMGCP, LOGL_DEBUG, "triggered trunk %d keepalive timer\n", - tcfg->trunk_nr); + trunk->trunk_nr); /* Do not accept invalid configuration values * valid is MGCP_KEEPALIVE_NEVER, MGCP_KEEPALIVE_ONCE and * values greater 0 */ - OSMO_ASSERT(tcfg->keepalive_interval >= MGCP_KEEPALIVE_ONCE); + OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); /* The dummy packet functionality has been disabled, we will exit * immediately, no further timer is scheduled, which means we will no * longer send dummy packets even when we did before */ - if (tcfg->keepalive_interval == MGCP_KEEPALIVE_NEVER) + if (trunk->keepalive_interval == MGCP_KEEPALIVE_NEVER) return; /* In cases where only one dummy packet is sent, we do not need * the timer since the functions that handle the CRCX and MDCX are * triggering the sending of the dummy packet. So we behave like in * the MGCP_KEEPALIVE_NEVER case */ - if (tcfg->keepalive_interval == MGCP_KEEPALIVE_ONCE) + if (trunk->keepalive_interval == MGCP_KEEPALIVE_ONCE) return; /* Send walk over all endpoints and send out dummy packets through * every connection present on each endpoint */ - for (i = 1; i < tcfg->number_endpoints; ++i) { - struct mgcp_endpoint *endp = &tcfg->endpoints[i]; + for (i = 1; i < trunk->number_endpoints; ++i) { + struct mgcp_endpoint *endp = trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->mode == MGCP_CONN_RECV_ONLY) send_dummy(endp, &conn->u.rtp); @@ -1561,77 +1455,21 @@ /* Schedule the keepalive timer for the next round */ LOGP(DLMGCP, LOGL_DEBUG, "rescheduling trunk %d keepalive timer\n", - tcfg->trunk_nr); - osmo_timer_schedule(&tcfg->keepalive_timer, tcfg->keepalive_interval, + trunk->trunk_nr); + osmo_timer_schedule(&trunk->keepalive_timer, trunk->keepalive_interval, 0); } -void mgcp_trunk_set_keepalive(struct mgcp_trunk_config *tcfg, int interval) +void mgcp_trunk_set_keepalive(struct mgcp_trunk *trunk, int interval) { - tcfg->keepalive_interval = interval; - osmo_timer_setup(&tcfg->keepalive_timer, mgcp_keepalive_timer_cb, tcfg); + trunk->keepalive_interval = interval; + osmo_timer_setup(&trunk->keepalive_timer, mgcp_keepalive_timer_cb, trunk); if (interval <= 0) - osmo_timer_del(&tcfg->keepalive_timer); + osmo_timer_del(&trunk->keepalive_timer); else - osmo_timer_schedule(&tcfg->keepalive_timer, - tcfg->keepalive_interval, 0); -} - -static int free_rate_counter_group(struct rate_ctr_group *rate_ctr_group) -{ - rate_ctr_group_free(rate_ctr_group); - return 0; -} - -static int alloc_mgcp_rate_counters(struct mgcp_trunk_config *trunk, void *ctx) -{ - /* FIXME: Each new rate counter group requires a unique index. At the - * moment we generate an index using a counter, but perhaps there is - * a better way of assigning indices? */ - static unsigned int general_rate_ctr_index = 0; - static unsigned int crcx_rate_ctr_index = 0; - static unsigned int mdcx_rate_ctr_index = 0; - static unsigned int dlcx_rate_ctr_index = 0; - static unsigned int all_rtp_conn_rate_ctr_index = 0; - - if (trunk->mgcp_general_ctr_group == NULL) { - trunk->mgcp_general_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); - if (!trunk->mgcp_general_ctr_group) - return -1; - talloc_set_destructor(trunk->mgcp_general_ctr_group, free_rate_counter_group); - general_rate_ctr_index++; - } - if (trunk->mgcp_crcx_ctr_group == NULL) { - trunk->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); - if (!trunk->mgcp_crcx_ctr_group) - return -1; - talloc_set_destructor(trunk->mgcp_crcx_ctr_group, free_rate_counter_group); - crcx_rate_ctr_index++; - } - if (trunk->mgcp_mdcx_ctr_group == NULL) { - trunk->mgcp_mdcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); - if (!trunk->mgcp_mdcx_ctr_group) - return -1; - talloc_set_destructor(trunk->mgcp_mdcx_ctr_group, free_rate_counter_group); - mdcx_rate_ctr_index++; - } - if (trunk->mgcp_dlcx_ctr_group == NULL) { - trunk->mgcp_dlcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); - if (!trunk->mgcp_dlcx_ctr_group) - return -1; - talloc_set_destructor(trunk->mgcp_dlcx_ctr_group, free_rate_counter_group); - dlcx_rate_ctr_index++; - } - if (trunk->all_rtp_conn_stats == NULL) { - trunk->all_rtp_conn_stats = rate_ctr_group_alloc(ctx, &all_rtp_conn_rate_ctr_group_desc, - all_rtp_conn_rate_ctr_index); - if (!trunk->all_rtp_conn_stats) - return -1; - talloc_set_destructor(trunk->all_rtp_conn_stats, free_rate_counter_group); - all_rtp_conn_rate_ctr_index++; - } - return 0; + osmo_timer_schedule(&trunk->keepalive_timer, + trunk->keepalive_interval, 0); } /*! allocate configuration with default values. @@ -1661,113 +1499,19 @@ cfg->get_net_downlink_format_cb = &mgcp_get_net_downlink_format_default; - /* default trunk handling; TODO: avoid duplication with mgcp_trunk_alloc() below */ - cfg->trunk.cfg = cfg; - cfg->trunk.trunk_nr = 0; - cfg->trunk.trunk_type = MGCP_TRUNK_VIRTUAL; - cfg->trunk.audio_name = talloc_strdup(cfg, "AMR/8000"); - cfg->trunk.audio_payload = 126; - cfg->trunk.audio_send_ptime = 1; - cfg->trunk.audio_send_name = 1; - cfg->trunk.vty_number_endpoints = 33; - cfg->trunk.omit_rtcp = 0; - mgcp_trunk_set_keepalive(&cfg->trunk, MGCP_KEEPALIVE_ONCE); - if (alloc_mgcp_rate_counters(&cfg->trunk, cfg) < 0) { + /* Allocate virtual trunk */ + cfg->trunk = mgcp_trunk_alloc(cfg, 0, MGCP_TRUNK_VIRTUAL); + if (!cfg->trunk) { talloc_free(cfg); return NULL; } + /* Initalize list head for user configurable trunks */ INIT_LLIST_HEAD(&cfg->trunks); return cfg; } -/*! allocate configuration with default values. - * (called once at startup by VTY) - * \param[in] cfg mgcp configuration - * \param[in] nr trunk number - * \returns pointer to allocated trunk configuration */ -struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, int nr) -{ - struct mgcp_trunk_config *trunk; - - trunk = talloc_zero(cfg, struct mgcp_trunk_config); - if (!trunk) { - LOGP(DLMGCP, LOGL_ERROR, "Failed to allocate.\n"); - return NULL; - } - - trunk->cfg = cfg; - trunk->trunk_type = MGCP_TRUNK_E1; - trunk->trunk_nr = nr; - trunk->audio_name = talloc_strdup(cfg, "AMR/8000"); - trunk->audio_payload = 126; - trunk->audio_send_ptime = 1; - trunk->audio_send_name = 1; - trunk->vty_number_endpoints = 33; - trunk->omit_rtcp = 0; - mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); - alloc_mgcp_rate_counters(trunk, trunk); - llist_add_tail(&trunk->entry, &cfg->trunks); - - return trunk; -} - -/*! get trunk configuration by trunk number (index). - * \param[in] cfg mgcp configuration - * \param[in] index trunk number - * \returns pointer to trunk configuration, NULL on error */ -struct mgcp_trunk_config *mgcp_trunk_num(struct mgcp_config *cfg, int index) -{ - struct mgcp_trunk_config *trunk; - - llist_for_each_entry(trunk, &cfg->trunks, entry) - if (trunk->trunk_nr == index) - return trunk; - - return NULL; -} - -/*! allocate endpoints and set default values. - * (called once at startup by VTY) - * \param[in] tcfg trunk configuration - * \returns 0 on success, -1 on failure */ -int mgcp_endpoints_allocate(struct mgcp_trunk_config *tcfg) -{ - int i; - - tcfg->endpoints = _talloc_zero_array(tcfg->cfg, - sizeof(struct mgcp_endpoint), - tcfg->vty_number_endpoints, - "endpoints"); - if (!tcfg->endpoints) - return -1; - - for (i = 0; i < tcfg->vty_number_endpoints; ++i) { - INIT_LLIST_HEAD(&tcfg->endpoints[i].conns); - tcfg->endpoints[i].cfg = tcfg->cfg; - tcfg->endpoints[i].tcfg = tcfg; - - switch (tcfg->trunk_type) { - case MGCP_TRUNK_VIRTUAL: - tcfg->endpoints[i].type = &ep_typeset.rtp; - break; - case MGCP_TRUNK_E1: - /* FIXME: Implement E1 allocation */ - LOGP(DLMGCP, LOGL_FATAL, "E1 trunks not implemented!\n"); - break; - default: - osmo_panic("Cannot allocate unimplemented trunk type %d! %s:%d\n", - tcfg->trunk_type, __FILE__, __LINE__); - } - } - - tcfg->number_endpoints = tcfg->vty_number_endpoints; - alloc_mgcp_rate_counters(tcfg, tcfg->cfg); - - return 0; -} - static int send_agent(struct mgcp_config *cfg, const char *buf, int len) { return write(cfg->gw_fd.bfd.fd, buf, len); @@ -1798,17 +1542,16 @@ /*! Reset a single endpoint by sending RSIP message to self. * (called by VTY) - * \param[in] endp trunk endpoint - * \param[in] endpoint number + * \param[in] endp to reset * \returns 0 on success, -1 on error */ -int mgcp_send_reset_ep(struct mgcp_endpoint *endp, int endpoint) +int mgcp_send_reset_ep(struct mgcp_endpoint *endp) { char buf[MGCP_ENDPOINT_MAXLEN + 128]; int len; int rc; len = snprintf(buf, sizeof(buf), - "RSIP 39 %x@%s MGCP 1.0\r\n", endpoint, endp->cfg->domain); + "RSIP 39 %s MGCP 1.0\r\n", endp->name); if (len < 0) return -1; diff --git a/src/libosmo-mgcp/mgcp_sdp.c b/src/libosmo-mgcp/mgcp_sdp.c index 01e7968..f811fac 100644 --- a/src/libosmo-mgcp/mgcp_sdp.c +++ b/src/libosmo-mgcp/mgcp_sdp.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -358,10 +359,11 @@ break; default: if (p->endp) + /* TODO: Check spec: We used the bare endpoint number before, + * now we use the endpoint name as a whole? Is this allowed? */ LOGP(DLMGCP, LOGL_NOTICE, - "Unhandled SDP option: '%c'/%d on 0x%x\n", - line[0], line[0], - ENDPOINT_NUMBER(p->endp)); + "Unhandled SDP option: '%c'/%d on %s\n", + line[0], line[0], endp->name); else LOGP(DLMGCP, LOGL_NOTICE, "Unhandled SDP option: '%c'/%d\n", @@ -381,7 +383,7 @@ codec_param = param_by_pt(codecs[i].payload_type, fmtp_params, fmtp_used); rc = mgcp_codec_add(conn, codecs[i].payload_type, codecs[i].map_line, codec_param); if (rc < 0) - LOGP(DLMGCP, LOGL_NOTICE, "endpoint:0x%x, failed to add codec\n", ENDPOINT_NUMBER(p->endp)); + LOGP(DLMGCP, LOGL_NOTICE, "endpoint:%s, failed to add codec\n", endp->name); } talloc_free(tmp_ctx); @@ -557,7 +559,7 @@ if (rc < 0) goto buffer_too_small; - if (endp->tcfg->audio_send_name) { + if (endp->trunk->audio_send_name) { rc = add_rtpmap(sdp, payload_type, audio_name); if (rc < 0) goto buffer_too_small; @@ -573,7 +575,7 @@ if (rc < 0) goto buffer_too_small; } - if (conn->end.packet_duration_ms > 0 && endp->tcfg->audio_send_ptime) { + if (conn->end.packet_duration_ms > 0 && endp->trunk->audio_send_ptime) { rc = msgb_printf(sdp, "a=ptime:%u\r\n", conn->end.packet_duration_ms); if (rc < 0) diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c new file mode 100644 index 0000000..41495e5 --- /dev/null +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -0,0 +1,339 @@ +/* Trunk handling */ + +/* + * (C) 2009-2012 by Holger Hans Peter Freyther + * (C) 2009-2012 by On-Waves + * (C) 2017-2020 by sysmocom s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include + +static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { + /* rx_msgs = rx_msgs_retransmitted + rx_msgs_handled + rx_msgs_unhandled + err_rx_msg_parse + err_rx_no_endpoint */ + [MGCP_GENERAL_RX_MSGS_TOTAL] = { "mgcp:rx_msgs", "total number of MGCP messages received." }, + [MGCP_GENERAL_RX_MSGS_RETRANSMITTED] = { "mgcp:rx_msgs_retransmitted", "number of received retransmissions." }, + [MGCP_GENERAL_RX_MSGS_HANDLED] = { "mgcp:rx_msgs_handled", "number of handled MGCP messages." }, + [MGCP_GENERAL_RX_MSGS_UNHANDLED] = { "mgcp:rx_msgs_unhandled", "number of unhandled MGCP messages." }, + [MGCP_GENERAL_RX_FAIL_MSG_PARSE] = { "mgcp:err_rx_msg_parse", "error parsing MGCP message." }, + [MGCP_GENERAL_RX_FAIL_NO_ENDPOINT] = + { "mgcp:err_rx_no_endpoint", "can't find MGCP endpoint, probably we've used all allocated endpoints." }, +}; + +const static struct rate_ctr_group_desc mgcp_general_ctr_group_desc = { + .group_name_prefix = "mgcp", + .group_description = "mgcp general statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_general_ctr_desc), + .ctr_desc = mgcp_general_ctr_desc +}; + +static const struct rate_ctr_desc mgcp_crcx_ctr_desc[] = { + [MGCP_CRCX_SUCCESS] = { "crcx:success", "CRCX command processed successfully." }, + [MGCP_CRCX_FAIL_BAD_ACTION] = { "crcx:bad_action", "bad action in CRCX command." }, + [MGCP_CRCX_FAIL_UNHANDLED_PARAM] = { "crcx:unhandled_param", "unhandled parameter in CRCX command." }, + [MGCP_CRCX_FAIL_MISSING_CALLID] = { "crcx:missing_callid", "missing CallId in CRCX command." }, + [MGCP_CRCX_FAIL_INVALID_MODE] = { "crcx:invalid_mode", "invalid connection mode in CRCX command." }, + [MGCP_CRCX_FAIL_LIMIT_EXCEEDED] = { "crcx:limit_exceeded", "limit of concurrent connections was reached." }, + [MGCP_CRCX_FAIL_UNKNOWN_CALLID] = { "crcx:unkown_callid", "unknown CallId in CRCX command." }, + [MGCP_CRCX_FAIL_ALLOC_CONN] = { "crcx:alloc_conn_fail", "connection allocation failure." }, + [MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC] = + { "crcx:no_remote_conn_desc", "no opposite end specified for connection." }, + [MGCP_CRCX_FAIL_START_RTP] = { "crcx:start_rtp_failure", "failure to start RTP processing." }, + [MGCP_CRCX_FAIL_REJECTED_BY_POLICY] = { "crcx:conn_rejected", "connection rejected by policy." }, + [MGCP_CRCX_FAIL_NO_OSMUX] = { "crcx:no_osmux", "no osmux offered by peer." }, + [MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS] = { "crcx:conn_opt", "connection options invalid." }, + [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = { "crcx:codec_nego", "codec negotiation failure." }, + [MGCP_CRCX_FAIL_BIND_PORT] = { "crcx:bind_port", "port bind failure." }, +}; + +const static struct rate_ctr_group_desc mgcp_crcx_ctr_group_desc = { + .group_name_prefix = "crcx", + .group_description = "crxc statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_crcx_ctr_desc), + .ctr_desc = mgcp_crcx_ctr_desc +}; + +static const struct rate_ctr_desc mgcp_mdcx_ctr_desc[] = { + [MGCP_MDCX_SUCCESS] = { "mdcx:success", "MDCX command processed successfully." }, + [MGCP_MDCX_FAIL_WILDCARD] = { "mdcx:wildcard", "wildcard endpoint names in MDCX commands are unsupported." }, + [MGCP_MDCX_FAIL_NO_CONN] = { "mdcx:no_conn", "endpoint specified in MDCX command has no active connections." }, + [MGCP_MDCX_FAIL_INVALID_CALLID] = { "mdcx:callid", "invalid CallId specified in MDCX command." }, + [MGCP_MDCX_FAIL_INVALID_CONNID] = { "mdcx:connid", "invalid connection ID specified in MDCX command." }, + [MGCP_MDCX_FAIL_UNHANDLED_PARAM] = { "crcx:unhandled_param", "unhandled parameter in MDCX command." }, + [MGCP_MDCX_FAIL_NO_CONNID] = { "mdcx:no_connid", "no connection ID specified in MDCX command." }, + [MGCP_MDCX_FAIL_CONN_NOT_FOUND] = + { "mdcx:conn_not_found", "connection specified in MDCX command does not exist." }, + [MGCP_MDCX_FAIL_INVALID_MODE] = { "mdcx:invalid_mode", "invalid connection mode in MDCX command." }, + [MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS] = { "mdcx:conn_opt", "connection options invalid." }, + [MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC] = + { "mdcx:no_remote_conn_desc", "no opposite end specified for connection." }, + [MGCP_MDCX_FAIL_START_RTP] = { "mdcx:start_rtp_failure", "failure to start RTP processing." }, + [MGCP_MDCX_FAIL_REJECTED_BY_POLICY] = { "mdcx:conn_rejected", "connection rejected by policy." }, + [MGCP_MDCX_DEFERRED_BY_POLICY] = { "mdcx:conn_deferred", "connection deferred by policy." }, +}; + +const static struct rate_ctr_group_desc mgcp_mdcx_ctr_group_desc = { + .group_name_prefix = "mdcx", + .group_description = "mdcx statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_mdcx_ctr_desc), + .ctr_desc = mgcp_mdcx_ctr_desc +}; + +static const struct rate_ctr_desc mgcp_dlcx_ctr_desc[] = { + [MGCP_DLCX_SUCCESS] = { "dlcx:success", "DLCX command processed successfully." }, + [MGCP_DLCX_FAIL_WILDCARD] = { "dlcx:wildcard", "wildcard names in DLCX commands are unsupported." }, + [MGCP_DLCX_FAIL_NO_CONN] = { "dlcx:no_conn", "endpoint specified in DLCX command has no active connections." }, + [MGCP_DLCX_FAIL_INVALID_CALLID] = + { "dlcx:callid", "CallId specified in DLCX command mismatches endpoint's CallId ." }, + [MGCP_DLCX_FAIL_INVALID_CONNID] = + { "dlcx:connid", "connection ID specified in DLCX command does not exist on endpoint." }, + [MGCP_DLCX_FAIL_UNHANDLED_PARAM] = { "dlcx:unhandled_param", "unhandled parameter in DLCX command." }, + [MGCP_DLCX_FAIL_REJECTED_BY_POLICY] = { "dlcx:rejected", "connection deletion rejected by policy." }, + [MGCP_DLCX_DEFERRED_BY_POLICY] = { "dlcx:deferred", "connection deletion deferred by policy." }, +}; + +const static struct rate_ctr_group_desc mgcp_dlcx_ctr_group_desc = { + .group_name_prefix = "dlcx", + .group_description = "dlcx statistics", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_ctr = ARRAY_SIZE(mgcp_dlcx_ctr_desc), + .ctr_desc = mgcp_dlcx_ctr_desc +}; + +const static struct rate_ctr_group_desc all_rtp_conn_rate_ctr_group_desc = { + .group_name_prefix = "all_rtp_conn", + .group_description = "aggregated statistics for all rtp connections", + .class_id = 1, + .num_ctr = ARRAY_SIZE(all_rtp_conn_rate_ctr_desc), + .ctr_desc = all_rtp_conn_rate_ctr_desc +}; + +static int free_rate_counter_group(struct rate_ctr_group *rate_ctr_group) +{ + rate_ctr_group_free(rate_ctr_group); + return 0; +} + +static int alloc_mgcp_rate_counters(struct mgcp_trunk *trunk, void *ctx) +{ + /* FIXME: Each new rate counter group requires a unique index. At the + * moment we generate an index using a counter, but perhaps there is + * a better way of assigning indices? */ + static unsigned int general_rate_ctr_index = 0; + static unsigned int crcx_rate_ctr_index = 0; + static unsigned int mdcx_rate_ctr_index = 0; + static unsigned int dlcx_rate_ctr_index = 0; + static unsigned int all_rtp_conn_rate_ctr_index = 0; + + if (trunk->mgcp_general_ctr_group == NULL) { + trunk->mgcp_general_ctr_group = + rate_ctr_group_alloc(ctx, &mgcp_general_ctr_group_desc, general_rate_ctr_index); + if (!trunk->mgcp_general_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_general_ctr_group, free_rate_counter_group); + general_rate_ctr_index++; + } + if (trunk->mgcp_crcx_ctr_group == NULL) { + trunk->mgcp_crcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_crcx_ctr_group_desc, crcx_rate_ctr_index); + if (!trunk->mgcp_crcx_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_crcx_ctr_group, free_rate_counter_group); + crcx_rate_ctr_index++; + } + if (trunk->mgcp_mdcx_ctr_group == NULL) { + trunk->mgcp_mdcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_mdcx_ctr_group_desc, mdcx_rate_ctr_index); + if (!trunk->mgcp_mdcx_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_mdcx_ctr_group, free_rate_counter_group); + mdcx_rate_ctr_index++; + } + if (trunk->mgcp_dlcx_ctr_group == NULL) { + trunk->mgcp_dlcx_ctr_group = rate_ctr_group_alloc(ctx, &mgcp_dlcx_ctr_group_desc, dlcx_rate_ctr_index); + if (!trunk->mgcp_dlcx_ctr_group) + return -1; + talloc_set_destructor(trunk->mgcp_dlcx_ctr_group, free_rate_counter_group); + dlcx_rate_ctr_index++; + } + if (trunk->all_rtp_conn_stats == NULL) { + trunk->all_rtp_conn_stats = rate_ctr_group_alloc(ctx, &all_rtp_conn_rate_ctr_group_desc, + all_rtp_conn_rate_ctr_index); + if (!trunk->all_rtp_conn_stats) + return -1; + talloc_set_destructor(trunk->all_rtp_conn_stats, free_rate_counter_group); + all_rtp_conn_rate_ctr_index++; + } + return 0; +} + +/*! allocate trunk and at id (if required) to the trunk list + * (called once at startup by VTY) + * \param[in] cfg mgcp configuration + * \param[in] nr trunk number + * \param[in] type trunk type + * \returns pointer to allocated trunk, NULL on failure */ +struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, int nr, int trunk_type) +{ + struct mgcp_trunk *trunk; + + trunk = talloc_zero(cfg, struct mgcp_trunk); + if (!trunk) { + LOGP(DLMGCP, LOGL_ERROR, "Failed to allocate.\n"); + return NULL; + } + + trunk->cfg = cfg; + trunk->trunk_type = trunk_type; + trunk->trunk_nr = nr; + + trunk->audio_name = talloc_strdup(cfg, "AMR/8000"); + trunk->audio_payload = 126; + trunk->audio_send_ptime = 1; + trunk->audio_send_name = 1; + trunk->vty_number_endpoints = 33; + trunk->omit_rtcp = 0; + + mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); + + if (alloc_mgcp_rate_counters(trunk, trunk) < 0) { + talloc_free(trunk); + return NULL; + } + + /* Note: Trunk Nr.0 is reserved as "virtual trunk", + * it is not stored using a separate pointer and + * not in the trunk list. */ + if (nr > 0) + llist_add_tail(&trunk->entry, &cfg->trunks); + + return trunk; +} + +/*! allocate endpoints and set default values. + * (called once at startup by VTY) + * \param[in] trunk trunk configuration + * \returns 0 on success, -1 on failure */ +int mgcp_trunk_alloc_endpts(struct mgcp_trunk *trunk) +{ + int i; + char ep_name_buf[MGCP_ENDPOINT_MAXLEN]; + struct mgcp_endpoint *endp; + + /* (re)allocate pointer array for the endpoints */ + trunk->number_endpoints = 0; + if (trunk->endpoints) + talloc_free(trunk->endpoints); + trunk->endpoints = _talloc_zero_array(trunk->cfg, + sizeof(struct mgcp_endpoint *), trunk->vty_number_endpoints, "endpoints"); + if (!trunk->endpoints) + return -1; + + /* create endpoints */ + for (i = 0; i < trunk->vty_number_endpoints; ++i) { + switch (trunk->trunk_type) { + case MGCP_TRUNK_VIRTUAL: + snprintf(ep_name_buf, sizeof(ep_name_buf), "%s%x@%s", MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, i, + trunk->cfg->domain); + break; + case MGCP_TRUNK_E1: + /* FIXME: E1 trunk implementation is work in progress, this endpoint + * name is incomplete (subslots) */ + snprintf(ep_name_buf, sizeof(ep_name_buf), "%s-1/%x", MGCP_ENDPOINT_PREFIX_E1_TRUNK, i); + break; + default: + osmo_panic("Cannot allocate unimplemented trunk type %d! %s:%d\n", + trunk->trunk_type, __FILE__, __LINE__); + } + + endp = mgcp_endp_alloc(trunk, ep_name_buf); + if (!endp) { + talloc_free(trunk->endpoints); + return -1; + } + trunk->endpoints[i] = endp; + } + + /* make the endpoints we just created available to the MGW code */ + trunk->number_endpoints = trunk->vty_number_endpoints; + + return 0; +} + +/*! get trunk configuration by trunk number (index). + * \param[in] cfg mgcp configuration + * \param[in] index trunk number + * \returns pointer to trunk configuration, NULL on error */ +struct mgcp_trunk *mgcp_trunk_by_num(struct mgcp_config *cfg, int index) +{ + struct mgcp_trunk *trunk; + + llist_for_each_entry(trunk, &cfg->trunks, entry) + if (trunk->trunk_nr == index) + return trunk; + + return NULL; +} + +/*! Find a trunk by the trunk prefix in the endpoint name. + * \param[in] epname endpoint name with trunk prefix to look up. + * \param[in] cfg that contains the trunks where the endpoint is located. + * \returns trunk or NULL if endpoint was not found. */ +struct mgcp_trunk *mgcp_trunk_by_name(const char *epname, struct mgcp_config *cfg) +{ + size_t prefix_len; + char epname_lc[MGCP_ENDPOINT_MAXLEN]; + + osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); + epname = epname_lc; + + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; + if (strncmp(epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) { + return cfg->trunk; + } + + /* E1 trunks are not implemented yet, so we deny any request for an + * e1 trunk for now. */ + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_E1_TRUNK) - 1; + if (strncmp(epname, MGCP_ENDPOINT_PREFIX_E1_TRUNK, prefix_len) == 0) { + LOGP(DLMGCP, LOGL_ERROR, + "(endpoint:%s) e1 trunks not implemented in this version of osmo-mgw!\n", epname); + return NULL; + } + + /* Earlier versions of osmo-mgw were accepting endpoint names + * without trunk prefix. This is normally not allowed, each MGCP + * request should supply an endpoint name with trunk prefix. + * However in order to stay compatible with old versions of + * osmo-bsc and osmo-msc we still accept endpoint names without + * trunk prefix and just assume that the virtual trunk should + * be selected. There is even a TTCN3 test for this, see also: + * MGCP_Test.TC_crcx_noprefix */ + if ((epname[0] >= '0' && epname[0] <= '9') || (epname[0] >= 'a' && epname[0] <= 'f')) { + LOGP(DLMGCP, LOGL_ERROR, "(endpoint:%s) missing trunk prefix, assuming trunk \"%s\"!\n", epname, + MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK); + return cfg->trunk; + } + + LOGP(DLMGCP, LOGL_ERROR, "(endpoint:%s) unable to find trunk!\n", epname); + return NULL; +} diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 76d674f..0df805d 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -42,14 +43,14 @@ static struct mgcp_config *g_cfg = NULL; -static struct mgcp_trunk_config *find_trunk(struct mgcp_config *cfg, int nr) +static struct mgcp_trunk *find_trunk(struct mgcp_config *cfg, int nr) { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; if (nr == 0) - trunk = &cfg->trunk; + trunk = cfg->trunk; else - trunk = mgcp_trunk_num(cfg, nr); + trunk = mgcp_trunk_by_num(cfg, nr); return trunk; } @@ -85,50 +86,50 @@ else vty_out(vty, " no rtp ip-probing%s", VTY_NEWLINE); vty_out(vty, " rtp ip-dscp %d%s", g_cfg->endp_dscp, VTY_NEWLINE); - if (g_cfg->trunk.keepalive_interval == MGCP_KEEPALIVE_ONCE) + if (g_cfg->trunk->keepalive_interval == MGCP_KEEPALIVE_ONCE) vty_out(vty, " rtp keep-alive once%s", VTY_NEWLINE); - else if (g_cfg->trunk.keepalive_interval) + else if (g_cfg->trunk->keepalive_interval) vty_out(vty, " rtp keep-alive %d%s", - g_cfg->trunk.keepalive_interval, VTY_NEWLINE); + g_cfg->trunk->keepalive_interval, VTY_NEWLINE); else vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE); - if (g_cfg->trunk.omit_rtcp) + if (g_cfg->trunk->omit_rtcp) vty_out(vty, " rtcp-omit%s", VTY_NEWLINE); else vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); - if (g_cfg->trunk.force_constant_ssrc - || g_cfg->trunk.force_aligned_timing - || g_cfg->trunk.rfc5993_hr_convert) { + if (g_cfg->trunk->force_constant_ssrc + || g_cfg->trunk->force_aligned_timing + || g_cfg->trunk->rfc5993_hr_convert) { vty_out(vty, " %srtp-patch ssrc%s", - g_cfg->trunk.force_constant_ssrc ? "" : "no ", + g_cfg->trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %srtp-patch timestamp%s", - g_cfg->trunk.force_aligned_timing ? "" : "no ", + g_cfg->trunk->force_aligned_timing ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %srtp-patch rfc5993hr%s", - g_cfg->trunk.rfc5993_hr_convert ? "" : "no ", + g_cfg->trunk->rfc5993_hr_convert ? "" : "no ", VTY_NEWLINE); } else vty_out(vty, " no rtp-patch%s", VTY_NEWLINE); - if (g_cfg->trunk.audio_payload != -1) + if (g_cfg->trunk->audio_payload != -1) vty_out(vty, " sdp audio-payload number %d%s", - g_cfg->trunk.audio_payload, VTY_NEWLINE); - if (g_cfg->trunk.audio_name) + g_cfg->trunk->audio_payload, VTY_NEWLINE); + if (g_cfg->trunk->audio_name) vty_out(vty, " sdp audio-payload name %s%s", - g_cfg->trunk.audio_name, VTY_NEWLINE); - if (g_cfg->trunk.audio_fmtp_extra) + g_cfg->trunk->audio_name, VTY_NEWLINE); + if (g_cfg->trunk->audio_fmtp_extra) vty_out(vty, " sdp audio fmtp-extra %s%s", - g_cfg->trunk.audio_fmtp_extra, VTY_NEWLINE); + g_cfg->trunk->audio_fmtp_extra, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", - g_cfg->trunk.audio_send_ptime ? "" : "no ", VTY_NEWLINE); + g_cfg->trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-name%s", - g_cfg->trunk.audio_send_name ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " loop %u%s", ! !g_cfg->trunk.audio_loop, VTY_NEWLINE); + g_cfg->trunk->audio_send_name ? "" : "no ", VTY_NEWLINE); + vty_out(vty, " loop %u%s", ! !g_cfg->trunk->audio_loop, VTY_NEWLINE); vty_out(vty, " number endpoints %u%s", - g_cfg->trunk.vty_number_endpoints - 1, VTY_NEWLINE); + g_cfg->trunk->vty_number_endpoints - 1, VTY_NEWLINE); vty_out(vty, " %sallow-transcoding%s", - g_cfg->trunk.no_audio_transcoding ? "no " : "", VTY_NEWLINE); + g_cfg->trunk->no_audio_transcoding ? "no " : "", VTY_NEWLINE); if (g_cfg->call_agent_addr) vty_out(vty, " call-agent ip %s%s", g_cfg->call_agent_addr, VTY_NEWLINE); @@ -206,15 +207,13 @@ end->force_output_ptime, VTY_NEWLINE); } -static void dump_endpoint(struct vty *vty, struct mgcp_endpoint *endp, int epidx, +static void dump_endpoint(struct vty *vty, struct mgcp_endpoint *endp, int trunk_nr, enum mgcp_trunk_type trunk_type, int show_stats) { struct mgcp_conn *conn; - vty_out(vty, "%s trunk %d endpoint %s%.2x:%s", - trunk_type == MGCP_TRUNK_VIRTUAL ? "Virtual" : "E1", trunk_nr, - trunk_type == MGCP_TRUNK_VIRTUAL ? MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK : "", - epidx, VTY_NEWLINE); + vty_out(vty, "%s trunk %d endpoint %s:%s", + trunk_type == MGCP_TRUNK_VIRTUAL ? "Virtual" : "E1", trunk_nr, endp->name, VTY_NEWLINE); if (llist_empty(&endp->conns)) { vty_out(vty, " No active connections%s", VTY_NEWLINE); @@ -242,7 +241,7 @@ } } -static void dump_trunk(struct vty *vty, struct mgcp_trunk_config *cfg, int show_stats) +static void dump_trunk(struct vty *vty, struct mgcp_trunk *cfg, int show_stats) { int i; @@ -256,8 +255,8 @@ } for (i = 0; i < cfg->number_endpoints; ++i) { - struct mgcp_endpoint *endp = &cfg->endpoints[i]; - dump_endpoint(vty, endp, i, cfg->trunk_nr, cfg->trunk_type, show_stats); + struct mgcp_endpoint *endp = cfg->endpoints[i]; + dump_endpoint(vty, endp, cfg->trunk_nr, cfg->trunk_type, show_stats); if (i < cfg->number_endpoints - 1) vty_out(vty, "%s", VTY_NEWLINE); } @@ -296,10 +295,10 @@ SHOW_MGCP_STR "Include Statistics\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; int show_stats = argc >= 1; - dump_trunk(vty, &g_cfg->trunk, show_stats); + dump_trunk(vty, g_cfg->trunk, show_stats); llist_for_each_entry(trunk, &g_cfg->trunks, entry) dump_trunk(vty, trunk, show_stats); @@ -312,34 +311,28 @@ } static void -dump_mgcp_endpoint(struct vty *vty, struct mgcp_trunk_config *trunk, const char *epname) +dump_mgcp_endpoint(struct vty *vty, struct mgcp_trunk *trunk, const char *epname) { - const size_t virt_prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; - unsigned long epidx; - char *endp; - int i; + struct mgcp_endpoint *endp; - if (strncmp(epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, virt_prefix_len) == 0) - epname += virt_prefix_len; - errno = 0; - epidx = strtoul(epname, &endp, 16); - if (epname[0] == '\0' || *endp != '\0') { - vty_out(vty, "endpoint name '%s' is not a hex number%s", epname, VTY_NEWLINE); - return; - } - if ((errno == ERANGE && epidx == ULONG_MAX) /* parsed value out of range */ - || epidx >= trunk->number_endpoints) { - vty_out(vty, "endpoint %.2lx not configured on trunk %d%s", epidx, trunk->trunk_nr, VTY_NEWLINE); - return; - } - - for (i = 0; i < trunk->number_endpoints; ++i) { - struct mgcp_endpoint *endp = &trunk->endpoints[i]; - if (i == epidx) { - dump_endpoint(vty, endp, i, trunk->trunk_nr, trunk->trunk_type, true); - break; + if (trunk) { + /* If a trunk is given, search on that specific trunk only */ + endp = mgcp_endp_by_name_trunk(NULL, epname, trunk); + if (!endp) { + vty_out(vty, "endpoint %s not configured on trunk %d%s", epname, trunk->trunk_nr, VTY_NEWLINE); + return; + } + } else { + /* If no trunk is given, search on all possible trunks */ + endp = mgcp_endp_by_name(NULL, epname, g_cfg); + if (!endp) { + vty_out(vty, "endpoint %s not configured%s", epname, VTY_NEWLINE); + return; } } + + trunk = endp->trunk; + dump_endpoint(vty, endp, trunk->trunk_nr, trunk->trunk_type, true); } DEFUN(show_mcgp_endpoint, show_mgcp_endpoint_cmd, @@ -348,12 +341,7 @@ SHOW_MGCP_STR "Display information about an endpoint\n" "The name of the endpoint\n") { - struct mgcp_trunk_config *trunk; - - dump_mgcp_endpoint(vty, &g_cfg->trunk, argv[0]); - llist_for_each_entry(trunk, &g_cfg->trunks, entry) - dump_mgcp_endpoint(vty, trunk, argv[0]); - + dump_mgcp_endpoint(vty, NULL, argv[0]); return CMD_SUCCESS; } @@ -364,7 +352,7 @@ "Display information about a trunk\n" "Trunk number\n" "Display information about an endpoint\n" "The name of the endpoint\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; int trunkidx = atoi(argv[0]); trunk = find_trunk(g_cfg, trunkidx); @@ -561,7 +549,7 @@ if (!txt) return CMD_WARNING; - osmo_talloc_replace_string(g_cfg, &g_cfg->trunk.audio_fmtp_extra, txt); + osmo_talloc_replace_string(g_cfg, &g_cfg->trunk->audio_fmtp_extra, txt); talloc_free(txt); return CMD_SUCCESS; } @@ -570,7 +558,7 @@ cfg_mgcp_allow_transcoding_cmd, "allow-transcoding", "Allow transcoding\n") { - g_cfg->trunk.no_audio_transcoding = 0; + g_cfg->trunk->no_audio_transcoding = 0; return CMD_SUCCESS; } @@ -578,7 +566,7 @@ cfg_mgcp_no_allow_transcoding_cmd, "no allow-transcoding", NO_STR "Allow transcoding\n") { - g_cfg->trunk.no_audio_transcoding = 1; + g_cfg->trunk->no_audio_transcoding = 1; return CMD_SUCCESS; } @@ -590,7 +578,7 @@ SDP_STR AUDIO_STR "Number\n" "Payload number\n") { unsigned int payload = atoi(argv[0]); - g_cfg->trunk.audio_payload = payload; + g_cfg->trunk->audio_payload = payload; return CMD_SUCCESS; } @@ -604,7 +592,7 @@ "sdp audio-payload name NAME", SDP_STR AUDIO_STR "Name\n" "Payload name\n") { - osmo_talloc_replace_string(g_cfg, &g_cfg->trunk.audio_name, argv[0]); + osmo_talloc_replace_string(g_cfg, &g_cfg->trunk->audio_name, argv[0]); return CMD_SUCCESS; } @@ -617,7 +605,7 @@ "sdp audio-payload send-ptime", SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->trunk.audio_send_ptime = 1; + g_cfg->trunk->audio_send_ptime = 1; return CMD_SUCCESS; } @@ -626,7 +614,7 @@ "no sdp audio-payload send-ptime", NO_STR SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->trunk.audio_send_ptime = 0; + g_cfg->trunk->audio_send_ptime = 0; return CMD_SUCCESS; } @@ -635,7 +623,7 @@ "sdp audio-payload send-name", SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->trunk.audio_send_name = 1; + g_cfg->trunk->audio_send_name = 1; return CMD_SUCCESS; } @@ -644,7 +632,7 @@ "no sdp audio-payload send-name", NO_STR SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->trunk.audio_send_name = 0; + g_cfg->trunk->audio_send_name = 0; return CMD_SUCCESS; } @@ -657,7 +645,7 @@ vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } - g_cfg->trunk.audio_loop = atoi(argv[0]); + g_cfg->trunk->audio_loop = atoi(argv[0]); return CMD_SUCCESS; } @@ -667,7 +655,7 @@ "Force endpoint reallocation when the endpoint is still seized\n" "Don't force reallocation\n" "force reallocation\n") { - g_cfg->trunk.force_realloc = atoi(argv[0]); + g_cfg->trunk->force_realloc = atoi(argv[0]); return CMD_SUCCESS; } @@ -677,7 +665,7 @@ "Accept all RTP packets, even when the originating IP/Port does not match\n" "enable filter\n" "disable filter\n") { - g_cfg->trunk.rtp_accept_all = atoi(argv[0]); + g_cfg->trunk->rtp_accept_all = atoi(argv[0]); return CMD_SUCCESS; } @@ -687,20 +675,20 @@ "Number options\n" "Endpoints available\n" "Number endpoints\n") { /* + 1 as we start counting at one */ - g_cfg->trunk.vty_number_endpoints = atoi(argv[0]) + 1; + g_cfg->trunk->vty_number_endpoints = atoi(argv[0]) + 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_omit_rtcp, cfg_mgcp_omit_rtcp_cmd, "rtcp-omit", RTCP_OMIT_STR) { - g_cfg->trunk.omit_rtcp = 1; + g_cfg->trunk->omit_rtcp = 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_omit_rtcp, cfg_mgcp_no_omit_rtcp_cmd, "no rtcp-omit", NO_STR RTCP_OMIT_STR) { - g_cfg->trunk.omit_rtcp = 0; + g_cfg->trunk->omit_rtcp = 0; return CMD_SUCCESS; } @@ -708,7 +696,7 @@ cfg_mgcp_patch_rtp_ssrc_cmd, "rtp-patch ssrc", RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->trunk.force_constant_ssrc = 1; + g_cfg->trunk->force_constant_ssrc = 1; return CMD_SUCCESS; } @@ -716,7 +704,7 @@ cfg_mgcp_no_patch_rtp_ssrc_cmd, "no rtp-patch ssrc", NO_STR RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->trunk.force_constant_ssrc = 0; + g_cfg->trunk->force_constant_ssrc = 0; return CMD_SUCCESS; } @@ -724,7 +712,7 @@ cfg_mgcp_patch_rtp_ts_cmd, "rtp-patch timestamp", RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->trunk.force_aligned_timing = 1; + g_cfg->trunk->force_aligned_timing = 1; return CMD_SUCCESS; } @@ -732,7 +720,7 @@ cfg_mgcp_no_patch_rtp_ts_cmd, "no rtp-patch timestamp", NO_STR RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->trunk.force_aligned_timing = 0; + g_cfg->trunk->force_aligned_timing = 0; return CMD_SUCCESS; } @@ -740,7 +728,7 @@ cfg_mgcp_patch_rtp_rfc5993hr_cmd, "rtp-patch rfc5993hr", RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->trunk.rfc5993_hr_convert = true; + g_cfg->trunk->rfc5993_hr_convert = true; return CMD_SUCCESS; } @@ -748,16 +736,16 @@ cfg_mgcp_no_patch_rtp_rfc5993hr_cmd, "no rtp-patch rfc5993hr", NO_STR RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->trunk.rfc5993_hr_convert = false; + g_cfg->trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_patch_rtp, cfg_mgcp_no_patch_rtp_cmd, "no rtp-patch", NO_STR RTP_PATCH_STR) { - g_cfg->trunk.force_constant_ssrc = 0; - g_cfg->trunk.force_aligned_timing = 0; - g_cfg->trunk.rfc5993_hr_convert = false; + g_cfg->trunk->force_constant_ssrc = 0; + g_cfg->trunk->force_aligned_timing = 0; + g_cfg->trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } @@ -766,7 +754,7 @@ "rtp keep-alive <1-120>", RTP_STR RTP_KEEPALIVE_STR "Keep alive interval in secs\n") { - mgcp_trunk_set_keepalive(&g_cfg->trunk, atoi(argv[0])); + mgcp_trunk_set_keepalive(g_cfg->trunk, atoi(argv[0])); return CMD_SUCCESS; } @@ -775,7 +763,7 @@ "rtp keep-alive once", RTP_STR RTP_KEEPALIVE_STR "Send dummy packet only once after CRCX/MDCX\n") { - mgcp_trunk_set_keepalive(&g_cfg->trunk, MGCP_KEEPALIVE_ONCE); + mgcp_trunk_set_keepalive(g_cfg->trunk, MGCP_KEEPALIVE_ONCE); return CMD_SUCCESS; } @@ -783,7 +771,7 @@ cfg_mgcp_no_rtp_keepalive_cmd, "no rtp keep-alive", NO_STR RTP_STR RTP_KEEPALIVE_STR) { - mgcp_trunk_set_keepalive(&g_cfg->trunk, MGCP_KEEPALIVE_NEVER); + mgcp_trunk_set_keepalive(g_cfg->trunk, MGCP_KEEPALIVE_NEVER); return CMD_SUCCESS; } @@ -805,12 +793,12 @@ DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd, "trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; int index = atoi(argv[0]); - trunk = mgcp_trunk_num(g_cfg, index); + trunk = mgcp_trunk_by_num(g_cfg, index); if (!trunk) - trunk = mgcp_trunk_alloc(g_cfg, index); + trunk = mgcp_trunk_alloc(g_cfg, index, MGCP_TRUNK_E1); if (!trunk) { vty_out(vty, "%%Unable to allocate trunk %u.%s", @@ -825,7 +813,7 @@ static int config_write_trunk(struct vty *vty) { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; llist_for_each_entry(trunk, &g_cfg->trunks, entry) { vty_out(vty, " trunk %d%s", trunk->trunk_nr, VTY_NEWLINE); @@ -855,7 +843,7 @@ else vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); if (trunk->force_constant_ssrc || trunk->force_aligned_timing - || g_cfg->trunk.rfc5993_hr_convert) { + || g_cfg->trunk->rfc5993_hr_convert) { vty_out(vty, " %srtp-patch ssrc%s", trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); @@ -883,7 +871,7 @@ "Add extra fmtp for the SDP file\n" "Audio\n" "Fmtp-extra\n" "Extra Information\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; char *txt = argv_concat(argv, argc, 0); if (!txt) return CMD_WARNING; @@ -898,7 +886,7 @@ "sdp audio-payload number <0-255>", SDP_STR AUDIO_STR "Number\n" "Payload Number\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; unsigned int payload = atoi(argv[0]); trunk->audio_payload = payload; @@ -914,7 +902,7 @@ "sdp audio-payload name NAME", SDP_STR AUDIO_STR "Payload\n" "Payload Name\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; osmo_talloc_replace_string(g_cfg, &trunk->audio_name, argv[0]); return CMD_SUCCESS; @@ -929,7 +917,7 @@ "loop (0|1)", "Loop audio for all endpoints on this trunk\n" "Don't Loop\n" "Loop\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; if (g_cfg->osmux) { vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); @@ -944,7 +932,7 @@ "sdp audio-payload send-ptime", SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->audio_send_ptime = 1; return CMD_SUCCESS; } @@ -954,7 +942,7 @@ "no sdp audio-payload send-ptime", NO_STR SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->audio_send_ptime = 0; return CMD_SUCCESS; } @@ -964,7 +952,7 @@ "sdp audio-payload send-name", SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->audio_send_name = 1; return CMD_SUCCESS; } @@ -974,14 +962,14 @@ "no sdp audio-payload send-name", NO_STR SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->audio_send_name = 0; return CMD_SUCCESS; } DEFUN(cfg_trunk_omit_rtcp, cfg_trunk_omit_rtcp_cmd, "rtcp-omit", RTCP_OMIT_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->omit_rtcp = 1; return CMD_SUCCESS; } @@ -989,7 +977,7 @@ DEFUN(cfg_trunk_no_omit_rtcp, cfg_trunk_no_omit_rtcp_cmd, "no rtcp-omit", NO_STR RTCP_OMIT_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->omit_rtcp = 0; return CMD_SUCCESS; } @@ -998,7 +986,7 @@ cfg_trunk_patch_rtp_ssrc_cmd, "rtp-patch ssrc", RTP_PATCH_STR "Force a fixed SSRC\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->force_constant_ssrc = 1; return CMD_SUCCESS; } @@ -1007,7 +995,7 @@ cfg_trunk_no_patch_rtp_ssrc_cmd, "no rtp-patch ssrc", NO_STR RTP_PATCH_STR "Force a fixed SSRC\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->force_constant_ssrc = 0; return CMD_SUCCESS; } @@ -1016,7 +1004,7 @@ cfg_trunk_patch_rtp_ts_cmd, "rtp-patch timestamp", RTP_PATCH_STR "Adjust RTP timestamp\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->force_aligned_timing = 1; return CMD_SUCCESS; } @@ -1025,7 +1013,7 @@ cfg_trunk_no_patch_rtp_ts_cmd, "no rtp-patch timestamp", NO_STR RTP_PATCH_STR "Adjust RTP timestamp\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->force_aligned_timing = 0; return CMD_SUCCESS; } @@ -1034,7 +1022,7 @@ cfg_trunk_patch_rtp_rfc5993hr_cmd, "rtp-patch rfc5993hr", RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->rfc5993_hr_convert = true; return CMD_SUCCESS; } @@ -1043,7 +1031,7 @@ cfg_trunk_no_patch_rtp_rfc5993hr_cmd, "no rtp-patch rfc5993hr", NO_STR RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } @@ -1051,7 +1039,7 @@ DEFUN(cfg_trunk_no_patch_rtp, cfg_trunk_no_patch_rtp_cmd, "no rtp-patch", NO_STR RTP_PATCH_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->force_constant_ssrc = 0; trunk->force_aligned_timing = 0; trunk->rfc5993_hr_convert = false; @@ -1063,7 +1051,7 @@ "rtp keep-alive <1-120>", RTP_STR RTP_KEEPALIVE_STR "Keep-alive interval in secs\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; mgcp_trunk_set_keepalive(trunk, atoi(argv[0])); return CMD_SUCCESS; } @@ -1073,7 +1061,7 @@ "rtp keep-alive once", RTP_STR RTP_KEEPALIVE_STR "Send dummy packet only once after CRCX/MDCX\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); return CMD_SUCCESS; } @@ -1082,7 +1070,7 @@ cfg_trunk_no_rtp_keepalive_cmd, "no rtp keep-alive", NO_STR RTP_STR RTP_KEEPALIVE_STR) { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; mgcp_trunk_set_keepalive(trunk, 0); return CMD_SUCCESS; } @@ -1091,7 +1079,7 @@ cfg_trunk_allow_transcoding_cmd, "allow-transcoding", "Allow transcoding\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->no_audio_transcoding = 0; return CMD_SUCCESS; } @@ -1100,7 +1088,7 @@ cfg_trunk_no_allow_transcoding_cmd, "no allow-transcoding", NO_STR "Allow transcoding\n") { - struct mgcp_trunk_config *trunk = vty->index; + struct mgcp_trunk *trunk = vty->index; trunk->no_audio_transcoding = 1; return CMD_SUCCESS; } @@ -1112,7 +1100,7 @@ "The name in hex of the endpoint\n" "Disable the loop\n" "Enable the loop\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint *endp; struct mgcp_conn *conn; @@ -1136,7 +1124,7 @@ return CMD_WARNING; } - endp = &trunk->endpoints[endp_no]; + endp = trunk->endpoints[endp_no]; int loop = atoi(argv[2]); llist_for_each_entry(conn, &endp->conns, entry) { if (conn->type == MGCP_CONN_TYPE_RTP) @@ -1170,7 +1158,7 @@ "destination IP of the data\n" "destination port\n") { struct mgcp_rtp_tap *tap; - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint *endp; struct mgcp_conn_rtp *conn; const char *conn_id = NULL; @@ -1195,7 +1183,7 @@ return CMD_WARNING; } - endp = &trunk->endpoints[endp_no]; + endp = trunk->endpoints[endp_no]; conn_id = argv[2]; conn = mgcp_conn_get_rtp(endp, conn_id); @@ -1225,7 +1213,7 @@ "free-endpoint <0-64> NUMBER", "Free the given endpoint\n" "Trunk number\n" "Endpoint number in hex.\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint *endp; trunk = find_trunk(g_cfg, atoi(argv[0])); @@ -1248,7 +1236,7 @@ return CMD_WARNING; } - endp = &trunk->endpoints[endp_no]; + endp = trunk->endpoints[endp_no]; mgcp_endp_release(endp); return CMD_SUCCESS; } @@ -1257,7 +1245,7 @@ "reset-endpoint <0-64> NUMBER", "Reset the given endpoint\n" "Trunk number\n" "Endpoint number in hex.\n") { - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint *endp; int endp_no, rc; @@ -1281,8 +1269,8 @@ return CMD_WARNING; } - endp = &trunk->endpoints[endp_no]; - rc = mgcp_send_reset_ep(endp, ENDPOINT_NUMBER(endp)); + endp = trunk->endpoints[endp_no]; + rc = mgcp_send_reset_ep(endp); if (rc < 0) { vty_out(vty, "Error %d sending reset.%s", rc, VTY_NEWLINE); return CMD_WARNING; @@ -1318,7 +1306,7 @@ else if (strcmp(argv[0], "only") == 0) g_cfg->osmux = OSMUX_USAGE_ONLY; - if (g_cfg->trunk.audio_loop) { + if (g_cfg->trunk->audio_loop) { vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -1500,7 +1488,7 @@ enum mgcp_role role) { int rc; - struct mgcp_trunk_config *trunk; + struct mgcp_trunk *trunk; cfg->osmux_port = OSMUX_PORT; cfg->osmux_batch = 4; @@ -1519,15 +1507,15 @@ return -1; } - if (mgcp_endpoints_allocate(&g_cfg->trunk) != 0) { + if (mgcp_trunk_alloc_endpts(g_cfg->trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, "Failed to initialize the virtual trunk (%d endpoints)\n", - g_cfg->trunk.number_endpoints); + g_cfg->trunk->number_endpoints); return -1; } llist_for_each_entry(trunk, &g_cfg->trunks, entry) { - if (mgcp_endpoints_allocate(trunk) != 0) { + if (mgcp_trunk_alloc_endpts(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, "Failed to initialize trunk %d (%d endpoints)\n", trunk->trunk_nr, trunk->number_endpoints); diff --git a/src/osmo-mgw/mgw_main.c b/src/osmo-mgw/mgw_main.c index 48869c4..99e2499 100644 --- a/src/osmo-mgw/mgw_main.c +++ b/src/osmo-mgw/mgw_main.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -71,7 +72,7 @@ /* FIXME: Make use of the rtp proxy code */ static struct mgcp_config *cfg; -static struct mgcp_trunk_config *reset_trunk; +static struct mgcp_trunk *reset_trunk; static int reset_endpoints = 0; static int daemonize = 0; @@ -148,13 +149,13 @@ /* Callback function to be called when the RSIP ("Reset in Progress") mgcp * command is received */ -static int mgcp_rsip_cb(struct mgcp_trunk_config *tcfg) +static int mgcp_rsip_cb(struct mgcp_trunk *trunk) { /* Set flag so that, when read_call_agent() is called next time * the reset can progress */ reset_endpoints = 1; - reset_trunk = tcfg; + reset_trunk = trunk; return 0; } @@ -203,7 +204,7 @@ /* Walk over all endpoints and trigger a release, this will release all * endpoints, possible open connections are forcefully dropped */ for (i = 1; i < reset_trunk->number_endpoints; ++i) - mgcp_endp_release(&reset_trunk->endpoints[i]); + mgcp_endp_release(reset_trunk->endpoints[i]); } return 0; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index c72382e..1f74b01 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -70,7 +71,7 @@ } #define AUEP1 "AUEP 158663169 ds/e1-1/2 at mgw MGCP 1.0\r\n" -#define AUEP1_RET "200 158663169 OK\r\n" +#define AUEP1_RET "500 158663169 FAIL\r\n" #define AUEP2 "AUEP 18983213 ds/e1-2/1 at mgw MGCP 1.0\r\n" #define AUEP2_RET "500 18983213 FAIL\r\n" #define EMPTY "\r\n" @@ -81,7 +82,7 @@ #define MDCX_WRONG_EP "MDCX 18983213 ds/e1-3/1 at mgw MGCP 1.0\r\n" #define MDCX_ERR_RET "500 18983213 FAIL\r\n" #define MDCX_UNALLOCATED "MDCX 18983214 ds/e1-1/2 at mgw MGCP 1.0\r\n" -#define MDCX_RET "400 18983214 FAIL\r\n" +#define MDCX_RET "500 18983214 FAIL\r\n" #define MDCX3 \ "MDCX 18983215 1 at mgw MGCP 1.0\r\n" \ @@ -593,12 +594,22 @@ static int last_endpoint = -1; -static int mgcp_test_policy_cb(struct mgcp_trunk_config *cfg, int endpoint, - int state, const char *transactio_id) +static int mgcp_test_policy_cb(struct mgcp_endpoint *endp, + int state, const char *transaction_id) { - fprintf(stderr, "Policy CB got state %d on endpoint 0x%x\n", - state, endpoint); - last_endpoint = endpoint; + unsigned int i; + struct mgcp_trunk *trunk; + + fprintf(stderr, "Policy CB got state %d on endpoint %s\n", + state, endp->name); + + trunk = endp->trunk; + last_endpoint = -1; + for (i = 0; i < trunk->vty_number_endpoints; i++) { + if (strcmp(endp->name, trunk->endpoints[i]->name) == 0) + last_endpoint = i; + } + return MGCP_POLICY_CONT; } @@ -641,11 +652,11 @@ return real_clock_gettime(clk_id, tp); } -static void mgcp_endpoints_release(struct mgcp_trunk_config *trunk) +static void mgcp_endpoints_release(struct mgcp_trunk *trunk) { int i; for (i = 1; i < trunk->number_endpoints; i++) - mgcp_endp_release(&trunk->endpoints[i]); + mgcp_endp_release(trunk->endpoints[i]); } #define CONN_UNMODIFIED (0x1000) @@ -749,7 +760,7 @@ { struct mgcp_config *cfg; struct mgcp_endpoint *endp; - struct mgcp_trunk_config *trunk2; + struct mgcp_trunk *trunk2; int i; struct mgcp_conn_rtp *conn = NULL; char last_conn_id[256]; @@ -757,14 +768,14 @@ cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(cfg->trunk); cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, 1); - mgcp_endpoints_allocate(trunk2); + trunk2 = mgcp_trunk_alloc(cfg, 1, MGCP_TRUNK_E1); + mgcp_trunk_alloc_endpts(trunk2); for (i = 0; i < ARRAY_SIZE(tests); i++) { const struct mgcp_test *t = &tests[i]; @@ -777,7 +788,7 @@ last_endpoint = -1; dummy_packets = 0; - osmo_talloc_replace_string(cfg, &cfg->trunk.audio_fmtp_extra, + osmo_talloc_replace_string(cfg, &cfg->trunk->audio_fmtp_extra, t->extra_fmtp); inp = create_msg(t->req, last_conn_id); @@ -810,7 +821,7 @@ printf("Dummy packets: %d\n", dummy_packets); if (last_endpoint != -1) { - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, "1"); if (conn) { @@ -866,7 +877,7 @@ /* Check detected payload type */ if (conn && t->ptype != PTYPE_IGNORE) { OSMO_ASSERT(last_endpoint != -1); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; fprintf(stderr, "endpoint 0x%x: " "payload type %d (expected %d)\n", @@ -883,27 +894,27 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } static void test_retransmission(void) { struct mgcp_config *cfg; - struct mgcp_trunk_config *trunk2; + struct mgcp_trunk *trunk2; int i; char last_conn_id[256]; int rc; cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(cfg->trunk); memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, 1); - mgcp_endpoints_allocate(trunk2); + trunk2 = mgcp_trunk_alloc(cfg, 1, MGCP_TRUNK_E1); + mgcp_trunk_alloc_endpts(trunk2); for (i = 0; i < ARRAY_SIZE(retransmit); i++) { const struct mgcp_test *t = &retransmit[i]; @@ -944,7 +955,7 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } @@ -958,18 +969,18 @@ static void test_rqnt_cb(void) { struct mgcp_config *cfg; - struct mgcp_trunk_config *trunk2; + struct mgcp_trunk *trunk2; struct msgb *inp, *msg; char conn_id[256]; cfg = mgcp_config_alloc(); cfg->rqnt_cb = rqnt_cb; - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(cfg->trunk); - trunk2 = mgcp_trunk_alloc(cfg, 1); - mgcp_endpoints_allocate(trunk2); + trunk2 = mgcp_trunk_alloc(cfg, 1, MGCP_TRUNK_E1); + mgcp_trunk_alloc_endpts(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -999,7 +1010,7 @@ msgb_free(mgcp_handle_message(cfg, inp)); msgb_free(inp); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } @@ -1035,8 +1046,9 @@ { int i; struct mgcp_endpoint endp; + struct mgcp_endpoint *endpoints[1]; struct mgcp_config cfg = {0}; - struct mgcp_trunk_config trunk; + struct mgcp_trunk trunk; printf("Testing packet loss calculation.\n"); @@ -1046,8 +1058,9 @@ endp.cfg = &cfg; endp.type = &ep_typeset.rtp; trunk.vty_number_endpoints = 1; - trunk.endpoints = &endp; - endp.tcfg = &trunk; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1262,8 +1275,9 @@ { int i; - struct mgcp_trunk_config trunk; + struct mgcp_trunk trunk; struct mgcp_endpoint endp; + struct mgcp_endpoint *endpoints[1]; struct mgcp_config cfg = {0}; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; @@ -1296,11 +1310,12 @@ endp.type = &ep_typeset.rtp; trunk.vty_number_endpoints = 1; - trunk.endpoints = &endp; + trunk.endpoints = endpoints; + trunk.endpoints[0] = &endp; trunk.force_constant_ssrc = patch_ssrc; trunk.force_aligned_timing = patch_ts; - endp.tcfg = &trunk; + endp.trunk = &trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1361,7 +1376,7 @@ static void test_multilple_codec(void) { struct mgcp_config *cfg; - struct mgcp_trunk_config *trunk2; + struct mgcp_trunk *trunk2; struct mgcp_endpoint *endp; struct msgb *inp, *resp; struct in_addr addr; @@ -1371,12 +1386,12 @@ printf("Testing multiple payload types\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(cfg->trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, 1); - mgcp_endpoints_allocate(trunk2); + trunk2 = mgcp_trunk_alloc(cfg, 1, MGCP_TRUNK_E1); + mgcp_trunk_alloc_endpts(trunk2); /* Allocate endpoint 1 at mgw with two codecs */ last_endpoint = -1; @@ -1388,7 +1403,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 1); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1403,7 +1418,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 2); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1423,7 +1438,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 3); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); @@ -1438,7 +1453,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 4); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1446,9 +1461,9 @@ /* Allocate 5 at mgw at select GSM.. */ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - talloc_free(cfg->trunk.audio_name); - cfg->trunk.audio_name = "GSM/8000"; - cfg->trunk.no_audio_transcoding = 1; + talloc_free(cfg->trunk->audio_name); + cfg->trunk->audio_name = "GSM/8000"; + cfg->trunk->no_audio_transcoding = 1; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1456,7 +1471,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 3); @@ -1467,7 +1482,7 @@ msgb_free(inp); msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 3); @@ -1489,7 +1504,7 @@ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - cfg->trunk.no_audio_transcoding = 0; + cfg->trunk->no_audio_transcoding = 0; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1497,13 +1512,13 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = cfg->trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } @@ -1517,10 +1532,10 @@ printf("Testing no sequence flow on initial packet\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(cfg->trunk); - endp = &cfg->trunk.endpoints[1]; + endp = cfg->trunk->endpoints[1]; _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP, "test-connection"); @@ -1552,27 +1567,27 @@ OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } static void test_no_name(void) { - struct mgcp_trunk_config *trunk2; + struct mgcp_trunk *trunk2; struct mgcp_config *cfg; struct msgb *inp, *msg; printf("Testing no rtpmap name\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - cfg->trunk.audio_send_name = 0; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->trunk->vty_number_endpoints = 64; + cfg->trunk->audio_send_name = 0; + mgcp_trunk_alloc_endpts(cfg->trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, 1); - mgcp_endpoints_allocate(trunk2); + trunk2 = mgcp_trunk_alloc(cfg, 1, MGCP_TRUNK_E1); + mgcp_trunk_alloc_endpts(trunk2); inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); @@ -1586,7 +1601,7 @@ msgb_free(msg); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->trunk); talloc_free(cfg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:49:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:49:59 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: new file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18364 ) Change subject: scripts/osmocom-obs-link.sh: new file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa Gerrit-Change-Number: 18364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:49:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:50:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:50:27 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18284 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review-1 also still needs the .spec.in mechanism -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:50:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:50:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:50:42 +0000 Subject: Change in libosmo-netif[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18276 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 Gerrit-Change-Number: 18276 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:50:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:50:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:50:45 +0000 Subject: Change in libosmo-netif[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18276 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 --- M .gitignore M configure.ac R contrib/libosmo-netif.spec.in 3 files changed, 5 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 23d5b42..4296476 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,5 @@ osmux_test2 stream_test amr_test + +contrib/libosmo-netif.spec diff --git a/configure.ac b/configure.ac index d4fbec4..4c0e0b4 100644 --- a/configure.ac +++ b/configure.ac @@ -133,4 +133,5 @@ examples/Makefile tests/Makefile Doxyfile - Makefile) + Makefile + contrib/libosmo-netif.spec) diff --git a/contrib/libosmo-netif.spec b/contrib/libosmo-netif.spec.in similarity index 94% rename from contrib/libosmo-netif.spec rename to contrib/libosmo-netif.spec.in index 90678b7..98d021b 100644 --- a/contrib/libosmo-netif.spec +++ b/contrib/libosmo-netif.spec.in @@ -12,13 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 0.7.0.13 Name: libosmo-netif -Version: 0.7.0.13 +Version: @VERSION@ Release: 0 Summary: Osmocom library for muxed audio License: GPL-2.0-or-later -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I8b4646ffc8c79d717ada2f0d8da14a721000c2e4 Gerrit-Change-Number: 18276 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:51:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:51:02 +0000 Subject: Change in libusrp[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libusrp/+/18282 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea --- M .gitignore M configure.ac R contrib/libusrp.spec.in 3 files changed, 4 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index bba7cb0..27ef9d0 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ /config.sub /m4/libtool.m4 /m4/lt*.m4 + +contrib/libusrp.spec diff --git a/configure.ac b/configure.ac index 3f02c14..0b38b93 100644 --- a/configure.ac +++ b/configure.ac @@ -110,4 +110,4 @@ fpga/rbf/rev2/Makefile fpga/rbf/rev4/Makefile ]) -AC_OUTPUT +AC_OUTPUT([contrib/libusrp.spec]) diff --git a/contrib/libusrp.spec b/contrib/libusrp.spec.in similarity index 96% rename from contrib/libusrp.spec rename to contrib/libusrp.spec.in index 2ba813a..65fa92b 100644 --- a/contrib/libusrp.spec +++ b/contrib/libusrp.spec.in @@ -13,14 +13,10 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ -# - - %define sover -3_4_4+git_20190808-0 %define libname libusrp%{sover} Name: libusrp -Version: 3.4.4+git.20190808 +Version: @VERSION@ Release: 0 Summary: Stand-alone libusrp for USRP1 from old gnuradio.git License: GPL-3.0-or-later -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I453ff45ec449834dfee298ecc6015e6d54768bea Gerrit-Change-Number: 18282 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:53:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:53:57 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Patch Set 7: > I was trying to address this issue raised (https://osmocom.org/issues/4531 -- even though its rejected). I am not sure whether using --mnc and --mcc in non-IMSI autogen scenarios is still allowed or not. Maybe Harald can comment on this. I was confused when I wrote that issue. My assumption either was wrong, or the code had alrady evolved to use the MCC/MNC in other situations than for IMSI auto-generation (specifically the various *PLMN* files). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 19 May 2020 19:53:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:54:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:54:33 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:54:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:55:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:55:59 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18365/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/18365/2//COMMIT_MSG at 10 PS2, Line 10: nothing maybe put a clear comment about this in the code right where we do this? Something like "GSMTAP needs the SNR here, but we only have C/I. Those are not the same, but there is no known way to convert them, let's pass C/I instead of nothing" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 19:55:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:56:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:56:03 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Tue, 19 May 2020 19:56:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:58:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:58:16 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 11: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18232/10//COMMIT_MSG at 13 PS10, Line 13: Requires: libosmocore.git Change-Id If8afd2d096fb66c6c2f255a08fc1129de3d09cec > interesting, all I ever see is "Depends:" ... [?] I am just confused from writing debian packaging, where it's "Requires:". In any case, the syntax is not the most important part here, but the fact that we mention there is some kind of dependency. We don't have any automatic tools processing those messages. And before we introduce some kind of automatic syntax checker for commit messages we cannot rely on people writing it the "right" way anyway... -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:58:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: ipse Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:58:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:58:32 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 19 May 2020 19:58:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:59:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:59:03 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 12 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:59:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 19:59:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 19:59:35 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 8 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 19 May 2020 19:59:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:04 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN TS. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN TS. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 5 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:00:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:28 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... Patch Set 11: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 11 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:00:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:33 +0000 Subject: Change in osmo-bsc[master]: borken: Recover from more TS borken states. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18339 ) Change subject: borken: Recover from more TS borken states. ...................................................................... borken: Recover from more TS borken states. Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d --- M src/osmo-bsc/timeslot_fsm.c 1 file changed, 16 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index f8adfb6..84ffb7f 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -669,9 +669,17 @@ } case TS_EV_PDCH_ACT_ACK: - /* Late PDCH activation ACK is not a crime. - * Just go into the PDCH mode as normal. */ - osmo_fsm_inst_state_chg(fi, TS_ST_PDCH, 0, 0); + case TS_EV_PDCH_ACT_NACK: + /* Late PDCH activation ACK/NACK is not a crime. + * Just process them as normal. */ + ts_fsm_wait_pdch_act(fi, event, data); + return; + + case TS_EV_PDCH_DEACT_ACK: + case TS_EV_PDCH_DEACT_NACK: + /* Late PDCH deactivation ACK/NACK is also not a crime. + * Just process them as normal. */ + ts_fsm_wait_pdch_deact(fi, event, data); return; default: @@ -827,8 +835,13 @@ | S(TS_EV_LCHAN_REQUESTED) | S(TS_EV_LCHAN_UNUSED) | S(TS_EV_PDCH_ACT_ACK) + | S(TS_EV_PDCH_ACT_NACK) + | S(TS_EV_PDCH_DEACT_ACK) + | S(TS_EV_PDCH_DEACT_NACK) , .out_state_mask = 0 + | S(TS_ST_IN_USE) + | S(TS_ST_UNUSED) | S(TS_ST_NOT_INITIALIZED) | S(TS_ST_PDCH) , -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d Gerrit-Change-Number: 18339 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:33 +0000 Subject: Change in osmo-bsc[master]: stats: Add counters and gauges for BORKEN lchans/TS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18192 ) Change subject: stats: Add counters and gauges for BORKEN lchans/TS ...................................................................... stats: Add counters and gauges for BORKEN lchans/TS Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/timeslot_fsm.c 5 files changed, 148 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 17da79d..276fc02 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1396,7 +1396,7 @@ void conn_update_ms_power_class(struct gsm_subscriber_connection *conn, uint8_t power_class); void lchan_update_ms_power_ctrl_level(struct gsm_lchan *lchan, int ms_power_dbm); -enum { +enum bts_counter_id { BTS_CTR_CHREQ_TOTAL, BTS_CTR_CHREQ_NO_CHANNEL, BTS_CTR_CHAN_RF_FAIL, @@ -1417,6 +1417,27 @@ BTS_CTR_RSL_UNKNOWN, BTS_CTR_RSL_IPA_NACK, BTS_CTR_MODE_MODIFY_NACK, + BTS_CTR_LCHAN_BORKEN_FROM_UNUSED, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_BORKEN, + BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK, + BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK, + BTS_CTR_LCHAN_BORKEN_EV_VTY, + BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN, + BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED, + BTS_CTR_TS_BORKEN_FROM_UNUSED, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT, + BTS_CTR_TS_BORKEN_FROM_PDCH, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT, + BTS_CTR_TS_BORKEN_FROM_IN_USE, + BTS_CTR_TS_BORKEN_FROM_BORKEN, + BTS_CTR_TS_BORKEN_FROM_UNKNOWN, + BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK, + BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK, + BTS_CTR_TS_BORKEN_EV_TEARDOWN, }; static const struct rate_ctr_desc bts_ctr_description[] = { @@ -1441,6 +1462,29 @@ [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, [BTS_CTR_RSL_IPA_NACK] = {"rsl:ipa_nack", "Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS"}, [BTS_CTR_MODE_MODIFY_NACK] = {"chan:mode_modify_nack", "Number of Channel Mode Modify NACKs received from BTS"}, + + /* lchan/TS BORKEN state counters */ + [BTS_CTR_LCHAN_BORKEN_FROM_UNUSED] = {"lchan_borken:from_state:unused", "Transitions from lchan UNUSED state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK] = {"lchan_borken:from_state:wait_activ_ack", "Transitions from lchan WAIT_ACTIV_ACK state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK] = {"lchan_borken:from_state:wait_rf_release_ack", "Transitions from lchan WAIT_RF_RELEASE_ACK state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_BORKEN] = {"lchan_borken:from_state:borken", "Transitions from lchan BORKEN state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN] = {"lchan_borken:from_state:unknown", "Transitions from an unknown lchan state to BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK] = {"lchan_borken:event:chan_activ_ack", "CHAN_ACTIV_ACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK] = {"lchan_borken:event:chan_activ_nack", "CHAN_ACTIV_NACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK] = {"lchan_borken:event:rf_chan_rel_ack", "RF_CHAN_REL_ACK received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_VTY] = {"lchan_borken:event:vty", "VTY commands received in the lchan BORKEN state"}, + [BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN] = {"lchan_borken:event:teardown", "lchan in a BORKEN state is shutting down (BTS disconnected?)"}, + [BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED] = {"ts_borken:from_state:not_initialized", "Transitions from TS NOT_INITIALIZED state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_UNUSED] = {"ts_borken:from_state:unused", "Transitions from TS UNUSED state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT] = {"ts_borken:from_state:wait_pdch_act", "Transitions from TS WAIT_PDCH_ACT state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_PDCH] = {"ts_borken:from_state:pdch", "Transitions from TS PDCH state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT] = {"ts_borken:from_state:wait_pdch_deact", "Transitions from TS WAIT_PDCH_DEACT state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_IN_USE] = {"ts_borken:from_state:in_use", "Transitions from TS IN_USE state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_BORKEN] = {"ts_borken:from_state:borken", "Transitions from TS BORKEN state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_FROM_UNKNOWN] = {"ts_borken:from_state:unknown", "Transitions from an unknown TS state to BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK] = {"ts_borken:event:pdch_act_ack_nack", "PDCH_ACT_ACK/NACK received in the TS BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK] = {"ts_borken:event:pdch_deact_ack_nack", "PDCH_DEACT_ACK/NACK received in the TS BORKEN state"}, + [BTS_CTR_TS_BORKEN_EV_TEARDOWN] = {"ts_borken:event:teardown", "TS in a BORKEN state is shutting down (BTS disconnected?)"}, }; static const struct rate_ctr_group_desc bts_ctrg_desc = { @@ -1474,6 +1518,8 @@ BTS_STAT_RACH_ACCESS, BTS_STAT_OML_CONNECTED, BTS_STAT_RSL_CONNECTED, + BTS_STAT_LCHAN_BORKEN, + BTS_STAT_TS_BORKEN, }; enum { diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 30f685f..d699cf7 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5018,9 +5018,10 @@ return CMD_WARNING; } } else { - if (lchan->fi->state == LCHAN_ST_BORKEN) + if (lchan->fi->state == LCHAN_ST_BORKEN) { + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_VTY]); osmo_fsm_inst_state_chg(lchan->fi, LCHAN_ST_UNUSED, 0, 0); - else { + } else { vty_out(vty, "%% lchan is in state %s, only lchans that are in state %s may be moved to state %s manually%s", osmo_fsm_state_name(lchan->fi->fsm, lchan->fi->state), diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 2847f38..c34f06c 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -392,6 +392,8 @@ { "rach_access", "RACH slots with access bursts in them", "%", 16, 0 }, { "oml_connected", "Number of OML links connected", "", 16, 0 }, { "rsl_connected", "Number of RSL links connected", "", 16, 0 }, + { "lchan_borken", "Number of lchans in the BORKEN state", "", 16, 0 }, + { "ts_borken", "Number of timeslots in the BORKEN state", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bts_statg_desc = { diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index fc8cd3f..a1bf857 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -1071,6 +1071,28 @@ static void lchan_fsm_borken_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); + enum bts_counter_id ctr; + switch (prev_state) { + case LCHAN_ST_UNUSED: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNUSED; + break; + case LCHAN_ST_WAIT_ACTIV_ACK: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK; + break; + case LCHAN_ST_WAIT_RF_RELEASE_ACK: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK; + break; + case LCHAN_ST_BORKEN: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_BORKEN; + break; + default: + ctr = BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN; + } + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[ctr]); + if (prev_state != LCHAN_ST_BORKEN) + osmo_stat_item_inc(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + + /* The actual action besides all the beancounting above */ lchan_reset(lchan); } @@ -1081,6 +1103,8 @@ case LCHAN_EV_RSL_CHAN_ACTIV_ACK: /* A late Chan Activ ACK? Release. */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_RF_RELEASE_ACK); @@ -1088,11 +1112,15 @@ case LCHAN_EV_RSL_CHAN_ACTIV_NACK: /* A late Chan Activ NACK? Ok then, unused. */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); lchan_fsm_state_chg(LCHAN_ST_UNUSED); return; case LCHAN_EV_RSL_RF_CHAN_REL_ACK: /* A late Release ACK? */ + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); lchan->release.in_error = true; lchan->release.rsl_error_cause = RSL_ERR_INTERWORKING; lchan_fsm_state_chg(LCHAN_ST_WAIT_AFTER_ERROR); @@ -1384,6 +1412,10 @@ void lchan_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); + if (lchan->fi->state == LCHAN_ST_BORKEN) { + rate_ctr_inc(&lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN]); + osmo_stat_item_dec(lchan->ts->trx->bts->bts_statg->items[BTS_STAT_LCHAN_BORKEN], 1); + } lchan_reset(lchan); if (lchan->last_error) { talloc_free(lchan->last_error); diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index 84ffb7f..4816daf 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -654,6 +654,39 @@ } } +static void ts_fsm_borken_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); + enum bts_counter_id ctr; + switch (prev_state) { + case TS_ST_NOT_INITIALIZED: + ctr = BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED; + break; + case TS_ST_UNUSED: + ctr = BTS_CTR_TS_BORKEN_FROM_UNUSED; + break; + case TS_ST_WAIT_PDCH_ACT: + ctr = BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT; + break; + case TS_ST_PDCH: + ctr = BTS_CTR_TS_BORKEN_FROM_PDCH; + break; + case TS_ST_WAIT_PDCH_DEACT: + ctr = BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT; + break; + case TS_ST_IN_USE: + ctr = BTS_CTR_TS_BORKEN_FROM_IN_USE; + break; + case TS_ST_BORKEN: + ctr = BTS_CTR_TS_BORKEN_FROM_BORKEN; + break; + default: + ctr = BTS_CTR_TS_BORKEN_FROM_UNKNOWN; + } + rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[ctr]); + osmo_stat_item_inc(ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); +} + static void ts_fsm_borken(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch (event) { @@ -670,17 +703,29 @@ case TS_EV_PDCH_ACT_ACK: case TS_EV_PDCH_ACT_NACK: - /* Late PDCH activation ACK/NACK is not a crime. - * Just process them as normal. */ - ts_fsm_wait_pdch_act(fi, event, data); - return; + { + struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); + struct gsm_bts *bts = ts->trx->bts; + /* Late PDCH activation ACK/NACK is not a crime. + * Just process them as normal. */ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK]); + osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + ts_fsm_wait_pdch_act(fi, event, data); + return; + } case TS_EV_PDCH_DEACT_ACK: case TS_EV_PDCH_DEACT_NACK: - /* Late PDCH deactivation ACK/NACK is also not a crime. - * Just process them as normal. */ - ts_fsm_wait_pdch_deact(fi, event, data); - return; + { + struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); + struct gsm_bts *bts = ts->trx->bts; + /* Late PDCH deactivation ACK/NACK is also not a crime. + * Just process them as normal. */ + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK]); + osmo_stat_item_dec(bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + ts_fsm_wait_pdch_deact(fi, event, data); + return; + } default: OSMO_ASSERT(false); @@ -733,6 +778,15 @@ } } +static void ts_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) +{ + struct gsm_bts_trx_ts *ts = ts_fi_ts(fi); + if (ts->fi->state == TS_ST_BORKEN) { + rate_ctr_inc(&ts->trx->bts->bts_ctrs->ctr[BTS_CTR_TS_BORKEN_EV_TEARDOWN]); + osmo_stat_item_dec(ts->trx->bts->bts_statg->items[BTS_STAT_TS_BORKEN], 1); + } +} + #define S(x) (1 << (x)) static const struct osmo_fsm_state ts_fsm_states[] = { @@ -830,6 +884,7 @@ }, [TS_ST_BORKEN] = { .name = "BORKEN", + .onenter = ts_fsm_borken_onenter, .action = ts_fsm_borken, .in_event_mask = 0 | S(TS_EV_LCHAN_REQUESTED) @@ -875,6 +930,7 @@ | S(TS_EV_RSL_DOWN) , .allstate_action = ts_fsm_allstate, + .cleanup = ts_fsm_cleanup, }; /* Return true if any lchans are waiting for this timeslot to become a specific PCHAN. If target_pchan is -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe Gerrit-Change-Number: 18192 Gerrit-PatchSet: 13 Gerrit-Owner: ipse Gerrit-Assignee: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:33 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18332 ) Change subject: stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. ...................................................................... stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING. This is a corner case but still we should count the events to know when is this happening. And for the number of paging requests to match the number of paging responses. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 276fc02..a2e103d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1412,6 +1412,7 @@ BTS_CTR_PAGING_ALREADY, BTS_CTR_PAGING_RESPONDED, BTS_CTR_PAGING_EXPIRED, + BTS_CTR_PAGING_NO_ACTIVE_PAGING, BTS_CTR_CHAN_ACT_TOTAL, BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, @@ -1457,6 +1458,7 @@ [BTS_CTR_PAGING_ALREADY] = {"paging:already", "Paging attempts ignored as subscriber was already being paged."}, [BTS_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful paging response."}, [BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."}, + [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, [BTS_CTR_CHAN_ACT_TOTAL] = {"chan_act:total", "Total number of Channel Activations."}, [BTS_CTR_CHAN_ACT_NACK] = {"chan_act:nack", "Number of Channel Activations that the BTS NACKed"}, [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, @@ -1552,6 +1554,7 @@ BSC_CTR_PAGING_ATTEMPTED, BSC_CTR_PAGING_DETACHED, BSC_CTR_PAGING_RESPONDED, + BSC_CTR_PAGING_NO_ACTIVE_PAGING, BSC_CTR_UNKNOWN_UNIT_ID, }; @@ -1596,6 +1599,7 @@ [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."}, [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found."}, [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response."}, + [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID."}, }; diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 4f9c69e..8a4b1c5 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -388,6 +388,8 @@ if (!subscr) { LOGP(DMSC, LOGL_ERROR, "Non active subscriber got paged.\n"); + rate_ctr_inc(&conn->lchan->ts->trx->bts->bts_ctrs->ctr[BTS_CTR_PAGING_NO_ACTIVE_PAGING]); + rate_ctr_inc(&conn->network->bsc_ctrs->ctr[BSC_CTR_PAGING_NO_ACTIVE_PAGING]); return -1; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a Gerrit-Change-Number: 18332 Gerrit-PatchSet: 9 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:34 +0000 Subject: Change in osmo-bsc[master]: stats: Correctly count lchans under BORKEN TS. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18334 ) Change subject: stats: Correctly count lchans under BORKEN TS. ...................................................................... stats: Correctly count lchans under BORKEN TS. lchans under a BORKEN TS should be counted as used just as BORKEN lchans under a normal TS. Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 --- M src/osmo-bsc/chan_alloc.c 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index 27c49cd..f23a982 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -87,6 +87,13 @@ pl->total++; + /* lchans under a BORKEN TS should be counted + * as used just as BORKEN lchans under a normal TS */ + if (ts->fi->state == TS_ST_BORKEN) { + pl->used++; + continue; + } + switch (lchan->fi->state) { case LCHAN_ST_UNUSED: break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0 Gerrit-Change-Number: 18334 Gerrit-PatchSet: 6 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:00:34 +0000 Subject: Change in osmo-bsc[master]: bssap: Handle BSSMAP CONFUSION message. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18232 ) Change subject: bssap: Handle BSSMAP CONFUSION message. ...................................................................... bssap: Handle BSSMAP CONFUSION message. We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Depends: If8afd2d096fb66c6c2f255a08fc1129de3d09cec (libosmocore) Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 --- M TODO-RELEASE M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_msc.c 4 files changed, 59 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index dde4b72..e2fa427 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -8,3 +8,6 @@ # If any interfaces have been removed or changed since the last public release: c:r:0. #library what description / commit summary line manual needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0 +libosmocore struct gsm0808_diagnostics Depends on libosmocore > 1.3.0 +libosmocore gsm0808_diagnostics_octet_location_str() Depends on libosmocore > 1.3.0 +libosmocore gsm0808_diagnostics_bit_location_str() Depends on libosmocore > 1.3.0 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 74a6f3c..fc816b4 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -69,6 +69,7 @@ MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL, MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, + MSC_CTR_BSSMAP_RX_DT1_CONFUSION, MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, MSC_CTR_BSSMAP_RX_DT1_DTAP, MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index ddebb6a..388ad14 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -1006,6 +1006,56 @@ return -EINVAL; } +/* Handle Confusion message, MSC indicating an error to us: + * + * See 3GPP TS 48.008 ?3.2.1.45 + */ +static int bssmap_handle_confusion(struct gsm_subscriber_connection *conn, + struct msgb *msg, unsigned int length) +{ + struct tlv_parsed tp; + int diag_len; + enum gsm0808_cause cause; + enum gsm0808_cause_class cause_class; + struct gsm0808_diagnostics *diag; + + osmo_bssap_tlv_parse(&tp, msg->l4h + 1, length - 1); + + /* Check for the Cause and Diagnostic mandatory elements */ + if (!TLVP_PRESENT(&tp, GSM0808_IE_CAUSE) || !TLVP_PRESENT(&tp, GSM0808_IE_DIAGNOSTIC)) { + LOGPFSML(conn->fi, LOGL_ERROR, + "Received BSSMAP Confusion message," + " but either Cause or Diagnostic mandatory IE is not present: %s\n", + osmo_hexdump(msg->l4h, length)); + return -EINVAL; + } + + diag_len = TLVP_LEN(&tp, GSM0808_IE_DIAGNOSTIC); + if (diag_len < 5) { + LOGPFSML(conn->fi, LOGL_ERROR, + "Received BSSMAP Confusion message with short Diagnostic length: %d (expected > 5)\n", + diag_len); + return -EINVAL; + } + + cause = gsm0808_get_cause(&tp); + cause_class = gsm0808_cause_class(cause); + diag = (struct gsm0808_diagnostics *)TLVP_VAL(&tp, GSM0808_IE_DIAGNOSTIC); + + LOGPFSML(conn->fi, LOGL_ERROR, + "Received BSSMAP Confusion: class 0x%x (%s), cause 0x%x (%s), " + "error octet %d (%s), error bit %d (%s), original message: %s\n", + cause_class, gsm0808_cause_class_name(cause_class), + cause, gsm0808_cause_name(cause), + diag->error_pointer_octet, + gsm0808_diagnostics_octet_location_str(diag->error_pointer_octet), + diag->error_pointer_bit, + gsm0808_diagnostics_bit_location_str(diag->error_pointer_bit), + osmo_hexdump(diag->msg, diag_len-2)); + + return 0; +} + static int bssmap_rcvmsg_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length) { @@ -1082,6 +1132,10 @@ rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST]); ret = gsm48_send_rr_classmark_enquiry(conn->lchan); break; + case BSS_MAP_MSG_CONFUSION: + rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_CONFUSION]); + ret = bssmap_handle_confusion(conn, msg, length); + break; default: rate_ctr_inc(&ctrs[MSC_CTR_BSSMAP_RX_DT1_UNKNOWN]); LOGP(DMSC, LOGL_NOTICE, "Unimplemented msg type: %s\n", diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index db3ffe4..e58ff7f 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -55,6 +55,7 @@ [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CONFUSION] = {"bssmap:rx:dt1:confusion", "Number of received BSSMAP DT1 CONFUSION messages"}, [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4 Gerrit-Change-Number: 18232 Gerrit-PatchSet: 12 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:01:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:01:06 +0000 Subject: Change in docker-playground[master]: bsc: drop access-list-name from osmo-bsc.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18353 ) Change subject: bsc: drop access-list-name from osmo-bsc.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 Gerrit-Change-Number: 18353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:01:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:06:27 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 May 2020 20:06:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: Code-Review-1 (5 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at a235 PS1, Line 235: /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 : * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here : * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ : if (is_11bit != 0) { ra := 127; } This should have not been removed. That's why the related test cases fail. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 48 PS1, Line 48: GsmRrMessage Do we really need to store the RR Immediate Assignment in a TBF record? As far as I understand, we parse it and store all parsed parameters here. What if a TBF was assigned on PACCH? There would be no RR Immediate Assignment content to store here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 49 PS1, Line 49: PacketDlAssign ass, : PacketDlAssignment rlcmac_ass, Please add a couple of comments here, what is the difference between both? If I understand correctly, 'ass' contains parameters from CCCH assignment message and 'rlcmac_ass' contains parameters from PACCH assignment message. It also makes sense to use a union here and properly name its members: 'ccch_ass', 'pacch_ass'. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 56 PS1, Line 56: GsmRrMessage rr_imm_ass, : PacketUlAssign ass, : PacketUlAssignment rlcmac_ass, Same comments apply here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 72 PS1, Line 72: UlTbf ul_tbf optional, : DlTbf dl_tbf optional Please add a comment that there can be more than one UL/DL TBF. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:06:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:10:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:10:30 +0000 Subject: Change in docker-playground[master]: bsc: drop access-list-name from osmo-bsc.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18353 ) Change subject: bsc: drop access-list-name from osmo-bsc.cfg ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 Gerrit-Change-Number: 18353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:10:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:10:34 +0000 Subject: Change in docker-playground[master]: bsc: drop access-list-name from osmo-bsc.cfg In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18353 ) Change subject: bsc: drop access-list-name from osmo-bsc.cfg ...................................................................... bsc: drop access-list-name from osmo-bsc.cfg This configuration option is unused. Related: the IMSI filtering access list is being dropped from osmo-bsc, which might cause test fallout. Related: I89727af5387e8360362e995fdee959883c37d89a (osmo-bsc) Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 --- M ttcn3-bsc-test/osmo-bsc.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved laforge: Looks good to me, approved; Verified diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index f19d74c..5871e26 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -395,7 +395,6 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list ctrl bind 0.0.0.0 cbc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ied8d766ba230b93cb1185fc8b1a77f5540dfdbc1 Gerrit-Change-Number: 18353 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:23:16 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Tue, 19 May 2020 20:23:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: (5 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 104 PS1, Line 104: /* Support only 1 ms for now */ : var GprsMS g_ms[1]; Does it really make sense to have it here? In all test cases you basically initialize this instance, then copy it to another instance, and never use anymore. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 111 PS1, Line 111: f_init_gprs_ms This function looks redundant. Just let test cases evaluate t_GprsMS_def as they need. var GprsMS ms := valueof(t_GprsMS_def); ms.foo := bar; https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 239 PS1, Line 239: f_ms_set_lqual This functions is redundant. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 244 PS1, Line 244: f_ms_set_ta I am sorry, but it looks like f_sum(a, b) { return a + b } to me. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/PCU_Tests.ttcn at 268 PS1, Line 268: f_ms_set_ta(ms, ta); Do we really need a function for that? Why not just: ms.ta := ta; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:23:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:27:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:27:52 +0000 Subject: Change in libosmocore[master]: gsmtap_makemsg_ex: NULL for unknown chan_type In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18361 ) Change subject: gsmtap_makemsg_ex: NULL for unknown chan_type ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Gerrit-Change-Number: 18361 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:27:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:30:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:30:56 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18347 ) Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18347/2/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18347/2/src/osmo-bsc/osmo_bsc_main.c at 866 PS2, Line 866: exit The first thing we do after handle_options() is to check the variable set in handle_options, and then call vty_dump_xml_ref(stdout). So why not simply avoid introducing a new global variable and put the vty_dump_xml_ref() call inside handle_options? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:30:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:31:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:31:25 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:31:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:31:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:31:29 +0000 Subject: Change in osmo-bsc[master]: deprecate 'msc' / 'ip.access rtp-base ' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18236 ) Change subject: deprecate 'msc' / 'ip.access rtp-base ' ...................................................................... deprecate 'msc' / 'ip.access rtp-base ' The bsc_msc_data->rtp_base has been unused ever since we introduced the exernal MGW in osmo-bsc [1]. The vty command also still exists. Deprecate the vty command, remove the member. [1] "mgcp: use osmo-mgw to switch RTP streams" commit 39c609b7c924524172ad311bdf89f92b7ccf175a Change-Id Ia2882b7ca31a3219c676986e85045fa08a425d7a Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 --- M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 3 insertions(+), 19 deletions(-) Approvals: laforge: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index e87e027..4e2ce46 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -4772,13 +4772,6 @@ - - - - - - - diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index fc816b4..a97616f 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -130,7 +130,6 @@ struct osmo_plmn_id core_plmn; int core_lac; int core_ci; - int rtp_base; /* audio codecs */ struct gsm48_multi_rate_conf amr_conf; diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index e58ff7f..f766f75 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -194,7 +194,6 @@ }; msc_data->core_ci = -1; msc_data->core_lac = -1; - msc_data->rtp_base = 4000; msc_data->nr = nr; msc_data->allow_emerg = 1; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index c372b48..7174de1 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -36,9 +36,6 @@ #include - -#define IPA_STR "IP.ACCESS specific\n" - static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty) { return bsc_gsmnet->bsc_data; @@ -123,7 +120,6 @@ if (msc->core_ci != -1) vty_out(vty, " core-cell-identity %d%s", msc->core_ci, VTY_NEWLINE); - vty_out(vty, " ip.access rtp-base %d%s", msc->rtp_base, VTY_NEWLINE); if (msc->ussd_welcome_txt) vty_out(vty, " bsc-welcome-text %s%s", msc->ussd_welcome_txt, VTY_NEWLINE); @@ -297,15 +293,12 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_bsc_rtp_base, +DEFUN_DEPRECATED(cfg_net_bsc_rtp_base, cfg_net_bsc_rtp_base_cmd, "ip.access rtp-base <1-65000>", - IPA_STR - "Set the rtp-base port for the RTP stream\n" - "Port number\n") + "deprecated\n" "deprecated, RTP is handled by the MGW\n" "deprecated\n") { - struct bsc_msc_data *data = bsc_msc_data(vty); - data->rtp_base = atoi(argv[0]); + vty_out(vty, "%% deprecated: 'ip.access rtp-base' has no effect, RTP is handled by the MGW%s", VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8 Gerrit-Change-Number: 18236 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:31:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:31:40 +0000 Subject: Change in osmo-bts[master]: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18344 ) Change subject: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idd40433fee22aeb1e86708c132929bb69e626334 Gerrit-Change-Number: 18344 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:31:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:31:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:31:50 +0000 Subject: Change in osmo-bts[master]: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18344 ) Change subject: l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c ...................................................................... l1_utils.h: Avoid redefinition of global vars defined in l1_utils.c Change-Id: Idd40433fee22aeb1e86708c132929bb69e626334 --- M src/osmo-bts-octphy/l1_utils.h 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-octphy/l1_utils.h b/src/osmo-bts-octphy/l1_utils.h index d1a8717..1c1d222 100644 --- a/src/osmo-bts-octphy/l1_utils.h +++ b/src/osmo-bts-octphy/l1_utils.h @@ -2,8 +2,8 @@ #include -const struct value_string octphy_l1sapi_names[23]; -const struct value_string octphy_dir_names[5]; -const struct value_string octphy_clkmgr_state_vals[8]; -const struct value_string octphy_cid_vals[37]; -const struct value_string octphy_eid_vals[7]; +extern const struct value_string octphy_l1sapi_names[23]; +extern const struct value_string octphy_dir_names[5]; +extern const struct value_string octphy_clkmgr_state_vals[8]; +extern const struct value_string octphy_cid_vals[37]; +extern const struct value_string octphy_eid_vals[7]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Idd40433fee22aeb1e86708c132929bb69e626334 Gerrit-Change-Number: 18344 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:14 +0000 Subject: Change in osmo-msc[master]: ran_msg_iu.c: Avoid redefining osmo-iuh global variables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18343 ) Change subject: ran_msg_iu.c: Avoid redefining osmo-iuh global variables ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I702e9748eaaf2279c3764ba67f80f00ae9f2526f Gerrit-Change-Number: 18343 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:32:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:18 +0000 Subject: Change in osmo-msc[master]: ran_msg_iu.c: Avoid redefining osmo-iuh global variables In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18343 ) Change subject: ran_msg_iu.c: Avoid redefining osmo-iuh global variables ...................................................................... ran_msg_iu.c: Avoid redefining osmo-iuh global variables >From ASAn on gcc 10.1.0: +================================================================= +==269368==ERROR: AddressSanitizer: odr-violation (0x559114a5b880): + [1] size=4 'asn1_xer_print' /git/osmo-msc/src/libmsc/ran_msg_iu.c:50:5 + [2] size=4 'asn1_xer_print' /git/osmo-iuh/src/iu_client.c:85:5 +These globals were registered at these points: + [1]: + #0 0x7f6208d3869a in __asan_register_globals /build/gcc/src/gcc/libsanitizer/asan/asan_globals.cpp:341 + #1 0x55911456d221 in _sub_I_00099_1 (/build/new/tmpdir/osmo-msc/tests/msc_vlr/msc_vlr_test_hlr_timeout+0x48d221) + #2 0x5591145e8e9c in __libc_csu_init (/build/new/tmpdir/osmo-msc/tests/msc_vlr/msc_vlr_test_hlr_timeout+0x508e9c) + + [2]: + #0 0x7f6208d3869a in __asan_register_globals /build/gcc/src/gcc/libsanitizer/asan/asan_globals.cpp:341 + #1 0x7f6207d8db91 in _sub_I_00099_1 (/build/new/out/lib/libosmo-ranap.so.3+0x47db91) + #2 0x7f62096eb0f1 in call_init.part.0 (/lib64/ld-linux-x86-64.so.2+0x110f1) + +==269368==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0 +SUMMARY: AddressSanitizer: odr-violation: global 'asn1_xer_print' at /git/osmo-msc/src/libmsc/ran_msg_iu.c:50:5 +==269368==ABORTING Related: OS#4556 Change-Id: I702e9748eaaf2279c3764ba67f80f00ae9f2526f --- M src/libmsc/ran_msg_iu.c 1 file changed, 0 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libmsc/ran_msg_iu.c b/src/libmsc/ran_msg_iu.c index e056de4..b17aef8 100644 --- a/src/libmsc/ran_msg_iu.c +++ b/src/libmsc/ran_msg_iu.c @@ -39,16 +39,6 @@ #include #include -/* Implement the extern talloc_asn1_ctx from libasn1c as talloc ctx for ASN.1 message composition */ -void *talloc_asn1_ctx = NULL; - -/* Implement the extern asn_debug from libasn1c to indicate whether to print asn.1 debug messages. */ -int asn_debug = 0; - -/* Implement the extern asn1_xer_print to indicate whether the ASN.1 binary code decoded and encoded during Iu - * communication should be logged to stderr (see asn.1 generated code in osmo-iuh). */ -int asn1_xer_print = 0; - #define LOG_RAN_IU_DEC(RAN_DEC, level, fmt, args...) \ LOG_RAN_DEC(RAN_DEC, DIUCS, level, "RANAP: " fmt, ## args) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I702e9748eaaf2279c3764ba67f80f00ae9f2526f Gerrit-Change-Number: 18343 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:28 +0000 Subject: Change in osmo-iuh[master]: tests: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18341 ) Change subject: tests: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3ef7a3f1c3247615619a0d01c92d8f80572b0dfe Gerrit-Change-Number: 18341 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:32:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:56 +0000 Subject: Change in osmo-iuh[master]: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18342 ) Change subject: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I12a667ea8a9f16404c13c9218b246d2e3acfe3e8 Gerrit-Change-Number: 18342 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:32:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:59 +0000 Subject: Change in osmo-iuh[master]: tests: Fix trailing whitespace In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18341 ) Change subject: tests: Fix trailing whitespace ...................................................................... tests: Fix trailing whitespace Change-Id: I3ef7a3f1c3247615619a0d01c92d8f80572b0dfe --- M src/tests/dummy_cn_sua.c M src/tests/test-helpers.c 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tests/dummy_cn_sua.c b/src/tests/dummy_cn_sua.c index f9b4244..aba6c8a 100644 --- a/src/tests/dummy_cn_sua.c +++ b/src/tests/dummy_cn_sua.c @@ -305,7 +305,7 @@ break; case OSMO_PRIM(OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_INDICATION): /* connection-oriented data received */ - printf("N-UNITDATA.ind(%s)\n", + printf("N-UNITDATA.ind(%s)\n", osmo_hexdump(msgb_l2(oph->msg), msgb_l2len(oph->msg))); rc = ranap_cn_rx_cl(cn_ranap_handle_cl, link, msgb_l2(oph->msg), msgb_l2len(oph->msg)); break; diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index 6a6a4d1..aafe815 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -130,7 +130,7 @@ struct gprs_ra_id ra_id = {0}; int rc; - + RANAP_LAI_t lai = { .pLMNidentity = { .buf = plmnid_buf, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I3ef7a3f1c3247615619a0d01c92d8f80572b0dfe Gerrit-Change-Number: 18341 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:32:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:32:59 +0000 Subject: Change in osmo-iuh[master]: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18342 ) Change subject: Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw ...................................................................... Fix OneDefinitionRule Asan violation in tests and osmo-hnbgw With new gcc 10.1.0, tests failed at runtime when built with ASAN enabled, since some global variables where defined multiple times. See OS#4556 for a sample Asan error. Fixes: OS#4556 Change-Id: I12a667ea8a9f16404c13c9218b246d2e3acfe3e8 --- M src/hnbap_common.c M src/tests/dummy_cn_sua.c M src/tests/test-helpers.c M src/tests/test-ranap.c M src/tests/test_common.c 5 files changed, 6 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/hnbap_common.c b/src/hnbap_common.c index f8cfb13..4e79467 100644 --- a/src/hnbap_common.c +++ b/src/hnbap_common.c @@ -106,10 +106,6 @@ return buf; } - -int asn_debug = 0; -int asn1_xer_print = 0; - static struct msgb *hnbap_msgb_alloc(void) { return msgb_alloc(1024, "HNBAP Tx"); diff --git a/src/tests/dummy_cn_sua.c b/src/tests/dummy_cn_sua.c index aba6c8a..6e14562 100644 --- a/src/tests/dummy_cn_sua.c +++ b/src/tests/dummy_cn_sua.c @@ -26,7 +26,6 @@ #include #include -int asn1_xer_print = 1; const char *cmdline_bind_addr = "127.0.0.1"; struct ue_conn_ctx { @@ -364,6 +363,8 @@ int rc; int port = 14001; + asn1_xer_print = 1; + osmo_sua_set_log_area(DSUA); ranap_set_log_area(DRANAP); diff --git a/src/tests/test-helpers.c b/src/tests/test-helpers.c index aafe815..cfe2140 100644 --- a/src/tests/test-helpers.c +++ b/src/tests/test-helpers.c @@ -32,7 +32,6 @@ #include -int asn1_xer_print = 0; extern void *talloc_asn1_ctx; /* use odd number of digits */ @@ -207,6 +206,8 @@ int main(int argc, char **argv) { + asn1_xer_print = 0; + test_common_init(); test_iu_helpers(); diff --git a/src/tests/test-ranap.c b/src/tests/test-ranap.c index efa2241..a6df186 100644 --- a/src/tests/test-ranap.c +++ b/src/tests/test-ranap.c @@ -34,8 +34,6 @@ #include -int asn1_xer_print = 1; - extern void *tall_msgb_ctx; static void test_aper_int(uint32_t inp) @@ -95,6 +93,8 @@ uint8_t ck[16] = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; int i; + asn1_xer_print = 1; + //asn_debug = 1; test_common_init(); diff --git a/src/tests/test_common.c b/src/tests/test_common.c index 701d581..7c6f62a 100644 --- a/src/tests/test_common.c +++ b/src/tests/test_common.c @@ -41,8 +41,6 @@ #include -void *talloc_asn1_ctx; - static const struct log_info_cat log_cat[] = { [DMAIN] = { .name = "DMAIN", .loglevel = LOGL_INFO, .enabled = 1, -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I12a667ea8a9f16404c13c9218b246d2e3acfe3e8 Gerrit-Change-Number: 18342 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:33:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:33:18 +0000 Subject: Change in osmo-bsc[master]: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18340 ) Change subject: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 Gerrit-Change-Number: 18340 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:33:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:33:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:33:38 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:33:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:33:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:33:42 +0000 Subject: Change in osmo-bsc[master]: Fix crash in bsc_patch_mm_info() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18338 ) Change subject: Fix crash in bsc_patch_mm_info() ...................................................................... Fix crash in bsc_patch_mm_info() osmo-bsc has crashed with the following backtrace: 0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 1 0x00007f0bc49b38db in __GI_abort () at abort.c:100 2 0x00007f0bc581ba30 in osmo_panic () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 3 0x00005648ceeced69 in conn_get_bts (conn=) at ../../include/osmocom/bsc/gsm_data.h:1392 4 0x00005648cef37164 in conn_get_bts (conn=0x5648cf769e80) at osmo_bsc_filter.c:87 5 bsc_patch_mm_info (conn=conn at entry=0x5648cf769e80, data=, length=) at osmo_bsc_filter.c:48 6 0x00005648cef371b6 in bsc_scan_msc_msg (conn=conn at entry=0x5648cf769e80, msg=msg at entry=0x5648cf77ead0) at osmo_bsc_filter.c:159 7 0x00005648cef33988 in dtap_rcvmsg (msg=0x5648cf72b2f0, length=40, conn=0x5648cf769e80) at osmo_bsc_bssap.c:1215 8 bsc_handle_dt (conn=conn at entry=0x5648cf769e80, msg=0x5648cf72b2f0, len=40) at osmo_bsc_bssap.c:1299 9 0x00005648cef3b2b7 in handle_data_from_msc (msg=, conn=0x5648cf769e80) at osmo_bsc_sigtran.c:152 10 sccp_sap_up (oph=0x5648cf72b378, _scu=) at osmo_bsc_sigtran.c:267 11 0x00007f0bc5813c03 in _osmo_fsm_inst_dispatch () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 12 0x00007f0bc51a8935 in sccp_scoc_rx_from_scrc (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scoc.c:1695 13 0x00007f0bc51a62f3 in scrc_rx_mtp_xfer_ind_xua (inst=inst at entry=0x5648cf6a8d60, xua=xua at entry=0x5648cf720150) at sccp_scrc.c:459 14 0x00007f0bc51a9545 in mtp_user_prim_cb (oph=0x5648cf7681f8, ctx=0x5648cf6a8d60) at sccp_user.c:182 15 0x00007f0bc51a09c6 in m3ua_rx_xfer (xua=0x5648cf764a80, asp=0x5648cf45f540) at m3ua.c:586 16 m3ua_rx_msg (asp=asp at entry=0x5648cf45f540, msg=msg at entry=0x5648cf71e880) at m3ua.c:739 17 0x00007f0bc51b0763 in xua_cli_read_cb (conn=0x5648cf441ed0) at osmo_ss7.c:1761 18 0x00007f0bc55fab53 in osmo_stream_cli_read (cli=0x5648cf441ed0) at stream.c:232 19 osmo_stream_cli_fd_cb (ofd=, what=1) at stream.c:321 20 0x00007f0bc580edcf in ?? () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 21 0x00007f0bc580f526 in osmo_select_main_ctx () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 22 0x00005648ceecfb2f in main (argc=, argv=) at osmo_bsc_main.c:953 Apparently, there is no lchan allocated at this moment, so conn_get_bts() crashes. But we only use it to get to "network" which we can do much easier and safer by doing conn->network. Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 --- M src/osmo-bsc/osmo_bsc_filter.c M tests/bsc/bsc_test.c 2 files changed, 3 insertions(+), 11 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 332ba6b..3b72aee 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -45,7 +45,6 @@ { struct tlv_parsed tp; int parse_res; - struct gsm_bts *bts = conn_get_bts(conn); int tzunits; uint8_t tzbsd = 0; uint8_t dst = 0; @@ -58,7 +57,7 @@ return 0; /* Is TZ patching enabled? */ - struct gsm_tz *tz = &bts->network->tz; + struct gsm_tz *tz = &conn->network->tz; if (!tz->override) return 0; diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 6079ec5..5d87118 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -123,16 +123,9 @@ int i; struct gsm_network *net = gsm_network_init(ctx); - struct gsm_bts *bts = gsm_bts_alloc(net, 0); - struct bsc_msc_data *msc; - struct gsm_subscriber_connection *conn; + struct gsm_subscriber_connection *conn = talloc_zero(net, struct gsm_subscriber_connection); - msc = talloc_zero(net, struct bsc_msc_data); - conn = talloc_zero(net, struct gsm_subscriber_connection); - - bts->network = net; - conn->sccp.msc = msc; - conn->lchan = &bts->c0->ts[1].lchan[0]; + conn->network = net; /* start testing with proper messages */ printf("Testing BTS<->MSC message scan.\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57 Gerrit-Change-Number: 18338 Gerrit-PatchSet: 4 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:33:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:33:43 +0000 Subject: Change in osmo-bsc[master]: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18340 ) Change subject: bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. ...................................................................... bsc_patch: Don't even parse MM INFO if TZ patching is not enabled. Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 --- M src/osmo-bsc/osmo_bsc_filter.c 1 file changed, 5 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 3b72aee..b4985f2 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -49,6 +49,11 @@ uint8_t tzbsd = 0; uint8_t dst = 0; + /* Is TZ patching enabled? */ + struct gsm_tz *tz = &conn->network->tz; + if (!tz->override) + return 0; + parse_res = tlv_parse(&tp, &gsm48_mm_att_tlvdef, data, length, 0, 0); if (parse_res <= 0 && parse_res != -3) /* FIXME: -3 means unknown IE error, so this accepts messages @@ -56,11 +61,6 @@ * IE and the message is broken or parsed incompletely. */ return 0; - /* Is TZ patching enabled? */ - struct gsm_tz *tz = &conn->network->tz; - if (!tz->override) - return 0; - /* Convert tz.hr and tz.mn to units */ if (tz->hr < 0) { tzunits = -tz->hr*4; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0 Gerrit-Change-Number: 18340 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:35:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 19 May 2020 20:35:10 +0000 Subject: Change in osmo-ggsn[master]: osmo-ggsn.spec.in: remove In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 ) Change subject: osmo-ggsn.spec.in: remove ...................................................................... Patch Set 1: I think now that you also use the spec.in mechanism, this commit (remove) and the next (add) should simply be a commit to update/replace the spec.in file. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd Gerrit-Change-Number: 18291 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:35:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:37:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:37:56 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 to look at the new patch set (#2). Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... cosmetic: apply changes to match struct_endianess.py output Rationale: the script is a good way to avoid bugs from manually composing the big endian parts (for example, it detected the missing endian.h include, fixed in I5906d94e0e0a74674c3a14cf2ec81c681e696474). However, it becomes cumbersome if it creates numerous edits in the source tree, which cause more time spent for whoever wanted to rather save time with it. So let's keep the code tree matching that script's output. Change-Id: I04ad3795fbaf495cae168aed69124b1dc132a9bd --- M include/osmocom/mtp/mtp_level3.h M include/osmocom/sccp/sccp_types.h 2 files changed, 14 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/61/16761/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I04ad3795fbaf495cae168aed69124b1dc132a9bd Gerrit-Change-Number: 16761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:37:56 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:37:56 +0000 Subject: Change in libosmo-sccp[master]: big endian: add missing endian.h in sccp.c References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 ) Change subject: big endian: add missing endian.h in sccp.c ...................................................................... big endian: add missing endian.h in sccp.c sccp.c uses #ifdef OSMO_IS_LITTLE_ENDIAN, but fails to include endian.h, i.e. it would build little endian also on big endian systems. Found by libosmocore/contrib/struct_endianness.py. Change-Id: I5906d94e0e0a74674c3a14cf2ec81c681e696474 --- M src/sccp.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/73/18373/1 diff --git a/src/sccp.c b/src/sccp.c index cbc63b1..058f20b 100644 --- a/src/sccp.c +++ b/src/sccp.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5906d94e0e0a74674c3a14cf2ec81c681e696474 Gerrit-Change-Number: 18373 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:53:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:53:05 +0000 Subject: Change in osmo-msc[master]: manual: link to new common cs7-config.adoc, remove some dup of that In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/17580 ) Change subject: manual: link to new common cs7-config.adoc, remove some dup of that ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/17580/2/doc/manuals/chapters/running.adoc at 104 PS2, Line 104: sctp-role client > Please explicitly state the AS and ASP. [?] And then, would they also be surprised not to see a routing-key configured? For typical osmocom usage, adding a routing-key complicates things. So I had it in the example, only commented out. That precisely is where the discussion started: I should remove that comment. See here: https://gerrit.osmocom.org/c/osmo-bsc/+/17503/2/doc/manuals/chapters/running.adoc#91 So then I went with the minimal example that works with osmocom, omitting any automatically added config. The final and merged patch set of above link resembles exactly this patch here. I think that is still the best way. This is supposed to be a minimal hint to get a configuration working quickly. The full explanation is in <>. But I am glad to adhere to finally get this merged, if we can't merge it as-is. To be clear, I should add the AS and ASP, but not the routing-key? -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/17580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ie88dd2c7f7318a31ae04fbd6930346d92141fde5 Gerrit-Change-Number: 17580 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 19 May 2020 20:53:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:56:12 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:56:12 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 to look at the new patch set (#3). Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... add osmo-bsc -X: dump VTY ref XML to stdout Depends: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 (libosmocore) Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/18347/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:56:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:56:13 +0000 Subject: Change in osmo-bsc[master]: manuals: generate vty reference xml at build time References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18374 ) Change subject: manuals: generate vty reference xml at build time ...................................................................... manuals: generate vty reference xml at build time Move 'doc' subdir further down to "make sure" the osmo-bsc binary is built before the docs. Remove bsc_vty_reference.xml from the source tree. In manuals/Makefile.am use the new BUILT_REFERENCE_XML feature recently added to osmo-gsm-manuals, and add a build target to generate the XML using the new osmo-bsc --vty-ref-xml cmdline switch. Depends: I613d692328050a036d05b49a436ab495fc2087ba (osmo-gsm-manuals) Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 --- M Makefile.am M doc/manuals/Makefile.am D doc/manuals/vty/bsc_vty_reference.xml 3 files changed, 7 insertions(+), 5,226 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/18374/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 Gerrit-Change-Number: 18374 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:56:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:56:54 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18347 ) Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... Patch Set 3: (1 comment) > Patch Set 2: > > (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18347/2/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18347/2/src/osmo-bsc/osmo_bsc_main.c at 866 PS2, Line 866: exit > The first thing we do after handle_options() is to check the variable set in handle_options, and the [?] indeed much nicer -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 19 May 2020 20:56:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 19 20:58:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 19 May 2020 20:58:08 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 to look at the new patch set (#4). Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... add osmo-bsc -X: dump VTY ref XML to stdout Depends: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 (libosmocore) Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 --- M src/osmo-bsc/osmo_bsc_main.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/47/18347/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 05:51:39 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Wed, 20 May 2020 05:51:39 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > (1 comment) I converted all BuildRequires to pkg-config style dependencies long time ago. Not sure why I haven't done this for the dependencies listed in the Requires section of the -devel packages but this change shouldn't be an issue on SUSE systems. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 05:51:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 05:58:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 05:58:00 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-sgsn/+/18309/2/contrib/osmo-sgsn.spec.in File contrib/osmo-sgsn.spec.in: https://gerrit.osmocom.org/c/osmo-sgsn/+/18309/2/contrib/osmo-sgsn.spec.in at 89 PS2, Line 89: %if 0%{?suse_version} : %preun %service_del_preun %{name}.service : %postun %service_del_postun %{name}.service : %pre %service_add_pre %{name}.service : %post %service_add_post %{name}.service : %preun -n osmo-gtphub %service_del_preun osmo-gtphub.service : %postun -n osmo-gtphub %service_del_postun osmo-gtphub.service : %pre -n osmo-gtphub %service_add_pre osmo-gtphub.service : %post -n osmo-gtphub %service_add_post osmo-gtphub.service : %preun -n osmo-gbproxy %service_del_preun osmo-gbproxy.service : %postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service : %pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service : %post -n osmo-gbproxy %service_add_post osmo-gbproxy.service : %endif > so this block is simply commented out on non-suse distributions. [?] They deal with sys-v -> systemd migration. We do not need something equivalent for non-suse distributions. See https://osmocom.org/issues/4550#note-14 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 05:58:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 05:59:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 05:59:53 +0000 Subject: Change in libgtpnl[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 to look at the new patch set (#2). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 --- M .gitignore M configure.ac R contrib/libgtpnl.spec.in 3 files changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/70/18270/2 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 Gerrit-Change-Number: 18270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:04:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:04:28 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18284 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: > Patch Set 2: Code-Review-1 > > also still needs the .spec.in mechanism No, it's here already. -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 06:04:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:05:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:05:38 +0000 Subject: Change in libosmocore[master]: gsmtap_makemsg_ex: NULL for unknown chan_type In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18361 ) Change subject: gsmtap_makemsg_ex: NULL for unknown chan_type ...................................................................... gsmtap_makemsg_ex: NULL for unknown chan_type Related: osmo-bts Ic22ab71e520ab44429a93724250d349d16250801 Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d --- M src/gsmtap_util.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved neels: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 9a0ac02..8674f1c 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -169,7 +169,8 @@ * \param[in] snr Signal/Noise Ratio (SNR) * \param[in] data Pointer to data buffer * \param[in] len Length of \ref data - * \return dynamically allocated message buffer containing data + * \return dynamically allocated message buffer containing data, + * or NULL for unknown chan_type * * This function will allocate a new msgb and fill it with a GSMTAP * header containing the information @@ -182,6 +183,9 @@ struct gsmtap_hdr *gh; uint8_t *dst; + if (chan_type == GSMTAP_CHANNEL_UNKNOWN) + return NULL; + msg = msgb_alloc(sizeof(*gh) + len, "gsmtap_tx"); if (!msg) return NULL; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Gerrit-Change-Number: 18361 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:07:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:07:26 +0000 Subject: Change in osmo-ggsn[master]: osmo-ggsn.spec.in: remove In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 ) Change subject: osmo-ggsn.spec.in: remove ...................................................................... Patch Set 1: > Patch Set 1: > > I think now that you also use the spec.in mechanism, this commit (remove) and the next (add) should simply be a commit to update/replace the spec.in file. I'd prefer to leave this as-is, the next commit cleanly imports the .spec file from roox, without any modifications. This version is not a .spec.in file. Only the commit after that turns it into a .spec.in file again. IMHO this makes a better git history. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd Gerrit-Change-Number: 18291 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 06:07:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:17:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:17:12 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18272/2/contrib/libosmocore.spec.in File contrib/libosmocore.spec.in: https://gerrit.osmocom.org/c/libosmocore/+/18272/2/contrib/libosmocore.spec.in at 291 PS2, Line 291: equires: pkgconfig(libusb-1.0) > do we know (or at least assume) this change still build on SuSE? If not, I think an %if/else clause [?] Yes, this works for both: https://pkgs.org/search/?q=pkgconfig(libusb-1.0) (osmo-remsim depends on libosmousb, and it builds fine with this change for suse.) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 06:17:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:34:39 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 20 May 2020 06:34:39 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Patch Set 7: > Patch Set 7: > > > I was trying to address this issue raised (https://osmocom.org/issues/4531 -- even though its rejected). I am not sure whether using --mnc and --mcc in non-IMSI autogen scenarios is still allowed or not. Maybe Harald can comment on this. > > I was confused when I wrote that issue. My assumption either was wrong, or the code had alrady evolved to use the MCC/MNC in other situations than for IMSI auto-generation (specifically the various *PLMN* files). ah i see. then i will close this then. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 20 May 2020 06:34:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:34:51 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Wed, 20 May 2020 06:34:51 +0000 Subject: Change in pysim[master]: Extract PLMN digits from IMSI in non-batch programming scenario In-Reply-To: References: Message-ID: herlesupreeth has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/18071 ) Change subject: Extract PLMN digits from IMSI in non-batch programming scenario ...................................................................... Abandoned Not applicable anymore -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I48bf7cf94d23960db944f39b84f0c3f057d89659 Gerrit-Change-Number: 18071 Gerrit-PatchSet: 7 Gerrit-Owner: herlesupreeth Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:41:14 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:41:14 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18316/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ci/+/18316/2//COMMIT_MSG at 1 PS2, Line 1: Parent: 71cc851e (osmo-gsm-tester: Point config parameter to file instead of its dirname) > why are we working with the spec. [?] It could be done with autotools by running the generated ./configure script every time. But this takes a few seconds for each repository (and we have a lot of them). These OBS update scripts already run for several minutes, so I would prefer if we don't increase the execution time. The result is the same. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 06:41:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:43:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:43:23 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: On a side note, running ./configure for each repository means that the dependencies will be checked etc. So we could not run the osmocom-*-packages.sh scripts without installing all dependencies first, and if we forgot one (-> on a developer's own machine), it would break somewhere in the middle of the script after already having invested a few minutes and one would need to start again. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 06:43:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 06:44:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 06:44:23 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18316/2/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18316/2/scripts/common-obs.sh at 89 PS2, Line 89: local spec="$(find "$repodir" -name "$name.spec.in")" (using find here, because one repository has the file in host/contrib instead of contrib/) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 06:44:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 07:29:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 07:29:15 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 07:29:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 07:59:10 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 07:59:10 +0000 Subject: Change in libusrp[master]: contrib/libusrp.spec.in: fix shared lib name error References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/18375 ) Change subject: contrib/libusrp.spec.in: fix shared lib name error ...................................................................... contrib/libusrp.spec.in: fix shared lib name error Fix the following build error: [ 135s] libusrp.i586: E: shlib-policy-name-error (Badness: 10000) libusrp-3_4_4_4_c46f0 [ 135s] Your package contains a single shared library but is not named after its [ 135s] SONAME. Related: OS#4550 Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b --- M contrib/libusrp.spec.in 1 file changed, 3 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/75/18375/1 diff --git a/contrib/libusrp.spec.in b/contrib/libusrp.spec.in index 65fa92b..c664f64 100644 --- a/contrib/libusrp.spec.in +++ b/contrib/libusrp.spec.in @@ -13,8 +13,6 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -%define sover -3_4_4+git_20190808-0 -%define libname libusrp%{sover} Name: libusrp Version: @VERSION@ Release: 0 @@ -49,17 +47,12 @@ %description Stand-alone libusrp for USRP1 from old gnuradio.git. -%package -n %{libname} Summary: Stand-alone libusrp for USRP1 from old gnuradio.git Group: System/Libraries -%description -n %{libname} -Stand-alone libusrp for USRP1 from old gnuradio.git. - %package devel Summary: Development files for libusrp Group: Development/Libraries/C and C++ -Requires: %{libname} = %{version} %description devel Stand-alone libusrp for USRP1 from old gnuradio.git. @@ -101,14 +94,14 @@ rm -rf %{buildroot}%{_includedir}/gnuradio/ %fdupes %{buildroot}%{_datadir}/usrp -%post -n %{libname} -p /sbin/ldconfig -%postun -n %{libname} -p /sbin/ldconfig +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files -n usrp-tools %{_bindir}/usrp_cal_dc_offset %{_bindir}/usrper -%files -n %{libname} +%files %{_libdir}/libusrp*.so.* %files -n usrp-firmware -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:03:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:03:20 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:03:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:04:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:04:26 +0000 Subject: Change in osmo-ggsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 Gerrit-Change-Number: 18293 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 08:04:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:04:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:04:29 +0000 Subject: Change in osmo-ggsn[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 ) Change subject: contrib: import RPM spec ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I50a93d2cde429974b059bafd38befa9a189c0e8a Gerrit-Change-Number: 18292 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:04:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:04:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:04:31 +0000 Subject: Change in osmo-ggsn[master]: osmo-ggsn.spec.in: remove In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 ) Change subject: osmo-ggsn.spec.in: remove ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd Gerrit-Change-Number: 18291 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:04:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:04:36 +0000 Subject: Change in osmo-ggsn[master]: osmo-ggsn.spec.in: remove In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 ) Change subject: osmo-ggsn.spec.in: remove ...................................................................... osmo-ggsn.spec.in: remove Remove old osmo-ggsn.spec.in file from 2017 in favor of the one imported from mnhauke, which is currently used in openSUSE nightly builds (will be added in a follow-up commit). Related: OS#4550 Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd --- M .gitignore M configure.ac D osmo-ggsn.spec.in 3 files changed, 1 insertion(+), 93 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 22fb5c4..7dec8a9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,6 @@ libtool ltmain.sh missing -osmo-ggsn.spec stamp-h1 INSTALL m4/ diff --git a/configure.ac b/configure.ac index 0e61729..c92a06c 100644 --- a/configure.ac +++ b/configure.ac @@ -262,8 +262,7 @@ tests/Makefile tests/lib/Makefile tests/gtp/Makefile - libgtp.pc - osmo-ggsn.spec]) + libgtp.pc]) AC_OUTPUT echo " diff --git a/osmo-ggsn.spec.in b/osmo-ggsn.spec.in deleted file mode 100644 index 9613bca..0000000 --- a/osmo-ggsn.spec.in +++ /dev/null @@ -1,90 +0,0 @@ -Summary: Osmocom Gateway GPRS Support Node (GGSN) -Name: @PACKAGE@ -Version: @VERSION@ -Release: 1 -URL: https://osmocom.org/projects/openggsn -Source0: http://prdownloads.sourceforge.net/ggsn/%{name}-%{version}.tar.gz -License: GPL -Group: System Environment/Daemons -BuildRoot: %{_tmppath}/%{name}-root - -%description -OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile -operators as the interface between the Internet and the rest of the -mobile network infrastructure. The project also provides an SGSN -emulator suitable for GPRS core network testing. - -%prep -%setup -q - -%build - -./configure --prefix=/usr --enable-static-exec - -make - -%install - -make install prefix=$RPM_BUILD_ROOT/usr -strip $RPM_BUILD_ROOT/usr/bin/osmo-ggsn -strip $RPM_BUILD_ROOT/usr/bin/sgsnemu - -#Copy osmo-ggsn init script in place -mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d -install -m755 examples/osmo-ggsn.init \ - $RPM_BUILD_ROOT/etc/rc.d/init.d/osmo-ggsn - -#Copy osmo-ggsn.conf in place -install -m755 examples/osmo-ggsn.cfg \ - $RPM_BUILD_ROOT/etc/osmo-ggsn.cfg - -#Copy gsn_restart file in place -mkdir -p $RPM_BUILD_ROOT/var/lib/osmo-ggsn -echo "0" > $RPM_BUILD_ROOT/var/lib/osmo-ggsn/gsn_restart - -#Clean up unwanted library files -rm -rf $RPM_BUILD_ROOT/usr/include/* -rm -rf $RPM_BUILD_ROOT/usr/lib/* - - -%clean -rm -rf $RPM_BUILD_ROOT -make clean - -%post -/sbin/chkconfig --add osmo-ggsn - -%files -%defattr(-,root,root) - -/usr/bin/osmo-ggsn -/usr/bin/sgsnemu -/etc/rc.d/init.d/osmo-ggsn -%dir /var/lib/osmo-ggsn -/var/lib/osmo-ggsn/gsn_restart - -%doc AUTHORS COPYING INSTALL NEWS README.md -%doc examples/osmo-ggsn.conf -%doc examples/sgsnemu.conf -%doc examples/osmo-ggsn.init -%doc examples/firewall -%doc /usr/man/man8/osmo-ggsn.8.gz -%doc /usr/man/man8/sgsnemu.8.gz - -%config /etc/osmo-ggsn.cfg - - -#/usr/lib/libgtp.a -#/usr/lib/libgtp.la -#/usr/lib/libgtp.so -#/usr/lib/libgtp.so.0 -#/usr/lib/libgtp.so.0.0.0 - - - -%changelog -* Mon Jun 30 2017 -- Update to OsmoGGSN - -* Mon Jun 30 2003 -- Initial build. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I24794564f0d4d85d3955ab08f4e4c3c05f53a0cd Gerrit-Change-Number: 18291 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:04:36 +0000 Subject: Change in osmo-ggsn[master]: contrib: import RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 ) Change subject: contrib: import RPM spec ...................................................................... contrib: import RPM spec Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: I50a93d2cde429974b059bafd38befa9a189c0e8a --- A contrib/osmo-ggsn.spec 1 file changed, 123 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/osmo-ggsn.spec b/contrib/osmo-ggsn.spec new file mode 100644 index 0000000..15e4144 --- /dev/null +++ b/contrib/osmo-ggsn.spec @@ -0,0 +1,123 @@ +# +# spec file for package osmo-ggsn +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +## Disable LTO for now since it breaks compilation of the tests +## https://osmocom.org/issues/4114 +%define _lto_cflags %{nil} + + +Name: osmo-ggsn +Version: 1.5.0.31 +Release: 0 +Summary: GPRS Support Node +License: GPL-2.0-only AND LGPL-2.1-or-later +Group: Productivity/Telephony/Servers +URL: https://osmocom.org/projects/openggsn/wiki/OsmoGGSN +Source: %{name}-%{version}.tar.xz +BuildRequires: libtool >= 2 +BuildRequires: pkgconfig >= 0.20 +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libgtpnl) >= 1.0.0 +BuildRequires: pkgconfig(libmnl) >= 1.0.3 +BuildRequires: pkgconfig(libosmocore) >= 1.1.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 +BuildRequires: pkgconfig(libosmovty) >= 1.1.0 +Obsoletes: openggsn +%{?systemd_requires} + +%description +Osmo-GGSN is a C-language implementation of a GGSN (Gateway GPRS +Support Node), a core network element of ETSI/3GPP cellular networks +such as GPRS, EDGE, UMTS or HSPA. + +%package -n libgtp6 +Summary: Library implementing GTP between SGSN and GGSN +License: GPL-2.0-only +Group: System/Libraries + +%description -n libgtp6 +libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN. + +%package -n libgtp-devel +Summary: Development files for the GTP library +License: GPL-2.0-only +Group: Development/Libraries/C and C++ +Requires: libgtp6 = %{version} + +%description -n libgtp-devel +libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN. + +This subpackage contains libraries and header files for developing +applications that want to make use of libgtp. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fi +%configure \ + --disable-static \ + --docdir="%{_docdir}/%{name}" \ + --with-systemdsystemunitdir=%{_unitdir} \ + --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} V=1 + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%pre +%service_add_pre %{name}.service + +%post +%service_add_post %{name}.service + +%preun +%service_del_preun %{name}.service + +%postun +%service_del_postun %{name}.service + +%post -n libgtp6 -p /sbin/ldconfig +%postun -n libgtp6 -p /sbin/ldconfig + +%files +%license COPYING +%doc AUTHORS README.md +%{_bindir}/osmo-ggsn +%{_bindir}/sgsnemu +%{_mandir}/man8/osmo-ggsn.8%{?ext_man} +%{_mandir}/man8/sgsnemu.8%{?ext_man} +%{_unitdir}/%{name}.service +%dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-ggsn.cfg +%dir %{_sysconfdir}/osmocom +%config(noreplace) %{_sysconfdir}/osmocom/osmo-ggsn.cfg + +%files -n libgtp6 +%{_libdir}/libgtp.so.6* + +%files -n libgtp-devel +%{_includedir}/%{name}/ +%{_libdir}/libgtp.so +%{_libdir}/pkgconfig/libgtp.pc + +%changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I50a93d2cde429974b059bafd38befa9a189c0e8a Gerrit-Change-Number: 18292 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:06:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:06:30 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18284 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:06:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:06:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:06:32 +0000 Subject: Change in libasn1c[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libasn1c/+/18284 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 --- M .gitignore M configure.ac R contrib/libasn1c.spec.in 3 files changed, 5 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 4a42306..2852b4d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ *.la .deps .libs + +contrib/libasn1c.spec diff --git a/configure.ac b/configure.ac index 53720b9..8c93c3f 100644 --- a/configure.ac +++ b/configure.ac @@ -75,4 +75,5 @@ src/Makefile include/Makefile include/asn1c/Makefile - Makefile) + Makefile + contrib/libasn1c.spec) diff --git a/contrib/libasn1c.spec b/contrib/libasn1c.spec.in similarity index 96% rename from contrib/libasn1c.spec rename to contrib/libasn1c.spec.in index e05b3e9..59098c3 100644 --- a/contrib/libasn1c.spec +++ b/contrib/libasn1c.spec.in @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: libasn1c -Version: 0.9.32.0 +Version: @VERSION@ Release: 0 Summary: Osmocon ASN.1 decoder and encoder library License: BSD-2-Clause -- To view, visit https://gerrit.osmocom.org/c/libasn1c/+/18284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libasn1c Gerrit-Branch: master Gerrit-Change-Id: Ic075dd5a53cc76cf1b6aeca5c31db495882db915 Gerrit-Change-Number: 18284 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:06:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:06:51 +0000 Subject: Change in libgtpnl[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/18270 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 Gerrit-Change-Number: 18270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:06:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:06:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:06:54 +0000 Subject: Change in libgtpnl[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/18270 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 --- M .gitignore M configure.ac R contrib/libgtpnl.spec.in 3 files changed, 5 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 7289d72..ede9b4e 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ debian/libgtpnl-dev debian/libgtpnl-dbg debian/libgtpnl0 + +contrib/libgtpnl.spec diff --git a/configure.ac b/configure.ac index f7580e6..6962261 100644 --- a/configure.ac +++ b/configure.ac @@ -53,4 +53,5 @@ AC_SUBST([regular_CPPFLAGS]) AC_SUBST([regular_CFLAGS]) AC_CONFIG_FILES([Makefile src/Makefile include/Makefile include/libgtpnl/Makefile include/linux/Makefile tools/Makefile libgtpnl.pc]) -AC_OUTPUT +AC_OUTPUT( + contrib/libgtpnl.spec) diff --git a/contrib/libgtpnl.spec b/contrib/libgtpnl.spec.in similarity index 95% rename from contrib/libgtpnl.spec rename to contrib/libgtpnl.spec.in index e067596..8453612 100644 --- a/contrib/libgtpnl.spec +++ b/contrib/libgtpnl.spec.in @@ -12,12 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: libgtpnl -Version: 1.2.1.0 +Version: @VERSION@ Release: 0 Summary: GPRS tunnel configuration library License: GPL-2.0-or-later AND LGPL-2.1-or-later -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/18270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I5376fde96c7442eb70f49a2ce38f57a817a94f81 Gerrit-Change-Number: 18270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:07:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:07:27 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:07:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:07:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:07:29 +0000 Subject: Change in osmo-sgsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 --- M .gitignore M configure.ac R contrib/osmo-sgsn.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index b3e50f5..546d5df 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-sgsn.spec diff --git a/configure.ac b/configure.ac index 5c0bede..9432715 100644 --- a/configure.ac +++ b/configure.ac @@ -273,4 +273,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-sgsn.spec Makefile) diff --git a/contrib/osmo-sgsn.spec b/contrib/osmo-sgsn.spec.in similarity index 96% rename from contrib/osmo-sgsn.spec rename to contrib/osmo-sgsn.spec.in index 3c592e7..f9fe208 100644 --- a/contrib/osmo-sgsn.spec +++ b/contrib/osmo-sgsn.spec.in @@ -12,28 +12,26 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4116 %define _lto_cflags %{nil} %define with_iu 1 Name: osmo-sgsn -Version: 1.6.0.9 +Version: @VERSION@ Release: 0 Summary: Osmocom's SGSN for 2G and 3G packet-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/osmosgsn/wiki/OsmoSGSN +URL: https://osmocom.org/projects/osmosgsn Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libcares) BuildRequires: pkgconfig(libcrypto) >= 0.9.5 BuildRequires: pkgconfig(libgtp) >= 1.4.0 @@ -88,6 +86,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service %postun %service_del_postun %{name}.service %pre %service_add_pre %{name}.service @@ -100,6 +99,7 @@ %postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service %pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service %post -n osmo-gbproxy %service_add_post osmo-gbproxy.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I824b67f2d590ac2aa9f2e4fa4387a5283cf22521 Gerrit-Change-Number: 18309 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:07:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:07:43 +0000 Subject: Change in osmo-pcu[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18305 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 Gerrit-Change-Number: 18305 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:07:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:07:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:07:45 +0000 Subject: Change in osmo-pcu[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18305 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 --- M .gitignore M configure.ac R contrib/osmo-pcu.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index c309e96..58be63b 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-pcu.spec diff --git a/configure.ac b/configure.ac index d693c67..3d126ce 100644 --- a/configure.ac +++ b/configure.ac @@ -256,4 +256,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-pcu.spec Makefile) diff --git a/contrib/osmo-pcu.spec b/contrib/osmo-pcu.spec.in similarity index 92% rename from contrib/osmo-pcu.spec rename to contrib/osmo-pcu.spec.in index 0232b32..e197cb7 100644 --- a/contrib/osmo-pcu.spec +++ b/contrib/osmo-pcu.spec.in @@ -12,24 +12,22 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-pcu -Version: 0.8.0.126 +Version: @VERSION@ Release: 0 Summary: Osmocom GPRS Packet Control Unit (PCU) License: GPL-2.0-only Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/osmopcu/wiki/OsmoPCU +URL: https://osmocom.org/projects/osmopcu Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmocore) >= 1.1.0 BuildRequires: pkgconfig(libosmogb) >= 1.1.0 BuildRequires: pkgconfig(libosmogsm) >= 1.1.0 @@ -55,6 +53,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -66,6 +65,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idfe04c2e2609763387d1309f059c390b8e7ae938 Gerrit-Change-Number: 18305 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:08:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:08:31 +0000 Subject: Change in osmo-trx[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18313 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 Gerrit-Change-Number: 18313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:08:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:08:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:08:34 +0000 Subject: Change in osmo-trx[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18313 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Disable lms, usrp1 for CentOS 8. Related: OS#4550 Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 --- M .gitignore M configure.ac R contrib/osmo-trx.spec.in 3 files changed, 32 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index f163fb6..128f803 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,6 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-trx.spec +!contrib/osmo-trx.spec.in diff --git a/configure.ac b/configure.ac index d0cfe44..07d4bf4 100644 --- a/configure.ac +++ b/configure.ac @@ -336,4 +336,5 @@ ]) AC_OUTPUT( - doc/manuals/Makefile) + doc/manuals/Makefile + contrib/osmo-trx.spec) diff --git a/contrib/osmo-trx.spec b/contrib/osmo-trx.spec.in similarity index 92% rename from contrib/osmo-trx.spec rename to contrib/osmo-trx.spec.in index 2e5989d..535e375 100644 --- a/contrib/osmo-trx.spec +++ b/contrib/osmo-trx.spec.in @@ -12,33 +12,34 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-trx -Version: 1.2.0.33 +Version: @VERSION@ Release: 0 Summary: SDR transceiver that implements Layer 1 of a GSM BTS License: AGPL-3.0-or-later Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/osmotrx/wiki/OsmoTRX +URL: https://osmocom.org/projects/osmotrx Source: %{name}-%{version}.tar.xz -Source99: osmo-trx-rpmlintrc BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif +%if ! 0%{?centos_ver} BuildRequires: pkgconfig(LimeSuite) +BuildRequires: pkgconfig(usrp) >= 3.3 +%endif BuildRequires: pkgconfig(fftw3f) +BuildRequires: pkgconfig(libosmocoding) >= 1.3.0 BuildRequires: pkgconfig(libosmocore) >= 0.12.0 BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0 BuildRequires: pkgconfig(libosmovty) >= 0.12.0 BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(uhd) -BuildRequires: pkgconfig(usrp) >= 3.3 %{?systemd_requires} %if 0%{?suse_version} > 1325 BuildRequires: libboost_program_options-devel @@ -85,6 +86,7 @@ between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +%if ! 0%{?centos_ver} %package usrp1 Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1) Group: Productivity/Telephony/Servers @@ -124,6 +126,7 @@ 3GPP is the "3rd Generation Partnership Project" which is the collaboration between different telecommunication associations for developing new generations of mobile phone networks. (post-2G/GSM) +%endif %prep %setup -q @@ -131,12 +134,22 @@ %build echo "%{version}" >.tarball-version autoreconf -fi + +%if 0%{?centos_ver} +%configure \ + --docdir=%{_docdir}/%{name} \ + --with-systemdsystemunitdir=%{_unitdir} \ + --without-lms \ + --with-uhd \ + --without-usrp1 +%else %configure \ --docdir=%{_docdir}/%{name} \ --with-systemdsystemunitdir=%{_unitdir} \ --with-lms \ --with-uhd \ --with-usrp1 +%endif make %{?_smp_mflags} V=1 @@ -147,6 +160,7 @@ %make_install %fdupes -s %{buildroot}/%{_datadir} +%if 0%{?suse_version} %pre lms %service_add_pre osmo-trx-lms.service %post lms %service_add_post osmo-trx-lms.service %preun lms %service_del_preun osmo-trx-lms.service @@ -159,17 +173,20 @@ %post usrp1 %service_add_post osmo-trx-usrp1.service %preun usrp1 %service_del_preun osmo-trx-usrp1.service %postun usrp1 %service_del_postun osmo-trx-usrp1.service +%endif %files %license COPYING %doc README.md %doc %{_docdir}/%{name}/examples +%if ! 0%{?centos_ver} %files lms %{_bindir}/osmo-trx-lms %dir %{_sysconfdir}/osmocom %config %{_sysconfdir}/osmocom/osmo-trx-lms.cfg %{_unitdir}/osmo-trx-lms.service +%endif %files uhd %{_bindir}/osmo-trx-uhd @@ -177,6 +194,7 @@ %config %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg %{_unitdir}/osmo-trx-uhd.service +%if ! 0%{?centos_ver} %files usrp1 %{_bindir}/osmo-trx-usrp1 %dir %{_datadir}/usrp @@ -185,5 +203,6 @@ %{_datadir}/usrp/rev2/std_inband.rbf %{_datadir}/usrp/rev4/std_inband.rbf %{_unitdir}/osmo-trx-usrp1.service +%endif %changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie27fcc4f9033f0049507d9dcc295541ac0744c73 Gerrit-Change-Number: 18313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:15:48 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 08:15:48 +0000 Subject: Change in libusrp[master]: contrib/libusrp.spec.in: fix shared lib name error In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18375 ) Change subject: contrib/libusrp.spec.in: fix shared lib name error ...................................................................... Patch Set 1: Code-Review-2 The error comes from building for opensuse. But this patch is broken, it doesn't fix the error (hence directly set to WIP when I noticed it). The libname/sover variables are workarounds for the libusrp package not having a proper soname. I think the proper fix to this, is changing the libusrp source to have a proper soname and then removing the workaround, as done in this patch. I'll work on that. -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:15:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:50:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:50:15 +0000 Subject: Change in osmo-msc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18301 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 Gerrit-Change-Number: 18301 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:50:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:50:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:50:18 +0000 Subject: Change in osmo-msc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18301 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 --- M .gitignore M configure.ac R contrib/osmo-msc.spec.in 3 files changed, 10 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index bcd6847..ece4ee7 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-msc.spec diff --git a/configure.ac b/configure.ac index 984c627..1e0740e 100644 --- a/configure.ac +++ b/configure.ac @@ -267,4 +267,5 @@ doc/sequence_charts/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-msc.spec Makefile) diff --git a/contrib/osmo-msc.spec b/contrib/osmo-msc.spec.in similarity index 94% rename from contrib/osmo-msc.spec rename to contrib/osmo-msc.spec.in index 55fa4f9..1ebe9fa 100644 --- a/contrib/osmo-msc.spec +++ b/contrib/osmo-msc.spec.in @@ -12,27 +12,26 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4115 %define _lto_cflags %{nil} - %define with_iu 1 Name: osmo-msc -Version: 1.6.1.32 +Version: @VERSION@ Release: 0 Summary: Osmocom's MSC for 2G and 3G circuit-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-only Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/osmomsc/wiki +URL: https://osmocom.org/projects/osmomsc Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libdbi-drivers-dbd-sqlite3 BuildRequires: libtool +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig >= 0.20 BuildRequires: pkgconfig(dbi) BuildRequires: pkgconfig(libcrypto) >= 0.9.5 @@ -86,6 +85,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -97,6 +97,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: If5499e11d872e629a018fc77d5adf5d0cb863d48 Gerrit-Change-Number: 18301 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:50:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:50:52 +0000 Subject: Change in osmo-iuh[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18297 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 Gerrit-Change-Number: 18297 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:50:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:50:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:50:55 +0000 Subject: Change in osmo-iuh[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18297 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 --- M .gitignore M configure.ac R contrib/osmo-iuh.spec.in 3 files changed, 12 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index e32000c..7041f69 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,5 @@ doc/manuals/common doc/manuals/generated doc/manuals/*.pdf + +contrib/osmo-iuh.spec diff --git a/configure.ac b/configure.ac index 1875d5e..692db57 100644 --- a/configure.ac +++ b/configure.ac @@ -167,4 +167,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-iuh.spec ) diff --git a/contrib/osmo-iuh.spec b/contrib/osmo-iuh.spec.in similarity index 94% rename from contrib/osmo-iuh.spec rename to contrib/osmo-iuh.spec.in index e2abd35..82046fe 100644 --- a/contrib/osmo-iuh.spec +++ b/contrib/osmo-iuh.spec.in @@ -12,17 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-iuh -Version: 0.6.0.13 +Version: @VERSION@ Release: 0 Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Hardware/Mobile -URL: https://osmocom.org/projects/osmohnbgw/wiki +URL: https://osmocom.org/projects/osmohnbgw Source: %{name}-%{version}.tar.xz BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 @@ -30,6 +26,9 @@ BuildRequires: pkgconfig >= 0.20 # python3 for asn1tostruct.py BuildRequires: python3 +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libasn1c) >= 0.9.30 BuildRequires: pkgconfig(libosmo-netif) >= 0.3.0 BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0 @@ -38,6 +37,7 @@ BuildRequires: pkgconfig(libosmogb) BuildRequires: pkgconfig(libosmogsm) >= 0.12.0 BuildRequires: pkgconfig(libosmovty) >= 0.12.0 +%{?systemd_requires} %description Osmocom code for the Iuh interface (HNBAP, RUA, RANAP) @@ -103,10 +103,13 @@ %postun -n libosmo-ranap3 -p /sbin/ldconfig %post -n libosmo-sabp0 -p /sbin/ldconfig %postun -n libosmo-sabp0 -p /sbin/ldconfig + +%if 0%{?suse_version} %pre %service_add_pre osmo-hnbgw.service %post %service_add_post osmo-hnbgw.service %preun %service_del_preun osmo-hnbgw.service %postun %service_del_postun osmo-hnbgw.service +%endif %files %license COPYING -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: Ibec1a22952ecfb0578bb4611e65ad819f5984fd8 Gerrit-Change-Number: 18297 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:09 +0000 Subject: Change in simtrace2[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18315 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 Gerrit-Change-Number: 18315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:51:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:11 +0000 Subject: Change in simtrace2[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18315 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to 0.0.0, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 --- M .gitignore M host/configure.ac R host/contrib/simtrace2.spec.in 3 files changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index cb3ffb3..a5393d9 100644 --- a/.gitignore +++ b/.gitignore @@ -20,5 +20,6 @@ host/simtrace2-list host/simtrace2-remsim host/simtrace2-remsim-usb2udp +host/contrib/simtrace2.spec usb_strings_generated.h firmware/usbstring/usbstring diff --git a/host/configure.ac b/host/configure.ac index 0f91cf2..bcdda08 100644 --- a/host/configure.ac +++ b/host/configure.ac @@ -100,4 +100,5 @@ src/Makefile lib/Makefile contrib/Makefile + contrib/simtrace2.spec Makefile) diff --git a/host/contrib/simtrace2.spec b/host/contrib/simtrace2.spec.in similarity index 96% rename from host/contrib/simtrace2.spec rename to host/contrib/simtrace2.spec.in index c1bb325..e2067b1 100644 --- a/host/contrib/simtrace2.spec +++ b/host/contrib/simtrace2.spec.in @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: simtrace2 -Version: 0.7.0.57 +Version: @VERSION@ Release: 0 Summary: Osmocom SIMtrace host utility License: GPL-2.0-or-later -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I8595642bc07bf3044720942a0f1802448920cb50 Gerrit-Change-Number: 18315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:26 +0000 Subject: Change in osmo-sip-connector[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac Gerrit-Change-Number: 18311 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:51:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:29 +0000 Subject: Change in osmo-sip-connector[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac --- M .gitignore M configure.ac R contrib/osmo-sip-connector.spec.in 3 files changed, 9 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 0fa1ce0..c73387f 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-sip-connector.spec diff --git a/configure.ac b/configure.ac index 5fe30f0..39d10f1 100644 --- a/configure.ac +++ b/configure.ac @@ -146,6 +146,7 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-sip-connector.spec doc/Makefile doc/examples/Makefile Makefile) diff --git a/contrib/osmo-sip-connector.spec b/contrib/osmo-sip-connector.spec.in similarity index 92% rename from contrib/osmo-sip-connector.spec rename to contrib/osmo-sip-connector.spec.in index b6db802..4361daa 100644 --- a/contrib/osmo-sip-connector.spec +++ b/contrib/osmo-sip-connector.spec.in @@ -12,22 +12,21 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-sip-connector -Version: 1.4.0.0 +Version: @VERSION@ Release: 0 Summary: MNCC to SIP bridge for osmo-nitb License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Productivity/Telephony/Servers -URL: http://openbsc.osmocom.org/ +URL: https://osmocom.org/projects/osmo-sip-conector Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmocore) >= 1.0.0 BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 BuildRequires: pkgconfig(libosmovty) >= 1.0.0 @@ -51,6 +50,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -62,6 +62,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: I387b41b6c524cd3f6baad7e89b4b6b347d9998ac Gerrit-Change-Number: 18311 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:44 +0000 Subject: Change in osmo-mgw[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18299 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb Gerrit-Change-Number: 18299 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:51:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:51:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:51:46 +0000 Subject: Change in osmo-mgw[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18299 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb --- M .gitignore M configure.ac R contrib/osmo-mgw.spec.in 3 files changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 900c09c..d3324bb 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-mgw.spec diff --git a/configure.ac b/configure.ac index 349c8db..7c63437 100644 --- a/configure.ac +++ b/configure.ac @@ -209,4 +209,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-mgw.spec Makefile) diff --git a/contrib/osmo-mgw.spec b/contrib/osmo-mgw.spec.in similarity index 97% rename from contrib/osmo-mgw.spec rename to contrib/osmo-mgw.spec.in index 2aeed06..09d5a09 100644 --- a/contrib/osmo-mgw.spec +++ b/contrib/osmo-mgw.spec.in @@ -16,7 +16,7 @@ # Name: osmo-mgw -Version: 1.7.0.13 +Version: @VERSION@ Release: 0 Summary: Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -26,7 +26,9 @@ BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 BuildRequires: pkgconfig(libosmocore) >= 1.0.0 BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0 @@ -88,6 +90,8 @@ %post -n libosmo-mgcp-client6 -p /sbin/ldconfig %postun -n libosmo-mgcp-client6 -p /sbin/ldconfig + +%if 0%{?suse_version} %preun %service_del_preun osmo-mgw.service @@ -99,6 +103,7 @@ %post %service_add_post osmo-mgw.service +%endif %files %license COPYING -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1d03ac87a7d0c3c600d187f3e485cb2dab8838bb Gerrit-Change-Number: 18299 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:52:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:52:08 +0000 Subject: Change in osmo-pcap[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18303 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 Gerrit-Change-Number: 18303 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:52:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:52:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:52:10 +0000 Subject: Change in osmo-pcap[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18303 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 --- M .gitignore M configure.ac R contrib/osmo-pcap.spec.in 3 files changed, 10 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 882ef61..dd48c7d 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,5 @@ tests/package.m4 tests/testsuite tests/testsuite.log + +contrib/osmo-pcap.spec diff --git a/configure.ac b/configure.ac index 2511b37..111d477 100644 --- a/configure.ac +++ b/configure.ac @@ -145,6 +145,7 @@ src/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-pcap.spec doc/Makefile doc/examples/Makefile tests/Makefile diff --git a/contrib/osmo-pcap.spec b/contrib/osmo-pcap.spec.in similarity index 94% rename from contrib/osmo-pcap.spec rename to contrib/osmo-pcap.spec.in index 9cbafbe..2755afa 100644 --- a/contrib/osmo-pcap.spec +++ b/contrib/osmo-pcap.spec.in @@ -12,11 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-pcap -Version: 0.1.2.0 +Version: @VERSION@ Release: 0 Summary: Osmocom's PCAP client and server License: AGPL-3.0-or-later AND GPL-2.0-or-later @@ -27,6 +24,9 @@ BuildRequires: automake >= 1.6 BuildRequires: libpcap-devel BuildRequires: libtool +%if 0%{?suse_version} +BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libosmocore) >= 0.11.0 @@ -34,6 +34,7 @@ BuildRequires: pkgconfig(libosmogsm) >= 0.11.0 BuildRequires: pkgconfig(libosmovty) >= 0.11.0 BuildRequires: pkgconfig(libzmq) >= 3.2.2 +%{?systemd_requires} %description Osmocom tools to help with pcap tracing. @@ -53,6 +54,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun osmo-pcap-client.service osmo-pcap-server.service @@ -64,6 +66,7 @@ %post %service_add_post osmo-pcap-client.service osmo-pcap-server.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I7ac5f2c6bf11d88a3ebbc2f17d963d26f0b7de13 Gerrit-Change-Number: 18303 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:52:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:52:35 +0000 Subject: Change in osmo-bts[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18288 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 Gerrit-Change-Number: 18288 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:52:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:52:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:52:37 +0000 Subject: Change in osmo-bts[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18288 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 --- M .gitignore M configure.ac R contrib/osmo-bts.spec.in 3 files changed, 10 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index 7422edb..9c2ff78 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-bts.spec diff --git a/configure.ac b/configure.ac index 3fc55e2..ef73b51 100644 --- a/configure.ac +++ b/configure.ac @@ -396,4 +396,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-bts.spec Makefile) diff --git a/contrib/osmo-bts.spec b/contrib/osmo-bts.spec.in similarity index 95% rename from contrib/osmo-bts.spec rename to contrib/osmo-bts.spec.in index 2a423b2..c155921 100644 --- a/contrib/osmo-bts.spec +++ b/contrib/osmo-bts.spec.in @@ -12,22 +12,21 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - Name: osmo-bts -Version: 1.2.0.49 +Version: @VERSION@ Release: 0 Summary: Osmocom BTS-Side code (Abis, scheduling) License: AGPL-3.0-or-later AND GPL-2.0-only Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/osmobts/wiki/Wiki +URL: https://osmocom.org/projects/osmobts Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 BuildRequires: pkgconfig(libosmocodec) >= 1.2.0 BuildRequires: pkgconfig(libosmocoding) >= 1.2.0 @@ -38,6 +37,7 @@ BuildRequires: pkgconfig(libosmovty) >= 1.2.0 ### FIXME: DependencyHACK to include osmocom/gprs/protocol/gsm_04_60.h BuildRequires: pkgconfig(libosmogb) +%{?systemd_requires} %description Osmocom BTS-Side code (A-bis, scheduling). @@ -76,6 +76,7 @@ %install %make_install +%if 0%{?suse_version} %pre %service_add_pre osmo-bts-trx.service %post %service_add_post osmo-bts-trx.service %preun %service_del_preun osmo-bts-trx.service @@ -84,6 +85,7 @@ %post virtual %service_add_post osmo-bts-virtual.service %preun virtual %service_del_preun osmo-bts-virtual.service %postun virtual %service_del_postun osmo-bts-virtual.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia160d1a04b95e9efeb6c26eabd28c3697968d177 Gerrit-Change-Number: 18288 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:52:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:52:53 +0000 Subject: Change in osmo-bsc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18290 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f Gerrit-Change-Number: 18290 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:52:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:53:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:53:13 +0000 Subject: Change in osmo-bsc[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18290 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f --- M .gitignore M configure.ac R contrib/osmo-bsc.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index ea828b6..c7b14bf 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-bsc.spec diff --git a/configure.ac b/configure.ac index 06a00fe..d96dfb2 100644 --- a/configure.ac +++ b/configure.ac @@ -254,4 +254,5 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-bsc.spec Makefile) diff --git a/contrib/osmo-bsc.spec b/contrib/osmo-bsc.spec.in similarity index 95% rename from contrib/osmo-bsc.spec rename to contrib/osmo-bsc.spec.in index 1aa4baf..20367a0 100644 --- a/contrib/osmo-bsc.spec +++ b/contrib/osmo-bsc.spec.in @@ -12,26 +12,24 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4113 %define _lto_cflags %{nil} - Name: osmo-bsc -Version: 1.6.0.78 +Version: @VERSION@ Release: 0 Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Hardware/Mobile -URL: https://osmocom.org/projects/openbsc/wiki/Osmo-bsc +URL: https://osmocom.org/projects/osmobsc Source: %{name}-%{version}.tar.xz BuildRequires: automake >= 1.9 BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libcrypto) >= 0.9.5 BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.5.0 BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0 @@ -100,6 +98,7 @@ %install %make_install +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -111,6 +110,7 @@ %post %service_add_post %{name}.service +%endif %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f Gerrit-Change-Number: 18290 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:53:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:53:28 +0000 Subject: Change in osmo-hlr[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18295 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa Gerrit-Change-Number: 18295 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 08:53:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:53:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:53:31 +0000 Subject: Change in osmo-hlr[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18295 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa --- M .gitignore M configure.ac R contrib/osmo-hlr.spec.in 3 files changed, 11 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 0965935..3d9c81b 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-hlr.spec diff --git a/configure.ac b/configure.ac index 0e03ff0..4ed6978 100644 --- a/configure.ac +++ b/configure.ac @@ -200,6 +200,7 @@ contrib/Makefile contrib/systemd/Makefile contrib/dgsm/Makefile + contrib/osmo-hlr.spec tests/Makefile tests/auc/Makefile tests/auc/gen_ts_55_205_test_sets/Makefile diff --git a/contrib/osmo-hlr.spec b/contrib/osmo-hlr.spec.in similarity index 96% rename from contrib/osmo-hlr.spec rename to contrib/osmo-hlr.spec.in index 3b5a9fa..bd1b278 100644 --- a/contrib/osmo-hlr.spec +++ b/contrib/osmo-hlr.spec.in @@ -13,24 +13,22 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - Name: osmo-hlr -Version: 1.2.0.48 +Version: @VERSION@ Release: 0 Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN License: AGPL-3.0-or-later AND GPL-2.0-or-later Group: Productivity/Telephony/Servers -URL: https://projects.osmocom.org/projects/osmo-hlr +URL: https://osmocom.org/projects/osmo-hlr Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.20 -BuildRequires: python2 +BuildRequires: python3 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 BuildRequires: pkgconfig(libosmocore) >= 1.2.0 BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 @@ -40,6 +38,7 @@ BuildRequires: pkgconfig(talloc) >= 2.0.1 # only needed for populate_hlr_db.pl Requires: libdbi-drivers-dbd-sqlite3 +%{?systemd_requires} %description The GSUP HLR is a stand-alone HLR (Home Location Register) for SIM @@ -128,6 +127,7 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%if 0%{?suse_version} %preun %service_del_preun %{name}.service @@ -139,6 +139,7 @@ %post %service_add_post %{name}.service +%endif %post -n libosmo-gsup-client0 -p /sbin/ldconfig %postun -n libosmo-gsup-client0 -p /sbin/ldconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I38f80d0f867a2bbaa09b5a42cad5028f23a8effa Gerrit-Change-Number: 18295 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:53:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 08:53:58 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:53:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:56:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 08:56:43 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:56:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:56:45 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 08:56:45 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: new file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18364 ) Change subject: scripts/osmocom-obs-link.sh: new file ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa Gerrit-Change-Number: 18364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 08:56:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:56:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 08:56:47 +0000 Subject: Change in osmo-ci[master]: OBS: add RPM spec files In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18316 ) Change subject: OBS: add RPM spec files ...................................................................... OBS: add RPM spec files Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set the same version, as in the debian .dsc files. Related: OS#4550 Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 35 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 2b33039..5e21574 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -77,3 +77,33 @@ git -C "$(dirname "$1")" commit -m "auto-commit: debian: depend on $2" . } + +# Copy a project's rpm spec.in file to the osc package dir, set the version/source and 'osc add' it +# $1: oscdir (path to checked out OSC package) +# $2: repodir (path to git repository) +# $3: name (e.g. libosmocore) +osmo_obs_add_rpm_spec() { + local oscdir="$1" + local repodir="$2" + local name="$3" + local spec="$(find "$repodir" -name "$name.spec.in")" + local tarball + local version + + if [ -z "$spec" ]; then + echo "WARNING: RPM spec missing: $name.spec.in" + return + fi + + cp "$spec" "$oscdir/$name.spec" + + # Set version + version="$(grep "^Version: " "$oscdir"/*.dsc | cut -d: -f2 | xargs)" + sed -i "s/^Version:.*/Version: $version/g" "$oscdir/$name.spec" + + # Set source file + tarball="$(ls -1 "${name}_"*".tar."*)" + sed -i "s/^Source:.*/Source: $tarball/g" "$oscdir/$name.spec" + + osc add "$name.spec" +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index ae57ab2..88c5094 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -119,6 +119,7 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project" else cd "$TOP/$PROJ/$project" @@ -128,8 +129,9 @@ osc rm ./* || true mv "$output/"*.dsc . mv "$output/"*.tar* . - osc add ./* - fi + osc add ./* + osmo_obs_add_rpm_spec "$PWD" "$output" "$project" + fi fi cd "$TOP" } diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 77552a6..b3f0461 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -130,6 +130,7 @@ cd "$oscdir" osc add -- *.tar* *.dsc + osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" osc ci -m "Snapshot $name $DT" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c Gerrit-Change-Number: 18316 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 08:56:48 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 08:56:48 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: new file In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18364 ) Change subject: scripts/osmocom-obs-link.sh: new file ...................................................................... scripts/osmocom-obs-link.sh: new file Related: OS#4550 Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa --- A scripts/osmocom-obs-link.sh 1 file changed, 30 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-obs-link.sh b/scripts/osmocom-obs-link.sh new file mode 100755 index 0000000..5f017ff --- /dev/null +++ b/scripts/osmocom-obs-link.sh @@ -0,0 +1,30 @@ +#!/bin/sh -x +# Building packages for CentOS requires some dependencies, that are only available in openSUSE. These packages are +# linked into the Osmocom repository, so they get built for CentOS as well. This script is a reference for all linked +# packages in the repository and can be executed once when creating a new repository (e.g. in home:USER:nightly for +# testing changes before applying them to network:osmocom:nightly). + +PROJ="home:USER" + +# osmo-sip-connector: depends on sofia-sip-ua-glib +osc linkpac openSUSE:Factory sofia-sip "$PROJ" + +# osmo-pcap: depends on libzmq +osc linkpac openSUSE:Factory zeromq "$PROJ" +osc linkpac openSUSE:Factory libunwind "$PROJ" +osc linkpac openSUSE:Factory libsodium "$PROJ" +osc linkpac openSUSE:Factory openpgm "$PROJ" + +# osmo-remsim: depends on libulfius +osc linkpac openSUSE:Factory ulfius "$PROJ" +osc linkpac openSUSE:Factory orcania "$PROJ" +osc linkpac openSUSE:Factory yder "$PROJ" + +# osmo-remsim: depends on libcsv +osc linkpac openSUSE:Factory libcsv "$PROJ" + +# libusrp: depends on fdupes +osc linkpac openSUSE:Factory fdupes "$PROJ" + +# libusrp: depends on sdcc +osc linkpac openSUSE:Factory sdcc "$PROJ" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa Gerrit-Change-Number: 18364 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 09:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 09:16:45 +0000 Subject: Change in libusrp[master]: Makefile.common: LTVERSIONFLAGS: remove -release In-Reply-To: References: Message-ID: Hello Jenkins Builder, roox, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libusrp/+/18375 to look at the new patch set (#2). Change subject: Makefile.common: LTVERSIONFLAGS: remove -release ...................................................................... Makefile.common: LTVERSIONFLAGS: remove -release Generate the soname from LIBVERSION (initially 1:0:0), instead of VERSION. This means, we have binary compatibility between each major release (which we should increase if we ever have a breaking change), instead of forcing a binary incompatibility for each packaged version (also nightly packages). This is how we do it in other Osmocom projects, too. Fix nightly RPM packaging, as we now don't need to add the git commit to the package name: [ 135s] libusrp.i586: E: shlib-policy-name-error (Badness: 10000) libusrp-3_4_4_4_c46f0 [ 135s] Your package contains a single shared library but is not named after its [ 135s] SONAME. The debian package is already using libusrp1 as package name. Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b --- M Makefile.common M contrib/libusrp.spec.in 2 files changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/75/18375/2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 09:21:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 09:21:31 +0000 Subject: Change in libusrp[master]: Makefile.common: LTVERSIONFLAGS: remove -release In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18375 ) Change subject: Makefile.common: LTVERSIONFLAGS: remove -release ...................................................................... Patch Set 2: -Code-Review Tested and building successfully for suse and debian/ubuntu: https://build.opensuse.org/package/show/home:osmith42/libusrp It does not build for centos, as the sdcc dependency is missing (and when linking to the suse package, some more dependency hell: "nothing provides gputils, nothing provides python3-base, nothing provides inkscape, nothing provides lyx, nothing provides makeinfo"). So I'd say having libusrp building for centos is out-of-scope for now. Nevertheless, I've fixed this, so we can build libusrp for suse with the spec file as integrated into this repository, and so osmo-trx for suse can build against it in the official Osmocom rpm repos, too. Otherwise osmo-trx would only build against libusrp in roox' repository. -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 09:21:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 09:29:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 09:29:05 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: remove sdcc References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18376 ) Change subject: scripts/osmocom-obs-link.sh: remove sdcc ...................................................................... scripts/osmocom-obs-link.sh: remove sdcc sdcc does not build for centos 8 without diving deeper into the dependency hell: nothing provides gputils, nothing provides python3-base, nothing provides inkscape, nothing provides lyx, nothing provides makeinfo So let's not build libusrp for centos 8 for now. We can build osmo-trx without the usrp1 backend (already configured in the spec.in file). Related: OS#4550 Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 --- M scripts/osmocom-obs-link.sh 1 file changed, 1 insertion(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/76/18376/1 diff --git a/scripts/osmocom-obs-link.sh b/scripts/osmocom-obs-link.sh index 5f017ff..1d9b289 100755 --- a/scripts/osmocom-obs-link.sh +++ b/scripts/osmocom-obs-link.sh @@ -23,8 +23,5 @@ # osmo-remsim: depends on libcsv osc linkpac openSUSE:Factory libcsv "$PROJ" -# libusrp: depends on fdupes +# osmo-trx: depends on fdupes osc linkpac openSUSE:Factory fdupes "$PROJ" - -# libusrp: depends on sdcc -osc linkpac openSUSE:Factory sdcc "$PROJ" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 Gerrit-Change-Number: 18376 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 09:51:38 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 09:51:38 +0000 Subject: Build failure of network:osmocom:nightly/orcania in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5ec4fdc8ec3f7_26e02abee910c5fc187594e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/orcania failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 124s] /usr/bin/cmake -E cmake_symlink_library liborcania.so.2.1.0 liborcania.so.2.1 liborcania.so [ 124s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/orcania-2.1.0' [ 124s] [100%] Built target orcania [ 124s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/orcania-2.1.0' [ 124s] /usr/bin/cmake -E cmake_progress_start /home/abuild/rpmbuild/BUILD/orcania-2.1.0/CMakeFiles 0 [ 124s] + exit 0 [ 124s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.ArDMCD [ 124s] + umask 022 [ 124s] + cd /home/abuild/rpmbuild/BUILD [ 124s] + '[' /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.x86_64 '!=' / ']' [ 124s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.x86_64 [ 124s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.x86_64 [ 124s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT [ 124s] + mkdir /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.x86_64 [ 124s] + cd orcania-2.1.0 [ 124s] + %cmake_install [ 124s] /var/tmp/rpm-tmp.ArDMCD: line 39: fg: no job control [ 124s] error: Bad exit status from /var/tmp/rpm-tmp.ArDMCD (%install) [ 124s] [ 124s] [ 124s] RPM build errors: [ 124s] Bad exit status from /var/tmp/rpm-tmp.ArDMCD (%install) [ 125s] ### VM INTERACTION START ### [ 126s] Powering off. [ 126s] [ 114.761855] reboot: Power down [ 126s] ### VM INTERACTION END ### [ 126s] [ 126s] lamb60 failed "build orcania.spec" at Wed May 20 09:51:36 UTC 2020. [ 126s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 09:55:20 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 09:55:20 +0000 Subject: Build failure of network:osmocom:nightly/orcania in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5ec4fea3a4d4b_26e02abee910c5fc18775b7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/orcania failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 117s] /usr/bin/cmake -E cmake_symlink_library liborcania.so.2.1.0 liborcania.so.2.1 liborcania.so [ 117s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/orcania-2.1.0' [ 117s] [100%] Built target orcania [ 117s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/orcania-2.1.0' [ 117s] /usr/bin/cmake -E cmake_progress_start /home/abuild/rpmbuild/BUILD/orcania-2.1.0/CMakeFiles 0 [ 117s] + exit 0 [ 117s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.5FbpHb [ 117s] + umask 022 [ 117s] + cd /home/abuild/rpmbuild/BUILD [ 117s] + '[' /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.aarch64 '!=' / ']' [ 117s] + rm -rf /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.aarch64 [ 117s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.aarch64 [ 117s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT [ 117s] + mkdir /home/abuild/rpmbuild/BUILDROOT/orcania-2.1.0-3.1.aarch64 [ 117s] + cd orcania-2.1.0 [ 117s] + %cmake_install [ 117s] /var/tmp/rpm-tmp.5FbpHb: line 39: fg: no job control [ 117s] error: Bad exit status from /var/tmp/rpm-tmp.5FbpHb (%install) [ 117s] [ 117s] [ 117s] RPM build errors: [ 117s] Bad exit status from /var/tmp/rpm-tmp.5FbpHb (%install) [ 117s] ### VM INTERACTION START ### [ 118s] Powering off. [ 118s] [ 95.584703] reboot: Power down [ 119s] ### VM INTERACTION END ### [ 119s] [ 119s] obs-arm-8 failed "build orcania.spec" at Wed May 20 09:55:09 UTC 2020. [ 119s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:01:21 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:01:21 +0000 Subject: Build failure of network:osmocom:nightly/openpgm in CentOS_8_Stream/x86_64 In-Reply-To: References: Message-ID: <5ec50001d2aa4_26e02abee910c5fc1878920@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openpgm/CentOS_8_Stream/x86_64 Package network:osmocom:nightly/openpgm failed to build in CentOS_8_Stream/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openpgm Last lines of build log: [ 141s] from wsastrerror.c:24: [ 141s] /usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] [ 141s] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [ 141s] ^~~~~~~ [ 141s] CC libpgm_noinst_la-histogram.lo [ 141s] In file included from /usr/include/bits/libc-header-start.h:33, [ 141s] from /usr/include/limits.h:26, [ 141s] from /usr/lib/gcc/x86_64-redhat-linux/8/include/limits.h:194, [ 141s] from /usr/lib/gcc/x86_64-redhat-linux/8/include/syslimits.h:7, [ 141s] from /usr/lib/gcc/x86_64-redhat-linux/8/include/limits.h:34, [ 141s] from histogram.c:25: [ 141s] /usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] [ 141s] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [ 141s] ^~~~~~~ [ 141s] GEN version.c [ 141s] /bin/sh: ./version_generator.py: /usr/bin/python: bad interpreter: No such file or directory [ 141s] make: *** [Makefile:1550: version.c] Error 126 [ 141s] error: Bad exit status from /var/tmp/rpm-tmp.PQDfhS (%install) [ 141s] [ 141s] [ 141s] RPM build errors: [ 141s] Bad exit status from /var/tmp/rpm-tmp.PQDfhS (%install) [ 141s] ### VM INTERACTION START ### [ 142s] Powering off. [ 142s] [ 128.205083] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] build75 failed "build openpgm.spec" at Wed May 20 10:01:06 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:02:12 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:02:12 +0000 Subject: Build failure of network:osmocom:nightly/openpgm in CentOS_8_Stream/aarch64 In-Reply-To: References: Message-ID: <5ec5003ca8ff5_26e02abee910c5fc187945c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openpgm/CentOS_8_Stream/aarch64 Package network:osmocom:nightly/openpgm failed to build in CentOS_8_Stream/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly openpgm Last lines of build log: [ 229s] from wsastrerror.c:24: [ 229s] /usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] [ 229s] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [ 229s] ^~~~~~~ [ 229s] CC libpgm_noinst_la-histogram.lo [ 230s] In file included from /usr/include/bits/libc-header-start.h:33, [ 230s] from /usr/include/limits.h:26, [ 230s] from /usr/lib/gcc/aarch64-redhat-linux/8/include/limits.h:194, [ 230s] from /usr/lib/gcc/aarch64-redhat-linux/8/include/syslimits.h:7, [ 230s] from /usr/lib/gcc/aarch64-redhat-linux/8/include/limits.h:34, [ 230s] from histogram.c:25: [ 230s] /usr/include/features.h:184:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp] [ 230s] # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [ 230s] ^~~~~~~ [ 230s] GEN version.c [ 230s] /bin/sh: ./version_generator.py: /usr/bin/python: bad interpreter: No such file or directory [ 230s] make: *** [Makefile:1550: version.c] Error 126 [ 230s] error: Bad exit status from /var/tmp/rpm-tmp.60dJjD (%install) [ 230s] [ 230s] [ 230s] RPM build errors: [ 230s] Bad exit status from /var/tmp/rpm-tmp.60dJjD (%install) [ 231s] ### VM INTERACTION START ### [ 232s] Powering off. [ 232s] [ 211.683157] reboot: Power down [ 232s] ### VM INTERACTION END ### [ 232s] [ 232s] obs-arm-7 failed "build openpgm.spec" at Wed May 20 10:02:05 UTC 2020. [ 232s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 10:11:32 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 10:11:32 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: Hello Jenkins Builder, roox, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 to look at the new patch set (#4). Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b --- M .gitignore M configure.ac R contrib/osmo-remsim.spec.in 3 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/18307/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:12:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 10:12:23 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 4: Works properly for both suse and centos now: https://build.opensuse.org/package/show/home:osmith42/osmo-remsim -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 10:12:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:13:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 10:13:46 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-remsim/+/18307/4/contrib/osmo-remsim.spec.in File contrib/osmo-remsim.spec.in: https://gerrit.osmocom.org/c/osmo-remsim/+/18307/4/contrib/osmo-remsim.spec.in at a183 PS4, Line 183: %{_includedir}/osmocom Removed, as it caused a duplicate files error and aborted the build. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 20 May 2020 10:13:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:26:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:26:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5ec505de93e19_26e02abee910c5fc188442b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 93s] SIOCSIFADDR: File exists [ 94s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 94s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 94s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 94s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 94s] ----------------------------------------------------------------- [ 94s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 94s] ----------------------------------------------------------------- [ 94s] ----------------------------------------------------------------- [ 94s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 94s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 94s] dpkg-buildpackage: info: source package limesuite [ 94s] dpkg-buildpackage: info: source version 20.01.0-1 [ 94s] dpkg-buildpackage: info: source distribution unstable [ 94s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 94s] dpkg-source --before-build BUILD [ 94s] dpkg-buildpackage: info: host architecture amd64 [ 94s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 94s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 94s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 94s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 94s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 94s] ### VM INTERACTION START ### [ 95s] Powering off. [ 95s] [ 87.740671] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] sheep87 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:26:20 UTC 2020. [ 95s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:26:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:26:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5ec505df231c0_26e02abee910c5fc188457a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 96s] SIOCSIFADDR: File exists [ 96s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 96s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 96s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 96s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 96s] ----------------------------------------------------------------- [ 96s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 96s] ----------------------------------------------------------------- [ 96s] ----------------------------------------------------------------- [ 97s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 97s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 97s] dpkg-buildpackage: info: source package limesuite [ 97s] dpkg-buildpackage: info: source version 20.01.0-1 [ 97s] dpkg-buildpackage: info: source distribution unstable [ 97s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 97s] dpkg-source --before-build . [ 97s] dpkg-buildpackage: info: host architecture amd64 [ 97s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 97s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 97s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 97s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 97s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 97s] ### VM INTERACTION START ### [ 98s] Powering off. [ 98s] [ 89.737658] reboot: Power down [ 98s] ### VM INTERACTION END ### [ 98s] [ 98s] sheep85 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:26:24 UTC 2020. [ 98s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:26:50 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:26:50 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5ec505fc8d1c0_26e02abee910c5fc18849cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 111s] SIOCSIFADDR: File exists [ 111s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 111s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 111s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 111s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 111s] ----------------------------------------------------------------- [ 111s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 111s] ----------------------------------------------------------------- [ 111s] ----------------------------------------------------------------- [ 111s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 111s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 111s] dpkg-buildpackage: info: source package limesuite [ 111s] dpkg-buildpackage: info: source version 20.01.0-1 [ 111s] dpkg-buildpackage: info: source distribution unstable [ 111s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 111s] dpkg-source --before-build . [ 111s] dpkg-buildpackage: info: host architecture amd64 [ 111s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 111s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 112s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 112s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 112s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 112s] ### VM INTERACTION START ### [ 113s] Powering off. [ 113s] [ 103.283713] reboot: Power down [ 113s] ### VM INTERACTION END ### [ 113s] [ 113s] build79 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:26:37 UTC 2020. [ 113s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:27:07 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:27:07 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5ec506185c778_26e02abee910c5fc1885096@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.04/i586 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 0s] Using BUILD_ROOT=/var/cache/obs/worker/root_3/.mount [ 0s] Using BUILD_ARCH=i586:i486:i386 [ 0s] Doing kvm build in /var/cache/obs/worker/root_3/root [ 0s] [ 0s] [ 0s] cloud126 started "build limesuite_20.01.0-1.dsc" at Wed May 20 10:27:35 UTC 2020. [ 0s] [ 0s] Building limesuite for project 'network:osmocom:nightly' repository 'xUbuntu_18.04' arch 'i586' srcmd5 '1868069cb298525c32dbf5ba26d22f9d' [ 0s] [ 0s] processing recipe /var/cache/obs/worker/root_3/.build-srcdir/limesuite_20.01.0-1.dsc ... [ 0s] running changelog2spec --target debian --file /var/cache/obs/worker/root_3/.build-srcdir/limesuite_20.01.0-1.dsc [ 0s] init_buildsystem --configdir /var/run/obs/worker/3/build/configs --cachedir /var/cache/build --prepare --clean --rpmlist /var/cache/obs/worker/root_3/.build.rpmlist /var/cache/obs/worker/root_3/.build-srcdir/limesuite_20.01.0-1.dsc build ... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:28:15 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:28:15 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ec506526214b_26e02abee910c5fc1885261@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.10/i586 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 188s] SIOCSIFADDR: File exists [ 188s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 188s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 189s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 192s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 192s] ----------------------------------------------------------------- [ 192s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 192s] ----------------------------------------------------------------- [ 192s] ----------------------------------------------------------------- [ 193s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 193s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 193s] dpkg-buildpackage: info: source package limesuite [ 193s] dpkg-buildpackage: info: source version 20.01.0-1 [ 193s] dpkg-buildpackage: info: source distribution unstable [ 193s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 193s] dpkg-source --before-build BUILD [ 193s] dpkg-buildpackage: info: host architecture i386 [ 194s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 194s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 194s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 194s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 194s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 194s] ### VM INTERACTION START ### [ 195s] Powering off. [ 195s] [ 161.576497] reboot: Power down [ 195s] ### VM INTERACTION END ### [ 195s] [ 195s] cloud108 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:28:09 UTC 2020. [ 195s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 10:29:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:29:01 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 10:29:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:29:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:29:05 +0000 Subject: Change in libosmocore[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18272 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d --- M .gitignore M configure.ac R contrib/libosmocore.spec.in 3 files changed, 7 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index 5224233..a9dd303 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,5 @@ # code coverage reports libosmocore-*-coverage* coverage-cobertura.xml + +contrib/libosmocore.spec diff --git a/configure.ac b/configure.ac index ac887a0..f69c78d 100644 --- a/configure.ac +++ b/configure.ac @@ -441,4 +441,5 @@ Doxyfile.coding Doxyfile.gb Doxyfile.ctrl - Makefile) + Makefile + contrib/libosmocore.spec) diff --git a/contrib/libosmocore.spec b/contrib/libosmocore.spec.in similarity index 98% rename from contrib/libosmocore.spec rename to contrib/libosmocore.spec.in index 1ea7a8e..a5af3e9 100644 --- a/contrib/libosmocore.spec +++ b/contrib/libosmocore.spec.in @@ -12,14 +12,8 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%define version_unconverted 1.3.0.94 - Name: libosmocore -Version: 1.3.0.94 +Version: @VERSION@ Release: 0 Summary: The Open Source Mobile Communications Core Library License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later @@ -30,7 +24,7 @@ BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkg-config >= 0.20 -BuildRequires: python2 +BuildRequires: python3 BuildRequires: xz BuildRequires: pkgconfig(gnutls) >= 2.12.0 BuildRequires: pkgconfig(libpcsclite) @@ -294,7 +288,7 @@ Group: Development/Libraries/C and C++ Requires: libosmocore-devel = %version Requires: libosmousb0 = %version -Requires: libusb-1_0-devel +Requires: pkgconfig(libusb-1.0) %description -n libosmousb-devel The libosmosub library in particular contains routines for USB device -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I59255889740195ec811a947a7130ae0918ea4b4d Gerrit-Change-Number: 18272 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:28:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:28:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec5067284ea5_26e02abee910c5fc18853df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Testing/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 187s] SIOCSIFADDR: File exists [ 187s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 187s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 187s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 188s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 188s] ----------------------------------------------------------------- [ 188s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 188s] ----------------------------------------------------------------- [ 188s] ----------------------------------------------------------------- [ 188s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 188s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 188s] dpkg-buildpackage: info: source package limesuite [ 188s] dpkg-buildpackage: info: source version 20.01.0-1 [ 188s] dpkg-buildpackage: info: source distribution unstable [ 188s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 188s] dpkg-source --before-build . [ 188s] dpkg-buildpackage: info: host architecture amd64 [ 188s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 188s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 188s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 188s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 188s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 188s] ### VM INTERACTION START ### [ 189s] Powering off. [ 189s] [ 177.843221] reboot: Power down [ 189s] ### VM INTERACTION END ### [ 189s] [ 189s] build85 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:28:29 UTC 2020. [ 189s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:28:50 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:28:50 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5ec506744af1c_26e02abee910c5fc18854b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_9.0/i586 Package network:osmocom:nightly/limesuite failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 57s] SIOCSIFADDR: File exists [ 57s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 57s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 57s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 57s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 57s] ----------------------------------------------------------------- [ 57s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 57s] ----------------------------------------------------------------- [ 57s] ----------------------------------------------------------------- [ 57s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 57s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 57s] dpkg-buildpackage: info: source package limesuite [ 57s] dpkg-buildpackage: info: source version 20.01.0-1 [ 57s] dpkg-buildpackage: info: source distribution unstable [ 57s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 58s] dpkg-source --before-build BUILD [ 58s] dpkg-buildpackage: info: host architecture i386 [ 58s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 58s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 58s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 58s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 58s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 58s] ### VM INTERACTION START ### [ 61s] [ 53.290087] sysrq: SysRq : Power Off [ 61s] [ 53.292723] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] sheep88 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:28:47 UTC 2020. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:29:24 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:29:24 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec506905828e_26e02abee910c5fc1885584@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Unstable/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 225s] SIOCSIFADDR: File exists [ 225s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 225s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 225s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 226s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 226s] ----------------------------------------------------------------- [ 226s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 226s] ----------------------------------------------------------------- [ 226s] ----------------------------------------------------------------- [ 226s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 226s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 226s] dpkg-buildpackage: info: source package limesuite [ 226s] dpkg-buildpackage: info: source version 20.01.0-1 [ 226s] dpkg-buildpackage: info: source distribution unstable [ 226s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 226s] dpkg-source --before-build . [ 226s] dpkg-buildpackage: info: host architecture amd64 [ 226s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 226s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 226s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 226s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 226s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 226s] ### VM INTERACTION START ### [ 227s] Powering off. [ 228s] [ 214.288469] reboot: Power down [ 228s] ### VM INTERACTION END ### [ 228s] [ 228s] build74 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:29:07 UTC 2020. [ 228s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:29:41 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:29:41 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_16.04/x86_64 In-Reply-To: References: Message-ID: <5ec506af7c8cd_26e02abee910c5fc18856fe@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_16.04/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_16.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 57s] SIOCSIFADDR: File exists [ 58s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 58s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 58s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 58s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 58s] ----------------------------------------------------------------- [ 58s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 58s] ----------------------------------------------------------------- [ 58s] ----------------------------------------------------------------- [ 58s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 58s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 58s] dpkg-buildpackage: source package limesuite [ 58s] dpkg-buildpackage: source version 20.01.0-1 [ 58s] dpkg-buildpackage: source distribution unstable [ 58s] dpkg-buildpackage: source changed by Lime Microsystems [ 58s] dpkg-source --before-build BUILD [ 58s] dpkg-buildpackage: host architecture amd64 [ 58s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 58s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 58s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 58s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 58s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 58s] ### VM INTERACTION START ### [ 62s] [ 54.489589] sysrq: SysRq : Power Off [ 62s] [ 54.492577] reboot: Power down [ 62s] ### VM INTERACTION END ### [ 62s] [ 62s] sheep86 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:29:30 UTC 2020. [ 62s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:29:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:29:58 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5ec506b184c39_26e02abee910c5fc1885871@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.10/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 76s] SIOCSIFADDR: File exists [ 76s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 76s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 76s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 76s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 76s] ----------------------------------------------------------------- [ 76s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 76s] ----------------------------------------------------------------- [ 76s] ----------------------------------------------------------------- [ 77s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 77s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 77s] dpkg-buildpackage: info: source package limesuite [ 77s] dpkg-buildpackage: info: source version 20.01.0-1 [ 77s] dpkg-buildpackage: info: source distribution unstable [ 77s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 77s] dpkg-source --before-build BUILD [ 77s] dpkg-buildpackage: info: host architecture amd64 [ 77s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 77s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 77s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 77s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 77s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 77s] ### VM INTERACTION START ### [ 80s] [ 73.021247] sysrq: SysRq : Power Off [ 80s] [ 73.025717] reboot: Power down [ 80s] ### VM INTERACTION END ### [ 80s] [ 80s] sheep86 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:29:46 UTC 2020. [ 80s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:29:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:29:58 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ec506b276a79_26e02abee910c5fc1885931@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_9.0/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 77s] SIOCSIFADDR: File exists [ 77s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 77s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 77s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 77s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 77s] ----------------------------------------------------------------- [ 77s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 77s] ----------------------------------------------------------------- [ 77s] ----------------------------------------------------------------- [ 78s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 78s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 78s] dpkg-buildpackage: info: source package limesuite [ 78s] dpkg-buildpackage: info: source version 20.01.0-1 [ 78s] dpkg-buildpackage: info: source distribution unstable [ 78s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 78s] dpkg-source --before-build BUILD [ 78s] dpkg-buildpackage: info: host architecture amd64 [ 78s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 78s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 78s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 78s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 78s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 78s] ### VM INTERACTION START ### [ 81s] [ 71.745834] sysrq: SysRq : Power Off [ 81s] [ 71.751340] reboot: Power down [ 81s] ### VM INTERACTION END ### [ 81s] [ 81s] lamb61 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:29:55 UTC 2020. [ 81s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:29:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:29:58 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5ec506b2afd95_26e02abee910c5fc18860e8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_19.10/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 84s] SIOCSIFADDR: File exists [ 84s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 85s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 85s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 85s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 85s] ----------------------------------------------------------------- [ 85s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 85s] ----------------------------------------------------------------- [ 85s] ----------------------------------------------------------------- [ 85s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 85s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 85s] dpkg-buildpackage: info: source package limesuite [ 85s] dpkg-buildpackage: info: source version 20.01.0-1 [ 85s] dpkg-buildpackage: info: source distribution unstable [ 85s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 85s] dpkg-source --before-build . [ 85s] dpkg-buildpackage: info: host architecture amd64 [ 85s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 85s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 85s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 85s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 85s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 85s] ### VM INTERACTION START ### [ 88s] [ 80.114669] sysrq: SysRq : Power Off [ 88s] [ 80.118483] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] sheep85 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:29:56 UTC 2020. [ 88s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:30:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:30:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5ec506ce4ddc3_26e02abee910c5fc18862cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_9.0/aarch64 Package network:osmocom:nightly/limesuite failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 91s] SIOCSIFADDR: File exists [ 92s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 92s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 92s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 92s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 92s] ----------------------------------------------------------------- [ 92s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 92s] ----------------------------------------------------------------- [ 92s] ----------------------------------------------------------------- [ 93s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 93s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 93s] dpkg-buildpackage: info: source package limesuite [ 93s] dpkg-buildpackage: info: source version 20.01.0-1 [ 93s] dpkg-buildpackage: info: source distribution unstable [ 93s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 93s] dpkg-source --before-build BUILD [ 93s] dpkg-buildpackage: info: host architecture arm64 [ 93s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 93s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 93s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 93s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 93s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 93s] ### VM INTERACTION START ### [ 96s] [ 82.656242] sysrq: Power Off [ 96s] [ 82.657594] reboot: Power down [ 97s] ### VM INTERACTION END ### [ 97s] [ 97s] obs-arm-8 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:30:16 UTC 2020. [ 97s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:30:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:30:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_16.04/i586 In-Reply-To: References: Message-ID: <5ec506cf5f251_26e02abee910c5fc1886397@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_16.04/i586 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_16.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 145s] SIOCSIFADDR: File exists [ 145s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 145s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 145s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 146s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 146s] ----------------------------------------------------------------- [ 146s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 146s] ----------------------------------------------------------------- [ 146s] ----------------------------------------------------------------- [ 146s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 146s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 146s] dpkg-buildpackage: source package limesuite [ 146s] dpkg-buildpackage: source version 20.01.0-1 [ 146s] dpkg-buildpackage: source distribution unstable [ 146s] dpkg-buildpackage: source changed by Lime Microsystems [ 147s] dpkg-source --before-build BUILD [ 147s] dpkg-buildpackage: host architecture i386 [ 147s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 147s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 147s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 147s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 147s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 147s] ### VM INTERACTION START ### [ 150s] [ 131.651692] sysrq: SysRq : Power Off [ 150s] [ 131.672881] reboot: Power down [ 150s] ### VM INTERACTION END ### [ 150s] [ 150s] lamb04 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:30:24 UTC 2020. [ 150s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:31:41 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:31:41 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <5ec507272aa0c_26e02abee910c5fc1886434@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_9.0/aarch64 Package network:osmocom:latest/limesuite failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 102s] SIOCSIFADDR: File exists [ 102s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 102s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 102s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 103s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 103s] ----------------------------------------------------------------- [ 103s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 103s] ----------------------------------------------------------------- [ 103s] ----------------------------------------------------------------- [ 103s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 103s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 103s] dpkg-buildpackage: info: source package limesuite [ 103s] dpkg-buildpackage: info: source version 20.01.0-1 [ 103s] dpkg-buildpackage: info: source distribution unstable [ 103s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 104s] dpkg-source --before-build BUILD [ 104s] dpkg-buildpackage: info: host architecture arm64 [ 104s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 104s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 104s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 104s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 104s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 104s] ### VM INTERACTION START ### [ 107s] [ 94.761295] sysrq: SysRq : Power Off [ 107s] [ 94.806060] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] armbuild21 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:31:36 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:31:41 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:31:41 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ec50727b541f_26e02abee910c5fc18865bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_18.10/i586 Package network:osmocom:latest/limesuite failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 103s] SIOCSIFADDR: File exists [ 103s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 103s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 103s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 104s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 104s] ----------------------------------------------------------------- [ 104s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 104s] ----------------------------------------------------------------- [ 104s] ----------------------------------------------------------------- [ 104s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 104s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 104s] dpkg-buildpackage: info: source package limesuite [ 104s] dpkg-buildpackage: info: source version 20.01.0-1 [ 104s] dpkg-buildpackage: info: source distribution unstable [ 104s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 104s] dpkg-source --before-build BUILD [ 104s] dpkg-buildpackage: info: host architecture i386 [ 104s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 104s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 104s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 104s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 104s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 104s] ### VM INTERACTION START ### [ 107s] [ 100.886248] sysrq: SysRq : Power Off [ 107s] [ 100.888242] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] build79 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:31:26 UTC 2020. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:31:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:31:58 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.10/i586 In-Reply-To: References: Message-ID: <5ec50728a917e_26e02abee910c5fc188667a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.10/i586 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.10/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 143s] SIOCSIFADDR: File exists [ 143s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 143s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 143s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 143s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 143s] ----------------------------------------------------------------- [ 143s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 143s] ----------------------------------------------------------------- [ 143s] ----------------------------------------------------------------- [ 144s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 144s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 144s] dpkg-buildpackage: info: source package limesuite [ 144s] dpkg-buildpackage: info: source version 20.01.0-1 [ 144s] dpkg-buildpackage: info: source distribution unstable [ 144s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 144s] dpkg-source --before-build BUILD [ 144s] dpkg-buildpackage: info: host architecture i386 [ 144s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 144s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 144s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 144s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 144s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 144s] ### VM INTERACTION START ### [ 147s] [ 137.337488] sysrq: SysRq : Power Off [ 147s] [ 137.344538] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] lamb18 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:31:46 UTC 2020. [ 147s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:31:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:31:58 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5ec5072a58199_26e02abee910c5fc18867a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_18.04/i586 Package network:osmocom:latest/limesuite failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 111s] SIOCSIFADDR: File exists [ 112s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 112s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 112s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 112s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 112s] ----------------------------------------------------------------- [ 112s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 112s] ----------------------------------------------------------------- [ 112s] ----------------------------------------------------------------- [ 112s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 112s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 112s] dpkg-buildpackage: info: source package limesuite [ 112s] dpkg-buildpackage: info: source version 20.01.0-1 [ 112s] dpkg-buildpackage: info: source distribution unstable [ 112s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 112s] dpkg-source --before-build BUILD [ 112s] dpkg-buildpackage: info: host architecture i386 [ 112s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 112s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 113s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 113s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 113s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 113s] ### VM INTERACTION START ### [ 116s] [ 106.120752] sysrq: SysRq : Power Off [ 116s] [ 106.126234] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] lamb20 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:31:41 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:32:15 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:32:15 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_19.10/x86_64 In-Reply-To: References: Message-ID: <5ec50746176a8_26e02abee910c5fc188686b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_19.10/x86_64 Package network:osmocom:latest/limesuite failed to build in xUbuntu_19.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 134s] SIOCSIFADDR: File exists [ 134s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 134s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 134s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 134s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 134s] ----------------------------------------------------------------- [ 134s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 134s] ----------------------------------------------------------------- [ 134s] ----------------------------------------------------------------- [ 134s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 134s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 134s] dpkg-buildpackage: info: source package limesuite [ 134s] dpkg-buildpackage: info: source version 20.01.0-1 [ 134s] dpkg-buildpackage: info: source distribution unstable [ 134s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 134s] dpkg-source --before-build . [ 134s] dpkg-buildpackage: info: host architecture amd64 [ 135s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 135s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 135s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 135s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 135s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 135s] ### VM INTERACTION START ### [ 138s] [ 126.556876] sysrq: SysRq : Power Off [ 138s] [ 126.573189] reboot: Power down [ 138s] ### VM INTERACTION END ### [ 138s] [ 138s] lamb13 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:32:02 UTC 2020. [ 138s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:32:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:32:33 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ec50747eda99_26e02abee910c5fc18870a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_9.0/x86_64 Package network:osmocom:latest/limesuite failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 54s] SIOCSIFADDR: File exists [ 54s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 54s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 54s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 54s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 54s] ----------------------------------------------------------------- [ 54s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 54s] ----------------------------------------------------------------- [ 54s] ----------------------------------------------------------------- [ 55s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 55s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 55s] dpkg-buildpackage: info: source package limesuite [ 55s] dpkg-buildpackage: info: source version 20.01.0-1 [ 55s] dpkg-buildpackage: info: source distribution unstable [ 55s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 55s] dpkg-source --before-build BUILD [ 55s] dpkg-buildpackage: info: host architecture amd64 [ 55s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 55s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 55s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 55s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 55s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 55s] ### VM INTERACTION START ### [ 58s] [ 50.490155] sysrq: SysRq : Power Off [ 58s] [ 50.493726] reboot: Power down [ 58s] ### VM INTERACTION END ### [ 58s] [ 58s] sheep86 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:32:17 UTC 2020. [ 58s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:32:50 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:32:50 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ec50762c1b72_26e02abee910c5fc18871f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_18.04/x86_64 Package network:osmocom:latest/limesuite failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 76s] SIOCSIFADDR: File exists [ 77s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 77s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 77s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 77s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 77s] ----------------------------------------------------------------- [ 77s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 77s] ----------------------------------------------------------------- [ 77s] ----------------------------------------------------------------- [ 77s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 77s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 77s] dpkg-buildpackage: info: source package limesuite [ 77s] dpkg-buildpackage: info: source version 20.01.0-1 [ 77s] dpkg-buildpackage: info: source distribution unstable [ 77s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 77s] dpkg-source --before-build BUILD [ 77s] dpkg-buildpackage: info: host architecture amd64 [ 77s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 77s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 77s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 77s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 77s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 77s] ### VM INTERACTION START ### [ 80s] [ 72.369754] sysrq: SysRq : Power Off [ 80s] [ 72.373487] reboot: Power down [ 80s] ### VM INTERACTION END ### [ 80s] [ 80s] sheep87 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:32:41 UTC 2020. [ 80s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:33:07 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:33:07 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_9.0/i586 In-Reply-To: References: Message-ID: <5ec50782f81c_26e02abee910c5fc188728e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_9.0/i586 Package network:osmocom:latest/limesuite failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 155s] SIOCSIFADDR: File exists [ 156s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 156s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 156s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 156s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 157s] ----------------------------------------------------------------- [ 157s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 157s] ----------------------------------------------------------------- [ 157s] ----------------------------------------------------------------- [ 157s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 157s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 157s] dpkg-buildpackage: info: source package limesuite [ 157s] dpkg-buildpackage: info: source version 20.01.0-1 [ 157s] dpkg-buildpackage: info: source distribution unstable [ 157s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 157s] dpkg-source --before-build BUILD [ 157s] dpkg-buildpackage: info: host architecture i386 [ 157s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 157s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 157s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 157s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 157s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 157s] ### VM INTERACTION START ### [ 161s] [ 132.509279] sysrq: SysRq : Power Off [ 161s] [ 132.534465] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] cloud127 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:32:52 UTC 2020. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:33:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:33:58 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_19.04/i586 In-Reply-To: References: Message-ID: <5ec5079f5c2d4_26e02abee910c5fc18874f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_19.04/i586 Package network:osmocom:latest/limesuite failed to build in xUbuntu_19.04/i586 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 222s] SIOCSIFADDR: File exists [ 222s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 222s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 222s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 223s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 223s] ----------------------------------------------------------------- [ 223s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 223s] ----------------------------------------------------------------- [ 223s] ----------------------------------------------------------------- [ 223s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 223s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 223s] dpkg-buildpackage: info: source package limesuite [ 223s] dpkg-buildpackage: info: source version 20.01.0-1 [ 223s] dpkg-buildpackage: info: source distribution unstable [ 223s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 223s] dpkg-source --before-build . [ 223s] dpkg-buildpackage: info: host architecture i386 [ 223s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 223s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 223s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 223s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 223s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 223s] ### VM INTERACTION START ### [ 227s] [ 213.285807] sysrq: SysRq : Power Off [ 227s] [ 213.300312] reboot: Power down [ 227s] ### VM INTERACTION END ### [ 227s] [ 227s] cloud103 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:33:52 UTC 2020. [ 227s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:34:15 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:34:15 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ec507b967960_26e02abee910c5fc1887597@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_9.0/armv7l Package network:osmocom:latest/limesuite failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 250s] SIOCSIFADDR: File exists [ 252s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 252s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 252s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 253s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 254s] ----------------------------------------------------------------- [ 254s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 254s] ----------------------------------------------------------------- [ 254s] ----------------------------------------------------------------- [ 255s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 255s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 255s] dpkg-buildpackage: info: source package limesuite [ 255s] dpkg-buildpackage: info: source version 20.01.0-1 [ 255s] dpkg-buildpackage: info: source distribution unstable [ 255s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 255s] dpkg-source --before-build BUILD [ 255s] dpkg-buildpackage: info: host architecture armhf [ 255s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 255s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 256s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 256s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 256s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 256s] ### VM INTERACTION START ### [ 259s] [ 237.210735] sysrq: SysRq : Power Off [ 259s] [ 237.226805] reboot: Power down [ 260s] ### VM INTERACTION END ### [ 260s] [ 260s] obs-arm-6 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:34:04 UTC 2020. [ 260s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 10:35:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:35:01 +0000 Subject: Change in libusrp[master]: Makefile.common: LTVERSIONFLAGS: remove -release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18375 ) Change subject: Makefile.common: LTVERSIONFLAGS: remove -release ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 10:35:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:34:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:34:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5ec507d92e711_26e02abee910c5fc188763c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_19.04/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 342s] SIOCSIFADDR: File exists [ 342s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 343s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 343s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 343s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 343s] ----------------------------------------------------------------- [ 343s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 343s] ----------------------------------------------------------------- [ 343s] ----------------------------------------------------------------- [ 344s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 344s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 344s] dpkg-buildpackage: info: source package limesuite [ 344s] dpkg-buildpackage: info: source version 20.01.0-1 [ 344s] dpkg-buildpackage: info: source distribution unstable [ 344s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 344s] dpkg-source --before-build . [ 344s] dpkg-buildpackage: info: host architecture amd64 [ 344s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 344s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 344s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 344s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 344s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 344s] ### VM INTERACTION START ### [ 347s] [ 332.575273] sysrq: SysRq : Power Off [ 347s] [ 332.613006] reboot: Power down [ 347s] ### VM INTERACTION END ### [ 347s] [ 347s] lamb26 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:34:21 UTC 2020. [ 347s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 10:35:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:35:05 +0000 Subject: Change in libusrp[master]: Makefile.common: LTVERSIONFLAGS: remove -release In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libusrp/+/18375 ) Change subject: Makefile.common: LTVERSIONFLAGS: remove -release ...................................................................... Makefile.common: LTVERSIONFLAGS: remove -release Generate the soname from LIBVERSION (initially 1:0:0), instead of VERSION. This means, we have binary compatibility between each major release (which we should increase if we ever have a breaking change), instead of forcing a binary incompatibility for each packaged version (also nightly packages). This is how we do it in other Osmocom projects, too. Fix nightly RPM packaging, as we now don't need to add the git commit to the package name: [ 135s] libusrp.i586: E: shlib-policy-name-error (Badness: 10000) libusrp-3_4_4_4_c46f0 [ 135s] Your package contains a single shared library but is not named after its [ 135s] SONAME. The debian package is already using libusrp1 as package name. Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b --- M Makefile.common M contrib/libusrp.spec.in 2 files changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/Makefile.common b/Makefile.common index 1892fd3..fed7c78 100644 --- a/Makefile.common +++ b/Makefile.common @@ -36,8 +36,13 @@ #AM_CFLAGS = @autoconf_default_CFLAGS@ @lf_CFLAGS@ #AM_CXXFLAGS = @autoconf_default_CXXFLAGS@ @lf_CXXFLAGS@ +# This is _NOT_ the library release version, it's an API version. +# Please read chapter "Library interface versions" of the libtool documentation +# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html +LIBVERSION=1:0:0 + # Sets ABI version in SONAME and appends -LIBVER to filename -LTVERSIONFLAGS = -version-info 0:0:0 -release $(VERSION) +LTVERSIONFLAGS = -version-info $(LIBVERSION) # includes grincludedir = $(includedir)/gnuradio diff --git a/contrib/libusrp.spec.in b/contrib/libusrp.spec.in index 65fa92b..75ceeaa 100644 --- a/contrib/libusrp.spec.in +++ b/contrib/libusrp.spec.in @@ -13,8 +13,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -%define sover -3_4_4+git_20190808-0 -%define libname libusrp%{sover} +%define libname libusrp1 Name: libusrp Version: @VERSION@ Release: 0 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: I73b222ea7e2fd0117827f9d6f28b23671068533b Gerrit-Change-Number: 18375 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:34:33 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:34:33 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ec507db9b894_26e02abee910c5fc188773b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 335s] SIOCSIFADDR: File exists [ 335s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 335s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 335s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 336s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 336s] ----------------------------------------------------------------- [ 336s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 336s] ----------------------------------------------------------------- [ 336s] ----------------------------------------------------------------- [ 336s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 336s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 336s] dpkg-buildpackage: info: source package limesuite [ 336s] dpkg-buildpackage: info: source version 20.01.0-1 [ 336s] dpkg-buildpackage: info: source distribution unstable [ 336s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 336s] dpkg-source --before-build BUILD [ 336s] dpkg-buildpackage: info: host architecture amd64 [ 336s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 336s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 336s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 336s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 336s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 336s] ### VM INTERACTION START ### [ 339s] [ 302.331387] sysrq: SysRq : Power Off [ 339s] [ 302.349437] reboot: Power down [ 339s] ### VM INTERACTION END ### [ 339s] [ 339s] lamb23 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:34:18 UTC 2020. [ 339s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 10:36:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:36:21 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: remove sdcc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18376 ) Change subject: scripts/osmocom-obs-link.sh: remove sdcc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 Gerrit-Change-Number: 18376 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 10:36:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:37:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:37:09 +0000 Subject: Change in osmo-ggsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 Gerrit-Change-Number: 18293 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 20 May 2020 10:37:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:37:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:37:29 +0000 Subject: Change in osmo-ggsn[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 --- M .gitignore M configure.ac R contrib/osmo-ggsn.spec.in 3 files changed, 9 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index 7dec8a9..cb27dff 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,5 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build + +contrib/osmo-ggsn.spec diff --git a/configure.ac b/configure.ac index c92a06c..e31cef1 100644 --- a/configure.ac +++ b/configure.ac @@ -259,6 +259,7 @@ doc/manuals/Makefile contrib/Makefile contrib/systemd/Makefile + contrib/osmo-ggsn.spec tests/Makefile tests/lib/Makefile tests/gtp/Makefile diff --git a/contrib/osmo-ggsn.spec b/contrib/osmo-ggsn.spec.in similarity index 94% rename from contrib/osmo-ggsn.spec rename to contrib/osmo-ggsn.spec.in index 15e4144..4e8b11e 100644 --- a/contrib/osmo-ggsn.spec +++ b/contrib/osmo-ggsn.spec.in @@ -12,25 +12,23 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - ## Disable LTO for now since it breaks compilation of the tests ## https://osmocom.org/issues/4114 %define _lto_cflags %{nil} - Name: osmo-ggsn -Version: 1.5.0.31 +Version: @VERSION@ Release: 0 Summary: GPRS Support Node License: GPL-2.0-only AND LGPL-2.1-or-later Group: Productivity/Telephony/Servers -URL: https://osmocom.org/projects/openggsn/wiki/OsmoGGSN +URL: https://osmocom.org/projects/openggsn Source: %{name}-%{version}.tar.xz BuildRequires: libtool >= 2 BuildRequires: pkgconfig >= 0.20 +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libgtpnl) >= 1.0.0 BuildRequires: pkgconfig(libmnl) >= 1.0.3 BuildRequires: pkgconfig(libosmocore) >= 1.1.0 @@ -84,6 +82,7 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) +%if 0%{?suse_version} %pre %service_add_pre %{name}.service @@ -95,6 +94,7 @@ %postun %service_del_postun %{name}.service +%endif %post -n libgtp6 -p /sbin/ldconfig %postun -n libgtp6 -p /sbin/ldconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iba04d5c7b9beee80baca83063f9cb2cd533a0003 Gerrit-Change-Number: 18293 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:38:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:38:13 +0000 Subject: Change in libosmo-sccp[master]: big endian: add missing endian.h in sccp.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 ) Change subject: big endian: add missing endian.h in sccp.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5906d94e0e0a74674c3a14cf2ec81c681e696474 Gerrit-Change-Number: 18373 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 10:38:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:38:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:38:42 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... cosmetic: apply changes to match struct_endianess.py output Rationale: the script is a good way to avoid bugs from manually composing the big endian parts (for example, it detected the missing endian.h include, fixed in I5906d94e0e0a74674c3a14cf2ec81c681e696474). However, it becomes cumbersome if it creates numerous edits in the source tree, which cause more time spent for whoever wanted to rather save time with it. So let's keep the code tree matching that script's output. Change-Id: I04ad3795fbaf495cae168aed69124b1dc132a9bd --- M include/osmocom/mtp/mtp_level3.h M include/osmocom/sccp/sccp_types.h 2 files changed, 14 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/mtp/mtp_level3.h b/include/osmocom/mtp/mtp_level3.h index d0d24a1..414b144 100644 --- a/include/osmocom/mtp/mtp_level3.h +++ b/include/osmocom/mtp/mtp_level3.h @@ -131,9 +131,8 @@ spare : 2, ni : 2; #elif OSMO_IS_BIG_ENDIAN - uint8_t ni : 2, - spare : 2, - ser_ind : 4; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t ni:2, spare:2, ser_ind:4; #endif uint32_t addr; uint8_t data[0]; @@ -144,8 +143,8 @@ uint8_t h0 : 4, h1 : 4; #elif OSMO_IS_BIG_ENDIAN - uint8_t h1 : 4, - h0 : 4; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t h1:4, h0:4; #endif } __attribute__((packed)); @@ -155,8 +154,8 @@ uint8_t spare : 4, length : 4; #elif OSMO_IS_BIG_ENDIAN - uint8_t length : 4, - spare : 4; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t length:4, spare:4; #endif uint8_t data[0]; } __attribute__((packed)); @@ -175,8 +174,8 @@ uint8_t mul_ind : 2, spare : 6; #elif OSMO_IS_BIG_ENDIAN - uint8_t spare : 6, - mul_ind : 2; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t spare:6, mul_ind:2; #endif } __attribute__((packed)); diff --git a/include/osmocom/sccp/sccp_types.h b/include/osmocom/sccp/sccp_types.h index 09bf271..616a7ee 100644 --- a/include/osmocom/sccp/sccp_types.h +++ b/include/osmocom/sccp/sccp_types.h @@ -106,11 +106,8 @@ routing_indicator : 1, reserved : 1; #elif OSMO_IS_BIG_ENDIAN - uint8_t reserved : 1, - routing_indicator : 1, - global_title_indicator : 4, - ssn_indicator : 1, - point_code_indicator : 1; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t reserved:1, routing_indicator:1, global_title_indicator:4, ssn_indicator:1, point_code_indicator:1; #endif uint8_t data[0]; } __attribute__((packed)); @@ -124,8 +121,8 @@ uint8_t msb : 6, reserved : 2; #elif OSMO_IS_BIG_ENDIAN - uint8_t reserved : 2, - msb : 6; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t reserved:2, msb:6; #endif } __attribute__((packed)); @@ -166,8 +163,8 @@ uint8_t nature_of_addr_ind : 7, odd_even : 1; #elif OSMO_IS_BIG_ENDIAN - uint8_t odd_even : 1, - nature_of_addr_ind : 7; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t odd_even:1, nature_of_addr_ind:7; #endif uint8_t data[0]; } __attribute__((packed)); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I04ad3795fbaf495cae168aed69124b1dc132a9bd Gerrit-Change-Number: 16761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:38:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:38:37 +0000 Subject: Change in libosmo-sccp[master]: cosmetic: apply changes to match struct_endianess.py output In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 ) Change subject: cosmetic: apply changes to match struct_endianess.py output ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/16761 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I04ad3795fbaf495cae168aed69124b1dc132a9bd Gerrit-Change-Number: 16761 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 20 May 2020 10:38:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:38:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:38:41 +0000 Subject: Change in libosmo-sccp[master]: big endian: add missing endian.h in sccp.c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 ) Change subject: big endian: add missing endian.h in sccp.c ...................................................................... big endian: add missing endian.h in sccp.c sccp.c uses #ifdef OSMO_IS_LITTLE_ENDIAN, but fails to include endian.h, i.e. it would build little endian also on big endian systems. Found by libosmocore/contrib/struct_endianness.py. Change-Id: I5906d94e0e0a74674c3a14cf2ec81c681e696474 --- M src/sccp.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sccp.c b/src/sccp.c index cbc63b1..058f20b 100644 --- a/src/sccp.c +++ b/src/sccp.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5906d94e0e0a74674c3a14cf2ec81c681e696474 Gerrit-Change-Number: 18373 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:41:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 10:41:12 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... Patch Set 3: Interestingly I have no record of having written this patch, yet it states "Author: Harald Welte"... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 20 May 2020 10:41:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:45:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 10:45:02 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... Patch Set 2: I lack some explanation on why this srcdir vs builddir automatic finding is needed. Why sometimes we pick from one and sometimes from another? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 20 May 2020 10:45:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:46:11 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 10:46:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 ) Change subject: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf Gerrit-Change-Number: 18369 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 10:46:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 10:46:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 10:46:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 ) Change subject: library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment ...................................................................... library/RLCMAC_CSN1_Types: Extend support for PacketDlAssignment Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf --- M library/RLCMAC_CSN1_Types.ttcn M library/RLCMAC_Templates.ttcn 2 files changed, 72 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve Vadim Yanitskiy: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn index 1f1fb0a..ee02a8a 100644 --- a/library/RLCMAC_CSN1_Types.ttcn +++ b/library/RLCMAC_CSN1_Types.ttcn @@ -122,15 +122,59 @@ TenTlli tlli }; + type record PacketDlAssignmentRel1999SubStruct { + EgprsWindowSize window_size, + BIT2 link_quality_meas_mode, + BIT1 bep_period2_present, + BIT4 bep_period2 optional + } with { + variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)" + }; /* 11.2.7 Packet Downlink Assignment */ type record PacketDlAssignment { PageMode page_mode, BIT1 pres1, PersistenceLevels persistence_levels optional, - GlobalTfiOrTlli tfi_or_tlli - /* TODO */ + GlobalTfiOrTlli tfi_or_tlli, + BIT1 egprs2('0'B), /* TODO: implement union with egprs2 */ + BIT2 mac_mode, + BIT2 rlc_mode, + BIT1 control_ack, + BIT8 timeslot_alloc, + PacketTimingAdvance pkt_ta, + BIT1 p0_present, + uint4_t p0 optional, + BIT1 reserved('0'B) optional, + BIT1 pr_mode optional, + BIT1 freq_par_present, + FrequencyParameters freq_par optional, + BIT1 dl_tfi_ass_present, + uint5_t dl_tfi_assignment optional, + BIT1 pwr_ctrl_present, + PowerControlParameters pwr_ctrl optional, + BIT1 tbf_starting_time_present, + StartingFnDesc tbf_starting_time optional, + BIT1 release1999('1'B), + BIT1 sub_present, + PacketDlAssignmentRel1999SubStruct sub optional, + BIT1 pkt_ext_ta_present, + BIT2 pkt_ext_ta optional, + BIT1 compact_reduced_ma_present, + COMPACTreducedMA compact_reduced_ma optional + /* TODO: Additions for REL-5 */ } with { variant (persistence_levels) "PRESENCE(pres1 = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (p0) "PRESENCE(p0_present = '1'B)" + variant (reserved) "PRESENCE(p0_present = '1'B)" + variant (pr_mode) "PRESENCE(p0_present = '1'B)" + variant (freq_par) "PRESENCE(freq_par_present = '1'B)" + variant (dl_tfi_assignment) "PRESENCE(dl_tfi_ass_present = '1'B)" + variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)" + variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)" + variant (sub) "PRESENCE(sub_present = '1'B)" + variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)" + variant (compact_reduced_ma) "PRESENCE(compact_reduced_ma_present = '1'B)" }; /* 11.2.29 Packet Uplink Assignment */ diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index 0ffa840..e2abd84 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -444,7 +444,32 @@ page_mode := ?, pres1 := ?, persistence_levels := *, - tfi_or_tlli := ? + tfi_or_tlli := ?, + egprs2 := '0'B, + mac_mode := ?, + rlc_mode := ?, + control_ack := ?, + timeslot_alloc := ?, + pkt_ta := ?, + p0_present := ?, + p0 := *, + reserved := *, + pr_mode := *, + freq_par_present := ?, + freq_par := *, + dl_tfi_ass_present := ?, + dl_tfi_assignment := *, + pwr_ctrl_present := ?, + pwr_ctrl := *, + tbf_starting_time_present := ?, + tbf_starting_time := *, + release1999 := '1'B, + sub_present := ?, + sub := *, + pkt_ext_ta_present := ?, + pkt_ext_ta := *, + compact_reduced_ma_present := ?, + compact_reduced_ma := * } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5788d9fffe768bb8ebbb3fc2d93ebf014648e9bf Gerrit-Change-Number: 18369 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:00:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 11:00:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: (8 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at a235 PS1, Line 235: /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 : * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here : * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ : if (is_11bit != 0) { ra := 127; } > This should have not been removed. That's why the related test cases fail. So what's the point then for tests TC_egprs_pkt_chan_req*() crafting ra values if finally this value 127 is set? Please enlighten me. To me either this or all those tests are wrong. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 48 PS1, Line 48: GsmRrMessage > Do we really need to store the RR Immediate Assignment in a TBF record? As far as I understand, we p [?] We parse most relevant and usually used stuff like TFI, USF,etc. but for some stuff which we scarcely use it makes sense to keep rr_imm_ass, even if it's only for quick testing and test addition. IIRC I stored it here because some test required something from rr_imm_ass, so it doesn't hurt that much keeping it for now. We may remove it later if we move all the contents to some other specific fields. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 49 PS1, Line 49: PacketDlAssign ass, : PacketDlAssignment rlcmac_ass, > Please add a couple of comments here, what is the difference between both? If I understand correctly [?] Yes it serves the purpose you said. Ok, I can move it to a union "ass" and then have "ass.ccch" and "ass.pacch" https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 66 PS1, Line 66: GprsTlli tlli > minor whitespace Ack https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 72 PS1, Line 72: UlTbf ul_tbf optional, : DlTbf dl_tbf optional > Please add a comment that there can be more than one UL/DL TBF. Ack https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 111 PS1, Line 111: f_init_gprs_ms > This function looks redundant. Just let test cases evaluate t_GprsMS_def as they need. [?] Well, so far it only does that, but we may add new stuff here in the future, so I prefer keeping it this way for now, in case we have to init something component related at some point. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 239 PS1, Line 239: f_ms_set_lqual > This functions is redundant. That's like usual discussion on wheter setters are required or not for class attributes. I find it useful because grepping for the function name I can find all places where lqual is being set. Similar, in the future we can add new APIs to set if in dB, etc. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 244 PS1, Line 244: f_ms_set_ta > I am sorry, but it looks like f_sum(a, b) { return a + b } to me. Again, I find it useful to quickly find where the TA field is being set, and make sure we always do it in a unified way. I want to have as much logic as possible wrapped in this class. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 11:00:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:35:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:35:58 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.04/i586 In-Reply-To: References: Message-ID: <5ec50ea45505a_26e02abee910c5fc1888218@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.04/i586 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.04/i586 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 482s] SIOCSIFADDR: File exists [ 483s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 483s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 483s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 485s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 485s] ----------------------------------------------------------------- [ 485s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 485s] ----------------------------------------------------------------- [ 485s] ----------------------------------------------------------------- [ 485s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 485s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 485s] dpkg-buildpackage: info: source package limesuite [ 485s] dpkg-buildpackage: info: source version 20.01.0-1 [ 485s] dpkg-buildpackage: info: source distribution unstable [ 485s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 485s] dpkg-source --before-build BUILD [ 485s] dpkg-buildpackage: info: host architecture i386 [ 486s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 486s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 486s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 486s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 486s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 486s] ### VM INTERACTION START ### [ 489s] [ 446.006836] sysrq: SysRq : Power Off [ 489s] [ 446.026655] reboot: Power down [ 489s] ### VM INTERACTION END ### [ 489s] [ 489s] cloud126 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:35:44 UTC 2020. [ 489s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:36:52 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:36:52 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_18.10/x86_64 In-Reply-To: References: Message-ID: <5ec50ee9cbec3_26e02abee910c5fc1889964@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_18.10/x86_64 Package network:osmocom:latest/limesuite failed to build in xUbuntu_18.10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 317s] SIOCSIFADDR: File exists [ 317s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 317s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 317s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 318s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 318s] ----------------------------------------------------------------- [ 318s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 318s] ----------------------------------------------------------------- [ 318s] ----------------------------------------------------------------- [ 318s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 318s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 318s] dpkg-buildpackage: info: source package limesuite [ 318s] dpkg-buildpackage: info: source version 20.01.0-1 [ 318s] dpkg-buildpackage: info: source distribution unstable [ 318s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 318s] dpkg-source --before-build BUILD [ 318s] dpkg-buildpackage: info: host architecture amd64 [ 318s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 318s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 318s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 318s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 318s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 318s] ### VM INTERACTION START ### [ 321s] [ 297.764743] sysrq: SysRq : Power Off [ 321s] [ 297.782130] reboot: Power down [ 321s] ### VM INTERACTION END ### [ 321s] [ 321s] lamb04 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:36:47 UTC 2020. [ 321s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:39:43 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:39:43 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec50f25d93dc_26e02abee910c5fc18918a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_Unstable/x86_64 Package network:osmocom:latest/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 163s] SIOCSIFADDR: File exists [ 164s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 164s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 164s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 164s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 164s] ----------------------------------------------------------------- [ 164s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 164s] ----------------------------------------------------------------- [ 164s] ----------------------------------------------------------------- [ 164s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 164s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 164s] dpkg-buildpackage: info: source package limesuite [ 164s] dpkg-buildpackage: info: source version 20.01.0-1 [ 164s] dpkg-buildpackage: info: source distribution unstable [ 164s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 164s] dpkg-source --before-build . [ 164s] dpkg-buildpackage: info: host architecture amd64 [ 165s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 165s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 165s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 165s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 165s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 165s] ### VM INTERACTION START ### [ 166s] Powering off. [ 166s] [ 133.083216] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] cloud101 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:39:34 UTC 2020. [ 166s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:39:43 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:39:43 +0000 Subject: Build failure of network:osmocom:latest/limesuite in xUbuntu_19.04/x86_64 In-Reply-To: References: Message-ID: <5ec50f26ce8b1_26e02abee910c5fc1891971@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/xUbuntu_19.04/x86_64 Package network:osmocom:latest/limesuite failed to build in xUbuntu_19.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 577s] SIOCSIFADDR: File exists [ 577s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 578s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 578s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 578s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 578s] ----------------------------------------------------------------- [ 578s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 578s] ----------------------------------------------------------------- [ 578s] ----------------------------------------------------------------- [ 579s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 579s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 579s] dpkg-buildpackage: info: source package limesuite [ 579s] dpkg-buildpackage: info: source version 20.01.0-1 [ 579s] dpkg-buildpackage: info: source distribution unstable [ 579s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 579s] dpkg-source --before-build . [ 579s] dpkg-buildpackage: info: host architecture amd64 [ 579s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 579s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 579s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 580s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 580s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 580s] ### VM INTERACTION START ### [ 583s] [ 551.365329] sysrq: SysRq : Power Off [ 583s] [ 551.373083] reboot: Power down [ 583s] ### VM INTERACTION END ### [ 583s] [ 583s] lamb59 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:39:37 UTC 2020. [ 583s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 10:40:00 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:40:00 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <5ec50f2ce0d5c_26e02abee910c5fc1892189@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Raspbian_9.0/armv7l Package network:osmocom:latest/limesuite failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 226s] SIOCSIFADDR: File exists [ 227s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 227s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 227s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 228s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 228s] ----------------------------------------------------------------- [ 228s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 228s] ----------------------------------------------------------------- [ 228s] ----------------------------------------------------------------- [ 229s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 229s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 229s] dpkg-buildpackage: info: source package limesuite [ 229s] dpkg-buildpackage: info: source version 20.01.0-1 [ 229s] dpkg-buildpackage: info: source distribution unstable [ 229s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 229s] dpkg-source --before-build BUILD [ 229s] dpkg-buildpackage: info: host architecture armhf [ 229s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 229s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 229s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 229s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 229s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 230s] ### VM INTERACTION START ### [ 233s] [ 210.218058] sysrq: SysRq : Power Off [ 233s] [ 210.272734] reboot: Power down [ 234s] ### VM INTERACTION END ### [ 234s] [ 234s] obs-arm-6 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:39:49 UTC 2020. [ 234s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 11:07:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 11:07:05 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Patch Set 3: Code-Review+2 Taking the freedom to merge after applying the comments from Neels making sure "enum" is used everywhere before CodingScheme. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 11:07:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:07:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 11:07:07 +0000 Subject: Change in osmo-pcu[master]: Get rid of class GprsCodingScheme In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18351 ) Change subject: Get rid of class GprsCodingScheme ...................................................................... Get rid of class GprsCodingScheme We have same kind of object splitted into two layers, in coding_scheme and gprs_coding_scheme. Let's merge them together and get rid of the class, which is not really useful because it's only a set of functions operating on one enum value. This change also fixes gcc 10.1.0 error about memseting a complex type in rlc.h init(). Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df --- M src/Makefile.am M src/bts.h M src/coding_scheme.c M src/coding_scheme.h M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/gprs_bssgp_pcu.cpp D src/gprs_coding_scheme.cpp D src/gprs_coding_scheme.h M src/gprs_ms.cpp M src/gprs_ms.h M src/pcu_main.cpp M src/pcu_vty_functions.cpp M src/pdch.cpp M src/pdch.h M src/rlc.cpp M src/rlc.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_ul.cpp M tests/edge/EdgeTest.cpp M tests/tbf/TbfTest.cpp 26 files changed, 541 insertions(+), 686 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/Makefile.am b/src/Makefile.am index 54c6f1b..ece372d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -68,7 +68,6 @@ osmobts_sock.cpp \ gprs_codel.c \ coding_scheme.c \ - gprs_coding_scheme.cpp \ egprs_rlc_compression.cpp \ gprs_rlcmac_sched.cpp @@ -104,7 +103,6 @@ pcu_utils.h \ cxx_linuxlist.h \ gprs_codel.h \ - gprs_coding_scheme.h \ coding_scheme.h \ egprs_rlc_compression.h \ wireshark_compat.h diff --git a/src/bts.h b/src/bts.h index 15dd482..9986bdc 100644 --- a/src/bts.h +++ b/src/bts.h @@ -37,7 +37,7 @@ #include "sba.h" #include "tbf.h" #include "gprs_ms_storage.h" -#include "gprs_coding_scheme.h" +#include "coding_scheme.h" #include #endif diff --git a/src/coding_scheme.c b/src/coding_scheme.c index eaa4953..e39ed2b 100644 --- a/src/coding_scheme.c +++ b/src/coding_scheme.c @@ -42,6 +42,56 @@ { 0, NULL } }; +enum Family { + FAMILY_INVALID, + FAMILY_A, + FAMILY_B, + FAMILY_C, +}; + +static struct { + struct { + uint8_t bytes; + uint8_t ext_bits; + uint8_t data_header_bits; + } uplink, downlink; + uint8_t data_bytes; + uint8_t optional_padding_bits; + enum HeaderType data_hdr; + enum Family family; +} mcs_info[NUM_SCHEMES] = { + {{0, 0}, {0, 0}, 0, 0, + HEADER_INVALID, FAMILY_INVALID}, + {{23, 0}, {23, 0}, 20, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{33, 7}, {33, 7}, 30, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{39, 3}, {39, 3}, 36, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + {{53, 7}, {53, 7}, 50, 0, + HEADER_GPRS_DATA, FAMILY_INVALID}, + + {{26, 1}, {26, 1}, 22, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + {{32, 1}, {32, 1}, 28, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, + {{41, 1}, {41, 1}, 37, 48, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, + {{48, 1}, {48, 1}, 44, 0, + HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, + + {{60, 7}, {59, 6}, 56, 0, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, + {{78, 7}, {77, 6}, 74, 48, + HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, + {{118, 2}, {117, 4}, 56, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, + {{142, 2}, {141, 4}, 68, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, + {{154, 2}, {153, 4}, 74, 0, + HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, +}; + const char *mcs_name(enum CodingScheme val) { return get_value_string(mcs_names, val); } @@ -77,6 +127,194 @@ return 0; } +enum CodingScheme mcs_get_by_size_ul(unsigned size) +{ + switch (size) { + case 23: return CS1; + case 27: return MCS1; + case 33: return MCS2; + case 34: return CS2; + case 40: return CS3; + case 42: return MCS3; + case 49: return MCS4; + case 54: return CS4; + case 61: return MCS5; + case 79: return MCS6; + case 119: return MCS7; + case 143: return MCS8; + case 155: return MCS9; + default: return UNKNOWN; + } +} + +enum CodingScheme mcs_get_gprs_by_num(unsigned num) +{ + if (num < 1 || num > 4) + return UNKNOWN; + return CS1 + (num - 1); +} + +enum CodingScheme mcs_get_egprs_by_num(unsigned num) +{ + if (num < 1 || num > 9) + return UNKNOWN; + return MCS1 + (num - 1); +} + +bool mcs_is_valid(enum CodingScheme cs) +{ + return UNKNOWN <= cs && cs <= MCS9; +} + +bool mcs_is_compat_kind(enum CodingScheme cs, enum mcs_kind mode) +{ + switch (mode) { + case GPRS: return mcs_is_gprs(cs); + case EGPRS_GMSK: return mcs_is_edge_gmsk(cs); + case EGPRS: return mcs_is_edge(cs); + } + + return false; +} + +bool mcs_is_compat(enum CodingScheme cs, enum CodingScheme o) +{ + return (mcs_is_gprs(cs) && mcs_is_gprs(o)) || (mcs_is_edge(cs) && mcs_is_edge(o)); +} + +uint8_t mcs_size_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.bytes + (mcs_spare_bits_ul(cs) ? 1 : 0); +} + +uint8_t mcs_size_dl(enum CodingScheme cs) +{ + return mcs_info[cs].downlink.bytes + (mcs_spare_bits_dl(cs) ? 1 : 0); +} + +uint8_t mcs_used_size_ul(enum CodingScheme cs) +{ + if (mcs_info[cs].data_hdr == HEADER_GPRS_DATA) + return mcs_info[cs].uplink.bytes; + else + return mcs_size_ul(cs); +} + +uint8_t mcs_used_size_dl(enum CodingScheme cs) +{ + if (mcs_info[cs].data_hdr == HEADER_GPRS_DATA) + return mcs_info[cs].downlink.bytes; + else + return mcs_size_dl(cs); +} + +uint8_t mcs_max_bytes_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.bytes; +} + +uint8_t mcs_max_bytes_dl(enum CodingScheme cs) +{ + return mcs_info[cs].downlink.bytes; +} + +uint8_t mcs_spare_bits_ul(enum CodingScheme cs) +{ + return mcs_info[cs].uplink.ext_bits; +} + +uint8_t mcs_spare_bits_dl(enum CodingScheme cs) +{ + return mcs_info[cs].downlink.ext_bits; +} + +uint8_t mcs_max_data_block_bytes(enum CodingScheme cs) +{ + return mcs_info[cs].data_bytes; +} + +uint8_t mcs_opt_padding_bits(enum CodingScheme cs) +{ + return mcs_info[cs].optional_padding_bits; +} + +void mcs_inc_kind(enum CodingScheme *cs, enum mcs_kind mode) +{ + if (!mcs_is_compat_kind(*cs, mode)) + /* This should not happen. TODO: Use assert? */ + return; + + enum CodingScheme new_cs = *cs + 1; + if (!mcs_is_compat_kind(new_cs, mode)) + /* Clipping, do not change the value */ + return; + + *cs = new_cs; +} + +void mcs_dec_kind(enum CodingScheme *cs, enum mcs_kind mode) +{ + if (!mcs_is_compat_kind(*cs, mode)) + /* This should not happen. TODO: Use assert? */ + return; + + enum CodingScheme new_cs = *cs - 1; + if (!mcs_is_compat_kind(new_cs, mode)) + /* Clipping, do not change the value */ + return; + + *cs = new_cs; +} + +void mcs_inc(enum CodingScheme *cs) +{ + if (mcs_is_gprs(*cs) && *cs == CS4) + return; + + if (mcs_is_edge(*cs) && *cs == MCS9) + return; + + if (!mcs_is_valid(*cs)) + return; + + *cs = *cs + 1; +} + +void mcs_dec(enum CodingScheme *cs) +{ + if (mcs_is_gprs(*cs) && *cs == CS1) + return; + + if (mcs_is_edge(*cs) && *cs == MCS1) + return; + + if (!mcs_is_valid(*cs)) + return; + + *cs = *cs - 1; +} + +bool mcs_is_family_compat(enum CodingScheme cs, enum CodingScheme o) +{ + if (cs == o) + return true; + + if (mcs_info[cs].family == FAMILY_INVALID) + return false; + + return mcs_info[cs].family == mcs_info[o].family; +} + +void mcs_dec_to_single_block(enum CodingScheme *cs, bool *need_stuffing) +{ + switch (*cs) { + case MCS7: *need_stuffing = false; *cs = MCS5; break; + case MCS8: *need_stuffing = true; *cs = MCS6; break; + case MCS9: *need_stuffing = false; *cs = MCS6; break; + default: *need_stuffing = false; break; + } +} + static struct { struct { uint8_t data_header_bits; @@ -93,6 +331,11 @@ { { 3 * 8 + 7 }, { 3 * 8 + 7 }, 2, 1, "EGPRS_DATA_TYPE3" }, }; +enum HeaderType mcs_header_type(enum CodingScheme mcs) +{ + return mcs_info[mcs].data_hdr; +} + uint8_t num_data_blocks(enum HeaderType ht) { OSMO_ASSERT(ht < NUM_HEADER_TYPES); diff --git a/src/coding_scheme.h b/src/coding_scheme.h index 24db86d..ea1ded1 100644 --- a/src/coding_scheme.h +++ b/src/coding_scheme.h @@ -21,6 +21,8 @@ #include +#include + enum CodingScheme { UNKNOWN, /* GPRS Coding Schemes: */ @@ -30,6 +32,15 @@ NUM_SCHEMES }; +enum mcs_kind { + GPRS, + EGPRS_GMSK, + EGPRS, +}; + +#define EGPRS_ARQ1 0x0 +#define EGPRS_ARQ2 0x1 + extern const struct value_string mcs_names[]; const char *mcs_name(enum CodingScheme val); enum CodingScheme get_retx_mcs(enum CodingScheme initial_mcs, enum CodingScheme commanded_mcs, bool resegment_bit); @@ -40,6 +51,32 @@ uint8_t mcs_chan_code(enum CodingScheme cs); +enum CodingScheme mcs_get_by_size_ul(unsigned size); +enum CodingScheme mcs_get_gprs_by_num(unsigned num); +enum CodingScheme mcs_get_egprs_by_num(unsigned num); +bool mcs_is_valid(enum CodingScheme cs); +bool mcs_is_compat(enum CodingScheme cs, enum CodingScheme o); +bool mcs_is_compat_kind(enum CodingScheme cs, enum mcs_kind mode); + +uint8_t mcs_size_ul(enum CodingScheme cs); +uint8_t mcs_size_dl(enum CodingScheme cs); +uint8_t mcs_used_size_ul(enum CodingScheme cs); +uint8_t mcs_used_size_dl(enum CodingScheme cs); +uint8_t mcs_max_bytes_ul(enum CodingScheme cs); +uint8_t mcs_max_bytes_dl(enum CodingScheme cs); +uint8_t mcs_spare_bits_ul(enum CodingScheme cs); +uint8_t mcs_spare_bits_dl(enum CodingScheme cs); +uint8_t mcs_max_data_block_bytes(enum CodingScheme cs); +uint8_t mcs_opt_padding_bits(enum CodingScheme cs); + +void mcs_inc_kind(enum CodingScheme *cs, enum mcs_kind mode); +void mcs_dec_kind(enum CodingScheme *cs, enum mcs_kind mode); +void mcs_inc(enum CodingScheme *cs); +void mcs_dec(enum CodingScheme *cs); + +bool mcs_is_family_compat(enum CodingScheme cs, enum CodingScheme o); +void mcs_dec_to_single_block(enum CodingScheme *cs, bool *need_stuffing); + enum HeaderType { HEADER_INVALID, HEADER_GPRS_CONTROL, @@ -50,17 +87,11 @@ NUM_HEADER_TYPES }; -enum HeaderType headerTypeData(enum CodingScheme mcs); +enum HeaderType mcs_header_type(enum CodingScheme mcs); uint8_t num_data_blocks(enum HeaderType ht); uint8_t num_data_header_bits_UL(enum HeaderType ht); uint8_t num_data_header_bits_DL(enum HeaderType ht); uint8_t num_data_block_header_bits(enum HeaderType ht); -enum mcs_kind { - GPRS, - EGPRS_GMSK, - EGPRS, -}; - const char *mode_name(enum mcs_kind val); diff --git a/src/decoding.cpp b/src/decoding.cpp index 99a17dc..064c974 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -189,7 +189,7 @@ } int Decoding::rlc_data_from_ul_data( - const struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + const struct gprs_rlc_data_block_info *rdbi, enum CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli) { @@ -351,10 +351,10 @@ } int Decoding::rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, - const uint8_t *data, GprsCodingScheme cs) + const uint8_t *data, enum CodingScheme cs) { unsigned int cur_bit = 0; - switch(cs.headerTypeData()) { + switch(mcs_header_type(cs)) { case HEADER_GPRS_DATA : cur_bit = rlc_parse_ul_data_header_gprs(rlc, data, cs); break; @@ -380,7 +380,7 @@ int Decoding::rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs) + const enum CodingScheme &cs) { int punct, punct2, with_padding, cps; unsigned int e_ti_header, offs, cur_bit = 0; @@ -414,7 +414,7 @@ rlc->block_info[0].ti = !!(e_ti_header & 0x02); cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } @@ -422,7 +422,7 @@ int Decoding::rlc_parse_ul_data_header_egprs_type_2( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs) + const enum CodingScheme &cs) { const struct gprs_rlc_ul_header_egprs_2 *egprs2; unsigned int e_ti_header, offs, cur_bit = 0; @@ -458,14 +458,14 @@ cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } int Decoding::rlc_parse_ul_data_header_egprs_type_1( struct gprs_rlc_data_info *rlc, - const uint8_t *data, const GprsCodingScheme &cs) + const uint8_t *data, const enum CodingScheme &cs) { struct gprs_rlc_ul_header_egprs_1 *egprs1; unsigned int e_ti_header, cur_bit = 0, offs; @@ -517,13 +517,13 @@ rlc->block_info[1].ti = !!(e_ti_header & 0x02); cur_bit += 2; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } int Decoding::rlc_parse_ul_data_header_gprs(struct gprs_rlc_data_info *rlc, - const uint8_t *data, const GprsCodingScheme &cs) + const uint8_t *data, const enum CodingScheme &cs) { const struct rlc_ul_header *gprs; unsigned int cur_bit = 0; @@ -547,7 +547,7 @@ rlc->block_info[0].spb = 0; cur_bit += rlc->data_offs_bits[0]; /* skip data area */ - cur_bit += cs.maxDataBlockBytes() * 8; + cur_bit += mcs_max_data_block_bytes(cs) * 8; return cur_bit; } diff --git a/src/decoding.h b/src/decoding.h index cadb80c..23d3e17 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -40,7 +40,7 @@ static int rlc_data_from_ul_data( const struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, const uint8_t *data, RlcData *chunks, + enum CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli); static uint8_t get_ms_class_by_capability(MS_Radio_Access_capability_t *cap); static uint8_t get_egprs_ms_class_by_capability(MS_Radio_Access_capability_t *cap); @@ -50,21 +50,21 @@ static int rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const enum CodingScheme &cs); static int rlc_parse_ul_data_header_egprs_type_2( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const enum CodingScheme &cs); static int rlc_parse_ul_data_header_egprs_type_1( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const enum CodingScheme &cs); static int rlc_parse_ul_data_header_gprs( struct gprs_rlc_data_info *rlc, const uint8_t *data, - const GprsCodingScheme &cs); + const enum CodingScheme &cs); static int rlc_parse_ul_data_header(struct gprs_rlc_data_info *rlc, - const uint8_t *data, GprsCodingScheme cs); + const uint8_t *data, enum CodingScheme cs); static unsigned int rlc_copy_to_aligned_buffer( const struct gprs_rlc_data_info *rlc, unsigned int data_block_idx, diff --git a/src/encoding.cpp b/src/encoding.cpp index a4a14dd..1805645 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1107,11 +1107,11 @@ struct gprs_rlc_dl_header_egprs_3 *egprs3; struct rlc_dl_header *gprs; unsigned int e_fbi_header; - GprsCodingScheme cs = rlc->cs; + enum CodingScheme cs = rlc->cs; unsigned int offs; unsigned int bsn_delta; - switch(cs.headerTypeData()) { + switch(mcs_header_type(cs)) { case HEADER_GPRS_DATA: gprs = static_cast ((void *)data); @@ -1595,7 +1595,7 @@ * \return the state of the rlc/mac like if there is more space for another chunk */ Encoding::AppendResult Encoding::rlc_data_to_dl_append( - struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + struct gprs_rlc_data_block_info *rdbi, enum CodingScheme cs, gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data_block, bool is_final, int *count_payload) { diff --git a/src/encoding.h b/src/encoding.h index 2365f07..5bdd4ef 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -21,9 +21,10 @@ #pragma once #include -#include + extern "C" { #include +#include "coding_scheme.h" #include "gsm_rlcmac.h" } @@ -99,7 +100,7 @@ }; static AppendResult rlc_data_to_dl_append( - struct gprs_rlc_data_block_info *rdbi, GprsCodingScheme cs, + struct gprs_rlc_data_block_info *rdbi, enum CodingScheme cs, gprs_llc *llc, int *offset, int *num_chunks, uint8_t *data, bool is_final, int *count_payload); }; diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index b8e746a..a4bcff3 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include @@ -639,9 +639,9 @@ return num_pdch; } -static uint32_t gprs_bssgp_max_leak_rate(GprsCodingScheme cs, int num_pdch) +static uint32_t gprs_bssgp_max_leak_rate(enum CodingScheme cs, int num_pdch) { - int bytes_per_rlc_block = cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()); + int bytes_per_rlc_block = mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)); /* n byte payload per 20ms */ return bytes_per_rlc_block * (1000 / 20) * num_pdch; @@ -717,7 +717,7 @@ return rate; } -static GprsCodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts) +static enum CodingScheme max_coding_scheme_dl(struct gprs_rlcmac_bts *bts) { int num; @@ -733,7 +733,7 @@ num = 9; } - return GprsCodingScheme::getEgprsByNum(num); + return mcs_get_egprs_by_num(num); } if (!bts->cs_adj_enabled) { @@ -753,7 +753,7 @@ num = 4; } - return GprsCodingScheme::getGprsByNum(num); + return mcs_get_gprs_by_num(num); } static int gprs_bssgp_tx_fc_bvc(void) @@ -765,7 +765,7 @@ uint32_t ms_leak_rate; /* oct/s */ uint32_t avg_delay_ms; int num_pdch = -1; - GprsCodingScheme max_cs_dl; + enum CodingScheme max_cs_dl; if (!the_pcu.bctx) { LOGP(DBSSGP, LOGL_ERROR, "No bctx\n"); diff --git a/src/gprs_coding_scheme.cpp b/src/gprs_coding_scheme.cpp deleted file mode 100644 index 0c22670..0000000 --- a/src/gprs_coding_scheme.cpp +++ /dev/null @@ -1,231 +0,0 @@ -/* gprs_coding_scheme.cpp - * - * Copyright (C) 2015 by Sysmocom s.f.m.c. GmbH - * Author: Jacob Erlbeck - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - - -#include "gprs_coding_scheme.h" - -enum Family { - FAMILY_INVALID, - FAMILY_A, - FAMILY_B, - FAMILY_C, -}; - -static struct { - struct { - uint8_t bytes; - uint8_t ext_bits; - uint8_t data_header_bits; - } uplink, downlink; - uint8_t data_bytes; - uint8_t optional_padding_bits; - enum HeaderType data_hdr; - enum Family family; -} mcs_info[NUM_SCHEMES] = { - {{0, 0}, {0, 0}, 0, 0, - HEADER_INVALID, FAMILY_INVALID}, - {{23, 0}, {23, 0}, 20, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{33, 7}, {33, 7}, 30, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{39, 3}, {39, 3}, 36, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - {{53, 7}, {53, 7}, 50, 0, - HEADER_GPRS_DATA, FAMILY_INVALID}, - - {{26, 1}, {26, 1}, 22, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - {{32, 1}, {32, 1}, 28, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_B}, - {{41, 1}, {41, 1}, 37, 48, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_A}, - {{48, 1}, {48, 1}, 44, 0, - HEADER_EGPRS_DATA_TYPE_3, FAMILY_C}, - - {{60, 7}, {59, 6}, 56, 0, - HEADER_EGPRS_DATA_TYPE_2, FAMILY_B}, - {{78, 7}, {77, 6}, 74, 48, - HEADER_EGPRS_DATA_TYPE_2, FAMILY_A}, - {{118, 2}, {117, 4}, 56, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_B}, - {{142, 2}, {141, 4}, 68, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, - {{154, 2}, {153, 4}, 74, 0, - HEADER_EGPRS_DATA_TYPE_1, FAMILY_A}, -}; - -GprsCodingScheme GprsCodingScheme::getBySizeUL(unsigned size) -{ - switch (size) { - case 23: return GprsCodingScheme(CS1); - case 27: return GprsCodingScheme(MCS1); - case 33: return GprsCodingScheme(MCS2); - case 34: return GprsCodingScheme(CS2); - case 40: return GprsCodingScheme(CS3); - case 42: return GprsCodingScheme(MCS3); - case 49: return GprsCodingScheme(MCS4); - case 54: return GprsCodingScheme(CS4); - case 61: return GprsCodingScheme(MCS5); - case 79: return GprsCodingScheme(MCS6); - case 119: return GprsCodingScheme(MCS7); - case 143: return GprsCodingScheme(MCS8); - case 155: return GprsCodingScheme(MCS9); - } - - return GprsCodingScheme(UNKNOWN); -} - -uint8_t GprsCodingScheme::sizeUL() const -{ - return mcs_info[m_scheme].uplink.bytes + (spareBitsUL() ? 1 : 0); -} - -uint8_t GprsCodingScheme::usedSizeUL() const -{ - if (mcs_info[m_scheme].data_hdr == HEADER_GPRS_DATA) - return mcs_info[m_scheme].uplink.bytes; - else - return sizeUL(); -} - -uint8_t GprsCodingScheme::maxBytesUL() const -{ - return mcs_info[m_scheme].uplink.bytes; -} - -uint8_t GprsCodingScheme::spareBitsUL() const -{ - return mcs_info[m_scheme].uplink.ext_bits; -} - -uint8_t GprsCodingScheme::sizeDL() const -{ - return mcs_info[m_scheme].downlink.bytes + (spareBitsDL() ? 1 : 0); -} - -uint8_t GprsCodingScheme::usedSizeDL() const -{ - if (mcs_info[m_scheme].data_hdr == HEADER_GPRS_DATA) - return mcs_info[m_scheme].downlink.bytes; - else - return sizeDL(); -} - -uint8_t GprsCodingScheme::maxBytesDL() const -{ - return mcs_info[m_scheme].downlink.bytes; -} - -uint8_t GprsCodingScheme::spareBitsDL() const -{ - return mcs_info[m_scheme].downlink.ext_bits; -} - -uint8_t GprsCodingScheme::maxDataBlockBytes() const -{ - return mcs_info[m_scheme].data_bytes; -} - -uint8_t GprsCodingScheme::optionalPaddingBits() const -{ - return mcs_info[m_scheme].optional_padding_bits; -} - -enum HeaderType GprsCodingScheme::headerTypeData() const -{ - return mcs_info[m_scheme].data_hdr; -} - -void GprsCodingScheme::inc(enum mcs_kind mode) -{ - if (!isCompatible(mode)) - /* This should not happen. TODO: Use assert? */ - return; - - CodingScheme new_cs(CodingScheme(m_scheme + 1)); - if (!GprsCodingScheme(new_cs).isCompatible(mode)) - /* Clipping, do not change the value */ - return; - - m_scheme = new_cs; -} - -void GprsCodingScheme::dec(enum mcs_kind mode) -{ - if (!isCompatible(mode)) - /* This should not happen. TODO: Use assert? */ - return; - - CodingScheme new_cs(CodingScheme(m_scheme - 1)); - if (!GprsCodingScheme(new_cs).isCompatible(mode)) - /* Clipping, do not change the value */ - return; - - m_scheme = new_cs; -} - -void GprsCodingScheme::inc() -{ - if (mcs_is_gprs(m_scheme) && m_scheme == CS4) - return; - - if (mcs_is_edge(m_scheme) && m_scheme == MCS9) - return; - - if (!isValid()) - return; - - m_scheme = CodingScheme(m_scheme + 1); -} - -void GprsCodingScheme::dec() -{ - if (mcs_is_gprs(m_scheme) && m_scheme == CS1) - return; - - if (mcs_is_edge(m_scheme) && m_scheme == MCS1) - return; - - if (!isValid()) - return; - - m_scheme = CodingScheme(m_scheme - 1); -} - -bool GprsCodingScheme::isFamilyCompatible(GprsCodingScheme o) const -{ - if (*this == o) - return true; - - if (mcs_info[m_scheme].family == FAMILY_INVALID) - return false; - - return mcs_info[m_scheme].family == mcs_info[o.m_scheme].family; -} - -void GprsCodingScheme::decToSingleBlock(bool *needStuffing) -{ - switch (m_scheme) { - case MCS7: *needStuffing = false; m_scheme = MCS5; break; - case MCS8: *needStuffing = true; m_scheme = MCS6; break; - case MCS9: *needStuffing = false; m_scheme = MCS6; break; - default: *needStuffing = false; break; - } -} diff --git a/src/gprs_coding_scheme.h b/src/gprs_coding_scheme.h deleted file mode 100644 index c31f58f..0000000 --- a/src/gprs_coding_scheme.h +++ /dev/null @@ -1,163 +0,0 @@ -/* gprs_coding_scheme.h - * - * Copyright (C) 2015 by Sysmocom s.f.m.c. GmbH - * Author: Jacob Erlbeck - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#pragma once - -#include -#include - -extern "C" { - #include - #include "coding_scheme.h" -} - -class GprsCodingScheme { -public: - -#define EGPRS_ARQ1 0x0 -#define EGPRS_ARQ2 0x1 - - GprsCodingScheme(CodingScheme s = UNKNOWN); - - operator bool() const {return m_scheme != UNKNOWN;} - operator CodingScheme() const {return m_scheme;} - uint8_t to_num() const; - - GprsCodingScheme& operator =(CodingScheme s); - bool operator == (CodingScheme s) const; - GprsCodingScheme& operator =(GprsCodingScheme o); - - bool isValid() const {return UNKNOWN <= m_scheme && m_scheme <= MCS9;} - - bool isCompatible(enum mcs_kind mode) const; - bool isCompatible(GprsCodingScheme o) const; - bool isFamilyCompatible(GprsCodingScheme o) const; - - void inc(enum mcs_kind mode); - void dec(enum mcs_kind mode); - void inc(); - void dec(); - void decToSingleBlock(bool *needStuffing); - - uint8_t sizeUL() const; - uint8_t sizeDL() const; - uint8_t usedSizeUL() const; - uint8_t usedSizeDL() const; - uint8_t maxBytesUL() const; - uint8_t maxBytesDL() const; - uint8_t spareBitsUL() const; - uint8_t spareBitsDL() const; - uint8_t maxDataBlockBytes() const; - uint8_t optionalPaddingBits() const; - - enum HeaderType headerTypeData() const; - - static GprsCodingScheme getBySizeUL(unsigned size); - static GprsCodingScheme getGprsByNum(unsigned num); - static GprsCodingScheme getEgprsByNum(unsigned num); - -private: - GprsCodingScheme(int s); /* fail on use */ - GprsCodingScheme& operator =(int s); /* fail on use */ - enum CodingScheme m_scheme; -}; - -// FIXME: remove once < comparison operator below is no longer necessary -inline uint8_t GprsCodingScheme::to_num() const -{ - if (mcs_is_gprs(m_scheme)) - return (m_scheme - CS1) + 1; - - if (mcs_is_edge(m_scheme)) - return (m_scheme - MCS1) + 1; - - return 0; -} - -inline bool GprsCodingScheme::isCompatible(enum mcs_kind mode) const -{ - switch (mode) { - case GPRS: return mcs_is_gprs(m_scheme); - case EGPRS_GMSK: return mcs_is_edge_gmsk(m_scheme); - case EGPRS: return mcs_is_edge(m_scheme); - } - - return false; -} - -inline bool GprsCodingScheme::isCompatible(GprsCodingScheme o) const -{ - return (mcs_is_gprs(m_scheme) && mcs_is_gprs(o)) || (mcs_is_edge(m_scheme) && mcs_is_edge(o)); -} - -inline GprsCodingScheme::GprsCodingScheme(CodingScheme s) - : m_scheme(s) -{ - if (!isValid()) - m_scheme = UNKNOWN; -} - -inline GprsCodingScheme& GprsCodingScheme::operator =(CodingScheme s) -{ - m_scheme = s; - - if (!isValid()) - m_scheme = UNKNOWN; - - return *this; -} - -inline GprsCodingScheme& GprsCodingScheme::operator =(GprsCodingScheme o) -{ - m_scheme = o.m_scheme; - return *this; -} - -inline GprsCodingScheme GprsCodingScheme::getGprsByNum(unsigned num) -{ - if (num < 1 || num > 4) - return GprsCodingScheme(); - - return GprsCodingScheme(CodingScheme(CS1 + (num - 1))); -} - -inline GprsCodingScheme GprsCodingScheme::getEgprsByNum(unsigned num) -{ - if (num < 1 || num > 9) - return GprsCodingScheme(); - - return GprsCodingScheme(CodingScheme(MCS1 + (num - 1))); -} - -/* The coding schemes form a partial ordering */ -inline bool GprsCodingScheme::operator == (CodingScheme scheme) const -{ - return this->m_scheme == scheme; -} - -inline bool operator !=(GprsCodingScheme a, GprsCodingScheme b) -{ - return !(a == b); -} - -inline bool operator <(GprsCodingScheme a, GprsCodingScheme b) -{ - return a.isCompatible(b) && a.to_num() < b.to_num(); -} diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 102f558..1ec8eda 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -20,7 +20,6 @@ #include "gprs_ms.h" -#include #include "bts.h" #include "tbf.h" #include "tbf_ul.h" @@ -103,6 +102,8 @@ m_ta(GSM48_TA_INVALID), m_ms_class(0), m_egprs_ms_class(0), + m_current_cs_ul(UNKNOWN), + m_current_cs_dl(UNKNOWN), m_is_idle(true), m_ref(0), m_list(this), @@ -226,15 +227,15 @@ switch (m_mode) { case GPRS: if (!mcs_is_gprs(m_current_cs_ul)) { - m_current_cs_ul = GprsCodingScheme::getGprsByNum( + m_current_cs_ul = mcs_get_gprs_by_num( m_bts->bts_data()->initial_cs_ul); - if (!m_current_cs_ul.isValid()) + if (!mcs_is_valid(m_current_cs_ul)) m_current_cs_ul = CS1; } if (!mcs_is_gprs(m_current_cs_dl)) { - m_current_cs_dl = GprsCodingScheme::getGprsByNum( + m_current_cs_dl = mcs_get_gprs_by_num( m_bts->bts_data()->initial_cs_dl); - if (!m_current_cs_dl.isValid()) + if (!mcs_is_valid(m_current_cs_dl)) m_current_cs_dl = CS1; } break; @@ -242,15 +243,15 @@ case EGPRS_GMSK: case EGPRS: if (!mcs_is_edge(m_current_cs_ul)) { - m_current_cs_ul = GprsCodingScheme::getEgprsByNum( + m_current_cs_ul = mcs_get_egprs_by_num( m_bts->bts_data()->initial_mcs_ul); - if (!m_current_cs_ul.isValid()) + if (!mcs_is_valid(m_current_cs_ul)) m_current_cs_ul = MCS1; } if (!mcs_is_edge(m_current_cs_dl)) { - m_current_cs_dl = GprsCodingScheme::getEgprsByNum( + m_current_cs_dl = mcs_get_egprs_by_num( m_bts->bts_data()->initial_mcs_dl); - if (!m_current_cs_dl.isValid()) + if (!mcs_is_valid(m_current_cs_dl)) m_current_cs_dl = MCS1; } break; @@ -510,7 +511,7 @@ { struct gprs_rlcmac_bts *bts_data; int64_t now; - GprsCodingScheme max_cs_dl = this->max_cs_dl(); + enum CodingScheme max_cs_dl = this->max_cs_dl(); OSMO_ASSERT(max_cs_dl); bts_data = m_bts->bts_data(); @@ -527,7 +528,7 @@ if (error_rate > bts_data->cs_adj_upper_limit) { if (mcs_chan_code(m_current_cs_dl) > 0) { - m_current_cs_dl.dec(mode()); + mcs_dec_kind(&m_current_cs_dl, mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): High error rate %d%%, " "reducing CS level to %s\n", @@ -537,7 +538,7 @@ } else if (error_rate < bts_data->cs_adj_lower_limit) { if (m_current_cs_dl < max_cs_dl) { if (now - m_last_cs_not_low > 1000) { - m_current_cs_dl.inc(mode()); + mcs_inc_kind(&m_current_cs_dl, mode()); LOGP(DRLCMACDL, LOGL_INFO, "MS (IMSI %s): Low error rate %d%%, " @@ -560,7 +561,7 @@ } } -GprsCodingScheme GprsMs::max_cs_ul() const +enum CodingScheme GprsMs::max_cs_ul() const { struct gprs_rlcmac_bts *bts_data; @@ -568,29 +569,30 @@ bts_data = m_bts->bts_data(); if (mcs_is_gprs(m_current_cs_ul)) { - if (!bts_data->max_cs_ul) - return GprsCodingScheme(CS4); + if (!bts_data->max_cs_ul) { + return CS4; + } - return GprsCodingScheme::getGprsByNum(bts_data->max_cs_ul); + return mcs_get_gprs_by_num(bts_data->max_cs_ul); } if (!mcs_is_edge(m_current_cs_ul)) - return GprsCodingScheme(); /* UNKNOWN */ + return UNKNOWN; if (bts_data->max_mcs_ul) - return GprsCodingScheme::getEgprsByNum(bts_data->max_mcs_ul); + return mcs_get_egprs_by_num(bts_data->max_mcs_ul); else if (bts_data->max_cs_ul) - return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_ul); + return mcs_get_egprs_by_num(bts_data->max_cs_ul); - return GprsCodingScheme(MCS4); + return MCS4; } -void GprsMs::set_current_cs_dl(CodingScheme scheme) +void GprsMs::set_current_cs_dl(enum CodingScheme scheme) { m_current_cs_dl = scheme; } -GprsCodingScheme GprsMs::max_cs_dl() const +enum CodingScheme GprsMs::max_cs_dl() const { struct gprs_rlcmac_bts *bts_data; @@ -598,32 +600,33 @@ bts_data = m_bts->bts_data(); if (mcs_is_gprs(m_current_cs_dl)) { - if (!bts_data->max_cs_dl) - return GprsCodingScheme(CS4); + if (!bts_data->max_cs_dl) { + return CS4; + } - return GprsCodingScheme::getGprsByNum(bts_data->max_cs_dl); + return mcs_get_gprs_by_num(bts_data->max_cs_dl); } if (!mcs_is_edge(m_current_cs_dl)) - return GprsCodingScheme(); /* UNKNOWN */ + return UNKNOWN; if (bts_data->max_mcs_dl) - return GprsCodingScheme::getEgprsByNum(bts_data->max_mcs_dl); + return mcs_get_egprs_by_num(bts_data->max_mcs_dl); else if (bts_data->max_cs_dl) - return GprsCodingScheme::getEgprsByNum(bts_data->max_cs_dl); + return mcs_get_egprs_by_num(bts_data->max_cs_dl); - return GprsCodingScheme(MCS4); + return MCS4; } void GprsMs::update_cs_ul(const pcu_l1_meas *meas) { struct gprs_rlcmac_bts *bts_data; - GprsCodingScheme max_cs_ul = this->max_cs_ul(); + enum CodingScheme max_cs_ul = this->max_cs_ul(); int old_link_qual; int low; int high; - GprsCodingScheme new_cs_ul = m_current_cs_ul; + enum CodingScheme new_cs_ul = m_current_cs_ul; uint8_t current_cs = mcs_chan_code(m_current_cs_ul); bts_data = m_bts->bts_data(); @@ -674,10 +677,10 @@ old_link_qual = meas->link_qual; if (meas->link_qual < low && old_link_qual < low) - new_cs_ul.dec(mode()); + mcs_dec_kind(&new_cs_ul, mode()); else if (meas->link_qual > high && old_link_qual > high && m_current_cs_ul < max_cs_ul) - new_cs_ul.inc(mode()); + mcs_inc_kind(&new_cs_ul, mode()); if (m_current_cs_ul != new_cs_ul) { LOGP(DRLCMACMEAS, LOGL_INFO, @@ -724,9 +727,9 @@ } } -GprsCodingScheme GprsMs::current_cs_dl() const +enum CodingScheme GprsMs::current_cs_dl() const { - GprsCodingScheme cs = m_current_cs_dl; + enum CodingScheme cs = m_current_cs_dl; size_t unencoded_octets; if (!m_bts) @@ -747,11 +750,11 @@ return cs; /* The throughput would probably be better if the CS level was reduced */ - cs.dec(mode()); + mcs_dec_kind(&cs, mode()); /* CS-2 doesn't gain throughput with small packets, further reduce to CS-1 */ - if (cs == GprsCodingScheme(CS2)) - cs.dec(mode()); + if (cs == CS2) + mcs_dec_kind(&cs, mode()); return cs; } diff --git a/src/gprs_ms.h b/src/gprs_ms.h index 688708e..f7b5c36 100644 --- a/src/gprs_ms.h +++ b/src/gprs_ms.h @@ -22,17 +22,17 @@ struct gprs_codel; -#include #include "cxx_linuxlist.h" #include "llc.h" #include "tbf.h" #include "tbf_dl.h" #include "pcu_l1_if.h" -#include extern "C" { #include #include + + #include "coding_scheme.h" } #include @@ -87,12 +87,12 @@ uint8_t egprs_ms_class() const; void set_ms_class(uint8_t ms_class); void set_egprs_ms_class(uint8_t ms_class); - void set_current_cs_dl(CodingScheme scheme); + void set_current_cs_dl(enum CodingScheme scheme); - GprsCodingScheme current_cs_ul() const; - GprsCodingScheme current_cs_dl() const; - GprsCodingScheme max_cs_ul() const; - GprsCodingScheme max_cs_dl() const; + enum CodingScheme current_cs_ul() const; + enum CodingScheme current_cs_dl() const; + enum CodingScheme max_cs_ul() const; + enum CodingScheme max_cs_dl() const; int first_common_ts() const; uint8_t dl_slots() const; @@ -164,8 +164,8 @@ uint8_t m_ms_class; uint8_t m_egprs_ms_class; /* current coding scheme */ - GprsCodingScheme m_current_cs_ul; - GprsCodingScheme m_current_cs_dl; + enum CodingScheme m_current_cs_ul; + enum CodingScheme m_current_cs_dl; gprs_llc_queue m_llc_queue; @@ -235,7 +235,7 @@ return m_egprs_ms_class; } -inline GprsCodingScheme GprsMs::current_cs_ul() const +inline enum CodingScheme GprsMs::current_cs_ul() const { return m_current_cs_ul; } diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index a33b655..3912204 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -31,12 +31,12 @@ #include #include #include -#include #include #include "gprs_bssgp_pcu.h" extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include #include diff --git a/src/pcu_vty_functions.cpp b/src/pcu_vty_functions.cpp index 7b6c84f..97241e1 100644 --- a/src/pcu_vty_functions.cpp +++ b/src/pcu_vty_functions.cpp @@ -27,7 +27,6 @@ #include "gprs_ms_storage.h" #include "gprs_ms.h" #include "cxx_linuxlist.h" -#include #include #include #include diff --git a/src/pdch.cpp b/src/pdch.cpp index fb02d59..f7cdd89 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -25,7 +25,7 @@ #include #include #include -#include +#include #include #include #include @@ -688,11 +688,11 @@ /* Received Uplink RLC control block. */ int gprs_rlcmac_pdch::rcv_control_block(const uint8_t *data, uint8_t data_len, - uint32_t fn, struct pcu_l1_meas *meas, GprsCodingScheme cs) + uint32_t fn, struct pcu_l1_meas *meas, enum CodingScheme cs) { bitvec *rlc_block; RlcMacUplink_t *ul_control_block; - unsigned len = cs.maxBytesUL(); + unsigned len = mcs_max_bytes_ul(cs); int rc; if (!(rlc_block = bitvec_alloc(len, tall_pcu_ctx))) @@ -751,7 +751,7 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - GprsCodingScheme cs = GprsCodingScheme::getBySizeUL(len); + enum CodingScheme cs = mcs_get_by_size_ul(len); if (!cs) { bts()->do_rate_ctr_inc(CTR_DECODE_ERRORS); LOGP(DRLCMACUL, LOGL_ERROR, "Dropping data block with invalid" @@ -762,7 +762,7 @@ bts()->do_rate_ctr_add(CTR_RLC_UL_BYTES, len); LOGP(DRLCMACUL, LOGL_DEBUG, "Got RLC block, coding scheme: %s, " - "length: %d (%d))\n", mcs_name(cs), len, cs.usedSizeUL()); + "length: %d (%d))\n", mcs_name(cs), len, mcs_used_size_ul(cs)); if (mcs_is_gprs(cs)) return rcv_block_gprs(data, len, fn, meas, cs); @@ -778,12 +778,12 @@ /*! \brief process egprs and gprs data blocks */ int gprs_rlcmac_pdch::rcv_data_block(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs) + struct pcu_l1_meas *meas, enum CodingScheme cs) { int rc; struct gprs_rlc_data_info rlc_dec; struct gprs_rlcmac_ul_tbf *tbf; - unsigned len = cs.sizeUL(); + unsigned len = mcs_size_ul(cs); /* These are always data blocks, since EGPRS still uses CS-1 for * control blocks (see 44.060, section 10.3, 1st par.) @@ -836,7 +836,7 @@ } int gprs_rlcmac_pdch::rcv_block_gprs(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs) + struct pcu_l1_meas *meas, enum CodingScheme cs) { unsigned payload = data[0] >> 6; int rc = 0; diff --git a/src/pdch.h b/src/pdch.h index 97b4b23..ec35174 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -25,9 +25,9 @@ extern "C" { #include #include "gsm_rlcmac.h" +#include "coding_scheme.h" } -#include #include #endif @@ -61,9 +61,9 @@ int rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); int rcv_block_gprs(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, enum CodingScheme cs); int rcv_data_block(uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, enum CodingScheme cs); gprs_rlcmac_bts *bts_data() const; BTS *bts() const; @@ -113,7 +113,7 @@ #ifdef __cplusplus private: int rcv_control_block(const uint8_t *data, uint8_t data_len, uint32_t fn, - struct pcu_l1_meas *meas, GprsCodingScheme cs); + struct pcu_l1_meas *meas, enum CodingScheme cs); void rcv_control_ack(Packet_Control_Acknowledgement_t *, uint32_t fn); void rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *, uint32_t fn, struct pcu_l1_meas *meas); diff --git a/src/rlc.cpp b/src/rlc.cpp index 5316136..4f36025 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -18,7 +18,6 @@ #include "bts.h" #include "gprs_debug.h" -#include #include #include @@ -29,6 +28,8 @@ #include #include #include + +#include "coding_scheme.h" } @@ -314,11 +315,11 @@ } static void gprs_rlc_data_header_init(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, unsigned int header_bits, + enum CodingScheme cs, bool with_padding, unsigned int header_bits, const unsigned int spb) { unsigned int i; - unsigned int padding_bits = with_padding ? cs.optionalPaddingBits() : 0; + unsigned int padding_bits = with_padding ? mcs_opt_padding_bits(cs) : 0; rlc->cs = cs; rlc->r = 0; @@ -330,7 +331,7 @@ rlc->es_p = 0; rlc->rrbp = 0; rlc->pr = 0; - rlc->num_data_blocks = num_data_blocks(cs.headerTypeData()); + rlc->num_data_blocks = num_data_blocks(mcs_header_type(cs)); rlc->with_padding = with_padding; OSMO_ASSERT(rlc->num_data_blocks <= ARRAY_SIZE(rlc->block_info)); @@ -341,35 +342,35 @@ rlc->data_offs_bits[i] = header_bits + padding_bits + - (i+1) * num_data_block_header_bits(cs.headerTypeData()) + + (i+1) * num_data_block_header_bits(mcs_header_type(cs)) + i * 8 * rlc->block_info[0].data_len; } } void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, const unsigned int spb) + enum CodingScheme cs, bool with_padding, const unsigned int spb) { return gprs_rlc_data_header_init(rlc, cs, with_padding, - num_data_header_bits_DL(cs.headerTypeData()), spb); + num_data_header_bits_DL(mcs_header_type(cs)), spb); } void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding) + enum CodingScheme cs, bool with_padding) { /* * last parameter is sent as 0 since common function used * for both DL and UL */ return gprs_rlc_data_header_init(rlc, cs, with_padding, - num_data_header_bits_UL(cs.headerTypeData()), 0); + num_data_header_bits_UL(mcs_header_type(cs)), 0); } void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, bool with_padding, const unsigned int spb) + enum CodingScheme cs, bool with_padding, const unsigned int spb) { - unsigned int data_len = cs.maxDataBlockBytes(); + unsigned int data_len = mcs_max_data_block_bytes(cs); if (with_padding) - data_len -= cs.optionalPaddingBits() / 8; + data_len -= mcs_opt_padding_bits(cs) / 8; rdbi->data_len = data_len; rdbi->bsn = 0; @@ -380,19 +381,19 @@ rdbi->spb = spb; } -unsigned int gprs_rlc_mcs_cps(GprsCodingScheme cs, +unsigned int gprs_rlc_mcs_cps(enum CodingScheme cs, enum egprs_puncturing_values punct, enum egprs_puncturing_values punct2, bool with_padding) { /* validate that punct and punct2 are as expected */ - switch (CodingScheme(cs)) { + switch (cs) { case MCS9: case MCS8: case MCS7: if (punct2 == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct2 value for coding scheme %d: %d\n", - CodingScheme(cs), punct2); + cs, punct2); return -1; } /* fall through */ @@ -405,7 +406,7 @@ if (punct == EGPRS_PS_INVALID) { LOGP(DRLCMACDL, LOGL_ERROR, "Invalid punct value for coding scheme %d: %d\n", - CodingScheme(cs), punct); + cs, punct); return -1; } break; @@ -414,7 +415,7 @@ } /* See 3GPP TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */ - switch (CodingScheme(cs)) { + switch (cs) { case MCS1: return 0b1011 + punct % EGPRS_MAX_PS_NUM_2; case MCS2: return 0b1001 + @@ -443,12 +444,12 @@ } void gprs_rlc_mcs_cps_decode(unsigned int cps, - GprsCodingScheme cs, int *punct, int *punct2, int *with_padding) + enum CodingScheme cs, int *punct, int *punct2, int *with_padding) { *punct2 = -1; *with_padding = 0; - switch (CodingScheme(cs)) { + switch (cs) { case MCS1: cps -= 0b1011; *punct = cps % 2; break; case MCS2: @@ -481,8 +482,8 @@ */ enum egprs_puncturing_values gprs_get_punct_scheme( enum egprs_puncturing_values punct, - const GprsCodingScheme &cs, - const GprsCodingScheme &cs_current, + const enum CodingScheme &cs, + const enum CodingScheme &cs_current, const enum egprs_rlcmac_dl_spb spb) { @@ -495,23 +496,23 @@ return punct; /* TS 44.060 9.3.2.1.1 */ - if ((CodingScheme(cs) == MCS9) && - (CodingScheme(cs_current) == MCS6)) { + if ((cs == MCS9) && + (cs_current == MCS6)) { if ((punct == EGPRS_PS_1) || (punct == EGPRS_PS_3)) return EGPRS_PS_1; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((CodingScheme(cs) == MCS6) && - (CodingScheme(cs_current) == MCS9)) { + } else if ((cs == MCS6) && + (cs_current == MCS9)) { if (punct == EGPRS_PS_1) return EGPRS_PS_3; else if (punct == EGPRS_PS_2) return EGPRS_PS_2; - } else if ((CodingScheme(cs) == MCS7) && - (CodingScheme(cs_current) == MCS5)) + } else if ((cs == MCS7) && + (cs_current == MCS5)) return EGPRS_PS_1; - else if ((CodingScheme(cs) == MCS5) && - (CodingScheme(cs_current) == MCS7)) + else if ((cs == MCS5) && + (cs_current == MCS7)) return EGPRS_PS_2; else if (cs != cs_current) return EGPRS_PS_1; @@ -532,9 +533,9 @@ * TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1 */ void gprs_update_punct_scheme(enum egprs_puncturing_values *punct, - const GprsCodingScheme &cs) + const enum CodingScheme &cs) { - switch (CodingScheme(cs)) { + switch (cs) { case MCS1 : case MCS2 : case MCS5 : diff --git a/src/rlc.h b/src/rlc.h index 109c5b3..707f305 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -19,7 +19,9 @@ */ #pragma once -#include "gprs_coding_scheme.h" +extern "C" { +#include "coding_scheme.h" +} #include @@ -154,7 +156,7 @@ }; struct gprs_rlc_data_info { - GprsCodingScheme cs; + enum CodingScheme cs; unsigned int r; unsigned int si; unsigned int tfi; @@ -192,15 +194,15 @@ * 8.1.1.1 and Table 8.1.1.2 * For UL. cs_last shall be used everywhere. */ - GprsCodingScheme cs_current_trans; - GprsCodingScheme cs_last; + enum CodingScheme cs_current_trans; + enum CodingScheme cs_last; /* * The MCS of initial transmission of a BSN * This variable is used for split block * processing in DL */ - GprsCodingScheme cs_init; + enum CodingScheme cs_init; /* puncturing scheme value to be used for next transmission*/ enum egprs_puncturing_values next_ps; @@ -212,21 +214,21 @@ uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_length); void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding, const unsigned int spb); + enum CodingScheme cs, bool with_padding, const unsigned int spb); void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc, - GprsCodingScheme cs, bool with_padding); + enum CodingScheme cs, bool with_padding); void gprs_rlc_data_block_info_init(struct gprs_rlc_data_block_info *rdbi, - GprsCodingScheme cs, bool with_padding, const unsigned int spb); -unsigned int gprs_rlc_mcs_cps(GprsCodingScheme cs, enum egprs_puncturing_values + enum CodingScheme cs, bool with_padding, const unsigned int spb); +unsigned int gprs_rlc_mcs_cps(enum CodingScheme cs, enum egprs_puncturing_values punct, enum egprs_puncturing_values punct2, bool with_padding); -void gprs_rlc_mcs_cps_decode(unsigned int cps, GprsCodingScheme cs, +void gprs_rlc_mcs_cps_decode(unsigned int cps, enum CodingScheme cs, int *punct, int *punct2, int *with_padding); enum egprs_puncturing_values gprs_get_punct_scheme(enum egprs_puncturing_values - punct, const GprsCodingScheme &cs, - const GprsCodingScheme &cs_current_trans, + punct, const enum CodingScheme &cs, + const enum CodingScheme &cs_current_trans, const enum egprs_rlcmac_dl_spb spb); void gprs_update_punct_scheme(enum egprs_puncturing_values *punct, - const GprsCodingScheme &cs); + const enum CodingScheme &cs); /* * I hold the currently transferred blocks and will provide * the routines to manipulate these arrays. diff --git a/src/tbf.cpp b/src/tbf.cpp index ccf257d..0cc0129 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include @@ -49,6 +48,7 @@ #include #include "gsm_rlcmac.h" +#include "coding_scheme.h" } #include @@ -310,13 +310,14 @@ m_ms_class = ms_class_; } -GprsCodingScheme gprs_rlcmac_tbf::current_cs() const +enum CodingScheme gprs_rlcmac_tbf::current_cs() const { - GprsCodingScheme cs; + enum CodingScheme cs; + if (direction == GPRS_RLCMAC_UL_TBF) - cs = m_ms ? m_ms->current_cs_ul() : GprsCodingScheme(); + cs = m_ms ? m_ms->current_cs_ul() : UNKNOWN; else - cs = m_ms ? m_ms->current_cs_dl() : GprsCodingScheme(); + cs = m_ms ? m_ms->current_cs_dl() : UNKNOWN; return cs; } @@ -965,8 +966,8 @@ static void setup_egprs_mode(gprs_rlcmac_bts *bts, GprsMs *ms) { - if (mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_ul)) && - mcs_is_edge_gmsk(GprsCodingScheme::getEgprsByNum(bts->max_mcs_dl)) && + if (mcs_is_edge_gmsk(mcs_get_egprs_by_num(bts->max_mcs_ul)) && + mcs_is_edge_gmsk(mcs_get_egprs_by_num(bts->max_mcs_dl)) && ms->mode() != EGPRS) { ms->set_mode(EGPRS_GMSK); diff --git a/src/tbf.h b/src/tbf.h index 2b4cf6d..be3336a 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -24,14 +24,16 @@ #include "rlc.h" #include "cxx_linuxlist.h" #include -#include #include #include + extern "C" { #include - #include - #include - #include +#include +#include +#include + +#include "coding_scheme.h" } struct bssgp_bvc_ctx; @@ -245,7 +247,7 @@ void set_ta(uint8_t); uint8_t ms_class() const; void set_ms_class(uint8_t); - GprsCodingScheme current_cs() const; + enum CodingScheme current_cs() const; size_t llc_queue_size() const; time_t created_ts() const; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index cd4ddb9..03149ba 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -370,7 +369,7 @@ { int bsn; int data_len2, force_data_len = -1; - GprsCodingScheme force_cs; + enum CodingScheme force_cs = UNKNOWN; /* search for a nacked or resend marked bsn */ bsn = m_window.resend_needed(); @@ -446,7 +445,7 @@ return take_next_bsn(fn, previous_bsn, may_combine); } else if (have_data()) { /* The window has space left, generate new bsn */ - GprsCodingScheme new_cs; + enum CodingScheme new_cs; new_cs = force_cs ? force_cs : current_cs(); LOGPTBFDL(this, LOGL_DEBUG, "Sending new block at BSN %d, CS=%s\n", @@ -480,7 +479,7 @@ bts->do_rate_ctr_inc(CTR_RLC_RESENT); } - *may_combine = num_data_blocks(m_rlc.block(bsn)->cs_current_trans.headerTypeData()) > 1; + *may_combine = num_data_blocks(mcs_header_type(m_rlc.block(bsn)->cs_current_trans)) > 1; return bsn; } @@ -561,7 +560,7 @@ m_last_dl_drained_fn = -1; } -int gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, GprsCodingScheme cs) +int gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, enum CodingScheme cs) { uint8_t *data; gprs_rlc_data *rlc_data; @@ -574,10 +573,10 @@ if (m_llc.frame_length() == 0) schedule_next_frame(); - OSMO_ASSERT(cs.isValid()); + OSMO_ASSERT(mcs_is_valid(cs)); /* length of usable data block (single data unit w/o header) */ - const uint8_t block_data_len = cs.maxDataBlockBytes(); + const uint8_t block_data_len = mcs_max_data_block_bytes(cs); /* now we still have untransmitted LLC data, so we fill mac block */ rlc_data = m_rlc.block(bsn); @@ -691,7 +690,7 @@ int rc; bool is_final = false; gprs_rlc_data_info rlc; - GprsCodingScheme cs; + enum CodingScheme cs; int bsns[ARRAY_SIZE(rlc.block_info)]; unsigned num_bsns; bool need_padding = false; @@ -740,8 +739,8 @@ * Refer commit be881c028fc4da00c4046ecd9296727975c206a3 * dated 2016-02-07 23:45:40 (UTC) */ - if (cs != GprsCodingScheme(MCS8)) - cs.decToSingleBlock(&need_padding); + if (cs != MCS8) + mcs_dec_to_single_block(&cs, &need_padding); } spb = get_egprs_dl_spb(index); @@ -756,7 +755,7 @@ rlc.tfi = m_tfi; /* TFI */ /* return data block(s) as message */ - msg_len = cs.sizeDL(); + msg_len = mcs_size_dl(cs); dl_msg = msgb_alloc(msg_len, "rlcmac_dl_data"); if (!dl_msg) return NULL; @@ -1273,11 +1272,11 @@ egprs_rlc_dl_reseg_bsn_state *block_status_dl = &rlc_data->spb_status.block_status_dl; - enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); - enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + enum CodingScheme cs_init = rlc_data->cs_init; + enum CodingScheme cs_current_trans = rlc_data->cs_current_trans; - enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); - enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + enum HeaderType ht_cs_init = mcs_header_type(rlc_data->cs_init); + enum HeaderType ht_cs_current_trans = mcs_header_type(rlc_data->cs_current_trans); *block_data = &rlc_data->block[0]; @@ -1346,11 +1345,11 @@ struct gprs_rlc_data *rlc_data = m_rlc.block(bsn); egprs_rlc_dl_reseg_bsn_state block_status_dl = rlc_data->spb_status.block_status_dl; - enum CodingScheme cs_init = CodingScheme(rlc_data->cs_init); - enum CodingScheme cs_current_trans = CodingScheme(rlc_data->cs_current_trans); + enum CodingScheme cs_init = rlc_data->cs_init; + enum CodingScheme cs_current_trans = rlc_data->cs_current_trans; - enum HeaderType ht_cs_init = rlc_data->cs_init.headerTypeData(); - enum HeaderType ht_cs_current_trans = rlc_data->cs_current_trans.headerTypeData(); + enum HeaderType ht_cs_init = mcs_header_type(rlc_data->cs_init); + enum HeaderType ht_cs_current_trans = mcs_header_type(rlc_data->cs_current_trans); /* Table 10.4.8b.1 of 44.060 */ if (ht_cs_current_trans == HEADER_EGPRS_DATA_TYPE_3) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index f3838d7..bac524a 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -111,7 +111,7 @@ int take_next_bsn(uint32_t fn, int previous_bsn, bool *may_combine); bool restart_bsn_cycle(); - int create_new_bsn(const uint32_t fn, GprsCodingScheme cs); + int create_new_bsn(const uint32_t fn, enum CodingScheme cs); struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, int index, int index2 = -1); int update_window(const uint8_t ssn, const uint8_t *rbb); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 009dfcb..3115080 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include "pcu_utils.h" @@ -75,7 +74,7 @@ const uint8_t *data = _data->block; uint8_t len = _data->len; const struct gprs_rlc_data_block_info *rdbi = &_data->block_info; - GprsCodingScheme cs = _data->cs_last; + enum CodingScheme cs = _data->cs_last; Decoding::RlcData frames[16], *frame; int i, num_frames = 0; @@ -523,7 +522,7 @@ * upgrade the MCS to the type 2 */ if (assemble_status == EGPRS_RESEG_DEFAULT) { - switch (CodingScheme(rlc->cs)) { + switch (rlc->cs) { case MCS3 : block->cs_last = MCS6; LOGPTBFUL(this, LOGL_DEBUG, "Upgrading to MCS6\n"); diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp index 3f424d1..5845f4d 100644 --- a/tests/edge/EdgeTest.cpp +++ b/tests/edge/EdgeTest.cpp @@ -21,7 +21,6 @@ */ #include "gprs_debug.h" -#include "gprs_coding_scheme.h" #include "decoding.h" #include "encoding.h" #include "rlc.h" @@ -31,6 +30,7 @@ extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include @@ -48,69 +48,69 @@ int16_t spoof_mnc = 0, spoof_mcc = 0; bool spoof_mnc_3_digits = false; -static void check_coding_scheme(GprsCodingScheme& cs, enum mcs_kind mode) +static void check_coding_scheme(enum CodingScheme& cs, enum mcs_kind mode) { volatile unsigned expected_size; bool need_padding; - GprsCodingScheme new_cs; + enum CodingScheme new_cs; - OSMO_ASSERT(cs.isValid()); - OSMO_ASSERT(cs.isCompatible(mode)); + OSMO_ASSERT(mcs_is_valid(cs)); + OSMO_ASSERT(mcs_is_compat_kind(cs, mode)); /* Check static getBySizeUL() */ - expected_size = cs.usedSizeUL(); - if (cs.spareBitsUL() > 0 && mcs_is_gprs(cs)) + expected_size = mcs_used_size_ul(cs); + if (mcs_spare_bits_ul(cs) > 0 && mcs_is_gprs(cs)) expected_size += 1; - OSMO_ASSERT(expected_size == cs.sizeUL()); - OSMO_ASSERT(cs == GprsCodingScheme::getBySizeUL(expected_size)); + OSMO_ASSERT(expected_size == mcs_size_ul(cs)); + OSMO_ASSERT(cs == mcs_get_by_size_ul(expected_size)); /* Check static sizeUL() */ - expected_size = cs.usedSizeDL(); - if (cs.spareBitsDL() > 0 && mcs_is_gprs(cs)) + expected_size = mcs_used_size_dl(cs); + if (mcs_spare_bits_dl(cs) > 0 && mcs_is_gprs(cs)) expected_size += 1; - OSMO_ASSERT(expected_size == cs.sizeDL()); + OSMO_ASSERT(expected_size == mcs_size_dl(cs)); /* Check data block sizes */ - OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesDL()); - OSMO_ASSERT(cs.maxDataBlockBytes() * num_data_blocks(cs.headerTypeData()) < cs.maxBytesUL()); + OSMO_ASSERT(mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)) < mcs_max_bytes_dl(cs)); + OSMO_ASSERT(mcs_max_data_block_bytes(cs) * num_data_blocks(mcs_header_type(cs)) < mcs_max_bytes_ul(cs)); /* Check inc/dec */ new_cs = cs; - new_cs.inc(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_inc_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); if (new_cs != cs) { - new_cs.dec(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_dec_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); OSMO_ASSERT(new_cs == cs); } - new_cs.dec(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_dec_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); if (new_cs != cs) { - new_cs.inc(mode); - OSMO_ASSERT(new_cs.isCompatible(mode)); + mcs_inc_kind(&new_cs, mode); + OSMO_ASSERT(mcs_is_compat_kind(new_cs, mode)); OSMO_ASSERT(new_cs == cs); } new_cs = cs; - new_cs.decToSingleBlock(&need_padding); - OSMO_ASSERT(new_cs.isFamilyCompatible(cs)); - OSMO_ASSERT(cs.isFamilyCompatible(new_cs)); - OSMO_ASSERT(cs.isCompatible(new_cs)); + mcs_dec_to_single_block(&new_cs, &need_padding); + OSMO_ASSERT(mcs_is_family_compat(new_cs, cs)); + OSMO_ASSERT(mcs_is_family_compat(cs, new_cs)); + OSMO_ASSERT(mcs_is_compat(cs, new_cs)); if (need_padding) { - OSMO_ASSERT(new_cs.maxDataBlockBytes() == - new_cs.optionalPaddingBits()/8 + cs.maxDataBlockBytes()); + OSMO_ASSERT(mcs_max_data_block_bytes(new_cs) == + mcs_opt_padding_bits(new_cs)/8 + mcs_max_data_block_bytes(cs)); } else { - OSMO_ASSERT(new_cs.maxDataBlockBytes() == cs.maxDataBlockBytes()); + OSMO_ASSERT(mcs_max_data_block_bytes(new_cs) == mcs_max_data_block_bytes(cs)); } } -static bool check_strong_monotonicity(const GprsCodingScheme *cs, uint8_t last_UL, uint8_t last_DL) +static bool check_strong_monotonicity(const enum CodingScheme cs, uint8_t last_UL, uint8_t last_DL) { - if (cs->maxBytesUL() <= last_UL) + if (mcs_max_bytes_ul(cs) <= last_UL) return false; - if (cs->maxBytesDL() <= last_DL) + if (mcs_max_bytes_dl(cs) <= last_DL) return false; return true; @@ -121,14 +121,14 @@ unsigned i; uint8_t last_size_UL; uint8_t last_size_DL; - CodingScheme gprs_schemes[] = { + enum CodingScheme gprs_schemes[] = { CS1, CS2, CS3, CS4 }; struct { - CodingScheme s; + enum CodingScheme s; bool is_gmsk; } egprs_schemes[] = { { MCS1, true}, @@ -144,31 +144,28 @@ printf("=== start %s ===\n", __func__); - GprsCodingScheme cs; + enum CodingScheme cs = UNKNOWN; OSMO_ASSERT(!cs); - OSMO_ASSERT(CodingScheme(cs) == UNKNOWN); - OSMO_ASSERT(cs == GprsCodingScheme(UNKNOWN)); - OSMO_ASSERT(!cs.isCompatible(GPRS)); - OSMO_ASSERT(!cs.isCompatible(EGPRS_GMSK)); - OSMO_ASSERT(!cs.isCompatible(EGPRS)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, GPRS)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, EGPRS_GMSK)); + OSMO_ASSERT(!mcs_is_compat_kind(cs, EGPRS)); last_size_UL = 0; last_size_DL = 0; for (i = 0; i < ARRAY_SIZE(gprs_schemes); i++) { - GprsCodingScheme current_cs(gprs_schemes[i]); + enum CodingScheme current_cs = gprs_schemes[i]; OSMO_ASSERT(mcs_is_gprs(current_cs)); OSMO_ASSERT(!mcs_is_edge(current_cs)); OSMO_ASSERT(!mcs_is_edge_gmsk(current_cs)); - OSMO_ASSERT(CodingScheme(current_cs) == gprs_schemes[i]); - OSMO_ASSERT(current_cs == GprsCodingScheme(gprs_schemes[i])); + OSMO_ASSERT(current_cs == gprs_schemes[i]); - OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); - last_size_UL = current_cs.maxBytesUL(); - last_size_DL = current_cs.maxBytesDL(); + OSMO_ASSERT(check_strong_monotonicity(current_cs, last_size_UL, last_size_DL)); + last_size_UL = mcs_max_bytes_ul(current_cs); + last_size_DL = mcs_max_bytes_dl(current_cs); /* Check header types */ - OSMO_ASSERT(current_cs.headerTypeData() == HEADER_GPRS_DATA); + OSMO_ASSERT(mcs_header_type(current_cs) == HEADER_GPRS_DATA); check_coding_scheme(current_cs, GPRS); } @@ -178,16 +175,15 @@ last_size_DL = 0; for (i = 0; i < ARRAY_SIZE(egprs_schemes); i++) { - GprsCodingScheme current_cs(egprs_schemes[i].s); + enum CodingScheme current_cs = egprs_schemes[i].s; OSMO_ASSERT(!mcs_is_gprs(current_cs)); OSMO_ASSERT(mcs_is_edge(current_cs)); OSMO_ASSERT(mcs_is_edge_gmsk(current_cs) == !!egprs_schemes[i].is_gmsk); - OSMO_ASSERT(CodingScheme(current_cs) == egprs_schemes[i].s); - OSMO_ASSERT(current_cs == GprsCodingScheme(egprs_schemes[i].s)); + OSMO_ASSERT(current_cs == egprs_schemes[i].s); - OSMO_ASSERT(check_strong_monotonicity(¤t_cs, last_size_UL, last_size_DL)); - last_size_UL = current_cs.maxBytesUL(); - last_size_DL = current_cs.maxBytesDL(); + OSMO_ASSERT(check_strong_monotonicity(current_cs, last_size_UL, last_size_DL)); + last_size_UL = mcs_max_bytes_ul(current_cs); + last_size_DL = mcs_max_bytes_dl(current_cs); if (egprs_schemes[i].is_gmsk) check_coding_scheme(current_cs, EGPRS_GMSK); @@ -201,7 +197,7 @@ static void test_rlc_unit_decoder() { struct gprs_rlc_data_block_info rdbi = {0}; - GprsCodingScheme cs; + enum CodingScheme cs; uint8_t data[74]; Decoding::RlcData chunks[16]; volatile int num_chunks = 0; @@ -213,7 +209,7 @@ /* TS 44.060, B.1 */ cs = CS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -232,12 +228,12 @@ OSMO_ASSERT(chunks[1].length == 26); OSMO_ASSERT(chunks[1].is_complete); OSMO_ASSERT(chunks[2].offset == 39); - OSMO_ASSERT(chunks[2].length == cs.maxDataBlockBytes() - 39); + OSMO_ASSERT(chunks[2].length == mcs_max_data_block_bytes(cs) - 39); OSMO_ASSERT(!chunks[2].is_complete); /* TS 44.060, B.2 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -271,7 +267,7 @@ /* TS 44.060, B.3 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -292,7 +288,7 @@ /* TS 44.060, B.4 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 15; @@ -308,7 +304,7 @@ /* TS 44.060, B.6 */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 0; @@ -324,7 +320,7 @@ /* TS 44.060, B.8.1 */ cs = MCS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -353,7 +349,7 @@ * is not consistent with Section 10.3a.1 & 10.3a.2. */ cs = MCS2; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 0; rdbi.cv = 15; @@ -417,7 +413,7 @@ /* Note that the spec confuses the byte numbering here, too (see above) */ cs = MCS2; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 0; rdbi.cv = 0; @@ -433,7 +429,7 @@ /* CS-1, TLLI, last block, single chunk until the end of the block */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 1; rdbi.ti = 1; rdbi.cv = 0; @@ -454,7 +450,7 @@ /* Like TS 44.060, B.2, first RLC block but with TLLI */ cs = CS1; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 1; rdbi.cv = 15; @@ -476,7 +472,7 @@ /* Like TS 44.060, B.8.1 but with TLLI */ cs = MCS4; - rdbi.data_len = cs.maxDataBlockBytes(); + rdbi.data_len = mcs_max_data_block_bytes(cs); rdbi.e = 0; rdbi.ti = 1; rdbi.cv = 15; @@ -528,7 +524,7 @@ static void test_rlc_unit_encoder() { struct gprs_rlc_data_block_info rdbi = {0}; - GprsCodingScheme cs; + enum CodingScheme cs; uint8_t data[74]; uint8_t llc_data[1500] = {0,}; int num_chunks = 0; @@ -1080,25 +1076,21 @@ uint8_t saved_block[256]; uint8_t test_block[256]; uint8_t out_block[256]; - CodingScheme scheme; + enum CodingScheme cs; int pattern; volatile unsigned int block_idx, i; - for (scheme = CS1; - scheme < NUM_SCHEMES; - scheme = CodingScheme(scheme + 1)) + for (cs = CS1; cs < NUM_SCHEMES; cs = static_cast(cs + 1)) { - GprsCodingScheme cs(scheme); - for (pattern = 0; pattern <= 0xff; pattern += 0xff) { /* prepare test block */ test_block[0] = pattern ^ 0xff; - for (i = 1; i + 1 < cs.maxDataBlockBytes(); i++) + for (i = 1; i + 1 < mcs_max_data_block_bytes(cs); i++) test_block[i] = i; - test_block[cs.maxDataBlockBytes()-1] = pattern ^ 0xff; + test_block[mcs_max_data_block_bytes(cs)-1] = pattern ^ 0xff; for (block_idx = 0; - block_idx < num_data_blocks(cs.headerTypeData()); + block_idx < num_data_blocks(mcs_header_type(cs)); block_idx++) { struct gprs_rlc_data_info rlc; @@ -1110,7 +1102,7 @@ fprintf(stderr, "Test data block: %s\n", - osmo_hexdump(test_block, cs.maxDataBlockBytes())); + osmo_hexdump(test_block, mcs_max_data_block_bytes(cs))); Encoding::rlc_copy_from_aligned_buffer( &rlc, block_idx, bits, test_block); @@ -1119,20 +1111,20 @@ "Encoded message block, %s, idx %d, " "pattern %02x: %s\n", mcs_name(rlc.cs), block_idx, pattern, - osmo_hexdump(bits, cs.sizeDL())); + osmo_hexdump(bits, mcs_size_dl(cs))); Decoding::rlc_copy_to_aligned_buffer( &rlc, block_idx, bits, out_block); fprintf(stderr, "Out data block: %s\n", - osmo_hexdump(out_block, cs.maxDataBlockBytes())); + osmo_hexdump(out_block, mcs_max_data_block_bytes(cs))); /* restore original bits */ Encoding::rlc_copy_from_aligned_buffer( &rlc, block_idx, bits, saved_block); OSMO_ASSERT(memcmp(test_block, out_block, - rlc.cs.maxDataBlockBytes()) == 0); + mcs_max_data_block_bytes(rlc.cs)) == 0); for (i = 0; i < sizeof(bits); i++) OSMO_ASSERT(bits[i] == pattern); @@ -1146,14 +1138,12 @@ struct gprs_rlc_data_info rlc; printf("=== start %s ===\n", __func__); - gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(CS1), false, 0); + gprs_rlc_data_info_init_dl(&rlc, CS1, false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 24); OSMO_ASSERT(rlc.block_info[0].data_len == 20); - gprs_rlc_data_info_init_dl(&rlc, - GprsCodingScheme(MCS1), false, 0); + gprs_rlc_data_info_init_dl(&rlc, MCS1, false, 0); OSMO_ASSERT(rlc.num_data_blocks == 1); OSMO_ASSERT(rlc.data_offs_bits[0] == 33); OSMO_ASSERT(rlc.block_info[0].data_len == 22); @@ -1188,7 +1178,7 @@ tfi = 1; struct gprs_rlc_data_info rlc; - GprsCodingScheme cs; + enum CodingScheme cs; int rc, offs; /*without padding*/ @@ -1289,7 +1279,7 @@ uint8_t data[155] = {0}; struct gprs_rlc_ul_header_egprs_1 *egprs1 = NULL; struct gprs_rlc_data_info rlc; - GprsCodingScheme cs; + enum CodingScheme cs; int rc; egprs1 = (struct gprs_rlc_ul_header_egprs_1 *) data; diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 3f2925a..561fc7c 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -32,6 +32,7 @@ extern "C" { #include "pcu_vty.h" +#include "coding_scheme.h" #include #include @@ -656,7 +657,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -732,7 +732,6 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; @@ -805,7 +804,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -882,7 +880,6 @@ * TS 44.060, B.8.1 * first seg received first, later second seg */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -937,7 +934,6 @@ */ memset(data_msg, 0, sizeof(data_msg)); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -990,7 +986,6 @@ * TS 44.060, B.8.1 * Error scenario with spb as 1 */ - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1027,7 +1022,6 @@ for (i = 0; i < 42; i++) data_msg[i] = i; - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1051,7 +1045,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1079,7 +1072,6 @@ OSMO_ASSERT(block->cs_last == MCS6); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1103,7 +1095,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1127,7 +1118,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_FIRST_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1155,7 +1145,6 @@ /* Assembled MCS is MCS6. so the size is 74 */ OSMO_ASSERT(block->len == 74); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1179,7 +1168,6 @@ OSMO_ASSERT(block->spb_status.block_status_ul == EGPRS_RESEG_SECOND_SEG_RXD); - cs = MCS3; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 1; egprs3->r = 1; @@ -1251,7 +1239,6 @@ gprs_rlcmac_ul_tbf *ul_tbf; gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; - GprsCodingScheme cs; bts = the_bts->bts_data(); @@ -1318,8 +1305,6 @@ uint8_t trx_no = 0; int tfi = 0; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; - /* send fake data with cv=0*/ struct gprs_rlc_ul_header_egprs_3 *hdr3 = NULL; @@ -1400,7 +1385,6 @@ uint8_t trx_no = 0; int tfi = 0; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; check_tbf(ul_tbf); /* send fake data with cv=0*/ @@ -1483,8 +1467,6 @@ int tfi = 0; gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_pdch *pdch; - GprsCodingScheme cs; - /* check the TBF */ ul_tbf = the_bts->ul_tbf_by_tfi(tfi, trx_no, ts_no); @@ -2364,7 +2346,6 @@ gprs_rlcmac_bts *bts; RlcMacUplink_t ulreq = {0}; struct gprs_rlc_ul_header_egprs_3 *egprs3 = NULL; - GprsCodingScheme cs; Packet_Resource_Request_t *presreq = NULL; MS_Radio_Access_capability_t *pmsradiocap = NULL; Multislot_capability_t *pmultislotcap = NULL; @@ -2429,7 +2410,6 @@ OSMO_ASSERT(ms->ta() == qta/4); OSMO_ASSERT(ms->ul_tbf() == ul_tbf); - cs = MCS4; egprs3 = (struct gprs_rlc_ul_header_egprs_3 *) data_msg; egprs3->si = 0; egprs3->r = 1; @@ -2817,7 +2797,7 @@ OSMO_ASSERT(bsn1 == 0); dl_tbf->ms()->set_current_cs_dl - (static_cast < CodingScheme > + (static_cast < enum CodingScheme > (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); @@ -2849,7 +2829,7 @@ /* Handle (MCS3, MCS3) -> MCS6 case */ dl_tbf->ms()->set_current_cs_dl - (static_cast < CodingScheme > + (static_cast < enum CodingScheme > (CS4 + mcs)); NACK(dl_tbf, 0); @@ -2898,7 +2878,7 @@ NACK(dl_tbf, 0); dl_tbf->ms()->set_current_cs_dl - (static_cast < CodingScheme > + (static_cast < enum CodingScheme > (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); @@ -2985,7 +2965,7 @@ /* Set the demanded MCS to demanded_mcs */ dl_tbf->ms()->set_current_cs_dl - (static_cast < CodingScheme > + (static_cast < enum CodingScheme > (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); @@ -3012,7 +2992,7 @@ NACK(dl_tbf, 1); dl_tbf->ms()->set_current_cs_dl - (static_cast < CodingScheme > + (static_cast < enum CodingScheme > (CS4 + demanded_mcs)); fn = fn_add_blocks(fn, 1); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie9ce2144ba9e8dbba9704d4e0000a2929e3e41df Gerrit-Change-Number: 18351 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 10:43:58 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 10:43:58 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec50f744adb9_26e02abee910c5fc1893455@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_Testing/x86_64 Package network:osmocom:latest/limesuite failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 208s] SIOCSIFADDR: File exists [ 208s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 208s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 208s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 208s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 208s] ----------------------------------------------------------------- [ 208s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 208s] ----------------------------------------------------------------- [ 208s] ----------------------------------------------------------------- [ 208s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 208s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 208s] dpkg-buildpackage: info: source package limesuite [ 208s] dpkg-buildpackage: info: source version 20.01.0-1 [ 208s] dpkg-buildpackage: info: source distribution unstable [ 208s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 208s] dpkg-source --before-build . [ 208s] dpkg-buildpackage: info: host architecture amd64 [ 209s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 209s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 209s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 209s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 209s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 209s] ### VM INTERACTION START ### [ 210s] Powering off. [ 210s] [ 194.726727] reboot: Power down [ 210s] ### VM INTERACTION END ### [ 210s] [ 210s] lamb24 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 10:43:48 UTC 2020. [ 210s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 20 11:00:51 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 11:00:51 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ec5104ca0bf1_26e02abee910c5fc1898248@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/limesuite failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 204s] SIOCSIFADDR: File exists [ 204s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 204s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 204s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 204s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 204s] ----------------------------------------------------------------- [ 204s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 204s] ----------------------------------------------------------------- [ 204s] ----------------------------------------------------------------- [ 205s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 205s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 205s] dpkg-buildpackage: info: source package limesuite [ 205s] dpkg-buildpackage: info: source version 20.01.0-1 [ 205s] dpkg-buildpackage: info: source distribution unstable [ 205s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 205s] dpkg-source --before-build BUILD [ 205s] dpkg-buildpackage: info: host architecture amd64 [ 205s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 205s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 205s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 205s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 205s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 205s] ### VM INTERACTION START ### [ 208s] [ 181.983872] sysrq: SysRq : Power Off [ 208s] [ 181.997985] reboot: Power down [ 208s] ### VM INTERACTION END ### [ 208s] [ 208s] cloud108 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 11:00:32 UTC 2020. [ 208s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 11:24:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 11:24:49 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: Hello tnt, Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 to look at the new patch set (#3). Change subject: gsmtap: Set signal level and SNR fields ...................................................................... gsmtap: Set signal level and SNR fields lqlual (containing C/I value) is passed instead of SNR, but let's have that better than nothing. Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pdch.cpp 4 files changed, 25 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/18365/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:26:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 11:26:57 +0000 Subject: Change in osmo-bsc[master]: manuals: generate vty reference xml at build time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18374 ) Change subject: manuals: generate vty reference xml at build time ...................................................................... Patch Set 2: Are you sure that makes sense when building with -j8? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 Gerrit-Change-Number: 18374 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 20 May 2020 11:26:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:27:42 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 May 2020 11:27:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at a235 PS1, Line 235: /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 : * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here : * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ : if (is_11bit != 0) { ra := 127; } > So what's the point then for tests TC_egprs_pkt_chan_req*() crafting ra values if finally this value [?] Feel free to check out the spec. reference mentioned in the comment. TL;DR In case of 11 bit Access Burst, the actual RA is contained in IA Rest Octets (grep 'ext_ra' fiels), while this field is set to 127. So please keep it - it's here for purpose. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 11:27:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:34:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 11:34:22 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: remove sdcc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18376 ) Change subject: scripts/osmocom-obs-link.sh: remove sdcc ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 Gerrit-Change-Number: 18376 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 20 May 2020 11:34:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:34:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 11:34:25 +0000 Subject: Change in osmo-ci[master]: scripts/osmocom-obs-link.sh: remove sdcc In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18376 ) Change subject: scripts/osmocom-obs-link.sh: remove sdcc ...................................................................... scripts/osmocom-obs-link.sh: remove sdcc sdcc does not build for centos 8 without diving deeper into the dependency hell: nothing provides gputils, nothing provides python3-base, nothing provides inkscape, nothing provides lyx, nothing provides makeinfo So let's not build libusrp for centos 8 for now. We can build osmo-trx without the usrp1 backend (already configured in the spec.in file). Related: OS#4550 Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 --- M scripts/osmocom-obs-link.sh 1 file changed, 1 insertion(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-obs-link.sh b/scripts/osmocom-obs-link.sh index 5f017ff..1d9b289 100755 --- a/scripts/osmocom-obs-link.sh +++ b/scripts/osmocom-obs-link.sh @@ -23,8 +23,5 @@ # osmo-remsim: depends on libcsv osc linkpac openSUSE:Factory libcsv "$PROJ" -# libusrp: depends on fdupes +# osmo-trx: depends on fdupes osc linkpac openSUSE:Factory fdupes "$PROJ" - -# libusrp: depends on sdcc -osc linkpac openSUSE:Factory sdcc "$PROJ" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1 Gerrit-Change-Number: 18376 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:41:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 May 2020 11:41:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 239 PS1, Line 239: f_ms_set_lqual > That's like usual discussion on wheter setters are required or not for class attributes. [?] This does not sound like a strong argument to me, sorry. You can still grep for '\.lqual_cb := '. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/1/pcu/GPRS_Components.ttcn at 244 PS1, Line 244: f_ms_set_ta > [...] and make sure we always do it in a unified way. Since these fields are still accessible (i.e. not 'private'), you cannot be sure that everybody else writing test cases would use your setters. Would you CR-1 new changes just because they're not using these functions? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 11:41:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:44:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 11:44:05 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 to look at the new patch set (#4). Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... virtual/scheduler: log unknown GSMTAP chan Related change in libosmocore will let gsmtap_makemsg return NULL if the channel type is unknown: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Related: SYS#4822 Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/18267/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:44:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 20 May 2020 11:44:16 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... Patch Set 3: (1 comment) > Patch Set 3: > > Interestingly I have no record of having written this patch, yet it states "Author: Harald Welte"... Patch Set 1 is an uncommitted change from your LXC container: https://projects.sysmocom.de/issues/4822 If you prefer, I can put myself as author. https://gerrit.osmocom.org/c/osmo-bts/+/18267/3/src/osmo-bts-virtual/scheduler_virtbts.c File src/osmo-bts-virtual/scheduler_virtbts.c: https://gerrit.osmocom.org/c/osmo-bts/+/18267/3/src/osmo-bts-virtual/scheduler_virtbts.c at 83 PS3, Line 83: rsl_chantype); > it would be good to indicate the source and trajectory of the message. [?] Updated the message and log level. Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 20 May 2020 11:44:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 11:53:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 11:53:52 +0000 Subject: Change in osmo-remsim[master]: only depend on libcsv if remsim-bankd is to be built References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18377 ) Change subject: only depend on libcsv if remsim-bankd is to be built ...................................................................... only depend on libcsv if remsim-bankd is to be built Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 --- M configure.ac 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/77/18377/1 diff --git a/configure.ac b/configure.ac index 7af6801..b65340f 100644 --- a/configure.ac +++ b/configure.ac @@ -32,10 +32,6 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -AC_CHECK_LIB(csv, csv_init, CSV_LIBS="-lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) -AC_CHECK_HEADERS([csv.h]) -AC_SUBST(CSV_LIBS) - PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.11.0) PKG_CHECK_MODULES(OSMOABIS, libosmoabis >= 0.8.0) @@ -56,6 +52,9 @@ if test "$osmo_ac_build_bankd" = "yes"; then AC_DEFINE(BUILD_BANKD, 1, [Define if we want to build osmo-remsim-bankd]) PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_CHECK_LIB(csv, csv_init, CSV_LIBS="-lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) + AC_CHECK_HEADERS([csv.h]) + AC_SUBST(CSV_LIBS) fi AM_CONDITIONAL(BUILD_BANKD, test "x$osmo_ac_build_bankd" = "xyes") AC_SUBST(BUILD_BANKD) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 Gerrit-Change-Number: 18377 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:08:10 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 May 2020 12:08:10 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... Patch Set 3: Code-Review+2 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3//COMMIT_MSG at 9 PS3, Line 9: lqlual lqual? https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.h File src/bts.h: https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.h at 319 PS3, Line 319: send_gsmtap_meas Since we are in C++ world, you could introduce it as an optional parameter, i.e. with default value NULL. But I know you hate ++, so this is just an option, not a merge blocker ;) https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.cpp at 437 PS3, Line 437: pcu_l1_meas Damn, I was about to warn that "this may not be initialized", but then realized that it's actually a class, not just a structure o_O. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 20 May 2020 12:08:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:09:04 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 20 May 2020 12:09:04 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... Patch Set 2: > Patch Set 2: > > I lack some explanation on why this srcdir vs builddir automatic finding is needed. Why sometimes we pick from one and sometimes from another? In current source trees we always have the vty/foo_reference.xml committed in $srcdir. If I now want to move osmo-bsc to generate the reference.xml instead during build, it will no longer be committed in $srcdir, but be generated in $builddir. This makes a difference when building in a separate location than the source tree: the scripts need to look in the right place every time. I had a couple of iterations of figuring out how the vty reference building could best find the proper reference.xml file. This here seems the least fragile. If anyone knows a better way let me know. So a source tree can have a vty/foo_reference.xml either in $srcdir or a build target for it in $builddir. Same goes for vty-someother/someother_reference.xml. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 20 May 2020 12:09:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:18:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 12:18:22 +0000 Subject: Change in osmo-remsim[master]: only depend on libcsv if remsim-bankd is to be built In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18377 ) Change subject: only depend on libcsv if remsim-bankd is to be built ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 Gerrit-Change-Number: 18377 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 12:18:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:20:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 12:20:05 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18365/3/src/bts.cpp at 437 PS3, Line 437: pcu_l1_meas > Damn, I was about to warn that "this may not be initialized", but then realized that it's actually a [?] Indeed. TBH, I even had my doubts the constructor was being called here, but running the code I could see values in GSMTAP always set to 0 for DL blocks, so it looks ok. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 20 May 2020 12:20:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: Vadim Yanitskiy Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:21:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 12:21:02 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: Hello tnt, Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 to look at the new patch set (#4). Change subject: gsmtap: Set signal level and SNR fields ...................................................................... gsmtap: Set signal level and SNR fields lqual (containing C/I value) is passed instead of SNR, but let's have that better than nothing. Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pdch.cpp 4 files changed, 25 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/65/18365/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:23:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 12:23:34 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... Patch Set 2: That's what I'm not getting. We either move to generate it from builddir or keep it generated in srcdir, but why checking both? I'm simply asking if you find any reason for that. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 20 May 2020 12:23:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 12:40:08 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 12:40:08 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec52544b4155_26e02abee910c5fc195404@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Unstable/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: rpc timeout (worker was lamb02:6) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 20 12:44:39 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Wed, 20 May 2020 12:44:39 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Wed, 20 May 2020 12:44:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:54:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 12:54:07 +0000 Subject: Change in osmo-pcu[master]: gsmtap: Set signal level and SNR fields In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18365 ) Change subject: gsmtap: Set signal level and SNR fields ...................................................................... gsmtap: Set signal level and SNR fields lqual (containing C/I value) is passed instead of SNR, but let's have that better than nothing. Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M src/pdch.cpp 4 files changed, 25 insertions(+), 8 deletions(-) Approvals: Vadim Yanitskiy: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 2cf219a..8941403 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -434,6 +434,14 @@ uint8_t ts_no, uint8_t channel, uint32_t fn, const uint8_t *data, unsigned int len) { + struct pcu_l1_meas meas; + send_gsmtap_meas(categ, uplink, trx_no, ts_no, channel, fn, data, len, &meas); +} + +void BTS::send_gsmtap_meas(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, + uint8_t ts_no, uint8_t channel, uint32_t fn, + const uint8_t *data, unsigned int len, struct pcu_l1_meas *meas) +{ uint16_t arfcn; /* check if category is activated at all */ @@ -444,7 +452,11 @@ if (uplink) arfcn |= GSMTAP_ARFCN_F_UPLINK; - gsmtap_send(m_bts.gsmtap, arfcn, ts_no, channel, 0, fn, 0, 0, data, len); + /* GSMTAP needs the SNR here, but we only have C/I (meas->link_qual). + Those are not the same, but there is no known way to convert them, + let's pass C/I instead of nothing */ + gsmtap_send(m_bts.gsmtap, arfcn, ts_no, channel, 0, fn, + meas->rssi, meas->link_qual, data, len); } static inline bool tbf_check(gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t trx_no, uint8_t ts) diff --git a/src/bts.h b/src/bts.h index 9986bdc..aae8b43 100644 --- a/src/bts.h +++ b/src/bts.h @@ -316,6 +316,9 @@ void send_gsmtap(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, uint8_t ts_no, uint8_t channel, uint32_t fn, const uint8_t *data, unsigned int len); + void send_gsmtap_meas(enum pcu_gsmtap_category categ, bool uplink, uint8_t trx_no, + uint8_t ts_no, uint8_t channel, uint32_t fn, + const uint8_t *data, unsigned int len, struct pcu_l1_meas *meas); /* * Below for C interface for the VTY diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 30d22bd..40e933e 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -347,7 +347,7 @@ if (rc < 0 && (bts->gsmtap_categ_mask & (1 <gsmtap, data_ind->arfcn | GSMTAP_ARFCN_F_UPLINK, data_ind->ts_nr, - GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len); + GSMTAP_CHANNEL_UNKNOWN, 0, data_ind->fn, meas.rssi, meas.link_qual, data_ind->data, data_ind->len); } return rc; diff --git a/src/pdch.cpp b/src/pdch.cpp index f7cdd89..b97f4c7 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -704,9 +704,9 @@ rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DUMMY, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); else - bts()->send_gsmtap(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); if(rc < 0) { LOGP(DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block with invalid " @@ -789,8 +789,9 @@ * control blocks (see 44.060, section 10.3, 1st par.) */ if (mcs_is_edge(cs)) { - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_EGPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DATA_EGPRS, true, + trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len, meas); if (!bts()->bts_data()->egprs_enabled) { LOGP(DRLCMACUL, LOGL_ERROR, "Got %s RLC block but EGPRS is not enabled\n", @@ -798,8 +799,9 @@ return 0; } } else { - bts()->send_gsmtap(PCU_GSMTAP_C_UL_DATA_GPRS, true, trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, - data, data_len); + bts()->send_gsmtap_meas(PCU_GSMTAP_C_UL_DATA_GPRS, true, + trx_no(), ts_no, GSMTAP_CHANNEL_PDTCH, fn, + data, data_len, meas); } LOGP(DRLCMACUL, LOGL_DEBUG, " UL data: %s\n", osmo_hexdump(data, len)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibe9502d42c8bd1b984069e7fd805dde87ecbab0c Gerrit-Change-Number: 18365 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:54:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 12:54:28 +0000 Subject: Change in osmo-remsim[master]: only depend on libcsv if remsim-bankd is to be built In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18377 ) Change subject: only depend on libcsv if remsim-bankd is to be built ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 Gerrit-Change-Number: 18377 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 12:54:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:54:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 12:54:30 +0000 Subject: Change in osmo-remsim[master]: only depend on libcsv if remsim-bankd is to be built In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18377 ) Change subject: only depend on libcsv if remsim-bankd is to be built ...................................................................... only depend on libcsv if remsim-bankd is to be built Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 --- M configure.ac 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 7af6801..b65340f 100644 --- a/configure.ac +++ b/configure.ac @@ -32,10 +32,6 @@ fi PKG_PROG_PKG_CONFIG([0.20]) -AC_CHECK_LIB(csv, csv_init, CSV_LIBS="-lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) -AC_CHECK_HEADERS([csv.h]) -AC_SUBST(CSV_LIBS) - PKG_CHECK_MODULES(OSMOCORE, libosmocore >= 1.3.0) PKG_CHECK_MODULES(OSMOGSM, libosmogsm >= 0.11.0) PKG_CHECK_MODULES(OSMOABIS, libosmoabis >= 0.8.0) @@ -56,6 +52,9 @@ if test "$osmo_ac_build_bankd" = "yes"; then AC_DEFINE(BUILD_BANKD, 1, [Define if we want to build osmo-remsim-bankd]) PKG_CHECK_MODULES(PCSC, libpcsclite) + AC_CHECK_LIB(csv, csv_init, CSV_LIBS="-lcsv", [AC_MSG_ERROR([*** libcsv library not found!])]) + AC_CHECK_HEADERS([csv.h]) + AC_SUBST(CSV_LIBS) fi AM_CONDITIONAL(BUILD_BANKD, test "x$osmo_ac_build_bankd" = "xyes") AC_SUBST(BUILD_BANKD) -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I87d758972b6d2b509c7ef1216d4b61a01b9cdae0 Gerrit-Change-Number: 18377 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:55:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 12:55:03 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 20 May 2020 12:55:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 12:55:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 12:55:08 +0000 Subject: Change in osmo-bts[master]: virtual/scheduler: log unknown GSMTAP chan In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18267 ) Change subject: virtual/scheduler: log unknown GSMTAP chan ...................................................................... virtual/scheduler: log unknown GSMTAP chan Related change in libosmocore will let gsmtap_makemsg return NULL if the channel type is unknown: Ib4147a33a75c3cf425c30da8b0678c7fba8a371d Related: SYS#4822 Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 --- M src/osmo-bts-virtual/scheduler_virtbts.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c index a60c9e0..eabd23b 100644 --- a/src/osmo-bts-virtual/scheduler_virtbts.c +++ b/src/osmo-bts-virtual/scheduler_virtbts.c @@ -78,6 +78,10 @@ else gsmtap_chantype = chantype_rsl2gsmtap2(rsl_chantype, chdesc->link_id, is_voice_frame); /* the logical channel type */ + if (gsmtap_chantype == GSMTAP_CHANNEL_UNKNOWN) + LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "Tx GSMTAP for RSL channel type 0x%02x: cannot send, this" + " channel type is unknown in GSMTAP\n", rsl_chantype); + #if MODULO_HYPERFRAME /* Restart fn after every superframe (26 * 51 frames) to simulate hyperframe overflow each 6 seconds. */ fn %= 26 * 51; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic22ab71e520ab44429a93724250d349d16250801 Gerrit-Change-Number: 18267 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 13:24:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 13:24:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: Fix TC_egprs_pkt_chan_req* tests In-Reply-To: References: Message-ID: pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18371 ) Change subject: WIP: Fix TC_egprs_pkt_chan_req* tests ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I690ede0667a574892dcd93b941003054182c8e39 Gerrit-Change-Number: 18371 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 13:25:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 13:25:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 to look at the new patch set (#2). Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions except for TC_egprs_pkt_chan_req* family, where new ifnrastructure is actually fixing a bug of the old infrastructure and TTCN3 code (new and old) is yet not prepared for that, making the test fail. It will be fixed in next commit. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 645 insertions(+), 646 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 13:25:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 13:25:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 2: I dropped the functions as you requested because I want to push this forward, but I still think it made sense having them. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 20 May 2020 13:25:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 14:02:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 14:02:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 to look at the new patch set (#3). Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 645 insertions(+), 646 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 14:11:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 14:11:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 to look at the new patch set (#4). Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 647 insertions(+), 646 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 14:31:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 14:31:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Hello Vadim Yanitskiy, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 to look at the new patch set (#5). Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 645 insertions(+), 646 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 15:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 15:46:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... pcu: Parse USF from Pkt Ul Ass Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 --- M pcu/GPRS_Components.ttcn 1 file changed, 30 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/18379/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index ca4bcd7..cf5dca8 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -63,9 +63,10 @@ }; type record UlTbf { - GsmRrMessage rr_imm_ass, - PacketUlAssignChan ass, + GsmRrMessage rr_imm_ass optional, + PacketUlAssignChan ass optional, uint5_t tfi, + uint3_t usf[8], boolean is_egprs, uint14_t bsn, CodingScheme tx_cs_mcs @@ -92,6 +93,7 @@ /* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ const BIT8 chan_req_def := '01111000'B; +const uint3_t USF_UNUSED := 7; /* used to indicate PRACH */ template (value) GprsMS t_GprsMS_def := { imsi := f_gen_imsi(42), @@ -105,6 +107,16 @@ dl_tbf := omit }; +template (value) UlTbf t_UlTbf_def := { + rr_imm_ass := omit, + ass := omit, + tfi := 0, + usf := { USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED }, + is_egprs := false, + bsn := 0, + tx_cs_mcs := CS_1 +}; + type component MS_BTS_IFACE_CT { /* Virtual BTS component */ var RAW_PCU_BTS_CT vc_BTS; @@ -146,10 +158,10 @@ function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) runs on MS_BTS_IFACE_CT return UlTbf { - var UlTbf ul_tbf; + var UlTbf ul_tbf := valueof(t_UlTbf_def); + var uint3_t tn_allocated := rr_imm_ass.payload.imm_ass.pkt_chan_desc.tn; ul_tbf.rr_imm_ass := rr_imm_ass; - ul_tbf.bsn := 0; /* Make sure we received an UL TBF Assignment */ if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { @@ -158,6 +170,7 @@ ul_tbf.is_egprs := false; if (match(ul_tbf.ass.ccch, tr_PacketUlDynAssign)) { ul_tbf.tfi := ul_tbf.ass.ccch.dynamic.tfi_assignment; + ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch.dynamic.usf; } else if (match(ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { /* Nothing to do here yet */ } @@ -167,6 +180,7 @@ ul_tbf.is_egprs := true; if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssDynamic)) { ul_tbf.tfi := ul_tbf.ass.ccch_egprs.dynamic.tfi_assignment; + ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch_egprs.dynamic.usf; } else if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssMultiblock)) { /* Nothing to do here yet */ } @@ -181,10 +195,9 @@ function f_ultbf_new_from_ass_pacch(RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT return UlTbf { - var UlTbf ul_tbf; + var UlTbf ul_tbf := valueof(t_UlTbf_def); ul_tbf.ass.pacch := dl_block.ctrl.payload.u.ul_assignment; - ul_tbf.bsn := 0; ul_tbf.tx_cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); ul_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_ul_ass */ @@ -193,10 +206,19 @@ if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; ul_tbf.is_egprs := false; - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + for (var integer i := 0; i < 8; i := i + 1) { + if (dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ts_allocation.ts[i].presence == '1'B) { + ul_tbf.usf[i] := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ts_allocation.ts[i].usf_tn; + } + } + } else if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; ul_tbf.is_egprs := true; + for (var integer i := 0; i < 8; i := i + 1) { + if (dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ts_allocation.ts[i].presence == '1'B) { + ul_tbf.usf[i] := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ts_allocation.ts[i].usf_tn; + } + } } return ul_tbf; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 15:46:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 15:46:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse ChCodingCommand on CCHAN Ul Ass References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 ) Change subject: pcu: Parse ChCodingCommand on CCHAN Ul Ass ...................................................................... pcu: Parse ChCodingCommand on CCHAN Ul Ass Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 --- M pcu/GPRS_Components.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/18380/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index cf5dca8..a1eae7d 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -170,6 +170,7 @@ ul_tbf.is_egprs := false; if (match(ul_tbf.ass.ccch, tr_PacketUlDynAssign)) { ul_tbf.tfi := ul_tbf.ass.ccch.dynamic.tfi_assignment; + ul_tbf.tx_cs_mcs := f_rlcmac_block_ChCodingCommand2cs_mcs(ul_tbf.ass.ccch.dynamic.ch_coding_cmd); ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch.dynamic.usf; } else if (match(ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { /* Nothing to do here yet */ @@ -180,6 +181,7 @@ ul_tbf.is_egprs := true; if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssDynamic)) { ul_tbf.tfi := ul_tbf.ass.ccch_egprs.dynamic.tfi_assignment; + ul_tbf.tx_cs_mcs := f_rlcmac_block_EgprsChCodingCommand2cs_mcs(ul_tbf.ass.ccch_egprs.dynamic.egprs_ch_coding_cmd); ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch_egprs.dynamic.usf; } else if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssMultiblock)) { /* Nothing to do here yet */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 Gerrit-Change-Number: 18380 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 16:47:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 20 May 2020 16:47:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 ) Change subject: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK ...................................................................... pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK Let's test the code path where UL TBF is requested through DL ACK/NACK here, since we already test the usual UL TBF through CCCH approach in most tests. rlc_mode is changed to ACKED since that's the mode we are using so far in tests. Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/18381/1 diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index eebda7f..9f53c3f 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -123,10 +123,10 @@ return ms_rac2; } - private const ChannelReqDescription c_ChReqDesc_default := { + const ChannelReqDescription c_ChReqDesc_default := { peak_tput_class := 0, priority := 0, - rlc_mode := RLC_MODE_UNACKNOWLEDGED, + rlc_mode := RLC_MODE_ACKNOWLEDGED, llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, RlcOctetCount := 0 } diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index e2abd84..939a814 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -329,6 +329,23 @@ } } + template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_CHREQ(template uint5_t tfi, + AckNackDescription andesc, + boolean retry := false, + template ChannelReqDescription chreq_desc := c_ChReqDesc_default) + modifies ts_RLCMAC_DL_ACK_NACK := { + ctrl := { + payload := { + u := { + dl_ack_nack := { + chreq_desc_presence := '1'B, + chreq_desc := chreq_desc + } + } + } + } + } + /* Template for uplink Data block */ template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, template LlcBlocks blocks := {}, template boolean stall := false) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 73edd7f..719d8e0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1098,13 +1098,13 @@ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); - /* ACK the DL block */ + /* ACK the DL block, and request UL TBF at the same time */ f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); - f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK_CHREQ(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), f_dl_block_ack_fn(dl_block, dl_fn)); - /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - f_ms_establish_ul_tbf(ms); + /* Expect UL ass */ + f_ms_rx_imm_ass_rlcmac(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 Gerrit-Change-Number: 18381 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 20 20:52:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 20 May 2020 20:52:21 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18247 to look at the new patch set (#8). Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am A src/gsm/i460_mux.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 9 files changed, 909 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 20 21:39:06 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 20 May 2020 21:39:06 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <5ec5a39921349_d3a2b24e36ee5f03178cb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_9.0/armv7l Package network:osmocom:nightly/limesuite failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 214s] SIOCSIFADDR: File exists [ 214s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 215s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 215s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 219s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 220s] ----------------------------------------------------------------- [ 220s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 220s] ----------------------------------------------------------------- [ 220s] ----------------------------------------------------------------- [ 222s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 222s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 222s] dpkg-buildpackage: info: source package limesuite [ 222s] dpkg-buildpackage: info: source version 20.01.0-1 [ 222s] dpkg-buildpackage: info: source distribution unstable [ 222s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 222s] dpkg-source --before-build BUILD [ 222s] dpkg-buildpackage: info: host architecture armhf [ 223s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 223s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 224s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 224s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 224s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 225s] ### VM INTERACTION START ### [ 228s] [ 209.455285] sysrq: SysRq : Power Off [ 228s] [ 209.521434] reboot: Power down [ 230s] ### VM INTERACTION END ### [ 230s] [ 230s] obs-arm-6 failed "build limesuite_20.01.0-1.dsc" at Wed May 20 21:39:03 UTC 2020. [ 230s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 01:44:49 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 01:44:49 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ec5dd2223b77_d3a2b24e36ee5f03715c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 111s] libosmo-sccp.src: W: no-changelogname-tag [ 111s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 111s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 111s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 111s] osmo-stp.i586: W: no-changelogname-tag [ 111s] There is no changelog. Please insert a '%changelog' section heading in your [ 111s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 111s] [ 111s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 111s] The package contains an init script or systemd service file but lacks the [ 111s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 111s] [ 111s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 111s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 111s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 111s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 111s] This archive does not contain a non-empty .text section. The archive was not [ 111s] created with -ffat-lto-objects option. [ 111s] [ 111s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 111s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 111s] [ 111s] ### VM INTERACTION START ### [ 114s] [ 105.806224] sysrq: Power Off [ 114s] [ 105.825884] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] lamb08 failed "build libosmo-sccp.spec" at Thu May 21 01:44:32 UTC 2020. [ 115s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 01:47:06 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 01:47:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec5ddb5aeca8_d3a2b24e36ee5f037191a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 159s] libtool: link: (cd ".libs" && rm -f "libgtp.so" && ln -s "libgtp.so.6.0.0" "libgtp.so") [ 159s] libtool: link: ( cd ".libs" && rm -f "libgtp.la" && ln -s "../libgtp.la" "libgtp.la" ) [ 159s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-ggsn-1.5.0.34.569e/gtp' [ 159s] Making all in ggsn [ 159s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/osmo-ggsn-1.5.0.34.569e/ggsn' [ 159s] gcc -DHAVE_CONFIG_H -I. -I.. -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"/usr/sbin"' -ggdb -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -c -o ggsn_main.o ggsn_main.c [ 160s] gcc -DHAVE_CONFIG_H -I. -I.. -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"/usr/sbin"' -ggdb -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -c -o ggsn_vty.o ggsn_vty.c [ 160s] ggsn_vty.c:29:10: fatal error: osmocom/gsm/apn.h: No such file or directory [ 160s] 29 | #include [ 160s] | ^~~~~~~~~~~~~~~~~~~ [ 160s] compilation terminated. [ 160s] make[2]: *** [Makefile:433: ggsn_vty.o] Error 1 [ 160s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-ggsn-1.5.0.34.569e/ggsn' [ 160s] make[1]: *** [Makefile:475: all-recursive] Error 1 [ 160s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-ggsn-1.5.0.34.569e' [ 160s] make: *** [Makefile:380: all] Error 2 [ 160s] error: Bad exit status from /var/tmp/rpm-tmp.4jcNPC (%build) [ 160s] [ 160s] [ 160s] RPM build errors: [ 160s] line 37: It's not recommended to have unversioned Obsoletes: Obsoletes: openggsn [ 160s] Bad exit status from /var/tmp/rpm-tmp.4jcNPC (%build) [ 160s] ### VM INTERACTION START ### [ 163s] [ 142.052280] sysrq: Power Off [ 163s] [ 142.053791] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] armbuild13 failed "build osmo-ggsn.spec" at Thu May 21 01:47:00 UTC 2020. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 01:47:40 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 01:47:40 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ec5ddd79f667_d3a2b24e36ee5f037226@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 47s] libosmo-sccp.src: W: no-changelogname-tag [ 47s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 47s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 47s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 47s] osmo-stp.x86_64: W: no-changelogname-tag [ 47s] There is no changelog. Please insert a '%changelog' section heading in your [ 47s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 47s] [ 47s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 47s] The package contains an init script or systemd service file but lacks the [ 47s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 47s] [ 47s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 47s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 47s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 47s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 47s] This archive does not contain a non-empty .text section. The archive was not [ 47s] created with -ffat-lto-objects option. [ 47s] [ 47s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 47s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 47s] [ 47s] ### VM INTERACTION START ### [ 51s] [ 45.824655] sysrq: Power Off [ 51s] [ 45.831311] reboot: Power down [ 51s] ### VM INTERACTION END ### [ 51s] [ 51s] goat09 failed "build libosmo-sccp.spec" at Thu May 21 01:47:34 UTC 2020. [ 51s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 03:13:50 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 03:13:50 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ec5f1fecf00e_d3a2b24e36ee5f039723e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 110s] libosmo-sccp.src: W: no-changelogname-tag [ 110s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 110s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 110s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 110s] osmo-stp.aarch64: W: no-changelogname-tag [ 110s] There is no changelog. Please insert a '%changelog' section heading in your [ 110s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 110s] [ 110s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 110s] The package contains an init script or systemd service file but lacks the [ 110s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 110s] [ 110s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 110s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 110s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 110s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 110s] This archive does not contain a non-empty .text section. The archive was not [ 110s] created with -ffat-lto-objects option. [ 110s] [ 110s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 110s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 110s] [ 110s] ### VM INTERACTION START ### [ 113s] [ 96.869033] sysrq: Power Off [ 113s] [ 96.919551] reboot: Power down [ 113s] ### VM INTERACTION END ### [ 113s] [ 113s] obs-arm-8 failed "build libosmo-sccp.spec" at Thu May 21 03:13:40 UTC 2020. [ 113s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 03:38:06 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 03:38:06 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec5f7ba3c556_d3a2b24e36ee5f040407b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 143s] libosmo-sccp.src: W: no-changelogname-tag [ 143s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 143s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 143s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 143s] osmo-stp.armv7hl: W: no-changelogname-tag [ 143s] There is no changelog. Please insert a '%changelog' section heading in your [ 143s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 143s] [ 143s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 143s] The package contains an init script or systemd service file but lacks the [ 143s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 143s] [ 143s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 143s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 143s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 143s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 143s] This archive does not contain a non-empty .text section. The archive was not [ 143s] created with -ffat-lto-objects option. [ 143s] [ 143s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 143s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 143s] [ 143s] ### VM INTERACTION START ### [ 147s] [ 136.373496] sysrq: Power Off [ 147s] [ 136.400947] reboot: Power down [ 147s] ### VM INTERACTION END ### [ 147s] [ 147s] armbuild22 failed "build libosmo-sccp.spec" at Thu May 21 03:37:56 UTC 2020. [ 147s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 03:42:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 03:42:24 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec5f8ad57543_d3a2b24e36ee5f0405028@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 147s] CC mgcp_network.o [ 147s] CC mgcp_vty.o [ 147s] CC mgcp_osmux.o [ 147s] CC mgcp_codec.o [ 147s] CC mgcp_sdp.o [ 148s] mgcp_network.c:47:10: fatal error: osmocom/codec/codec.h: No such file or directory [ 148s] 47 | #include [ 148s] | ^~~~~~~~~~~~~~~~~~~~~~~ [ 148s] compilation terminated. [ 148s] make[3]: *** [Makefile:455: mgcp_network.o] Error 1 [ 148s] make[3]: *** Waiting for unfinished jobs.... [ 148s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-mgw-1.7.0.15.6500/src/libosmo-mgcp' [ 148s] make[2]: *** [Makefile:403: all-recursive] Error 1 [ 148s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-mgw-1.7.0.15.6500/src' [ 148s] make[1]: *** [Makefile:501: all-recursive] Error 1 [ 148s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-mgw-1.7.0.15.6500' [ 148s] make: *** [Makefile:410: all] Error 2 [ 148s] error: Bad exit status from /var/tmp/rpm-tmp.5FvzQ8 (%build) [ 148s] [ 148s] [ 148s] RPM build errors: [ 148s] Bad exit status from /var/tmp/rpm-tmp.5FvzQ8 (%build) [ 148s] ### VM INTERACTION START ### [ 151s] [ 133.359657] sysrq: Power Off [ 151s] [ 133.380082] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] obs-arm-5 failed "build osmo-mgw.spec" at Thu May 21 03:42:09 UTC 2020. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 04:58:24 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 04:58:24 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec60a7e8bfe5_d3a2b24e36ee5f0423364@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Unstable/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 157s] SIOCSIFADDR: File exists [ 157s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 157s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 157s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 158s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 158s] ----------------------------------------------------------------- [ 158s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 158s] ----------------------------------------------------------------- [ 158s] ----------------------------------------------------------------- [ 158s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 158s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 158s] dpkg-buildpackage: info: source package limesuite [ 158s] dpkg-buildpackage: info: source version 20.01.0-1 [ 158s] dpkg-buildpackage: info: source distribution unstable [ 158s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 158s] dpkg-source --before-build . [ 158s] dpkg-buildpackage: info: host architecture amd64 [ 158s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 158s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 158s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 158s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 158s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 158s] ### VM INTERACTION START ### [ 159s] Powering off. [ 159s] [ 146.593289] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb70 failed "build limesuite_20.01.0-1.dsc" at Thu May 21 04:58:13 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 21 06:23:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 06:23:46 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18247 to look at the new patch set (#9). Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am A src/gsm/i460_mux.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 9 files changed, 951 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 06:24:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 06:24:05 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18247/5/src/gsm/i460_mux.c File src/gsm/i460_mux.c: https://gerrit.osmocom.org/c/libosmocore/+/18247/5/src/gsm/i460_mux.c at 208 PS5, Line 208: static uint8_t mux_timeslot_provide_bits(struct osmo_i460_timeslot *ts) > According to the specs, any bits that's not used by a subchannel should be set to 1. [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: tnt Gerrit-Comment-Date: Thu, 21 May 2020 06:24:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: tnt Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 06:37:45 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 21 May 2020 06:37:45 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Patch Set 9: Code-Review+1 (1 comment) lgtm ! https://gerrit.osmocom.org/c/libosmocore/+/18247/7/tests/i460_mux/i460_mux_test.c File tests/i460_mux/i460_mux_test.c: https://gerrit.osmocom.org/c/libosmocore/+/18247/7/tests/i460_mux/i460_mux_test.c at 179 PS7, Line 179: /* pull byteso out of mux (should be all 0xff) */ typo -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 21 May 2020 06:37:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 06:44:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 06:44:08 +0000 Subject: Change in libosmo-abis[master]: WIP: trau_frame: New API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 to look at the new patch set (#3). Change subject: WIP: trau_frame: New API ...................................................................... WIP: trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. This is marked WIP until the part handling T-bits is properly implemented. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 3 files changed, 1,444 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 06:44:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 06:44:08 +0000 Subject: Change in libosmo-abis[master]: WIP: Add new TRAU frame sync code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 to look at the new patch set (#3). Change subject: WIP: Add new TRAU frame sync code ...................................................................... WIP: Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 703 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 06:44:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 06:44:09 +0000 Subject: Change in libosmo-abis[master]: WIP: TRAU frame RTP conversion References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18382 ) Change subject: WIP: TRAU frame RTP conversion ...................................................................... WIP: TRAU frame RTP conversion This adds code that converts codec frames between (decoded) TRAU format and RTP payload format. The FR + EFR functions have been lifted from OsmoNITB. Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 --- M src/Makefile.am A src/trau/trau_rtp_conv.c 2 files changed, 483 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/82/18382/1 diff --git a/src/Makefile.am b/src/Makefile.am index 0134b00..4254428 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -37,6 +37,7 @@ libosmotrau_la_LIBADD = $(COMMONLIBS) $(ORTP_LIBS) libosmotrau_la_SOURCES = trau/osmo_ortp.c \ trau/trau_frame.c \ - trau/trau_sync.c + trau/trau_sync.c \ + trau/trau_rtp_conv.c noinst_HEADERS = trau/ubit_buf.h diff --git a/src/trau/trau_rtp_conv.c b/src/trau/trau_rtp_conv.c new file mode 100644 index 0000000..c3007ad --- /dev/null +++ b/src/trau/trau_rtp_conv.c @@ -0,0 +1,481 @@ +/* TRAU frame to RTP conversion */ + +/* (C) 2009,2020 by Harald Welte + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include + +#include +#include + +#include + +/* this corresponds to the bit-lengths of the individual codec + * parameters as indicated in Table 1.1 of TS 46.010 */ +static const uint8_t gsm_fr_map[] = { + 6, 6, 5, 5, 4, 4, 3, 3, + 7, 2, 2, 6, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 7, 2, 2, 6, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 7, 2, 2, 6, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 7, 2, 2, 6, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3 +}; + + +/* + * EFR TRAU parity + * + * g(x) = x^3 + x^1 + 1 + */ +static const struct osmo_crc8gen_code gsm0860_efr_crc3 = { + .bits = 3, + .poly = 0x3, + .init = 0x0, + .remainder = 0x7, +}; + +/* re-combine EFR parity bits */ +static inline void efr_parity_bits_1(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 0, 22); + memcpy(check_bits + 22 , d_bits + 24, 3); + check_bits[25] = d_bits[28]; +} + +static inline void efr_parity_bits_2(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 42, 10); + memcpy(check_bits + 10 , d_bits + 90, 2); +} + +static inline void efr_parity_bits_3(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 98, 5); + check_bits[5] = d_bits[104]; + memcpy(check_bits + 6 , d_bits + 143, 2); +} + +static inline void efr_parity_bits_4(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 151, 10); + memcpy(check_bits + 10 , d_bits + 199, 2); +} + +static inline void efr_parity_bits_5(ubit_t *check_bits, const ubit_t *d_bits) +{ + memcpy(check_bits + 0 , d_bits + 207, 5); + check_bits[5] = d_bits[213]; + memcpy(check_bits + 6 , d_bits + 252, 2); +} + +//static const uint8_t c_bits_check_fr[] = { 0, 0, 0, 1, 0 }; +//static const uint8_t c_bits_check_efr[] = { 1, 1, 0, 1, 0 }; + +/*! Generate the 33 bytes RTP payload for GSM-FR from a decoded TRAU frame. + * \param[out] out caller-provided output buffer + * \param[in] out_len length of out buffer in bytes + * \param[in] fr input TRAU frame in decoded form + * \returns number of bytes generated in 'out'; negative on error. */ +int trau2rtp_fr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf) +{ + int i, j, k, l, o; + + if (tf->type != OSMO_TRAU16_FT_FR) + return -EINVAL; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + if (tf->c_bits[11]) /* BFI */ + return 0; + + if (out_len < GSM_FR_BYTES) + return -ENOSPC; + + out[0] = 0xd << 4; + /* reassemble d-bits */ + i = 0; /* counts bits */ + j = 4; /* counts output bits */ + k = gsm_fr_map[0]-1; /* current number bit in element */ + l = 0; /* counts element bits */ + o = 0; /* offset input bits */ + while (i < 260) { + out[j/8] |= (tf->d_bits[k+o] << (7-(j%8))); + /* to avoid out-of-bounds access in gsm_fr_map[++l] */ + if (i == 259) + break; + if (--k < 0) { + o += gsm_fr_map[l]; + k = gsm_fr_map[++l]-1; + } + i++; + j++; + } + + return GSM_FR_BYTES; +} + +/*! Generate the 31 bytes RTP payload for GSM-EFR from a decoded TRAU frame. + * \param[out] out caller-provided output buffer + * \param[in] out_len length of out buffer in bytes + * \param[in] fr input TRAU frame in decoded form + * \returns number of bytes generated in 'out'; negative on error. */ +int trau2rtp_efr(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf) +{ + int i, j, rc; + ubit_t check_bits[26]; + + if (tf->type != OSMO_TRAU16_FT_EFR) + return -EINVAL; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + if (tf->c_bits[11]) /* BFI */ + return 0; + + if (out_len < GSM_EFR_BYTES) + return -ENOSPC; + + if (tf->c_bits[11]) /* BFI */ + goto bad_frame; + + out[0] = 0xc << 4; + /* reassemble d-bits */ + for (i = 1, j = 4; i < 39; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_1(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 26, + tf->d_bits + 39); + if (rc) + goto bad_frame; + for (i = 42, j = 42; i < 95; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_2(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 95); + if (rc) + goto bad_frame; + for (i = 98, j = 95; i < 148; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_3(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 148); + if (rc) + goto bad_frame; + for (i = 151, j = 145; i < 204; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_4(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 204); + if (rc) + goto bad_frame; + for (i = 207, j = 198; i < 257; i++, j++) + out[j/8] |= (tf->d_bits[i] << (7-(j%8))); + efr_parity_bits_5(check_bits, tf->d_bits); + rc = osmo_crc8gen_check_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 257); + if (rc) + goto bad_frame; + + return GSM_EFR_BYTES; +bad_frame: + return 0; +} + +/* TS 48.060 Section 5.5.1.1.2 */ +int rtp2trau_fr(struct osmo_trau_frame *tf, const uint8_t *data, size_t data_len) +{ + int i, j, k, l, o; + + /* TODO: consider data_len == 0 for SID frame? */ + if (data_len < GSM_FR_BYTES) + return -EINVAL; + + if (data[0] >> 4 != 0xd) + return -EINVAL; + + tf->type = OSMO_TRAU16_FT_FR; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + /* FIXME: Generate SID frames? */ + /* FIXME: Generate BFI frames? */ + + /* set c-bits and t-bits */ + tf->c_bits[0] = 1; + tf->c_bits[1] = 1; + tf->c_bits[2] = 1; + tf->c_bits[3] = 0; + tf->c_bits[4] = 0; + memset(&tf->c_bits[5], 0, 6); + memset(&tf->c_bits[11], 1, 10); + memset(&tf->t_bits[0], 1, 4); + /* reassemble d-bits */ + i = 0; /* counts bits */ + j = 4; /* counts input bits */ + k = gsm_fr_map[0]-1; /* current number bit in element */ + l = 0; /* counts element bits */ + o = 0; /* offset output bits */ + while (i < 260) { + tf->d_bits[k+o] = (data[j/8] >> (7-(j%8))) & 1; + /* to avoid out-of-bounds access in gsm_fr_map[++l] */ + if (i == 259) + break; + if (--k < 0) { + o += gsm_fr_map[l]; + k = gsm_fr_map[++l]-1; + } + i++; + j++; + } + + return 0; +} + +/* TS 48.060 Section 5.5.1.1.2 */ +int rtp2trau_efr(struct osmo_trau_frame *tf, const uint8_t *data, size_t data_len) +{ + int i, j; + ubit_t check_bits[26]; + + /* TODO: consider data_len == 0 for SID frame? */ + if (data_len < GSM_EFR_BYTES) + return -EINVAL; + + if (data[0] >> 4 != 0xc) + return -EINVAL; + + tf->type = OSMO_TRAU16_FT_EFR; + + /* FR Data Bits according to TS 48.060 Section 5.5.1.1.2 */ + + /* FIXME: Generate SID frames? */ + /* FIXME: Generate BFI frames? */ + + /* set c-bits and t-bits */ + tf->c_bits[0] = 1; + tf->c_bits[1] = 1; + tf->c_bits[2] = 0; + tf->c_bits[3] = 1; + tf->c_bits[4] = 0; + memset(&tf->c_bits[5], 0, 6); + memset(&tf->c_bits[11], 1, 10); + memset(&tf->t_bits[0], 1, 4); + /* reassemble d-bits */ + tf->d_bits[0] = 1; + for (i = 1, j = 4; i < 39; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_1(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 26, + tf->d_bits + 39); + for (i = 42, j = 42; i < 95; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_2(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 95); + for (i = 98, j = 95; i < 148; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_3(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 148); + for (i = 151, j = 145; i < 204; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_4(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 12, + tf->d_bits + 204); + for (i = 207, j = 198; i < 257; i++, j++) + tf->d_bits[i] = (data[j/8] >> (7-(j%8))) & 1; + efr_parity_bits_5(check_bits, tf->d_bits); + osmo_crc8gen_set_bits(&gsm0860_efr_crc3, check_bits, 8, + tf->d_bits + 257); + + return 0; +} + +#if 0 +static inline memcpy_inc(uint8_t *out, const uint8_t *in, size_t len, unsigned int *idx) +{ + memcpy_inc(out, in, len); + *idx += len; +} + +static int amr_speech_extract_sbits(ubit_t *s_bits, const struct osmo_trau_frame *tf, + enum osmo_amr_mode mode) +{ + unsigned int s_idx = 0; + + switch (mode) { + case AMR_4_75: + memcpy_inc(s_bits + s_idx, tf->d_bits + 44, 67 - 44, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 67, 92 - 67, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 108 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 111, 132 - 111, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 135, 148 - 135, &s_idx); + break; + case AMR_5_15: + memcpy_inc(s_bits + s_idx, tf->d_bits + 46, 96 - 46, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 69, 92 - 69, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 114 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 117, 136 - 117, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 139, 158 - 139, &s_idx); + break; + case AMR_5_90: + memcpy_inc(s_bits + s_idx, tf->d_bits + 41, 67 - 41, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 67, 92 - 67, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 116 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 119, 144 - 119, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 147, 168 - 147, &s_idx); + break; + case AMR_6_70: + memcpy_inc(s_bits + s_idx, tf->d_bits + 37, 63 - 37, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 63, 92 - 63, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 120 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 123, 152 - 123, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 155, 180 - 155, &s_idx); + break; + case AMR_7_40: + memcpy_inc(s_bits + s_idx, tf->d_bits + 34, 60 - 34, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 60, 92 - 60, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 124 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 127, 159 - 127, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 162, 191 - 162, &s_idx); + break; + case AMR_7_95: + memcpy_inc(s_bits + s_idx, tf->d_bits + 31, 58 - 31, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 58, 92 - 58, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 127 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 130, 164 - 130, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 167, 199 - 167, &s_idx); + break; + case AMR_10_2: + memcpy_inc(s_bits + s_idx, tf->d_bits + 20, 46 - 20, &s_idx); /* D21..D46 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 46, 92 - 46, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 95, 138 - 95, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 141, 187 - 141, &s_idx); + memcpy_inc(s_bits + s_idx, tf->d_bits + 190, 233 - 190, &s_idx); + break; + case AMR_12_2: + memcpy_inc(s_bits + s_idx, tf->d_bits + 0, 38 - 0, &s_idx); /* D1..D38 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 38, 91 - 38, &s_idx); /* D39..D91 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 94, 144 - 94, &s_idx); /* D95..D144 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 147, 200 - 147, &s_idx);/* D148..D200 */ + memcpy_inc(s_bits + s_idx, tf->d_bits + 203, 253 - 203, &s_idx);/* D204..D253 */ + break; + } + + return s_idx; +} + +/* TS 48.060 Section 5.5.1.2.2 */ +static int trau2rtp_16(uint8_t *out, const struct osmo_trau_frame *tf, enum osmo_amr_mode last_cmi) +{ + enum osmo_amr_mode mode = last_cmi; + uint8_t frame_class = tf->c_bits[21] << 1 | tf->c_bits[20]; + uint8_t cmr_cmi = tf->c_bits[23] << 2 | tf->c_bits[24] << 1 | tf->cb_bits[25]; + uint8_t no_speech_cls; + uint8_t s_bits[242]; + uint8_t d_bits[242]; + unsigned int s_idx = 0; + ubit_t rif = FIXME; + + if (tf->type != OSMO_TRAU16_FT_AMR) + return -EINVAL; + + if (rif == 0) + mode = cmr_cmi; + + switch (frame_class) { + case 0: // no speech + no_speech_cls = tf->d_bits[32] << 2 | tf->d_bits[33] << 1 | tf->d_bits[34]; + cmi_abs = tf->d_bits[35] << 2 | tf->d_bits[36] < 1 || tf->d_bits[37]; + cmr_abs = tf->d_bits[38] << 2 | tf->d_bits[39] < 1 || tf->d_bits[40]; + switch (no_speech_cls) { + case 7: // sid first + break; + case 6: // onset + break; + case 5: // sid_update + break; + case 4: // sid_bad + break; + case 0: // no_data + break; + } + break; + case 1: // speech bad + break; + case 2: + case 3: + /* Extract the s-bits from the TRAU frame */ + amr_speech_extract_sbits(s_bits, tf, mode); + /* Convert the s-bits to d-bits */ + osmo_amr_s_to_d(d_bits, s_bits, mode); + break; + } +} + +int trau2rtp_amr(uint8_t *out, const struct osmo_trau_frame *tf, enum osmo_amr_mode last_cmi)) +{ + switch (tf->type) { + case OSMO_TRAU16_FT_AMR: + return trau2rtp_16(out, tf, last_cmi); + case OSMO_TRAU8_AMR_LOW: + case OSMO_TRAU8_AMR_6k7: + case OSMO_TRAU8_AMR_7k4: + default: + return -EINVAL; + } +} +#endif + +struct osmo_trau2rtp_state { + enum osmo_trau_frame_type type; +}; + +int osmo_trau2rtp(uint8_t *out, size_t out_len, const struct osmo_trau_frame *tf, + struct osmo_trau2rtp_state *st) +{ + switch (tf->type) { + case OSMO_TRAU16_FT_FR: + return trau2rtp_fr(out, out_len, tf); + case OSMO_TRAU16_FT_EFR: + return trau2rtp_efr(out, out_len, tf); + default: + return -EINVAL; + } +} + +int osmo_rtp2trau(struct osmo_trau_frame *tf, const uint8_t *rtp, size_t rtp_len, + struct osmo_trau2rtp_state *st) +{ + switch (st->type) { + case OSMO_TRAU16_FT_FR: + return rtp2trau_fr(tf, rtp, rtp_len); + case OSMO_TRAU16_FT_EFR: + return rtp2trau_efr(tf, rtp, rtp_len); + default: + return -EINVAL; + } +} -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7f6993cce2b95318203043e2e14952e581941b79 Gerrit-Change-Number: 18382 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu May 21 07:55:54 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 07:55:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec6341bd78_d3a2b24e36ee5f047705c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-trx failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 416s] libtool: link: g++ -I/usr/include/libosmocore/ -pthread -I/usr/include/libosmocore/ -I/usr/include/libosmocore/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -flto=auto -o osmo-trx-usrp1 osmo_trx_usrp1-osmo-trx.o ./device/usrp1/.libs/libdevice.a ./.libs/libtransceiver_common.a ../Transceiver52M/arch/x86/.libs/libarch.a ../GSM/.libs/libGSM.a ../CommonLibs/.libs/libcommon.a -lpthread -lfftw3f -losmoctrl -losmogsm -ltalloc -losmovty -losmocore -lusrp -lusb-1.0 -pthread [ 416s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/9/../../../../armv7hl-suse-linux-gnueabi/bin/ld: cannot find -losmogsm [ 416s] collect2: error: ld returned 1 exit status [ 416s] make[3]: *** [Makefile:678: osmo-trx-lms] Error 1 [ 416s] make[3]: *** Waiting for unfinished jobs.... [ 416s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/9/../../../../armv7hl-suse-linux-gnueabi/bin/ld: cannot find -losmogsm [ 416s] collect2: error: ld returned 1 exit status [ 416s] /usr/lib/gcc/armv7hl-suse-linux-gnueabi/9/../../../../armv7hl-suse-linux-gnueabi/bin/ld: cannot find -losmogsm [ 416s] collect2: error: ld returned 1 exit status [ 416s] make[3]: *** [Makefile:686: osmo-trx-usrp1] Error 1 [ 416s] make[3]: *** [Makefile:682: osmo-trx-uhd] Error 1 [ 416s] make[3]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-trx-1.2.0.35.7bbe/Transceiver52M' [ 416s] make[2]: *** [Makefile:821: all-recursive] Error 1 [ 416s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-trx-1.2.0.35.7bbe/Transceiver52M' [ 416s] make[1]: *** [Makefile:515: all-recursive] Error 1 [ 416s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/osmo-trx-1.2.0.35.7bbe' [ 416s] make: *** [Makefile:446: all] Error 2 [ 416s] error: Bad exit status from /var/tmp/rpm-tmp.VI0Qkf (%build) [ 416s] [ 416s] [ 416s] RPM build errors: [ 416s] Bad exit status from /var/tmp/rpm-tmp.VI0Qkf (%build) [ 416s] ### VM INTERACTION START ### [ 419s] [ 379.548073] sysrq: Power Off [ 419s] [ 379.558306] reboot: Power down [ 420s] ### VM INTERACTION END ### [ 420s] [ 420s] obs-arm-5 failed "build osmo-trx.spec" at Thu May 21 07:55:39 UTC 2020. [ 420s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 21 08:02:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 21 May 2020 08:02:12 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: Hello tnt, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/18247 to look at the new patch set (#10). Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am A src/gsm/i460_mux.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 9 files changed, 999 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/18247/10 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 11:22:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 11:22:06 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Fix typos in comments References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 ) Change subject: ms_srs.py: Fix typos in comments ...................................................................... ms_srs.py: Fix typos in comments Change-Id: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/18383/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 4790e76..b494c54 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -157,7 +157,7 @@ self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) self.rem_host.change_elf_rpath(remote_binary, remote_lib) - # srsue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # srsue requires CAP_SYS_ADMIN to jump to net network namespace: netns(CLONE_NEWNET): # srsue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to srsue') self.rem_host.setcap_netsys_admin(remote_binary) @@ -182,7 +182,7 @@ self.log('Setting RPATH for srsue') util.change_elf_rpath(binary, util.prepend_library_path(lib), self.run_dir.new_dir('patchelf')) - # srsue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # srsue requires CAP_SYS_ADMIN to jump to net network namespace: netns(CLONE_NEWNET): # srsue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to srsue') util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 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: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf Gerrit-Change-Number: 18383 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu May 21 13:12:44 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 13:12:44 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec67e6163d53_d3a2b24e36ee5f06341c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_Unstable/x86_64 Package network:osmocom:latest/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 201s] SIOCSIFADDR: File exists [ 201s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 201s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 201s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 201s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 201s] ----------------------------------------------------------------- [ 201s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 201s] ----------------------------------------------------------------- [ 201s] ----------------------------------------------------------------- [ 201s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 201s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 201s] dpkg-buildpackage: info: source package limesuite [ 201s] dpkg-buildpackage: info: source version 20.01.0-1 [ 201s] dpkg-buildpackage: info: source distribution unstable [ 201s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 201s] dpkg-source --before-build . [ 201s] dpkg-buildpackage: info: host architecture amd64 [ 202s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 202s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 202s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 202s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 202s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 202s] ### VM INTERACTION START ### [ 203s] Powering off. [ 203s] [ 187.046080] reboot: Power down [ 203s] ### VM INTERACTION END ### [ 203s] [ 203s] lamb08 failed "build limesuite_20.01.0-1.dsc" at Thu May 21 13:12:28 UTC 2020. [ 203s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 21 13:14:44 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 21 May 2020 13:14:44 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec67ed9296df_d3a2b24e36ee5f06350a5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Unstable/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 178s] SIOCSIFADDR: File exists [ 178s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 178s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 178s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 178s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 178s] ----------------------------------------------------------------- [ 178s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 178s] ----------------------------------------------------------------- [ 178s] ----------------------------------------------------------------- [ 179s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 179s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 179s] dpkg-buildpackage: info: source package limesuite [ 179s] dpkg-buildpackage: info: source version 20.01.0-1 [ 179s] dpkg-buildpackage: info: source distribution unstable [ 179s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 179s] dpkg-source --before-build . [ 179s] dpkg-buildpackage: info: host architecture amd64 [ 179s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 179s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 179s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 179s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 179s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 179s] ### VM INTERACTION START ### [ 180s] Powering off. [ 180s] [ 168.003667] reboot: Power down [ 180s] ### VM INTERACTION END ### [ 180s] [ 180s] build77 failed "build limesuite_20.01.0-1.dsc" at Thu May 21 13:14:30 UTC 2020. [ 180s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 21 13:38:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 13:38:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 ) Change subject: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors ...................................................................... ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors This change enables interpretation of backslash escapes for echo, so the test case execution summary is always printed in color. Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 --- M ttcn3-tcpdump-stop.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/84/18384/1 diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index 1f4da3d..30d331d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -22,9 +22,9 @@ date if [ x"$VERDICT" = x"pass" ]; then - echo "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" + echo -e "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" else - echo "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" + echo -e "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" fi echo -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 Gerrit-Change-Number: 18384 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 13:45:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 13:45:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 ) Change subject: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 Gerrit-Change-Number: 18384 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 13:45:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:10:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:10:16 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/85/18385/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 24eb0fa..0fcd7cf 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -254,7 +254,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 11fecba..6c1e0f8 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -253,7 +253,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 751629c..5e743db 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -243,7 +243,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 30d22bd..977a519 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -430,7 +430,7 @@ } /* C -> C++ adapter for direct DSP access code (e.g. osmo-bts-sysmo) */ -extern "C" int pcu_rx_rach_ind_pdtch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) +extern "C" int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) { return BTS::main_bts()->rcv_ptcch_rach(trx_nr, ts_nr, fn, qta); } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index 35643da..f86e708 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -178,7 +178,7 @@ int pcu_rx_rts_req_ptcch(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); -int pcu_rx_rach_ind_pdtch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); +int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:10:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:10:17 +0000 Subject: Change in osmo-pcu[master]: bts: refactor handling and parsing of RACH.ind References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18386 ) Change subject: bts: refactor handling and parsing of RACH.ind ...................................................................... bts: refactor handling and parsing of RACH.ind Change-Id: I5fe7e0f51bf5c9eac073935cc4f4edd667c67c6e --- M src/bts.cpp M src/bts.h M src/pcu_l1_if.cpp M tests/tbf/TbfTest.err 4 files changed, 232 insertions(+), 264 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/18386/1 diff --git a/src/bts.cpp b/src/bts.cpp index 2cf219a..934bdef 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -665,191 +665,168 @@ } /* 3GPP TS 44.060: - * Table 11.2.5.3: PACKET CHANNEL REQUEST - * Table 11.2.5a.3: EGPRS PACKET CHANNEL REQUEST - * Both GPRS and EGPRS use same MultislotClass coding, but since use of PCCCH is + * Table 11.2.5.2: PACKET CHANNEL REQUEST + * Table 11.2.5a.2: EGPRS PACKET CHANNEL REQUEST + * Both GPRS and EGPRS use same MultislotClass coding, but since PRACH is * deprecated, no PACKET CHANNEL REQUEST exists, which means for GPRS we will * receive CCCH RACH which doesn't contain any mslot class. Hence in the end we - * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL - * REQUEST. - */ -static inline uint8_t egprs_mslot_class_from_ra(uint16_t ra, bool is_11bit) + * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL REQUEST. */ +static int parse_rach_ind(const struct rach_ind_params *rip, + struct chan_req_params *chan_req) { - /* EGPRS multislot class is only present in One Phase Access Request */ - if (is_11bit && (ra >> 10) == 0x00) /* .0xx xxx. .... */ - return ((ra & 0x3e0) >> 5) + 1; - - /* set EGPRS multislot class to 0 for 8-bit RACH, since we don't know it yet */ - return 0; -} - -static inline uint16_t priority_from_ra(uint16_t ra, bool is_11bit) -{ - if (is_11bit) - return (ra & 0x18) >> 3; - - return 0; -} - -static inline bool is_single_block(bool force_two_phase, uint16_t ra, enum ph_burst_type burst_type, bool is_11bit) -{ - bool sb = false; - - if ((ra & 0xf8) == 0x70) - LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single block allocation\n"); - else if (force_two_phase) - LOGP(DRLCMAC, LOGL_DEBUG, - "MS requests single phase access, but we force two phase access [RACH is %s bit]\n", - is_11bit ? "11" : "8"); - - switch(burst_type) { - case GSM_L1_BURST_TYPE_ACCESS_0: - if (is_11bit) { - LOGP(DRLCMAC, LOGL_ERROR, "Error: GPRS 11 bit RACH not supported\n"); - return false; - } - - if ((ra & 0xf8) == 0x70) - return true; - - if (force_two_phase) - return true; - break; - case GSM_L1_BURST_TYPE_ACCESS_1: /* deliberate fall-through */ - case GSM_L1_BURST_TYPE_ACCESS_2: - if (is_11bit) { - if (!(ra & (1 << 10))) { - if (force_two_phase) - return true; - - return false; - } - - return true; - } - LOGP(DRLCMAC, LOGL_ERROR, "Unexpected RACH burst type %u for 8-bit RACH\n", burst_type); - break; + switch (rip->burst_type) { case GSM_L1_BURST_TYPE_NONE: - LOGP(DRLCMAC, LOGL_ERROR, "PCU has not received burst type from BTS\n"); + LOGP(DRLCMAC, LOGL_ERROR, "RACH.ind contains no burst type, assuming TS0\n"); + /* fall-through */ + case GSM_L1_BURST_TYPE_ACCESS_0: + if (rip->is_11bit) { /* 11 bit Access Burst with TS0 => Packet Channel Request */ + LOGP(DRLCMAC, LOGL_ERROR, "11 bit Packet Channel Request " + "is not supported (PBCCH is deprecated)\n"); + return -ENOTSUP; + } + + /* 3GPP TS 44.018, table 9.1.8.1: 8 bit CHANNEL REQUEST. + * Mask 01110xxx indicates single block packet access. */ + chan_req->single_block = ((rip->ra & 0xf8) == 0x70); + break; + case GSM_L1_BURST_TYPE_ACCESS_1: + case GSM_L1_BURST_TYPE_ACCESS_2: + if (!rip->is_11bit) { /* TS1/TS2 => EGPRS Packet Channel Request (always 11 bit) */ + LOGP(DRLCMAC, LOGL_ERROR, "11 bit Packet Channel Request " + "is not supported (PBCCH is deprecated)\n"); + return -ENOTSUP; + } + + /* EGPRS multislot class is only present in One Phase Access Request */ + /* FIXME: properly parse EGPRS Packet Channel Request */ + if ((rip->ra >> 10) == 0x00) /* .0xx xxx. .... */ + chan_req->egprs_mslot_class = ((rip->ra & 0x3e0) >> 5) + 1; break; default: - LOGP(DRLCMAC, LOGL_ERROR, "Unexpected RACH burst type %u for %s-bit RACH\n", - burst_type, is_11bit ? "11" : "8"); + LOGP(DRLCMAC, LOGL_ERROR, "RACH.ind contains unknown burst type 0x%02x " + "(%u bit)\n", rip->burst_type, rip->is_11bit ? 11 : 8); + return -EINVAL; } - return sb; + return 0; } +/* Old -> new API adapter for the unit tests */ int BTS::rcv_rach(uint16_t ra, uint32_t Fn, int16_t qta, bool is_11bit, - enum ph_burst_type burst_type) + enum ph_burst_type burst_type) { + struct rach_ind_params rip = { + .burst_type = burst_type, + .is_11bit = is_11bit, + .ra = ra, + .rfn = Fn, + .qta = qta, + }; + + return rcv_rach(&rip); +} + +int BTS::rcv_rach(const struct rach_ind_params *rip) +{ + struct chan_req_params chan_req = { 0 }; struct gprs_rlcmac_ul_tbf *tbf = NULL; - uint8_t trx_no, ts_no = 0; - uint8_t sb = 0; + uint8_t trx_no, ts_no; uint32_t sb_fn = 0; - int rc = 0; - int plen; uint8_t usf = 7; - uint8_t tsc = 0, ta = qta2ta(qta); - uint8_t egprs_ms_class = egprs_mslot_class_from_ra(ra, is_11bit); - bool failure = false; - GprsMs *ms; + uint8_t tsc = 0; + int plen, rc; do_rate_ctr_inc(CTR_RACH_REQUESTS); - if (is_11bit) + if (rip->is_11bit) do_rate_ctr_inc(CTR_11BIT_RACH_REQUESTS); /* Determine full frame number */ - Fn = rfn_to_fn(Fn); + uint32_t Fn = rfn_to_fn(rip->rfn); + uint8_t ta = qta2ta(rip->qta); - send_gsmtap(PCU_GSMTAP_C_UL_RACH, true, 0, ts_no, GSMTAP_CHANNEL_RACH, - Fn, (uint8_t*)&ra, is_11bit ? 2 : 1); + send_gsmtap(PCU_GSMTAP_C_UL_RACH, true, rip->trx_nr, rip->ts_nr, + GSMTAP_CHANNEL_RACH, Fn, (uint8_t *) &rip->ra, + rip->is_11bit ? 2 : 1); + + /* Parse [EGPRS Packet] Channel Request from RACH.ind */ + rc = parse_rach_ind(rip, &chan_req); + if (rc) /* Send RR Immediate Assignment Reject */ + goto send_imm_ass; LOGP(DRLCMAC, LOGL_DEBUG, "MS requests UL TBF on RACH, " "so we provide one: ra=0x%02x Fn=%u qta=%d is_11bit=%d:\n", - ra, Fn, qta, is_11bit); + rip->ra, Fn, rip->qta, rip->is_11bit); - sb = is_single_block(m_bts.force_two_phase, ra, burst_type, is_11bit); + if (chan_req.single_block) + LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single block allocation\n"); + else if (m_bts.force_two_phase) { + LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single block allocation, " + "but we force two phase access\n"); + chan_req.single_block = true; + } - if (sb) { + /* Should we allocate a single block or an Uplink TBF? */ + if (chan_req.single_block) { rc = sba()->alloc(&trx_no, &ts_no, &sb_fn, ta); if (rc < 0) { - failure = true; LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for " - "single block allocation." - "sending Immediate " - "Assignment Uplink (AGCH) reject\n"); - } else { - tsc = m_bts.trx[trx_no].pdch[ts_no].tsc; - - LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] RACH " - " qbit-ta=%d ra=0x%02x, Fn=%d (%d,%d,%d)," - " SBFn=%d\n", - qta, ra, - Fn, (Fn / (26 * 51)) % 32, Fn % 51, Fn % 26, - sb_fn); - LOGP(DRLCMAC, LOGL_INFO, "TX: Immediate Assignment " - "Uplink (AGCH)\n"); + "single block allocation: rc=%d\n", rc); + /* Send RR Immediate Assignment Reject */ + goto send_imm_ass; } + + tsc = m_bts.trx[trx_no].pdch[ts_no].tsc; + LOGP(DRLCMAC, LOGL_DEBUG, "(TRX=%u TS=%u FN=%u) " + "Allocated a single block\n", trx_no, ts_no, sb_fn); } else { - ms = ms_alloc(0, egprs_ms_class); - // Create new TBF - /* FIXME: Copy and paste with other routines.. */ + GprsMs *ms = ms_alloc(0, chan_req.egprs_mslot_class); tbf = tbf_alloc_ul_tbf(&m_bts, ms, -1, true); - if (!tbf) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource sending " - "Immediate Assignment Uplink (AGCH) " - "reject\n"); + LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for Uplink TBF\n"); + /* Send RR Immediate Assignment Reject */ rc = -EBUSY; - failure = true; - } else { - tbf->set_ta(ta); - TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); - TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); - T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); - LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] START\n"); - LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] RACH " - "qbit-ta=%d ra=0x%02x, Fn=%d " - " (%d,%d,%d)\n", - qta, ra, Fn, (Fn / (26 * 51)) % 32, - Fn % 51, Fn % 26); - LOGPTBF(tbf, LOGL_INFO, "TX: START Immediate Assignment Uplink (AGCH)\n"); - trx_no = tbf->trx->trx_no; - ts_no = tbf->first_ts; - usf = tbf->m_usf[ts_no]; - tsc = tbf->tsc(); + goto send_imm_ass; } + + /* FIXME: Copy and paste with other routines.. */ + tbf->set_ta(ta); + TBF_SET_STATE(tbf, GPRS_RLCMAC_FLOW); + TBF_ASS_TYPE_SET(tbf, GPRS_RLCMAC_FLAG_CCCH); + T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); + LOGPTBF(tbf, LOGL_INFO, "Allocated due to [EGPRS Packet] Channel Request on CCCH\n"); + trx_no = tbf->trx->trx_no; + ts_no = tbf->first_ts; + usf = tbf->m_usf[ts_no]; + tsc = tbf->tsc(); } - bitvec *immediate_assignment = bitvec_alloc(22, tall_pcu_ctx) /* without plen */; - bitvec_unhex(immediate_assignment, - "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); +send_imm_ass: + /* Allocate a bit-vector for RR Immediate Assignment [Reject] */ + struct bitvec *bv = bitvec_alloc(22, tall_pcu_ctx); /* without plen */ + bitvec_unhex(bv, "2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b"); - if (failure) { + if (rc != 0) { plen = Encoding::write_immediate_assignment_reject( - immediate_assignment, ra, Fn, - burst_type); + bv, rip->ra, Fn, rip->burst_type); + if (plen < 0) + return plen; do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_REJ); - } - else { - LOGP(DRLCMAC, LOGL_DEBUG, - " - TRX=%d (%d) TS=%d TA=%d TSC=%d TFI=%d USF=%d\n", - trx_no, m_bts.trx[trx_no].arfcn, ts_no, ta, tsc, - tbf ? tbf->tfi() : -1, usf); - // N. B: if tbf == NULL then SBA is used for Imm. Ass. below - plen = Encoding::write_immediate_assignment(tbf, immediate_assignment, false, ra, Fn, ta, - m_bts.trx[trx_no].arfcn, ts_no, tsc, usf, false, sb_fn, - m_bts.alpha, m_bts.gamma, -1, burst_type); - } - - if (plen >= 0) { + LOGP(DRLCMAC, LOGL_DEBUG, "Tx RR Immediate Assignment Reject on AGCH\n"); + } else { + /* FIXME: group all arguments into a structure */ + plen = Encoding::write_immediate_assignment( + tbf, bv, false, rip->ra, Fn, ta, m_bts.trx[trx_no].arfcn, + ts_no, tsc, usf, false, sb_fn, m_bts.alpha, m_bts.gamma, -1, + rip->burst_type); + if (plen < 0) + return plen; do_rate_ctr_inc(CTR_IMMEDIATE_ASSIGN_UL_TBF); - pcu_l1if_tx_agch(immediate_assignment, plen); + LOGP(DRLCMAC, LOGL_DEBUG, "Tx RR Immediate Assignment on AGCH\n"); } - bitvec_free(immediate_assignment); + pcu_l1if_tx_agch(bv, rc); + bitvec_free(bv); return rc; } @@ -862,25 +839,25 @@ 324, 350, 376, 402, }; -int BTS::rcv_ptcch_rach(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) +int BTS::rcv_ptcch_rach(const struct rach_ind_params *rip) { + uint32_t fn416 = rfn_to_fn(rip->rfn) % 416; struct gprs_rlcmac_bts *bts = bts_data(); struct gprs_rlcmac_pdch *pdch; - uint32_t fn416 = fn % 416; uint8_t ss; /* Prevent buffer overflow */ - if (trx_nr >= ARRAY_SIZE(bts->trx) || ts_nr >= 8) { - LOGP(DRLCMAC, LOGL_ERROR, "Malformed RACH.ind message " - "(TRX=%u TS=%u FN=%u)\n", trx_nr, ts_nr, fn); + if (rip->trx_nr >= ARRAY_SIZE(bts->trx) || rip->ts_nr >= 8) { + LOGP(DRLCMAC, LOGL_ERROR, "(TRX=%u TS=%u RFN=%u) Rx malformed " + "RACH.ind (PTCCH/U)\n", rip->trx_nr, rip->ts_nr, rip->rfn); return -EINVAL; } /* Make sure PDCH time-slot is enabled */ - pdch = &bts->trx[trx_nr].pdch[ts_nr]; + pdch = &bts->trx[rip->trx_nr].pdch[rip->ts_nr]; if (!pdch->m_is_enabled) { - LOGP(DRLCMAC, LOGL_NOTICE, "Rx PTCCH RACH.ind for inactive PDCH " - "(TRX=%u TS=%u FN=%u)\n", trx_nr, ts_nr, fn); + LOGP(DRLCMAC, LOGL_NOTICE, "(TRX=%u TS=%u RFN=%u) Rx RACH.ind (PTCCH/U) " + "for inactive PDCH\n", rip->trx_nr, rip->ts_nr, rip->rfn); return -EAGAIN; } @@ -889,14 +866,15 @@ if (ptcch_slot_map[ss] == fn416) break; if (ss == PTCCH_TAI_NUM) { - LOGP(DRLCMAC, LOGL_ERROR, "Failed to map PTCCH/U sub-slot for fn=%u\n", fn); + LOGP(DRLCMAC, LOGL_ERROR, "(TRX=%u TS=%u RFN=%u) Failed to map " + "PTCCH/U sub-slot\n", rip->trx_nr, rip->ts_nr, rip->rfn); return -ENODEV; } /* Apply the new Timing Advance value */ LOGP(DRLCMAC, LOGL_INFO, "Continuous Timing Advance update " - "for TAI %u, new TA is %u\n", ss, qta2ta(qta)); - pdch->update_ta(ss, qta2ta(qta)); + "for TAI %u, new TA is %u\n", ss, qta2ta(rip->qta)); + pdch->update_ta(ss, qta2ta(rip->qta)); return 0; } diff --git a/src/bts.h b/src/bts.h index 9986bdc..614a270 100644 --- a/src/bts.h +++ b/src/bts.h @@ -267,6 +267,25 @@ STAT_MS_PRESENT, }; +/* RACH.ind parameters (to be parsed) */ +struct rach_ind_params { + enum ph_burst_type burst_type; + bool is_11bit; + uint16_t ra; + + uint8_t trx_nr; + uint8_t ts_nr; + uint32_t rfn; + int16_t qta; +}; + +/* [EGPRS Packet] Channel Request parameters (parsed) */ +struct chan_req_params { + unsigned int egprs_mslot_class; + unsigned int priority; + bool single_block; +}; + #ifdef __cplusplus /** * I represent a GSM BTS. I have one or more TRX, I know the current @@ -304,7 +323,8 @@ uint32_t rfn_to_fn(int32_t rfn); int rcv_rach(uint16_t ra, uint32_t Fn, int16_t qta, bool is_11bit, enum ph_burst_type burst_type); - int rcv_ptcch_rach(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); + int rcv_rach(const struct rach_ind_params *rip); + int rcv_ptcch_rach(const struct rach_ind_params *rip); void snd_dl_ass(gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup); diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 977a519..7334a39 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -432,10 +432,17 @@ /* C -> C++ adapter for direct DSP access code (e.g. osmo-bts-sysmo) */ extern "C" int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) { - return BTS::main_bts()->rcv_ptcch_rach(trx_nr, ts_nr, fn, qta); + struct rach_ind_params rip = { + .trx_nr = trx_nr, + .ts_nr = ts_nr, + .rfn = fn, + .qta = qta, + }; + + return BTS::main_bts()->rcv_ptcch_rach(&rip); } -static int pcu_rx_rach_ind(struct gsm_pcu_if_rach_ind *rach_ind) +static int pcu_rx_rach_ind(const struct gsm_pcu_if_rach_ind *rach_ind) { int rc = 0; int current_fn = get_current_fn(); @@ -444,17 +451,22 @@ "qta=%d, ra=0x%02x, fn=%u, cur_fn=%d, is_11bit=%d\n", rach_ind->sapi, rach_ind->qta, rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); + struct rach_ind_params rip = { + .burst_type = (enum ph_burst_type) rach_ind->burst_type, + .is_11bit = rach_ind->is_11bit > 0, + .ra = rach_ind->ra, + .trx_nr = rach_ind->trx_nr, + .ts_nr = rach_ind->ts_nr, + .rfn = rach_ind->fn, + .qta = rach_ind->qta, + }; + switch (rach_ind->sapi) { case PCU_IF_SAPI_RACH: - rc = BTS::main_bts()->rcv_rach( - rach_ind->ra, rach_ind->fn, - rach_ind->qta, rach_ind->is_11bit, - (ph_burst_type)rach_ind->burst_type); + rc = BTS::main_bts()->rcv_rach(&rip); break; case PCU_IF_SAPI_PTCCH: - rc = BTS::main_bts()->rcv_ptcch_rach( - rach_ind->trx_nr, rach_ind->ts_nr, - rach_ind->fn, rach_ind->qta); + rc = BTS::main_bts()->rcv_ptcch_rach(&rip); break; default: LOGP(DL1IF, LOGL_ERROR, "Received PCU rach request with " diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 57787c5..58a2ae1 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1464,10 +1464,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654167 (17,25,9) -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -1517,9 +1515,8 @@ === start test_tbf_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -1599,9 +1596,8 @@ === start test_tbf_ra_update_rach === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -1725,9 +1721,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 07 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654232 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654232 (17,39,22), SBFn=2654335 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654335) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=1. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654335) @@ -1796,9 +1791,8 @@ === start test_tbf_dl_flow_and_rach_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -1886,9 +1880,8 @@ ********** UL-TBF ends here ********** MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654224 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654224 (17,31,14), SBFn=2654327 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654327) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -1968,9 +1961,8 @@ === start test_tbf_dl_flow_and_rach_single_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -2079,10 +2071,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x03, Fn=2654275 (17,31,13) -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS (IMSI ): Link quality 12dB (old 12dB) left window [0, 0], modifying uplink CS level: CS-1 -> CS-2 @@ -2119,9 +2109,8 @@ === start test_tbf_dl_reuse === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -3142,9 +3131,8 @@ === start test_tbf_egprs_two_phase === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -3234,9 +3222,8 @@ === start test_tbf_egprs_two_phase_spb === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -5873,9 +5860,8 @@ === start test_tbf_puan_urbb_len === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -6038,9 +6024,8 @@ === start test_tbf_li_decoding === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -6203,10 +6188,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6228,10 +6211,8 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6253,10 +6234,8 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6278,10 +6257,8 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6303,10 +6280,8 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6328,10 +6303,8 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6353,10 +6326,8 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7f Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -6371,21 +6342,22 @@ - Skipping TS 6, because not enabled - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available -No PDCH resource sending Immediate Assignment Uplink (AGCH) reject +No PDCH resource for Uplink TBF +Tx RR Immediate Assignment Reject on AGCH === end test_immediate_assign_rej_multi_block === Destroying MS object, TLLI = 0x00000000 === start test_immediate_assign_rej_single_block === MS requests UL TBF on RACH, so we provide one: ra=0x70 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation No PDCH available. -No PDCH resource for single block allocation.sending Immediate Assignment Uplink (AGCH) reject +No PDCH resource for single block allocation: rc=-22 +Tx RR Immediate Assignment Reject on AGCH === end test_immediate_assign_rej_single_block === === start test_tbf_egprs_two_phase_puan === MS requests UL TBF on RACH, so we provide one: ra=0x73 Fn=2654167 qta=31 is_11bit=0: MS requests single block allocation -RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x73, Fn=2654167 (17,25,9), SBFn=2654270 -TX: Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 +(TRX=0 TS=7 FN=2654270) Allocated a single block +Tx RR Immediate Assignment on AGCH Searching for first unallocated TFI: TRX=0 Found TFI=0. +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -7836,10 +7808,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x78, Fn=2654167 (17,25,9) -TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=0 USF=0 +TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x79 Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7861,10 +7831,8 @@ TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x79, Fn=2654167 (17,25,9) -TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=1 USF=1 +TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7a Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7886,10 +7854,8 @@ TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7a, Fn=2654167 (17,25,9) -TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=2 USF=2 +TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7b Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7911,10 +7877,8 @@ TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7b, Fn=2654167 (17,25,9) -TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=3 USF=3 +TBF(TFI=3 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7c Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7936,10 +7900,8 @@ TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7c, Fn=2654167 (17,25,9) -TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=4 USF=4 +TBF(TFI=4 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7d Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7961,10 +7923,8 @@ TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7d, Fn=2654167 (17,25,9) -TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=5 USF=5 +TBF(TFI=5 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH MS requests UL TBF on RACH, so we provide one: ra=0x7e Fn=2654167 qta=31 is_11bit=0: Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -7986,10 +7946,8 @@ TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=0 -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) [UPLINK] START -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) RX: [PCU <- BTS] RACH qbit-ta=31 ra=0x7e, Fn=2654167 (17,25,9) -TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) TX: START Immediate Assignment Uplink (AGCH) - - TRX=0 (0) TS=7 TA=7 TSC=0 TFI=6 USF=6 +TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=FLOW) Allocated due to [EGPRS Packet] Channel Request on CCCH +Tx RR Immediate Assignment on AGCH +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5fe7e0f51bf5c9eac073935cc4f4edd667c67c6e Gerrit-Change-Number: 18386 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:10:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:10:17 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 --- M src/bts.cpp 1 file changed, 67 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/18387/1 diff --git a/src/bts.cpp b/src/bts.cpp index 934bdef..c305e22 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -671,9 +671,68 @@ * deprecated, no PACKET CHANNEL REQUEST exists, which means for GPRS we will * receive CCCH RACH which doesn't contain any mslot class. Hence in the end we * can only receive EGPRS mslot class through 11-bit EGPRS PACKET CHANNEL REQUEST. */ +static int parse_egprs_pkt_ch_req(uint16_t ra11, struct chan_req_params *chan_req) +{ + EGPRS_PacketChannelRequest_t req; + int rc; + + rc = decode_egprs_pkt_ch_req(ra11, &req); + if (rc) { + LOGP(DRLCMAC, LOGL_NOTICE, "Failed to decode " + "EGPRS Packet Channel Request: rc=%d", rc); + return rc; + } + + LOGP(DRLCMAC, LOGL_INFO, "Rx EGPRS Packet Channel Request: %s\n", + get_value_string(egprs_pkt_ch_req_type_names, req.Type)); + + switch (req.Type) { + case EGPRS_PKT_CHAN_REQ_ONE_PHASE: + chan_req->egprs_mslot_class = req.Content.MultislotClass + 1; + chan_req->priority = req.Content.Priority + 1; + break; + case EGPRS_PKT_CHAN_REQ_SHORT: + chan_req->priority = req.Content.Priority + 1; + if (req.Content.NumberOfBlocks == 0) + chan_req->single_block = true; + break; + case EGPRS_PKT_CHAN_REQ_ONE_PHASE_RED_LATENCY: + chan_req->priority = req.Content.Priority + 1; + break; + /* Two phase access => single block is needed */ + case EGPRS_PKT_CHAN_REQ_TWO_PHASE: + case EGPRS_PKT_CHAN_REQ_TWO_PHASE_IPA: + chan_req->priority = req.Content.Priority + 1; + chan_req->single_block = true; + break; + + /* Neither unacknowledged RLC mode, nor emergency calls are supported */ + case EGPRS_PKT_CHAN_REQ_ONE_PHASE_UNACK: + case EGPRS_PKT_CHAN_REQ_EMERGENCY_CALL: + LOGP(DRLCMAC, LOGL_NOTICE, "%s is not supported, rejecting\n", + get_value_string(egprs_pkt_ch_req_type_names, req.Type)); + return -ENOTSUP; + + case EGPRS_PKT_CHAN_REQ_SIGNALLING: + case EGPRS_PKT_CHAN_REQ_SIGNALLING_IPA: + case EGPRS_PKT_CHAN_REQ_DEDICATED_CHANNEL: + /* TODO: IIUC, signalling needs only one block */ + break; + + default: + LOGP(DRLCMAC, LOGL_ERROR, "Unknown EGPRS Packet Channel Request " + "type=0x%02x, probably a bug in CSN.1 codec\n", req.Type); + return -EINVAL; + } + + return 0; +} + static int parse_rach_ind(const struct rach_ind_params *rip, struct chan_req_params *chan_req) { + int rc; + switch (rip->burst_type) { case GSM_L1_BURST_TYPE_NONE: LOGP(DRLCMAC, LOGL_ERROR, "RACH.ind contains no burst type, assuming TS0\n"); @@ -697,10 +756,9 @@ return -ENOTSUP; } - /* EGPRS multislot class is only present in One Phase Access Request */ - /* FIXME: properly parse EGPRS Packet Channel Request */ - if ((rip->ra >> 10) == 0x00) /* .0xx xxx. .... */ - chan_req->egprs_mslot_class = ((rip->ra & 0x3e0) >> 5) + 1; + rc = parse_egprs_pkt_ch_req(rip->ra, chan_req); + if (rc) + return rc; break; default: LOGP(DRLCMAC, LOGL_ERROR, "RACH.ind contains unknown burst type 0x%02x " @@ -766,6 +824,11 @@ chan_req.single_block = true; } + /* TODO: handle Radio Priority (see 3GPP TS 44.060, table 11.2.5a.5) */ + if (chan_req.priority > 0) + LOGP(DRLCMAC, LOGL_NOTICE, "EGPRS Packet Channel Request indicates " + "Radio Priority %u, however we ignore it\n", chan_req.priority); + /* Should we allocate a single block or an Uplink TBF? */ if (chan_req.single_block) { rc = sba()->alloc(&trx_no, &ts_no, &sb_fn, ta); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:10:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:10:34 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:10:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:22:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 15:22:44 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... Patch Set 1: Code-Review+1 May be worth describing this is actually not a functional change, because overloading features were still picking the correct function. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:22:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:28:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 15:28:48 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; Please avoid mixing our stuff from stuff shared with wireshark, so it's easier to spot differences over time. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:28:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:32:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:32:40 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 to look at the new patch set (#3). Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... RLC/MAC: implement decoding of EGPRS Packet Channel Request According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. This change adds CSN.1 definitions for 11 bit EGPRS Packet Channel Request as per 3GPP TS 44.060, table 11.2.5a.2. Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Related: OS#1548 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 222 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/17718/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:33:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:33:48 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; > Please avoid mixing our stuff from stuff shared with wireshark, so it's easier to spot differences o [?] It's not even in Wireshark yet... Where am I supposed to place this declaration? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:33:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:34:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 15:34:05 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:34:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:54:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 15:54:04 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp at 719 PS2, Line 719: /* TODO: IIUC, signalling needs only one block */ please log something here, and do something. You are returning fine but leaving the chan_req untouched. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:54:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 15:55:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 15:55:17 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; > It's not even in Wireshark yet... [?] Further below, were all our encode/decode specific function are :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 15:55:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:06:55 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 16:06:55 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; > Further below, were all our encode/decode specific function are :) Then we would also need to move EGPRS_PacketChannelRequestType_t, because it's not going to make to Wireshark. That would break everything, because this enum is needed by EGPRS_PacketChannelRequest_t. I believe git is smart enough to highlight this little piece of code properly in the diff, isn't it? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 16:06:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:11:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 16:11:13 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; > Then we would also need to move EGPRS_PacketChannelRequestType_t, because it's not going to make to [?] Why isn't getting to wireshark? So nothoing of these new additions is going there? If everything's specific for us then it's fine keeping it as it is here at the end. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 16:11:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 16:13:17 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow objects registering their own schema types References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 ) Change subject: schema: Allow objects registering their own schema types ...................................................................... schema: Allow objects registering their own schema types Change-Id: I998c8674a55531909bfeac420064c3f238cea126 --- A selftest/schema_test/schema_case_06.conf M selftest/schema_test/schema_test.ok M selftest/schema_test/schema_test.py M src/osmo_gsm_tester/core/schema.py 4 files changed, 90 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/88/18388/1 diff --git a/selftest/schema_test/schema_case_06.conf b/selftest/schema_test/schema_case_06.conf new file mode 100644 index 0000000..ea7f45f --- /dev/null +++ b/selftest/schema_test/schema_case_06.conf @@ -0,0 +1,29 @@ +schema: + handover: + threshold: 'uint' + myvar: 'test_type' + anothervar: 'another_type' + +tests: + - foobar: + prefix: + handover: + myvar: 'valid_value1' + anothervar: 'unique_val_ok' + threshold: 2 + - foobar: + prefix: + handover: + myvar: 'valid_value2' + - foobar: + prefix: + handover: + threshold: 0 + - foobar: + prefix: + handover: + myvar: 'invalid_val' + - foobar: + prefix: + handover: + anothervar: 'another_invalid_val' diff --git a/selftest/schema_test/schema_test.ok b/selftest/schema_test/schema_test.ok index 2c4cd6a..846caae 100644 --- a/selftest/schema_test/schema_test.ok +++ b/selftest/schema_test/schema_test.ok @@ -61,3 +61,20 @@ --- -: ERR: ValueError: config item is a list, should be 'str': 'foobar.prefix.hey.ho.letsgo[]' Validation: Error ---------------------- +schema_case_06.conf: +{'foobar.prefix.handover.anothervar': 'another_type', + 'foobar.prefix.handover.myvar': 'test_type', + 'foobar.prefix.handover.threshold': 'uint'} +validating tests[0] +Validation: OK +validating tests[1] +Validation: OK +validating tests[2] +Validation: OK +validating tests[3] +--- foobar.prefix.handover.myvar: ERR: ValueError: Invalid value 'invalid_val' for schema type 'test_type' (validator: test_validator) +Validation: Error +validating tests[4] +--- foobar.prefix.handover.anothervar: ERR: ValueError: Invalid value 'another_invalid_val' for schema type 'another_type' (validator: ) +Validation: Error +---------------------- diff --git a/selftest/schema_test/schema_test.py b/selftest/schema_test/schema_test.py index 3cf2799..bffa601 100755 --- a/selftest/schema_test/schema_test.py +++ b/selftest/schema_test/schema_test.py @@ -25,6 +25,13 @@ li.append(f) return sorted(li) +def test_validator(val): + return val in ('valid_value1', 'valid_value2') + +schema.register_schema_types({'test_type': test_validator, + 'another_type': lambda val: val == 'unique_val_ok'}) + + print('==== Testing dynamically generated schemas ====') for f in get_case_list(_prep.script_dir): print('%s:' % f) diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 9055c5b..70b4c8c 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -36,12 +36,12 @@ break; if not regex.fullmatch(val): break; - return + return True raise ValueError('Invalid %s: %r' % (name, val)) def band(val): if val in ('GSM-900', 'GSM-1800', 'GSM-1900'): - return + return True raise ValueError('Unknown GSM band: %r' % val) def ipv4(val): @@ -49,27 +49,30 @@ els = [int(el) for el in val.split('.')] if not all([el >= 0 and el <= 255 for el in els]): raise ValueError('Invalid IPv4 address: %r' % val) + return True def hwaddr(val): - match_re('hardware address', HWADDR_RE, val) + return match_re('hardware address', HWADDR_RE, val) def imsi(val): - match_re('IMSI', IMSI_RE, val) + return match_re('IMSI', IMSI_RE, val) def ki(val): - match_re('KI', KI_RE, val) + return match_re('KI', KI_RE, val) def msisdn(val): - match_re('MSISDN', MSISDN_RE, val) + return match_re('MSISDN', MSISDN_RE, val) def auth_algo(val): if val not in util.ENUM_OSMO_AUTH_ALGO: raise ValueError('Unknown Authentication Algorithm: %r' % val) + return True def uint(val): n = int(val) if n < 0: raise ValueError('Positive value expected instead of %d' % n) + return True def uint8(val): n = int(val) @@ -77,6 +80,7 @@ raise ValueError('Positive value expected instead of %d' % n) if n > 255: # 2^8 - 1 raise ValueError('Value %d too big, max value is 255' % n) + return True def uint16(val): n = int(val) @@ -84,57 +88,64 @@ raise ValueError('Positive value expected instead of %d' % n) if n > 65535: # 2^16 - 1 raise ValueError('Value %d too big, max value is 65535' % n) + return True + +def bool_str(val): + # str2bool will raise an exception if unable to parse it + util.str2bool(val) + return True def times(val): n = int(val) if n < 1: raise ValueError('Positive value >0 expected instead of %d' % n) + return True def cipher(val): if val in ('a5_0', 'a5_1', 'a5_2', 'a5_3', 'a5_4', 'a5_5', 'a5_6', 'a5_7'): - return + return True raise ValueError('Unknown Cipher value: %r' % val) def modem_feature(val): if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g'): - return + return True raise ValueError('Unknown Modem Feature: %r' % val) def phy_channel_config(val): if val in ('CCCH', 'CCCH+SDCCH4', 'TCH/F', 'TCH/H', 'SDCCH8', 'PDCH', 'TCH/F_PDCH', 'CCCH+SDCCH4+CBCH', 'SDCCH8+CBCH','TCH/F_TCH/H_PDCH'): - return + return True raise ValueError('Unknown Physical channel config: %r' % val) def channel_allocator(val): if val in ('ascending', 'descending'): - return + return True raise ValueError('Unknown Channel Allocator Policy %r' % val) def gprs_mode(val): if val in ('none', 'gprs', 'egprs'): - return + return True raise ValueError('Unknown GPRS mode %r' % val) def codec(val): if val in ('hr1', 'hr2', 'hr3', 'fr1', 'fr2', 'fr3'): - return + return True raise ValueError('Unknown Codec value: %r' % val) def osmo_trx_clock_ref(val): if val in ('internal', 'external', 'gspdo'): - return + return True raise ValueError('Unknown OsmoTRX clock reference value: %r' % val) def lte_transmission_mode(val): n = int(val) if n <= 4: - return + return True raise ValueError('LTE Transmission Mode %d not in expected range' % n) def duration(val): if val.isdecimal() or val.endswith('m') or val.endswith('h'): - return + return True raise ValueError('Invalid duration value: %r' % val) INT = 'int' @@ -163,7 +174,7 @@ INT: int, STR: str, UINT: uint, - BOOL_STR: util.str2bool, + BOOL_STR: bool_str, BAND: band, IPV4: ipv4, HWADDR: hwaddr, @@ -310,7 +321,9 @@ log.ctx(path) type_validator = SCHEMA_TYPES.get(want_type) - type_validator(value) + valid = type_validator(value) + if not valid: + raise ValueError('Invalid value %r for schema type \'%s\' (validator: %s)' % (value, want_type, type_validator.__name__)) def nest(parent_path, config, schema): if parent_path: @@ -369,6 +382,13 @@ _WANT_SCHEMA = None _ALL_SCHEMA = None +def register_schema_types(schema_type_attr): + """Register schema types to be used by schema attributes. + For instance: register_resource_schema_attributes({ 'fruit': lambda val: val in ('banana', 'apple') }) + """ + global SCHEMA_TYPES + combine(SCHEMA_TYPES, schema_type_attr) + def register_resource_schema(obj_class_str, obj_attr_dict): """Register schema attributes for a resource type. For instance: register_resource_schema_attributes('modem', {'type': schema.STR, 'ki': schema.KI}) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 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: I998c8674a55531909bfeac420064c3f238cea126 Gerrit-Change-Number: 18388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:13:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 16:13:17 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... iperf3: Support using configuring UDP protocol Change-Id: I0b3545847b01ae3d029881f243fea276f0fa39de --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py A sysmocom/scenarios/cfg-iperf3-proto at .conf M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/gprs/lib/testlib.py 7 files changed, 82 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/18389/1 diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index d4fa649..bcc569a 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 64d476b..a92a658 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 2901e79..b7694bf 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -25,8 +25,13 @@ from . import pcap_recorder, run_node def on_register_schemas(): + schema_types = { + 'iperf3_protocol': IPerf3Client.validate_protocol, + } + schema.register_schema_types(schema_types) config_schema = { 'time': schema.DURATION, + 'protocol': 'iperf3_protocol', } schema.register_config_schema('iperf3cli', config_schema) @@ -45,6 +50,25 @@ log_obj.log('failed parsing iperf3 output: "%s"' % data) raise e +def print_result_node_udp(result, node_str): + try: + sum = result['end']['sum'] + print("Result %s:" % node_str) + print("\tSUM: %d KB, %d kbps, %d seconds %d/%d lost" % (sum['bytes']/1000, sum['bits_per_second']/1000, sum['seconds'], sum['lost_packets'], sum['packets'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e + +def print_result_node_tcp(result, node_str): + try: + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e class IPerf3Server(log.Origin): @@ -140,6 +164,12 @@ else: return iperf3_result_to_json(self, self.process.get_stdout()) + def print_results(self, client_was_udp): + if client_was_udp: + print_result_node_udp(self.get_results(), 'server') + else: + print_result_node_tcp(self.get_results(), 'server') + def addr(self): return self.ip_address.get('addr') @@ -160,6 +190,13 @@ REMOTE_DIR = '/tmp' LOGFILE = 'iperf3_cli.json' + PROTO_TCP = "tcp" + PROTO_UDP = "udp" + + @classmethod + def validate_protocol(cls, val): + return val in (cls.PROTO_TCP, cls.PROTO_UDP) + def __init__(self, testenv, iperf3srv): super().__init__(log.C_RUN, 'iperf3-cli_%s' % iperf3srv.addr()) self.run_dir = None @@ -167,6 +204,7 @@ self._run_node = None self.server = iperf3srv self.testenv = testenv + self._proto = None self.log_file = None self.rem_host = None self.remote_log_file = None @@ -177,10 +215,10 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None, time_sec=None): + def prepare_test_proc(self, downlink=False, netns=None, time_sec=None, proto=None): + values = config.get_defaults('iperf3cli') + config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) if time_sec is None: - values = config.get_defaults('iperf3cli') - config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) time_sec_str = values.get('time', time_sec) # Convert duration to seconds @@ -190,19 +228,22 @@ time_sec = int(time_sec_str[:-1]) * 60 else: time_sec = int(time_sec_str) - assert(time_sec) - self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) + if proto is None: + proto = values.get('protocol', IPerf3Client.PROTO_TCP) + self._proto = proto + + self.log('Preparing iperf3-client connecting to %s:%d (proto=%s,time=%ds)' % (self.server.addr(), self.server.port(), self._proto, time_sec)) self.log_copied = False self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(downlink, netns, time_sec) + return self.prepare_test_proc_locally(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) else: - return self.prepare_test_proc_remotely(downlink, netns, time_sec) + return self.prepare_test_proc_remotely(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) - def prepare_test_proc_remotely(self, downlink, netns, time_sec): + def prepare_test_proc_remotely(self, downlink, netns, time_sec, use_udp): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -218,6 +259,8 @@ popen_args += ('--logfile', self.remote_log_file,) if downlink: popen_args += ('-R',) + if use_udp: + popen_args += ('-u',) if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) @@ -225,7 +268,7 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns, time_sec): + def prepare_test_proc_locally(self, downlink, netns, time_sec, use_udp): pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) @@ -236,6 +279,8 @@ popen_args += ('--logfile', os.path.abspath(self.log_file),) if downlink: popen_args += ('-R',) + if use_udp: + popen_args += ('-u',) if netns: self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={}) @@ -258,9 +303,18 @@ else: return iperf3_result_to_json(self, self.process.get_stdout()) + def print_results(self): + if self.proto() == self.PROTO_UDP: + print_result_node_udp(self.get_results(), 'client') + else: + print_result_node_tcp(self.get_results(), 'client') + def set_run_node(self, run_node): self._run_node = run_node + def proto(self): + return self._proto + def __str__(self): # FIXME: somehow differentiate between several clients connected to same server? return "%s:%u" %(self.server.addr(), self.server.port()) diff --git a/sysmocom/scenarios/cfg-iperf3-proto at .conf b/sysmocom/scenarios/cfg-iperf3-proto at .conf new file mode 100644 index 0000000..8e2c350 --- /dev/null +++ b/sysmocom/scenarios/cfg-iperf3-proto at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + protocol: ${param1} diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index d4fa649..bcc569a 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 64d476b..a92a658 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 636ee2b..765f463 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -1,21 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - try: - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - except Exception as e: - print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) - raise e - - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') +def print_results(cli, srv): + cli.print_results() + srv.print_results(cli.proto() == cli.PROTO_UDP) def run_iperf3_cli_parallel(iperf3clients, ms_li, ready_cb): assert len(iperf3clients) == len(ms_li) @@ -114,7 +102,7 @@ for i in range(num_ms): servers[i].stop() print("Results for %s through %r" % (str(servers[i]), repr(ms_li[i].tmp_ctx_id))) - print_results(clients[i].get_results(), servers[i].get_results()) + print_results(clients[i], servers[i]) for ms in ms_li: ms.deactivate_context(ms.tmp_ctx_id) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:22:25 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 16:22:25 +0000 Subject: Change in osmo-pcu[master]: fixup: for "bts: refactor handling and parsing of RACH.ind" References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18390 ) Change subject: fixup: for "bts: refactor handling and parsing of RACH.ind" ...................................................................... fixup: for "bts: refactor handling and parsing of RACH.ind" Change-Id: I34c39fd4734b2d33a58381170e06dcbdada48b47 --- M src/pcu_l1_if.cpp 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/18390/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index fb07337..4439d7a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -432,12 +432,13 @@ /* C -> C++ adapter for direct DSP access code (e.g. osmo-bts-sysmo) */ extern "C" int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) { - struct rach_ind_params rip = { - trx_nr : trx_nr, - ts_nr : ts_nr, - rfn : fn, - qta : qta, - }; + /* C++/G++: "non-trivial designated initializers not supported" */ + struct rach_ind_params rip = { 0 }; + + rip.trx_nr = trx_nr; + rip.ts_nr = ts_nr; + rip.rfn = fn; + rip.qta = qta; return BTS::main_bts()->rcv_ptcch_rach(&rip); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I34c39fd4734b2d33a58381170e06dcbdada48b47 Gerrit-Change-Number: 18390 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:32:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 16:32:00 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) Does it really deserve CR-1? https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp at 719 PS2, Line 719: /* TODO: IIUC, signalling needs only one block */ > please log something here, and do something. [?] These sub-types contain nothing else but RandBits, so what am I supposed to do/log here? I am still trying to find whether we should allocate only one block for them or not. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 16:32:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:33:01 2020 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Thu, 21 May 2020 16:33:01 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 21 May 2020 16:33:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:37:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 16:37:35 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... Patch Set 1: -Code-Review Just noticed your comment. Will do. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 16:37:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 16:43:19 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 16:43:19 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h File src/gsm_rlcmac.h: https://gerrit.osmocom.org/c/osmo-pcu/+/17718/2/src/gsm_rlcmac.h at 5347 PS2, Line 5347: extern struct value_string egprs_pkt_ch_req_type_names[]; > Why isn't getting to wireshark? Because EGPRS_PacketChannelRequestType_t is not actually needed in Wireshark... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 16:43:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 17:25:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 17:25:08 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp at 719 PS2, Line 719: /* TODO: IIUC, signalling needs only one block */ > These sub-types contain nothing else but RandBits, so what am I supposed to do/log here? I am still [?] Then please at least log something here. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 17:25:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 17:25:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 17:25:54 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 17:25:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 17:28:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 17:28:42 +0000 Subject: Change in osmo-bsc[master]: add osmo-bsc -X: dump VTY ref XML to stdout In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18347 ) Change subject: add osmo-bsc -X: dump VTY ref XML to stdout ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18347/4/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18347/4/src/osmo-bsc/osmo_bsc_main.c at 113 PS4, Line 113: -X Are you sure '-X' is not used anywhere else in osmo-* projects? Maybe introducing only the long option ('--vty-ref-xml') would be enough? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7 Gerrit-Change-Number: 18347 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 21 May 2020 17:28:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 17:35:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 17:35:08 +0000 Subject: Change in osmo-bsc[master]: manuals: generate vty reference xml at build time In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18374 ) Change subject: manuals: generate vty reference xml at build time ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am File doc/manuals/Makefile.am: https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am at 24 PS2, Line 24: $(top_builddir)/src/osmo-bsc/osmo-bsc > Are you sure that makes sense when building with -j8? I think it's ok since we depend on the target binary here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 Gerrit-Change-Number: 18374 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 21 May 2020 17:35:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 17:43:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 17:43:27 +0000 Subject: Change in osmo-bsc[master]: manuals: generate vty reference xml at build time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18374 ) Change subject: manuals: generate vty reference xml at build time ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am File doc/manuals/Makefile.am: https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am at 24 PS2, Line 24: $(top_builddir)/src/osmo-bsc/osmo-bsc > > Are you sure that makes sense when building with -j8? [?] Then afaiu Make should already handle dependencies correctly and there's no need for this patch? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 Gerrit-Change-Number: 18374 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 21 May 2020 17:43:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 18:21:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 18:21:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 5: (16 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 78 PS5, Line 78: uint8_t boolean? Ideally, we should use something like "bitstring length (8..11)" or a union of BIT8 abd BIT11 here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 79 PS5, Line 79: PCUIF_BurstType Not sure if access burst type should be stored here, as you don't really need to match it in the assignment message. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 160 PS5, Line 160: dynamic It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 169 PS5, Line 169: dynamic It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 204 PS5, Line 204: dl_ass This template is not used in this function... https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 249 PS5, Line 249: ms.burst_type := BURST_TYPE_0; This should be kept as a parameter of the function that actually sends RACH.ind to the IUT. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 294 PS5, Line 294: tr_RLCMAC_DL_PACKET_ASS So by default, this function would match DL Assignment, while it can also handle UL Assignment. Maybe using '?' by default would make more sense? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 294 PS5, Line 294: imm_ass_rlcmac This name is confusing as there is no RLC/MAC version of the RR Immediate Assignment. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 299 PS5, Line 299: f_rx_rlcmac_dl_block Please add a TODO/FIXME here stating that we need an alt statement here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 310 PS5, Line 310: Wrong TLLI This probably means that received assignment is not for us, and we should wait for another one? At least a comment is needed here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 327 PS5, Line 327: uint16_t Why 16 bits? Should be 8 I believe. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 334 PS5, Line 334: 871 TODO (separate change idea): use mp_trx0_arfcn here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 353 PS5, Line 353: establish This name is confusing. Without looking at the code, I would think that it somehow establishes a Downlink TBF, but actually we *expect* DL TBF assignment here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 362 PS5, Line 362: uint32_t fn := 0 template uint32_t fn := ? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 381 PS5, Line 381: data := f_pad_oct(data, 23, '00'O); /* CS-1 */ There must be a comment that padding only works for CS-1. A payload of more than 23 octets would be sent unaligned. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 405 PS5, Line 405: f_ms_tx_ul_data_block_multi Maybe call it f_ms_tx_rand_ul_data_blocks()? The point is that the function generates payload itself, so it should be reflected in its name. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 18:21:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 18:50:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 18:50:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 5: Code-Review-1 (12 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at a811 PS5, Line 811: bsn := 0; Are you sure? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 259 PS5, Line 259: f_init_gprs_ms(); : ms := g_ms[0]; /* We only use first MS in this test */ I am still not happy about this approach. There is no real need to keep the MS state in component we're running on. All functions are supposed to accept a 'pointer' to ms anyway. If a test case needs more than one MS... it just allocates an array of GprsMS, locally. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 269 PS5, Line 269: f_ms_establish_ul_tbf Uhhhh, such an overhead... This is what I was afraid of, the API is loosing simplicity and flexibility. We don't really want a TBF here, we don't want +100500 more checks, we don't even need an MS here - we just need to send RACH.ind and check Timing Advance in the response. Everything else is behind the scope of this test case. The new API is probably fine for complex test cases, but here it just complicates things. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 310 PS5, Line 310: f_ms_rx_imm_ass_ccch Same problem here, what would be the failure reason? Right, "failed to match Immediate Assignment". In this case, again, you're adding more (less than in previous test case, but still) complexity to a simple test case... https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 584 PS5, Line 584: if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { : continue; : } : if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and : not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { : setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); : f_shutdown(__BFILE__, __LINE__); : } This goes behind the scope of the test case. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 609 PS5, Line 609: f_shutdown Unrelated change. AFAIR, I intentionally did not break here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 685 PS5, Line 685: f_shutdown Again unrelated. Please submit a separate patch, describe why it's needed and which problem it solves. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 700 PS5, Line 700: ms := g_ms[0]; /* We only use first MS in this test */ This is copy-pasted, again and again... https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 730 PS5, Line 730: f_shutdown Same. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 747 PS5, Line 747: ms := g_ms[0]; /* We only use first MS in this test */ While it could be just one line: var GprsMS ms := valueof(t_GprsMS_def) or so. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 835 PS5, Line 835: TC_countdown_procedure For this test case, the new API really does the magic. The impact is noticeable. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 1511 PS5, Line 1511: f_TC_egprs_pkt_chan_req Same here, we don't really need MS/TBF/... abstraction here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 18:50:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 19:03:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 19:03:41 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/18387/2/src/bts.cpp at 719 PS2, Line 719: /* TODO: IIUC, signalling needs only one block */ > Then please at least log something here. That's my question, what is this magic 'something' I should log? :P I'll update a new change assuming single block here as it seems logical to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 19:03:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 19:29:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 19:29:58 +0000 Subject: Change in osmo-pcu[master]: fixup: for "bts: refactor handling and parsing of RACH.ind" In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18390 ) Change subject: fixup: for "bts: refactor handling and parsing of RACH.ind" ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I34c39fd4734b2d33a58381170e06dcbdada48b47 Gerrit-Change-Number: 18390 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 19:30:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 21 May 2020 19:30:23 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 to look at the new patch set (#4). Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 --- M src/bts.cpp 1 file changed, 67 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/18387/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 21 22:21:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 21 May 2020 22:21:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 5: (24 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 78 PS5, Line 78: uint8_t > boolean? Ideally, we should use something like "bitstring length (8.. [?] I iitially used a boolean but then had issues passing it to some lower layer template in RAW_PCUIF or alike because it also expected an uint8_t, so I left is as uint8_t. It can be moved to boolean together with lower layers later if we want. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 79 PS5, Line 79: PCUIF_BurstType > Not sure if access burst type should be stored here, as you don't really need to match it in the ass [?] Ack, will simply apply it when needed. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 160 PS5, Line 160: dynamic > It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though. it's done for usf in later commit in the patchset. usf_granularity is TBH for later. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 169 PS5, Line 169: dynamic > It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though. Same as above. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 204 PS5, Line 204: dl_ass > This template is not used in this function... ack, will check it. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 249 PS5, Line 249: ms.burst_type := BURST_TYPE_0; > This should be kept as a parameter of the function that actually sends RACH.ind to the IUT. I will simply do this check before sending RACH.ind to send the correct BURST_TYPE. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 294 PS5, Line 294: tr_RLCMAC_DL_PACKET_ASS > So by default, this function would match DL Assignment, while it can also handle UL Assignment. [?] ack https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 294 PS5, Line 294: imm_ass_rlcmac > This name is confusing as there is no RLC/MAC version of the RR Immediate Assignment. ack, should be named f_ms_rc_ass_pacch https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 299 PS5, Line 299: f_rx_rlcmac_dl_block > Please add a TODO/FIXME here stating that we need an alt statement here. for what exactly? I could start adding TODOs everywhere, but I won't add it unless there's something specific which makes sense here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 310 PS5, Line 310: Wrong TLLI > This probably means that received assignment is not for us, and we should wait for another one? At l [?] Right now we are only supporting 1 MS and checking for 1 TLLI, so the message is fine. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 327 PS5, Line 327: uint16_t > Why 16 bits? Should be 8 I believe. will check the template. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 353 PS5, Line 353: establish > This name is confusing. [?] ok will change the name, https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 362 PS5, Line 362: uint32_t fn := 0 > template uint32_t fn := ? no, fn=0 is fine here, iirc it's a special value meaning "next one". https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 381 PS5, Line 381: data := f_pad_oct(data, 23, '00'O); /* CS-1 */ > There must be a comment that padding only works for CS-1. [?] Indeed I know it only works for CS1, but it was always the case. I will add a TODO. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 405 PS5, Line 405: f_ms_tx_ul_data_block_multi > Maybe call it f_ms_tx_rand_ul_data_blocks()? The point is that the function generates payload itself [?] ACK https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at a811 PS5, Line 811: bsn := 0; > Are you sure? Yes it's fine, I changed the test a bit so it makes more sense from a real MS point of view. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 269 PS5, Line 269: f_ms_establish_ul_tbf > Uhhhh, such an overhead... [?] Come on, it was already calling f_establish_tbf, there's no much new overhead. Let's use same infra so people can easily understand other tests once you have seen one. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 310 PS5, Line 310: f_ms_rx_imm_ass_ccch > Same problem here, what would be the failure reason? Right, "failed to match Immediate Assignment". [?] So what? the test is more complete, more stuff is checked for free in the same scenario. Really, let's push forward. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 584 PS5, Line 584: if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { : continue; : } : if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and : not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { : setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); : f_shutdown(__BFILE__, __LINE__); : } > This goes behind the scope of the test case. Not really, I'm fixing the test since it was not behaving correctly as an MS would. I stated in the commit I also fixed/improved some tests while moving to the new API. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 609 PS5, Line 609: f_shutdown > Unrelated change. AFAIR, I intentionally did not break here. I think this is fine. You want me to remove it? ok, I will remove it. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 685 PS5, Line 685: f_shutdown > Again unrelated. [?] Again, I think it's fine since we always want to terminate immediately after the error, having afterwards calling f_shutdown with final := true is confusing. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 730 PS5, Line 730: f_shutdown > Same. Same. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 747 PS5, Line 747: ms := g_ms[0]; /* We only use first MS in this test */ > While it could be just one line: var GprsMS ms := valueof(t_GprsMS_def) or so. Yes for these tests, not for future ones. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 1511 PS5, Line 1511: f_TC_egprs_pkt_chan_req > Same here, we don't really need MS/TBF/... abstraction here. Same, it makes sense using same set of tools so people can easily understand tests and develop them. The old APIs will be eventually dropped. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 21 May 2020 22:21:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 01:34:50 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 01:34:50 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ec72c47ce44d_d3a2b24e36ee5f08075c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 80s] libosmo-sccp.src: W: no-changelogname-tag [ 80s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 80s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 80s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 80s] osmo-stp.i586: W: no-changelogname-tag [ 80s] There is no changelog. Please insert a '%changelog' section heading in your [ 80s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 80s] [ 80s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 80s] The package contains an init script or systemd service file but lacks the [ 80s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 80s] [ 80s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 80s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 80s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 80s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 80s] This archive does not contain a non-empty .text section. The archive was not [ 80s] created with -ffat-lto-objects option. [ 80s] [ 80s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 80s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 80s] [ 80s] ### VM INTERACTION START ### [ 83s] [ 76.498323] sysrq: Power Off [ 83s] [ 76.504255] reboot: Power down [ 83s] ### VM INTERACTION END ### [ 83s] [ 83s] lamb01 failed "build libosmo-sccp.spec" at Fri May 22 01:34:49 UTC 2020. [ 83s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 01:35:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 01:35:41 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ec72c802ead8_d3a2b24e36ee5f0807681@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 53s] libosmo-sccp.src: W: no-changelogname-tag [ 53s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 53s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 53s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 53s] osmo-stp.x86_64: W: no-changelogname-tag [ 53s] There is no changelog. Please insert a '%changelog' section heading in your [ 53s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 53s] [ 53s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 53s] The package contains an init script or systemd service file but lacks the [ 53s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 53s] [ 53s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 53s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 53s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 53s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 53s] This archive does not contain a non-empty .text section. The archive was not [ 53s] created with -ffat-lto-objects option. [ 53s] [ 53s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 53s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 53s] [ 53s] ### VM INTERACTION START ### [ 56s] [ 50.611339] sysrq: Power Off [ 56s] [ 50.615701] reboot: Power down [ 56s] ### VM INTERACTION END ### [ 56s] [ 56s] sheep85 failed "build libosmo-sccp.spec" at Fri May 22 01:35:33 UTC 2020. [ 56s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 01:37:59 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 01:37:59 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ec72d1561f83_d3a2b24e36ee5f08077d9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 139s] libosmo-sccp.src: W: no-changelogname-tag [ 139s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 139s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 139s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 139s] osmo-stp.aarch64: W: no-changelogname-tag [ 139s] There is no changelog. Please insert a '%changelog' section heading in your [ 139s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 139s] [ 139s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 139s] The package contains an init script or systemd service file but lacks the [ 139s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 139s] [ 139s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 139s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 139s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 139s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 139s] This archive does not contain a non-empty .text section. The archive was not [ 139s] created with -ffat-lto-objects option. [ 139s] [ 139s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 139s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 139s] [ 139s] ### VM INTERACTION START ### [ 142s] [ 129.883659] sysrq: Power Off [ 142s] [ 129.887127] reboot: Power down [ 142s] ### VM INTERACTION END ### [ 142s] [ 142s] obs-arm-2 failed "build libosmo-sccp.spec" at Fri May 22 01:37:44 UTC 2020. [ 142s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 02:21:41 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 02:21:41 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec73748d459f_d3a2b24e36ee5f08137b4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 156s] libosmo-sccp.src: W: no-changelogname-tag [ 156s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 156s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 156s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 156s] osmo-stp.armv7hl: W: no-changelogname-tag [ 156s] There is no changelog. Please insert a '%changelog' section heading in your [ 156s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 156s] [ 156s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 156s] The package contains an init script or systemd service file but lacks the [ 156s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 156s] [ 156s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 156s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 156s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 156s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 156s] This archive does not contain a non-empty .text section. The archive was not [ 156s] created with -ffat-lto-objects option. [ 156s] [ 156s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 156s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 157s] [ 157s] ### VM INTERACTION START ### [ 160s] [ 147.162981] sysrq: Power Off [ 160s] [ 147.172424] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] armbuild01 failed "build libosmo-sccp.spec" at Fri May 22 02:21:40 UTC 2020. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 05:18:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 05:18:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 5: (8 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 78 PS5, Line 78: uint8_t > I iitially used a boolean but then had issues passing it to some lower layer template in RAW_PCUIF o [?] Ah, yeah, TITAN does not support implicit boolean-integer conversion. Neither there are functions for that like int2bool() and bool2int(). We should just change the field type in PCUFI_Types to boolean with FIELDLENGTH(8). I am fine with doing it later, in a separate change. On the other hand, using bitstring would simplify the things - it's easy to convert it to what PCUIF needs: type bitstring GsmRa length(8..11) with { variant "" }; const GsmRa chan_req_def := '01111000'B; // Just before sending RACH.ind var uint16_t ra := bit2int(chan_req_def); var uint8_t is_11bit; if (lengthof(chan_req_def) == 11) { is_11bit := 1 } else { is_11bit := 0 } https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 79 PS5, Line 79: PCUIF_BurstType > Ack, will simply apply it when needed. Thanks! https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 249 PS5, Line 249: ms.burst_type := BURST_TYPE_0; > I will simply do this check before sending RACH.ind to send the correct BURST_TYPE. Just let the caller some freedom, there is also BURST_TYPE_2 (and even more in the specs). https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 327 PS5, Line 327: uint16_t > will check the template. Actually, template wants type integer TimingAdvance (0..219). https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 362 PS5, Line 362: uint32_t fn := 0 > no, fn=0 is fine here, iirc it's a special value meaning "next one". Ah, right. Nevermind. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 269 PS5, Line 269: f_ms_establish_ul_tbf > it was already calling f_establish_tbf, there's no much new overhead. Well, f_establish_tbf() has a bit inaccurate name. Under the hood there is no TBF establishment, it simply sends RACH.ind, receives DATA.req on AGCH, matches it against tr_IMM_TBF_ASS and returns to the caller. This is exactly what's needed here. So there is overhead. Please keep low level API for small and simple test cases. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 584 PS5, Line 584: if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { : continue; : } : if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and : not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { : setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); : f_shutdown(__BFILE__, __LINE__); : } > Not really, I'm fixing the test since it was not behaving correctly as an MS would. [?] I would prefer this to be done in a separate change, but if it's really needed here - let's keep it. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 609 PS5, Line 609: f_shutdown > I think this is fine. You want me to remove it? ok, I will remove it. The proble is that I don't see how it's related to this patch. Feel free to do in a separate change with some description of its purpose. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 05:18:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 07:57:34 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 22 May 2020 07:57:34 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 07:57:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 08:48:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 08:48:11 +0000 Subject: Build failure of network:osmocom:nightly/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec791df61718_d3a2b24e36ee5f0872243@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/limesuite/Debian_Unstable/x86_64 Package network:osmocom:nightly/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly limesuite Last lines of build log: [ 87s] SIOCSIFADDR: File exists [ 87s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 87s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 87s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 87s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 87s] ----------------------------------------------------------------- [ 87s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 87s] ----------------------------------------------------------------- [ 87s] ----------------------------------------------------------------- [ 87s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 87s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 87s] dpkg-buildpackage: info: source package limesuite [ 87s] dpkg-buildpackage: info: source version 20.01.0-1 [ 87s] dpkg-buildpackage: info: source distribution unstable [ 87s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 87s] dpkg-source --before-build . [ 87s] dpkg-buildpackage: info: host architecture amd64 [ 87s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 87s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 87s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 87s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 87s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 87s] ### VM INTERACTION START ### [ 88s] Powering off. [ 88s] [ 78.633686] reboot: Power down [ 88s] ### VM INTERACTION END ### [ 88s] [ 88s] goat13 failed "build limesuite_20.01.0-1.dsc" at Fri May 22 08:48:02 UTC 2020. [ 88s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 09:53:56 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 09:53:56 +0000 Subject: Build failure of network:osmocom:latest/limesuite in Debian_Unstable/x86_64 In-Reply-To: References: Message-ID: <5ec7a1405873f_d3a2b24e36ee5f0888650@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/limesuite/Debian_Unstable/x86_64 Package network:osmocom:latest/limesuite failed to build in Debian_Unstable/x86_64 Check out the package for editing: osc checkout network:osmocom:latest limesuite Last lines of build log: [ 143s] SIOCSIFADDR: File exists [ 144s] dpkg-source: warning: extracting unsigned source package (/usr/src/packages/SOURCES/limesuite_20.01.0-1.dsc) [ 144s] dpkg-source: info: extracting limesuite in /usr/src/packages/BUILD [ 144s] dpkg-source: info: unpacking limesuite_20.01.0.orig.tar.gz [ 144s] dpkg-source: info: unpacking limesuite_20.01.0-1.debian.tar.xz [ 144s] ----------------------------------------------------------------- [ 144s] ----- building limesuite_20.01.0-1.dsc (user abuild) [ 144s] ----------------------------------------------------------------- [ 144s] ----------------------------------------------------------------- [ 144s] dpkg-buildpackage: warning: debian/changelog(l5): badly formatted trailer line [ 144s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 144s] dpkg-buildpackage: info: source package limesuite [ 144s] dpkg-buildpackage: info: source version 20.01.0-1 [ 144s] dpkg-buildpackage: info: source distribution unstable [ 144s] dpkg-buildpackage: info: source changed by Lime Microsystems [ 144s] dpkg-source --before-build . [ 144s] dpkg-buildpackage: info: host architecture amd64 [ 144s] dpkg-source: warning: BUILD/debian/changelog(l5): badly formatted trailer line [ 144s] LINE: -- Lime Microsystems Thu, 28 Feb 2020 15:00:00 +0300 [ 145s] dpkg-checkbuilddeps: error: Unmet build dependencies: libwxgtk3.0-dev [ 145s] dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting [ 145s] dpkg-buildpackage: warning: (Use -d flag to override.) [ 145s] ### VM INTERACTION START ### [ 146s] Powering off. [ 146s] [ 132.272849] reboot: Power down [ 146s] ### VM INTERACTION END ### [ 146s] [ 146s] lamb54 failed "build limesuite_20.01.0-1.dsc" at Fri May 22 09:53:49 UTC 2020. [ 146s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 09:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 09:56:25 +0000 Subject: Change in osmo-ci[master]: OBS: check required programs before start References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18391 ) Change subject: OBS: check required programs before start ...................................................................... OBS: check required programs before start osmocom-*-packages.sh take some time to execute and has quite a few programs that are not commonly installed. Check the required dependencies first, so it doesn't abort in the middle of the scripts if these are missing. I just ran into this with the new meson dependency. Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead --- M scripts/common-obs.sh M scripts/common.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 28 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/91/18391/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 5e21574..c07fbaa 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -1,6 +1,19 @@ #!/bin/sh # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts +osmo_cmd_require \ + dch \ + dh \ + dpkg-buildpackage \ + gbp \ + git \ + meson \ + mktemp \ + osc \ + patch \ + sed \ + wget + # Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example # of the structure that will be generated: # osmocom-nightly diff --git a/scripts/common.sh b/scripts/common.sh index af7c354..917962e 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -157,3 +157,18 @@ cd "$oldpwd" return $ret } + +# Abort the script if required programs are missing +# $1...$n: program name +osmo_cmd_require() { + local fail=0 + for i in "$@"; do + if ! command -v "$i" >/dev/null 2>&1; then + echo "Required program not found: $i" + fail=1 + fi + done + if [ "$fail" = 1 ]; then + exit 1 + fi +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 88c5094..ddf5359 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -15,11 +15,6 @@ TOP=$(pwd) DEBSRCDIR="$TOP/debsrc" -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # start with a checkout of the project diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index b3f0461..8f36377 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -14,11 +14,6 @@ DT=$(date +%Y%m%d) TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # clean up the whole space -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead Gerrit-Change-Number: 18391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 09:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 09:56:25 +0000 Subject: Change in osmo-ci[master]: OBS: add --noservice to osc ci command References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18392 ) Change subject: OBS: add --noservice to osc ci command ...................................................................... OBS: add --noservice to osc ci command Prevent the following error: ERROR: please install obs-service-format_spec_file or use the --noservice option Build step 'Execute shell' marked build as failure Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/92/18392/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index ddf5359..5e35659 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -207,7 +207,7 @@ #build osmo-uecups cd "$TOP/$PROJ" - osc ci -m "Latest Tagged versions of $DT" + osc ci -m "Latest Tagged versions of $DT" --noservice } build_osmocom diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 8f36377..a79a754 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -126,7 +126,7 @@ cd "$oscdir" osc add -- *.tar* *.dsc osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" - osc ci -m "Snapshot $name $DT" + osc ci -m "Snapshot $name $DT" --noservice } post() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 Gerrit-Change-Number: 18392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 09:56:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 09:56:26 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... scripts/common-obs.sh: move osmo_obs_checkout_copy Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh and osmocom-nightly-packages.sh to take the distribution name as argument and merge both to osmo_obs_checkout_copy in common-obs.sh. Use debian8 as distribution name instead of debian8-jessie, so the distribution name matches the suffix of the patch file (build-for-debian8.patch). A follow-up commit will apply a debian10 specific patch with this new function. Related: OS#4562 Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 49 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/93/18393/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index c07fbaa..df8ea75 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -120,3 +120,44 @@ osc add "$name.spec" } + +# Copy an already checked out repository dir and apply a distribution specific patch. +# $PWD must be where all repositories are checked out in subdirs. +# $1: distribution name (e.g. "debian8") +# $2: Osmocom repository (e.g. "osmo-trx") +osmo_obs_checkout_copy() { + local distro="$1" + local repo="$2" + + echo + echo "====> Checking out $repo-$distro" + + # Verify distro name for consistency + local distros=" + debian8 + " + local found=0 + local distro_i + for distro_i in $distros; do + if [ "$distro_i" = "$distro" ]; then + found=1 + break + fi + done + if [ "$found" = 0 ]; then + echo "ERROR: invalid distro name: $distro, should be one of: $distros" + exit 1 + fi + + # Copy + if [ -d "$repo-$distro" ]; then + rm -rf "$repo-$distro" + fi + cp -a "$repo" "$repo-$distro" + cd "$repo-$distro" + + # Commit patch + patch -p1 < "debian/patches/build-for-$distro.patch" + git commit --amend --no-edit debian/ + cd .. +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 5e35659..8bf4fb2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -63,22 +63,6 @@ fi } -# Copy an already checked out repository dir and apply its debian 8 patch. -# $1: Osmocom repository -checkout_copy_debian8_jessie() { - echo - echo "====> Checking out $1-debian8-jessie" - cd "$TOP" - if [ -d "$1-debian8-jessie" ]; then - rm -rf "$1-debian8-jessie" - fi - cp -a "$1" "$1-debian8-jessie" - cd "$1-debian8-jessie" - patch -p1 < debian/patches/build-for-debian8.patch - git commit --amend --no-edit debian/ - cd .. -} - build() { project=$1 gitbpargs="$2" @@ -170,12 +154,13 @@ checkout neocon https://github.com/laf0rge/neocon checkout osmo-uecups - checkout_copy_debian8_jessie "osmo-gsm-manuals" + cd "$TOP" + osmo_obs_checkout_copy debian8 osmo-gsm-manuals build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals - build osmo-gsm-manuals-debian8-jessie + build osmo-gsm-manuals-debian8 build libosmocore build libosmo-sccp build libosmo-abis diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index a79a754..ca4b253 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -164,18 +164,6 @@ meson subprojects download freeDiameter } - -# Copy an already checked out repository dir and apply its debian 8 patch. -# $1: Osmocom repository -checkout_copy_debian8_jessie() { - cd "$REPO" - cp -a "$1" "$1-debian8-jessie" - cd "$1-debian8-jessie" - patch -p1 < debian/patches/build-for-debian8.patch - git commit -m 'auto-commit: allow debian8 to build' debian/ - cd .. -} - build_osmocom() { DATA=$TOP/data REPO=$TOP/repo @@ -223,13 +211,14 @@ checkout neocon https://github.com/laf0rge/neocon checkout osmo-uecups - checkout_copy_debian8_jessie "osmo-gsm-manuals" - checkout_copy_debian8_jessie "osmo-trx" + cd "$REPO" + osmo_obs_checkout_copy debian8 osmo-gsm-manuals + osmo_obs_checkout_copy debian8 osmo-trx build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals - build osmo-gsm-manuals-debian8-jessie + build osmo-gsm-manuals-debian8 build libosmocore build libosmo-sccp build libosmo-abis @@ -244,7 +233,7 @@ build openbsc build osmo-pcap build osmo-trx - build osmo-trx-debian8-jessie + build osmo-trx-debian8 build osmo-sip-connector build osmo-bts build osmo-pcu -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 09:56:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 09:56:26 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... OBS: add debian10 specific patch for limesuite Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in debian/control. Adjust OBS scripts to apply such patches from this repository if they exist here, and fall back to the project's repository (osmo-trx, osmo-gsm-manuals patches are there). Related: OS#4562 Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad --- M README.adoc A obs-patches/limesuite/build-for-debian10.patch M scripts/common-obs.sh M scripts/common.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 6 files changed, 54 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/94/18394/1 diff --git a/README.adoc b/README.adoc index 786be0d..bd4ef2a 100644 --- a/README.adoc +++ b/README.adoc @@ -13,6 +13,11 @@ osmo-ci to be checked out in the build slave user's home, i.e. using a PATH of $HOME/osmo-ci/scripts. +obs-patches: patches to build projects for various debian distributions, e.g. +a patch for limesuite that fixes the libwxgtk3.0-dev => libwxgtk3.0-gtk3-dev +rename in control/debian for debian10. Used by osmo_obs_distro_specific_patch() +in scripts/common-obs.sh. + _docker_playground: Clone of docker-playground.git, so the scripts can build required docker images. This dir gets created on demand by scripts/common.sh, and automatically fetched and reset to "origin/master" (override with diff --git a/obs-patches/limesuite/build-for-debian10.patch b/obs-patches/limesuite/build-for-debian10.patch new file mode 100644 index 0000000..2387b08 --- /dev/null +++ b/obs-patches/limesuite/build-for-debian10.patch @@ -0,0 +1,13 @@ +diff --git a/debian/control b/debian/control +index c25b7c97..375ab95b 100644 +--- a/debian/control ++++ b/debian/control +@@ -6,7 +6,7 @@ Build-Depends: + debhelper (>= 9.0.0), + cmake (>= 3.1.3), + libusb-1.0-0-dev, +- libwxgtk3.0-dev, ++ libwxgtk3.0-gtk3-dev, + libsoapysdr-dev, + freeglut3-dev, + libfltk1.3-dev, diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index df8ea75..f9d3a58 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -121,13 +121,36 @@ osc add "$name.spec" } +# Get the path to a distribution specific patch, either from osmo-ci.git or from the project repository. +# $PWD must be the project repository dir. +# $1: distribution name (e.g. "debian8") +# $2: project repository (e.g. "osmo-trx", "limesuite") +osmo_obs_distro_specific_patch() { + local distro="$1" + local repo="$2" + local ret + + ret="$OSMO_CI_DIR/obs-patches/$repo/build-for-$distro.patch" + if [ -e "$ret" ]; then + echo "$ret" + return + fi + + ret="debian/patches/build-for-$distro.patch" + if [ -e "$ret" ]; then + echo "$ret" + return + fi +} + # Copy an already checked out repository dir and apply a distribution specific patch. # $PWD must be where all repositories are checked out in subdirs. # $1: distribution name (e.g. "debian8") -# $2: Osmocom repository (e.g. "osmo-trx") +# $2: project repository (e.g. "osmo-trx", "limesuite") osmo_obs_checkout_copy() { local distro="$1" local repo="$2" + local patch echo echo "====> Checking out $repo-$distro" @@ -135,6 +158,7 @@ # Verify distro name for consistency local distros=" debian8 + debian10 " local found=0 local distro_i @@ -157,7 +181,12 @@ cd "$repo-$distro" # Commit patch - patch -p1 < "debian/patches/build-for-$distro.patch" + patch="$(osmo_obs_distro_specific_patch "$distro" "$repo")" + if [ -z "$patch" ]; then + echo "ERROR: no patch found for distro=$distro, repo=$repo" + exit 1 + fi + patch -p1 < "$patch" git commit --amend --no-edit debian/ cd .. } diff --git a/scripts/common.sh b/scripts/common.sh index 917962e..8dd00a1 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -1,5 +1,6 @@ #!/bin/sh # Various functions and variables used in multiple osmo-ci shell scripts +OSMO_CI_DIR="$(realpath "$(dirname "$0")/..")" OSMO_GIT_URL="https://git.osmocom.org" OSMO_GIT_URL_GERRIT="https://gerrit.osmocom.org" diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 8bf4fb2..d836af2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -156,9 +156,11 @@ cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals + osmo_obs_checkout_copy debian10 limesuite build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" + build limesuite-debian10 --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index ca4b253..f6bd4e6 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -214,9 +214,11 @@ cd "$REPO" osmo_obs_checkout_copy debian8 osmo-gsm-manuals osmo_obs_checkout_copy debian8 osmo-trx + osmo_obs_checkout_copy debian10 limesuite build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" + build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 10:21:03 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 22 May 2020 10:21:03 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 1: tested this locally here and it works fine. only one more issue is that we need a way to specify the UDP bandwidth with the -b parameter. Otherwise only 1Mbit/s is generated. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 10:21:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 10:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 22 May 2020 10:32:14 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Transceiver: Log when sending of CLK indications begins When the logging category TRXCLK is set to info osmo-trx prints a logline that informs about the sending of clock indications. In practice this those log lines are often used to identify that osmo-trx and osmo-bts are running properly, so it would be helpful, even in productive use, if there would be an information in the log that the sending of clock indications has begun. However, the regular printing of the clock indication log line would soon flood the log. So, lets have an addional log line that logs only once when the transceiver starts and quickly informs at loglevel NOTICE that clock indications are now sent. Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Related: OS#2577 --- M Transceiver52M/Transceiver.cpp M Transceiver52M/Transceiver.h 2 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/95/18395/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index d9bda1d..1af3e15 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -278,6 +278,8 @@ { ScopedLock lock(mLock); + mClkIndSent = false; + if (mOn) { LOG(ERR) << "Transceiver already running"; return true; @@ -1166,7 +1168,11 @@ { int msgLen; char command[50]; - // FIXME -- This should be adaptive. + + if (!mClkIndSent) + LOGC(DTRXCLK, NOTICE) << "Sending CLOCK indications"; + mClkIndSent = true; + sprintf(command,"IND CLOCK %llu",(unsigned long long) (mTransmitDeadlineClock.FN()+2)); LOGC(DTRXCLK, INFO) << "sending " << command; diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h index 6e0d157..99d5b6c 100644 --- a/Transceiver52M/Transceiver.h +++ b/Transceiver52M/Transceiver.h @@ -273,6 +273,10 @@ void reset(); void logRxBurst(size_t chan, const struct trx_ul_burst_ind *bi); + + /* Needed for logging only */ + bool mClkIndSent; + }; void *RxUpperLoopAdapter(TrxChanThParams *params); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:49:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 11:49:10 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_dump.py: fix return value of parse_msg() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18396 ) Change subject: trx_toolkit/data_dump.py: fix return value of parse_msg() ...................................................................... trx_toolkit/data_dump.py: fix return value of parse_msg() Jenkins build #2516 has uncovered a problem in DATADumpFile.parse_msg(): ====================================================================== FAIL: test_parse_empty (test_data_dump.DATADump_Test) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/src/target/trx_toolkit/test_data_dump.py", line 138, in test_parse_empty self.assertEqual(msg, False) AssertionError: None != False I did a quick investigation, and figured out that this failure happens when trying to call parse_msg() with idx == 0, because DATADumpFile._seek2msg() basically does nothing in this case and thus always returns True. The None itself comes from DATADumpFile._parse_msg(). Let's ensure that DATADumpFile.parse_msg() always returns None, even if DATADumpFile._seek2msg() fails. Also, update the unit test, so we always test a wide range of 'idx' values. Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 --- M src/target/trx_toolkit/data_dump.py M src/target/trx_toolkit/test_data_dump.py 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/96/18396/1 diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index 7c5452b..41af695 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -158,14 +158,14 @@ # Parses a particular message defined by index idx # Return value: # a parsed message in case of success, - # or None in case of EOF or header parsing error, - # or False in case of message parsing error or out of range. + # or None in case of EOF, out of range, or header parsing error, + # or False in case of message parsing error. def parse_msg(self, idx): # Move descriptor to the beginning of requested message rc = self._seek2msg(idx) if not rc: log.error("Couldn't find requested message") - return False + return None # Attempt to parse a message return self._parse_msg() diff --git a/src/target/trx_toolkit/test_data_dump.py b/src/target/trx_toolkit/test_data_dump.py index 2f7e25a..5129196 100644 --- a/src/target/trx_toolkit/test_data_dump.py +++ b/src/target/trx_toolkit/test_data_dump.py @@ -133,9 +133,9 @@ def test_parse_empty(self): with self.assertLogs(level = 'ERROR'): - idx = random.randrange(100) - msg = self._ddf.parse_msg(idx) - self.assertEqual(msg, False) + for idx in range(100): + msg = self._ddf.parse_msg(idx) + self.assertEqual(msg, None) def test_parse_all_empty(self): msg_list = self._ddf.parse_all() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 Gerrit-Change-Number: 18396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:49:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 11:49:11 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: cosmetic: get rid of 'i' where it is not used References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18397 ) Change subject: trx_toolkit: cosmetic: get rid of 'i' where it is not used ...................................................................... trx_toolkit: cosmetic: get rid of 'i' where it is not used Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 --- M src/target/trx_toolkit/data_dump.py M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/rand_burst_gen.py M src/target/trx_toolkit/test_data_dump.py 4 files changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/97/18397/1 diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index 41af695..52768a9 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -98,7 +98,7 @@ self.f.seek(0) # Read the capture in loop... - for i in range(idx): + for _ in range(idx): # Attempt to read a message header hdr_raw = self.f.read(self.HDR_LENGTH) if len(hdr_raw) != self.HDR_LENGTH: diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 35e09d6..55fb796 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -403,7 +403,7 @@ # Generate a random message specific burst def rand_burst(self, length = GSM_BURST_LEN): - self.burst = [random.randint(0, 1) for i in range(length)] + self.burst = [random.randint(0, 1) for _ in range(length)] # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): @@ -812,7 +812,7 @@ if length is None: length = self.mod_type.bl - self.burst = [random.randint(-127, 127) for i in range(length)] + self.burst = [random.randint(-127, 127) for _ in range(length)] # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): diff --git a/src/target/trx_toolkit/rand_burst_gen.py b/src/target/trx_toolkit/rand_burst_gen.py index a56467f..9ac6943 100644 --- a/src/target/trx_toolkit/rand_burst_gen.py +++ b/src/target/trx_toolkit/rand_burst_gen.py @@ -57,7 +57,7 @@ buf += [0] * 3 # Random data 1 / 2 - buf += [random.randint(0, 1) for i in range(57)] + buf += [random.randint(0, 1) for _ in range(57)] # Steal flag 1 / 2 buf.append(random.randint(0, 1)) @@ -71,7 +71,7 @@ buf.append(random.randint(0, 1)) # Random data 2 / 2 - buf += [random.randint(0, 1) for i in range(57)] + buf += [random.randint(0, 1) for _ in range(57)] # Tailing bits buf += [0] * 3 @@ -90,7 +90,7 @@ buf += [0] * 3 # Random data 1 / 2 - buf += [random.randint(0, 1) for i in range(39)] + buf += [random.randint(0, 1) for _ in range(39)] # Training sequence if tsc is None: @@ -98,7 +98,7 @@ buf += tsc.seq # Random data 2 / 2 - buf += [random.randint(0, 1) for i in range(39)] + buf += [random.randint(0, 1) for _ in range(39)] # Tailing bits buf += [0] * 3 @@ -122,7 +122,7 @@ buf += tsc.seq # Random data - buf += [random.randint(0, 1) for i in range(36)] + buf += [random.randint(0, 1) for _ in range(36)] # Tailing bits buf += [0] * 3 diff --git a/src/target/trx_toolkit/test_data_dump.py b/src/target/trx_toolkit/test_data_dump.py index 5129196..9cd9b79 100644 --- a/src/target/trx_toolkit/test_data_dump.py +++ b/src/target/trx_toolkit/test_data_dump.py @@ -79,7 +79,7 @@ def _gen_rand_messages(self, cls, count, ver = 1): msg_list = [] - for i in range(count): + for _ in range(count): msg = self._gen_rand_message(cls, ver) msg_list.append(msg) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 Gerrit-Change-Number: 18397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:19 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 --- M Makefile.am 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/18398/1 diff --git a/Makefile.am b/Makefile.am index 62bad69..e64db39 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,9 +5,13 @@ # package the contrib and doc EXTRA_DIST = \ + .version \ + README.md \ contrib/dump_docs.py \ - git-version-gen .version \ - README.md + contrib/osmo-bts.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:20 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:20 +0000 Subject: Change in osmo-bsc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18399 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18399/1 diff --git a/Makefile.am b/Makefile.am index f42e6d0..d84e7f6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-bsc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 Gerrit-Change-Number: 18399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:21 +0000 Subject: Change in osmo-ggsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf --- M Makefile.am 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/00/18400/1 diff --git a/Makefile.am b/Makefile.am index c2d497c..f431bd9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,7 +10,15 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = git-version-gen .version README.md README.FreeBSD README.MacOSX +EXTRA_DIST = \ + .version \ + README.FreeBSD \ + README.MacOSX \ + README.md \ + contrib/osmo-ggsn.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf Gerrit-Change-Number: 18400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:21 +0000 Subject: Change in osmo-hlr[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18401 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 --- M Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/01/18401/1 diff --git a/Makefile.am b/Makefile.am index a54dcb2..9a92f2f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ .version \ + contrib/osmo-hlr.spec.in \ + debian \ $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 Gerrit-Change-Number: 18401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:22 +0000 Subject: Change in osmo-iuh[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18402 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/02/18402/1 diff --git a/Makefile.am b/Makefile.am index 40ea321..fd684e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-ranap.pc libosmo-sabp.pc -EXTRA_DIST = asn1 .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + asn1 \ + contrib/osmo-iuh.spec.in \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 Gerrit-Change-Number: 18402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:22 +0000 Subject: Change in osmo-mgw[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18403 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/18403/1 diff --git a/Makefile.am b/Makefile.am index 3a94711..1255210 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-mgw.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a Gerrit-Change-Number: 18403 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:23 +0000 Subject: Change in osmo-msc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18404 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/04/18404/1 diff --git a/Makefile.am b/Makefile.am index 3f89896..bfc3b6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-msc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 Gerrit-Change-Number: 18404 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:24 +0000 Subject: Change in osmo-pcap[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18405 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/05/18405/1 diff --git a/Makefile.am b/Makefile.am index 3fcbc70..3040616 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,12 @@ SUBDIRS = include src contrib doc tests BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen .version +EXTRA_DIST = \ + .version \ + contrib/osmo-pcap.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 Gerrit-Change-Number: 18405 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:24 +0000 Subject: Change in osmo-pcu[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18406 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/06/18406/1 diff --git a/Makefile.am b/Makefile.am index 48051f2..85e3c65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,12 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 SUBDIRS = include src doc tests contrib -EXTRA_DIST = osmoappdesc.py README.md +EXTRA_DIST = \ + README.md \ + contrib/osmo-pcu.spec.in \ + debian \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c Gerrit-Change-Number: 18406 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:25 +0000 Subject: Change in osmo-remsim[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18407 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 --- M Makefile.am 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/07/18407/1 diff --git a/Makefile.am b/Makefile.am index 9c51a55..664e3b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,14 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-rspro.pc -EXTRA_DIST = asn1 .version README.md contrib/remsim-apitool.py +EXTRA_DIST = \ + .version \ + README.md \ + asn1 \ + contrib/osmo-remsim.spec.in \ + contrib/remsim-apitool.py \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 Gerrit-Change-Number: 18407 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:27 +0000 Subject: Change in osmo-sgsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/08/18408/1 diff --git a/Makefile.am b/Makefile.am index 3f89896..17b3fc6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-sgsn.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 Gerrit-Change-Number: 18408 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:27 +0000 Subject: Change in osmo-sip-connector[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sip-connector refs/changes/09/18409/1 diff --git a/Makefile.am b/Makefile.am index 824b8ca..ea80631 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,13 @@ SUBDIRS = src tests contrib doc BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-sip-connector.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 Gerrit-Change-Number: 18409 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:50:28 +0000 Subject: Change in osmo-trx[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18410 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 --- M Makefile.am 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/10/18410/1 diff --git a/Makefile.am b/Makefile.am index 9462fa8..0152341 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,7 +39,10 @@ EXTRA_DIST = \ LEGAL \ COPYING \ - README.md + README.md \ + contrib/osmo-trx.spec.in \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 Gerrit-Change-Number: 18410 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:54:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 11:54:44 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 1: > Patch Set 1: > > tested this locally here and it works fine. only one more issue is that we need a way to specify the UDP bandwidth with the -b parameter. Otherwise only 1Mbit/s is generated. Iwas unware of that param. So can you explain me how do you plan to use it? Shall I simply set it to a big value (which one?) and be done with it? Shall I allow it to be changed with a config option of iperf3? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 11:54:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:06 +0000 Subject: Change in libosmocore[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18411 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 --- M Makefile.am 1 file changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/18411/1 diff --git a/Makefile.am b/Makefile.am index d08f41b..f2a05a9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,7 +28,15 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = git-version-gen .version README.md osmo-release.mk osmo-release.sh +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmocore.spec.in \ + debian \ + git-version-gen \ + osmo-release.mk \ + osmo-release.sh \ + $(NULL) HTML = \ $(top_builddir)/doc/core/html/index.html \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 Gerrit-Change-Number: 18411 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/libsmpp34 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6a722d7_d3a2b24e36ee5f095496b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libsmpp34/Debian_Testing/x86_64 Package network:osmocom:latest/libsmpp34 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libsmpp34 Last lines of build log: [ 5s] ### VM INTERACTION START ### [ 5s] Using UART console [ 5s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_6/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_6/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_6/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 8s] Booting from ROM..c[?7l[ 2.160624] dracut-pre-udev[287]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 2.166482] dracut-pre-udev[287]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 2.168427] dracut-pre-udev[287]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 3.063376] dracut-pre-udev[287]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 3.068332] dracut-pre-udev[287]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] ### VM INTERACTION END ### [ 9s] 2nd stage started in virtual machine [ 9s] machine type: x86_64 [ 9s] Linux version: 4[ 3.496278] sysrq: SysRq : Changing Loglevel [ 9s] .12.14-lp151.28.[ 3.496848] sysrq: Loglevel set to 4 [ 9s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 9s] Increasing log level from now on... [ 9s] Enable sysrq operations [ 9s] /.build/build-vm: line 540: mount: command not found [ 9s] /.build/build-vm: line 559: mount: command not found [ 9s] /.build/build-vm: line 560: mount: command not found [ 9s] /.build/build-vm: line 587: mkswap: command not found [ 9s] /.build/build-vm: line 588: swapon: command not found [ 9s] ### VM INTERACTION START ### [ 12s] [ 6.512819] sysrq: SysRq : Power Off [ 12s] [ 6.518383] reboot: Power down [ 12s] ### VM INTERACTION END ### [ 12s] [ 12s] goat09 failed "build libsmpp34_1.14.0.dsc" at Fri May 22 11:58:22 UTC 2020. [ 12s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/osmocom-latest in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6acb4dd_d3a2b24e36ee5f0955079@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmocom-latest/Debian_Testing/x86_64 Package network:osmocom:latest/osmocom-latest failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmocom-latest Last lines of build log: [ 5s] ### VM INTERACTION START ### [ 5s] Using UART console [ 5s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 7s] Booting from ROM..c[?7l[ 1.085230] dracut-pre-udev[199]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.090445] dracut-pre-udev[199]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.093225] dracut-pre-udev[199]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.558401] dracut-pre-udev[199]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.564631] dracut-pre-udev[199]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] ### VM INTERACTION END ### [ 8s] 2nd stage started in virtual machine [ 8s] machine type: x86_64 [ 8s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 8s] Increasing log level from now on... [ 8s] [ 2.106554] sysrq: SysRq : Changing Loglevel [ 8s] [ 2.107373] sysrq: Loglevel set to 4 [ 8s] Enable sysrq operations [ 8s] /.build/build-vm: line 540: mount: command not found [ 8s] /.build/build-vm: line 559: mount: command not found [ 8s] /.build/build-vm: line 560: mount: command not found [ 8s] /.build/build-vm: line 587: mkswap: command not found [ 8s] /.build/build-vm: line 588: swapon: command not found [ 8s] ### VM INTERACTION START ### [ 11s] [ 5.125742] sysrq: SysRq : Power Off [ 11s] [ 5.127007] reboot: Power down [ 11s] ### VM INTERACTION END ### [ 11s] [ 11s] build74 failed "build osmocom-latest_0.0.0.dsc" at Fri May 22 11:58:23 UTC 2020. [ 11s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/libasn1c in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6b6c8c2_d3a2b24e36ee5f095529e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libasn1c/Debian_Testing/x86_64 Package network:osmocom:latest/libasn1c failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libasn1c Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_2/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_2/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_2/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.610910] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.616888] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.619137] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.518062] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.523998] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4[ 3.061262] sysrq: SysRq : Changing Loglevel [ 11s] .12.14-lp151.28.[ 3.061978] sysrq: Loglevel set to 4 [ 11s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 6.081578] sysrq: SysRq : Power Off [ 14s] [ 6.085563] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep87 failed "build libasn1c_0.9.32.dsc" at Fri May 22 11:58:26 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/open5gs in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6b1de5c_d3a2b24e36ee5f0955141@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/open5gs/Debian_Testing/x86_64 Package network:osmocom:latest/open5gs failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest open5gs Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.618245] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.623174] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.624952] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.515509] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.520724] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4.12.14-lp151.28.[ 3.022863] sysrq: SysRq : Changing Loglevel [ 11s] 48-default #1 SM[ 3.024378] sysrq: Loglevel set to 4 [ 11s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 6.047622] sysrq: SysRq : Power Off [ 14s] [ 6.051679] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep88 failed "build open5gs_1.2.4~eoan.dsc" at Fri May 22 11:58:25 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/libgtpnl in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6bbeffa_d3a2b24e36ee5f095531f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libgtpnl/Debian_Testing/x86_64 Package network:osmocom:latest/libgtpnl failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libgtpnl Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_14/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_14/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_14/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.646219] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.652261] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.655919] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.551210] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.559075] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4[ 3.068426] sysrq: SysRq : Changing Loglevel [ 11s] .12.14-lp151.28.[ 3.069370] sysrq: Loglevel set to 4 [ 11s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 6.091218] sysrq: SysRq : Power Off [ 14s] [ 6.095670] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep87 failed "build libgtpnl_1.2.1.dsc" at Fri May 22 11:58:27 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:36 +0000 Subject: Change in libosmo-abis[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18412 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/12/18412/1 diff --git a/Makefile.am b/Makefile.am index a8774c4..d55eace 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,6 +12,11 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmo-abis.spec.in \ + debian \ + $(NULL) @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd Gerrit-Change-Number: 18412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/neocon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6c22b27_d3a2b24e36ee5f09554bf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/neocon/Debian_Testing/x86_64 Package network:osmocom:latest/neocon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest neocon Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_10/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_10/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_10/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 8s] Booting from ROM..c[?7l[ 1.614247] dracut-pre-udev[219]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.620080] dracut-pre-udev[219]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.622727] dracut-pre-udev[219]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 2.520244] dracut-pre-udev[219]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 2.526485] dracut-pre-udev[219]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] ### VM INTERACTION END ### [ 10s] 2nd stage started in virtual machine [ 10s] machine type: x86_64 [ 10s] Linux version: 4.12.14-lp151.28.[ 3.023366] sysrq: SysRq : Changing Loglevel [ 10s] 48-default #1 SM[ 3.024918] sysrq: Loglevel set to 4 [ 10s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 10s] Increasing log level from now on... [ 10s] Enable sysrq operations [ 10s] /.build/build-vm: line 540: mount: command not found [ 10s] /.build/build-vm: line 559: mount: command not found [ 10s] /.build/build-vm: line 560: mount: command not found [ 10s] /.build/build-vm: line 587: mkswap: command not found [ 10s] /.build/build-vm: line 588: swapon: command not found [ 10s] ### VM INTERACTION START ### [ 13s] [ 6.050534] sysrq: SysRq : Power Off [ 13s] [ 6.053883] reboot: Power down [ 13s] ### VM INTERACTION END ### [ 13s] [ 13s] sheep86 failed "build neocon_1.0.1.dsc" at Fri May 22 11:58:27 UTC 2020. [ 13s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:37 +0000 Subject: Change in libosmo-netif[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18413 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/13/18413/1 diff --git a/Makefile.am b/Makefile.am index 5dd843b..55a650a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,12 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-netif.pc -EXTRA_DIST = .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmo-netif.spec.in \ + debian \ + $(NULL) @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 Gerrit-Change-Number: 18413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 11:58:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:29 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be6c66a15_d3a2b24e36ee5f0955581@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/Debian_Testing/x86_64 Package network:osmocom:latest/libosmocore failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 8s] Booting from ROM..c[?7l[ 1.091330] dracut-pre-udev[200]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.097577] dracut-pre-udev[200]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.100436] dracut-pre-udev[200]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.570770] dracut-pre-udev[200]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.577265] dracut-pre-udev[200]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] ### VM INTERACTION END ### [ 9s] 2nd stage started in virtual machine [ 9s] machine type: x86_64 [ 9s] Linux version: 4[ 2.087464] sysrq: SysRq : Changing Loglevel [ 9s] .12.14-lp151.28.[ 2.088230] sysrq: Loglevel set to 4 [ 9s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 9s] Increasing log level from now on... [ 9s] Enable sysrq operations [ 9s] /.build/build-vm: line 540: mount: command not found [ 9s] /.build/build-vm: line 559: mount: command not found [ 9s] /.build/build-vm: line 560: mount: command not found [ 9s] /.build/build-vm: line 587: mkswap: command not found [ 9s] /.build/build-vm: line 588: swapon: command not found [ 9s] ### VM INTERACTION START ### [ 12s] [ 5.104369] sysrq: SysRq : Power Off [ 12s] [ 5.105637] reboot: Power down [ 12s] ### VM INTERACTION END ### [ 12s] [ 12s] build78 failed "build libosmocore_1.3.1.dsc" at Fri May 22 11:58:27 UTC 2020. [ 12s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:38 +0000 Subject: Change in libosmo-sccp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/14/18414/1 diff --git a/Makefile.am b/Makefile.am index ac68fcc..31b920c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-sccp.pc libosmo-mtp.pc libosmo-sigtran.pc libosmo-xua.pc -EXTRA_DIST = .version git-version-gen osmoappdesc.py +EXTRA_DIST = \ + .version \ + contrib/libosmo-sccp.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 Gerrit-Change-Number: 18414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:38 +0000 Subject: Change in libsmpp34[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libsmpp34/+/18415 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 --- M Makefile.am 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libsmpp34 refs/changes/15/18415/1 diff --git a/Makefile.am b/Makefile.am index 3e44376..f888647 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,7 +18,9 @@ test_apps/sendwp.xml\ test_apps/recv_and_unpack.inc \ README.md \ - .version + .version \ + debian \ + contrib/libsmpp34.spec.in @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 Gerrit-Change-Number: 18415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 11:58:38 +0000 Subject: Change in libusrp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libusrp/+/18416 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e --- M Makefile.am 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libusrp refs/changes/16/18416/1 diff --git a/Makefile.am b/Makefile.am index eb149d4..0478e16 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,9 @@ usrp.pc.in \ usrp.iss.in \ usrp.inf \ - .version + .version \ + debian \ + contrib/libusrp.spec.in SUBDIRS = host fpga doc firmware -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e Gerrit-Change-Number: 18416 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 11:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 11:58:41 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/18395/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/18395/1/Transceiver52M/Transceiver.cpp at 1057 PS1, Line 1057: if (mForceClockInterface || mTransmitDeadlineClock > mLastClockUpdateTime + GSM::Time(216,0)) { I would simply add the logging here based on whether mForceClockInterface is true. No need to use a new variable. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 11:58:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 11:58:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:46 +0000 Subject: Build failure of network:osmocom:latest/eclipse-titan in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be8638e49_d3a2b24e36ee5f09556ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/eclipse-titan/Debian_Testing/x86_64 Package network:osmocom:latest/eclipse-titan failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest eclipse-titan Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_2/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_2/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_2/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 10s] Booting from ROM..c[?7l[ 1.581204] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.586046] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.587498] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.478939] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.484264] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4.12.14-lp151.28.[ 3.006598] sysrq: SysRq : Changing Loglevel [ 11s] 48-default #1 SM[ 3.007894] sysrq: Loglevel set to 4 [ 11s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 6.029870] sysrq: SysRq : Power Off [ 14s] [ 6.033606] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep86 failed "build eclipse-titan_6.6.1-1.dsc" at Fri May 22 11:58:33 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be869e955_d3a2b24e36ee5f09557a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gsm-manuals failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals Last lines of build log: [ 12s] ### VM INTERACTION START ### [ 12s] Using UART console [ 12s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_8/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_8/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_8/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 13s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.976394] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.984265] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.987355] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.502227] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.510994] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] [ 3.114280] sysrq: SysRq : Changing Loglevel [ 16s] Linux version: 4[ 3.115065] sysrq: Loglevel set to 4 [ 16s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.146211] sysrq: SysRq : Power Off [ 19s] [ 6.152452] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb12 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Fri May 22 11:58:33 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:46 +0000 Subject: Build failure of network:osmocom:latest/libosmo-dsp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be86e828c_d3a2b24e36ee5f0955836@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-dsp/Debian_Testing/x86_64 Package network:osmocom:latest/libosmo-dsp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-dsp Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_7/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_7/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_7/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.015749] dracut-pre-udev[233]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.027914] dracut-pre-udev[233]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.031524] dracut-pre-udev[233]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.547675] dracut-pre-udev[233]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.557341] dracut-pre-udev[233]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.177197] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.179002] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.207756] sysrq: SysRq : Power Off [ 16s] [ 6.212796] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb20 failed "build libosmodsp_0.4.0.dsc" at Fri May 22 11:58:34 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:46 +0000 Subject: Build failure of network:osmocom:latest/orcania in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be874d256_d3a2b24e36ee5f095595@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/orcania/Debian_Testing/x86_64 Package network:osmocom:latest/orcania failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest orcania Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_7/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_7/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_7/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.222812] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.232674] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.234916] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.796547] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.807019] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] ### VM INTERACTION END ### [ 14s] 2nd stage started in virtual machine [ 14s] machine type: x86_64 [ 14s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:[ 3.492746] sysrq: SysRq : Changing Loglevel [ 14s] 38:36 UTC 2020 ([ 3.493925] sysrq: Loglevel set to 4 [ 14s] 18849d1) [ 14s] Increasing log level from now on... [ 14s] Enable sysrq operations [ 14s] /.build/build-vm: line 540: mount: command not found [ 14s] /.build/build-vm: line 559: mount: command not found [ 14s] /.build/build-vm: line 560: mount: command not found [ 14s] /.build/build-vm: line 587: mkswap: command not found [ 14s] /.build/build-vm: line 588: swapon: command not found [ 14s] ### VM INTERACTION START ### [ 17s] [ 6.521028] sysrq: SysRq : Power Off [ 17s] [ 6.530440] reboot: Power down [ 17s] ### VM INTERACTION END ### [ 17s] [ 17s] lamb57 failed "build orcania_1.2.9-5.dsc" at Fri May 22 11:58:36 UTC 2020. [ 17s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:58:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:58:46 +0000 Subject: Build failure of network:osmocom:latest/libusrp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7be8790b3f_d3a2b24e36ee5f0956087@build.opensuse.org> 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: [ 9s] ### VM INTERACTION START ### [ 9s] Using UART console [ 9s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_5/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_5/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_5/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 10s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 13s] Booting from ROM..c[?7l[ 1.953495] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 1.961399] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 1.964864] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.478051] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.487059] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] ### VM INTERACTION END ### [ 14s] 2nd stage started in virtual machine [ 14s] machine type: x86_64 [ 14s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 14s] Increasing log level from now on... [ 14s] [ 3.102506] sysrq: SysRq : Changing Loglevel [ 14s] [ 3.103830] sysrq: Loglevel set to 4 [ 14s] Enable sysrq operations [ 14s] /.build/build-vm: line 540: mount: command not found [ 14s] /.build/build-vm: line 559: mount: command not found [ 14s] /.build/build-vm: line 560: mount: command not found [ 14s] /.build/build-vm: line 587: mkswap: command not found [ 14s] /.build/build-vm: line 588: swapon: command not found [ 14s] ### VM INTERACTION START ### [ 17s] [ 6.138164] sysrq: SysRq : Power Off [ 17s] [ 6.142695] reboot: Power down [ 17s] ### VM INTERACTION END ### [ 17s] [ 17s] lamb07 failed "build libusrp_3.4.4.dsc" at Fri May 22 11:58:37 UTC 2020. [ 17s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:03 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea1d3f20_d3a2b24e36ee5f0956141@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-fl2k failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: [ 5s] ### VM INTERACTION START ### [ 5s] Using UART console [ 5s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 8s] Booting from ROM..c[?7l[ 1.124767] dracut-pre-udev[198]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.129738] dracut-pre-udev[198]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.131961] dracut-pre-udev[198]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.595231] dracut-pre-udev[198]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.600988] dracut-pre-udev[198]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] ### VM INTERACTION END ### [ 9s] 2nd stage started in virtual machine [ 9s] machine type: x86_64 [ 9s] Linux version: 4[ 2.156941] sysrq: SysRq : Changing Loglevel [ 9s] [ 2.158105] sysrq: Loglevel set to 4 [ 9s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 9s] Increasing log level from now on... [ 9s] Enable sysrq operations [ 9s] /.build/build-vm: line 540: mount: command not found [ 9s] /.build/build-vm: line 559: mount: command not found [ 9s] /.build/build-vm: line 560: mount: command not found [ 9s] /.build/build-vm: line 587: mkswap: command not found [ 9s] /.build/build-vm: line 588: swapon: command not found [ 9s] ### VM INTERACTION START ### [ 12s] [ 5.176592] sysrq: SysRq : Power Off [ 12s] [ 5.178076] reboot: Power down [ 12s] ### VM INTERACTION END ### [ 12s] [ 12s] build70 failed "build osmo-fl2k_0.1.1.24.3f44.dsc" at Fri May 22 11:59:01 UTC 2020. [ 12s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:03 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:03 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea2329b2_d3a2b24e36ee5f0956230@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Debian_Testing/x86_64 Package network:osmocom:nightly/libgtpnl failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_5/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_5/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_5/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 1.917180] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.924239] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.926392] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.437581] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.443365] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4[ 3.059875] sysrq: SysRq : Changing Loglevel [ 12s] .12.14-lp151.28.[ 3.061789] sysrq: Loglevel set to 4 [ 12s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.090940] sysrq: SysRq : Power Off [ 15s] [ 6.097582] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] lamb07 failed "build libgtpnl_1.2.1.2.01b2.dsc" at Fri May 22 11:59:01 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:03 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:03 +0000 Subject: Build failure of network:osmocom:nightly/osmocom-nightly in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea2de646_d3a2b24e36ee5f0956375@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmocom-nightly/Debian_Testing/x86_64 Package network:osmocom:nightly/osmocom-nightly failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmocom-nightly Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_16/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_16/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_16/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.632754] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.639712] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.642395] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.533914] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.540643] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] ### VM INTERACTION END ### [ 10s] 2nd stage started in virtual machine [ 10s] machine type: x86_64 [ 10s] Linux version: 4[ 3.058229] sysrq: SysRq : Changing Loglevel [ 10s] .12.14-lp151.28.[ 3.059711] sysrq: Loglevel set to 4 [ 10s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 10s] Increasing log level from now on... [ 10s] Enable sysrq operations [ 10s] /.build/build-vm: line 540: mount: command not found [ 10s] /.build/build-vm: line 559: mount: command not found [ 10s] /.build/build-vm: line 560: mount: command not found [ 10s] /.build/build-vm: line 587: mkswap: command not found [ 10s] /.build/build-vm: line 588: swapon: command not found [ 10s] ### VM INTERACTION START ### [ 13s] [ 6.085651] sysrq: SysRq : Power Off [ 13s] [ 6.088697] reboot: Power down [ 13s] ### VM INTERACTION END ### [ 13s] [ 13s] sheep86 failed "build osmocom-nightly_0.0.0.20200522.dsc" at Fri May 22 11:58:57 UTC 2020. [ 13s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-dsp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea7b8a0d_d3a2b24e36ee5f09568f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-dsp/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-dsp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-dsp Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.024596] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.033514] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.036981] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.542489] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.558261] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] [ 3.167301] sysrq: SysRq : Changing Loglevel [ 13s] Linux version: 4[ 3.168260] sysrq: Loglevel set to 4 [ 13s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.201069] sysrq: SysRq : Power Off [ 16s] [ 6.206169] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb06 failed "build libosmodsp_0.4.0.dsc" at Fri May 22 11:59:03 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libosmocore in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea8514c_d3a2b24e36ee5f0956940@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmocore/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmocore failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmocore Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_7/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_7/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_7/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.039137] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.047647] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.052225] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.587573] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.599133] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.304744] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.305759] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.332225] sysrq: SysRq : Power Off [ 16s] [ 6.337546] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb20 failed "build libosmocore_1.3.0.107.6370.dsc" at Fri May 22 11:59:03 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libasn1c in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea84e420_d3a2b24e36ee5f09570c2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libasn1c/Debian_Testing/x86_64 Package network:osmocom:nightly/libasn1c failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libasn1c Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_5/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_5/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_5/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.009883] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.016578] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.018995] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.557480] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.564862] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 ([ 3.181051] sysrq: SysRq : Changing Loglevel [ 12s] 18849d1) [ 12s] Increa[ 3.182677] sysrq: Loglevel set to 4 [ 12s] sing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.224386] sysrq: SysRq : Power Off [ 15s] [ 6.229505] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] lamb18 failed "build libasn1c_0.9.32.2.4241.dsc" at Fri May 22 11:59:04 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea896d06_d3a2b24e36ee5f0957189@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/Debian_Testing/x86_64 Package network:osmocom:nightly/libsmpp34 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.129073] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.136984] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.139287] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.671638] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.679148] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.338634] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.48-default #1 SM[ 3.339789] sysrq: Loglevel set to 4 [ 13s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.382937] sysrq: SysRq : Power Off [ 16s] [ 6.395903] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb17 failed "build libsmpp34_1.14.0.3.4da2.dsc" at Fri May 22 11:59:05 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea8d6a49_d3a2b24e36ee5f095728c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 14s] Booting from ROM..c[?7l[ 1.944908] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 1.952270] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 1.955112] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.471320] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.478020] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] ### VM INTERACTION END ### [ 15s] 2nd stage started in virtual machine [ 15s] machine type: x86_64 [ 15s] [ 3.089800] sysrq: SysRq : Changing Loglevel [ 15s] Linux version: 4[ 3.091489] sysrq: Loglevel set to 4 [ 15s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 15s] Increasing log level from now on... [ 15s] Enable sysrq operations [ 15s] /.build/build-vm: line 540: mount: command not found [ 15s] /.build/build-vm: line 559: mount: command not found [ 15s] /.build/build-vm: line 560: mount: command not found [ 15s] /.build/build-vm: line 587: mkswap: command not found [ 15s] /.build/build-vm: line 588: swapon: command not found [ 15s] ### VM INTERACTION START ### [ 18s] [ 6.121041] sysrq: SysRq : Power Off [ 18s] [ 6.127589] reboot: Power down [ 18s] ### VM INTERACTION END ### [ 18s] [ 18s] lamb12 failed "build osmo-gsm-manuals-dev_0.3.0.10.b013.dsc" at Fri May 22 11:59:05 UTC 2020. [ 18s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea937770_d3a2b24e36ee5f09573f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_Testing/x86_64 Package network:osmocom:nightly/open5gs failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_15/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_15/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_15/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.674380] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.680518] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.682900] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.579353] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.584853] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4.12.14-lp151.28.[ 3.092949] sysrq: SysRq : Changing Loglevel [ 11s] 48-default #1 SM[ 3.094346] sysrq: Loglevel set to 4 [ 11s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 6.116659] sysrq: SysRq : Power Off [ 14s] [ 6.120601] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep87 failed "build open5gs_1.2.5.20200522.dsc" at Fri May 22 11:59:07 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea99488f_d3a2b24e36ee5f0957425@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/Debian_Testing/x86_64 Package network:osmocom:nightly/libusrp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_14/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_14/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_14/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 10s] Booting from ROM..c[?7l[ 1.660773] dracut-pre-udev[219]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.667905] dracut-pre-udev[219]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.670836] dracut-pre-udev[219]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.568970] dracut-pre-udev[219]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.575484] dracut-pre-udev[219]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4[ 3.094278] sysrq: SysRq : Changing Loglevel [ 12s] .12.14-lp151.28.[ 3.095690] sysrq: Loglevel set to 4 [ 12s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.122931] sysrq: SysRq : Power Off [ 15s] [ 6.126689] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] sheep86 failed "build libusrp_3.4.4.6.2d98.dsc" at Fri May 22 11:59:09 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bea9dc14b_d3a2b24e36ee5f0957544@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.028446] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.039607] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.042391] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.559914] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.566719] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] [ 3.165573] sysrq: SysRq : Changing Loglevel [ 13s] [ 3.166744] sysrq: Loglevel set to 4 [ 13s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.198808] sysrq: SysRq : Power Off [ 16s] [ 6.203988] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb14 failed "build osmo-python-tests_0.0.9.20200522.dsc" at Fri May 22 11:59:09 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7beaa50c82_d3a2b24e36ee5f09576fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Debian_Testing/x86_64 Package network:osmocom:nightly/neocon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_8/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_8/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_8/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.128360] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.142415] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.145705] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.686577] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.698879] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.417271] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.418745] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.448493] sysrq: SysRq : Power Off [ 16s] [ 6.451654] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb15 failed "build neocon_1.0.1.20200522.dsc" at Fri May 22 11:59:10 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7beaaa5675_d3a2b24e36ee5f095778@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_Testing/x86_64 Package network:osmocom:nightly/rtl-sdr failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: [ 9s] ### VM INTERACTION START ### [ 9s] Using UART console [ 9s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_6/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_6/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_6/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 10s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 13s] Booting from ROM..c[?7l[ 2.100812] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.109789] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.112378] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.647463] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.654298] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] ### VM INTERACTION END ### [ 14s] 2nd stage started in virtual machine [ 14s] machine type: x86_64 [ 14s] Linux version: 4[ 3.292513] sysrq: SysRq : Changing Loglevel [ 14s] .12.14-lp151.28.[ 3.293445] sysrq: Loglevel set to 4 [ 14s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 14s] Increasing log level from now on... [ 14s] Enable sysrq operations [ 14s] /.build/build-vm: line 540: mount: command not found [ 14s] /.build/build-vm: line 559: mount: command not found [ 14s] /.build/build-vm: line 560: mount: command not found [ 14s] /.build/build-vm: line 587: mkswap: command not found [ 14s] /.build/build-vm: line 588: swapon: command not found [ 14s] ### VM INTERACTION START ### [ 17s] [ 6.324592] sysrq: SysRq : Power Off [ 17s] [ 6.328308] reboot: Power down [ 17s] ### VM INTERACTION END ### [ 17s] [ 17s] lamb04 failed "build rtl-sdr_0.5.4.35.d794.dsc" at Fri May 22 11:59:12 UTC 2020. [ 17s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:20 +0000 Subject: Build failure of network:osmocom:nightly/orcania in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7beaaef383_d3a2b24e36ee5f095787d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/Debian_Testing/x86_64 Package network:osmocom:nightly/orcania failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 3072 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 2.184509] dracut-pre-udev[203]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.195534] dracut-pre-udev[203]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.200908] dracut-pre-udev[203]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.960477] dracut-pre-udev[203]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.994875] dracut-pre-udev[203]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] ### VM INTERACTION END ### [ 17s] 2nd stage started in virtual machine [ 17s] machine type: x86_64 [ 17s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:[ 4.119402] sysrq: SysRq : Changing Loglevel [ 17s] [ 4.121599] sysrq: Loglevel set to 4 [ 17s] 38:36 UTC 2020 (18849d1) [ 17s] Increasing log level from now on... [ 17s] Enable sysrq operations [ 17s] /.build/build-vm: line 540: mount: command not found [ 17s] /.build/build-vm: line 559: mount: command not found [ 17s] /.build/build-vm: line 560: mount: command not found [ 17s] /.build/build-vm: line 587: mkswap: command not found [ 17s] /.build/build-vm: line 588: swapon: command not found [ 17s] ### VM INTERACTION START ### [ 20s] [ 7.181067] sysrq: SysRq : Power Off [ 20s] [ 7.193396] reboot: Power down [ 20s] ### VM INTERACTION END ### [ 20s] [ 20s] cloud114 failed "build orcania_1.2.9-5.dsc" at Fri May 22 11:59:13 UTC 2020. [ 20s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 11:59:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 11:59:48 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_dump.py: fix return value of parse_msg() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18396 ) Change subject: trx_toolkit/data_dump.py: fix return value of parse_msg() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 Gerrit-Change-Number: 18396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 11:59:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 11:59:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:37 +0000 Subject: Build failure of network:osmocom:latest/libosmo-abis in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec1b1470_d3a2b24e36ee5f09581d7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-abis/Debian_Testing/x86_64 Package network:osmocom:latest/libosmo-abis failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-abis Last lines of build log: [ 5s] ### VM INTERACTION START ### [ 5s] Using UART console [ 5s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 7s] Booting from ROM..c[?7l[ 1.098426] dracut-pre-udev[197]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.102591] dracut-pre-udev[197]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.104613] dracut-pre-udev[197]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.565415] dracut-pre-udev[197]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.569383] dracut-pre-udev[197]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] ### VM INTERACTION END ### [ 8s] 2nd stage started in virtual machine [ 8s] machine type: x86_64 [ 8s] Linux version: 4[ 2.075170] sysrq: SysRq : Changing Loglevel [ 8s] [ 2.075875] sysrq: Loglevel set to 4 [ 8s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 8s] Increasing log level from now on... [ 8s] Enable sysrq operations [ 8s] /.build/build-vm: line 540: mount: command not found [ 8s] /.build/build-vm: line 559: mount: command not found [ 8s] /.build/build-vm: line 560: mount: command not found [ 8s] /.build/build-vm: line 587: mkswap: command not found [ 8s] /.build/build-vm: line 588: swapon: command not found [ 8s] ### VM INTERACTION START ### [ 11s] [ 5.092989] sysrq: SysRq : Power Off [ 11s] [ 5.094091] reboot: Power down [ 11s] ### VM INTERACTION END ### [ 11s] [ 11s] build73 failed "build libosmo-abis_0.8.1.dsc" at Fri May 22 11:59:25 UTC 2020. [ 11s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcap in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec2e058c_d3a2b24e36ee5f09584b5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcap/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-pcap failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcap Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 1.943082] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.949377] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.951711] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.465605] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.471814] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4[ 3.056476] sysrq: SysRq : Changing Loglevel [ 12s] .12.14-lp151.28.[ 3.058436] sysrq: Loglevel set to 4 [ 12s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.090931] sysrq: SysRq : Power Off [ 15s] [ 6.097893] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] lamb12 failed "build osmo-pcap_0.1.2.dsc" at Fri May 22 11:59:33 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:37 +0000 Subject: Build failure of network:osmocom:latest/yder in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec287099_d3a2b24e36ee5f0958323@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/yder/Debian_Testing/x86_64 Package network:osmocom:latest/yder failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest yder Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_5/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_5/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_5/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 2.162756] dracut-pre-udev[286]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 2.166530] dracut-pre-udev[286]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 2.167413] dracut-pre-udev[286]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 3.052805] dracut-pre-udev[286]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 3.056652] dracut-pre-udev[286]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] ### VM INTERACTION END ### [ 10s] 2nd stage started in virtual machine [ 10s] machine type: x86_64 [ 10s] Linux version: 4[ 3.472773] sysrq: SysRq : Changing Loglevel [ 10s] .12.14-lp151.28.[ 3.473308] sysrq: Loglevel set to 4 [ 10s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 10s] Increasing log level from now on... [ 10s] Enable sysrq operations [ 10s] /.build/build-vm: line 540: mount: command not found [ 10s] /.build/build-vm: line 559: mount: command not found [ 10s] /.build/build-vm: line 560: mount: command not found [ 10s] /.build/build-vm: line 587: mkswap: command not found [ 10s] /.build/build-vm: line 588: swapon: command not found [ 10s] ### VM INTERACTION START ### [ 13s] [ 6.492678] sysrq: SysRq : Power Off [ 13s] [ 6.498611] reboot: Power down [ 13s] ### VM INTERACTION END ### [ 13s] [ 13s] goat07 failed "build yder_1.4.4-4.1.dsc" at Fri May 22 11:59:30 UTC 2020. [ 13s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec233835_d3a2b24e36ee5f09582ee@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-pcu failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.135643] dracut-pre-udev[197]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.141910] dracut-pre-udev[197]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.145094] dracut-pre-udev[197]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.631613] dracut-pre-udev[197]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.636975] dracut-pre-udev[197]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] ### VM INTERACTION END ### [ 10s] 2nd stage started in virtual machine [ 10s] machine type: x86_64 [ 10s] Linux version: 4[ 2.207527] sysrq: SysRq : Changing Loglevel [ 10s] .12.14-lp151.28.[ 2.208730] sysrq: Loglevel set to 4 [ 10s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 10s] Increasing log level from now on... [ 10s] Enable sysrq operations [ 10s] /.build/build-vm: line 540: mount: command not found [ 10s] /.build/build-vm: line 559: mount: command not found [ 10s] /.build/build-vm: line 560: mount: command not found [ 10s] /.build/build-vm: line 587: mkswap: command not found [ 10s] /.build/build-vm: line 588: swapon: command not found [ 10s] ### VM INTERACTION START ### [ 13s] [ 5.236695] sysrq: SysRq : Power Off [ 13s] [ 5.238183] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] build70 failed "build osmo-pcu_0.8.0.dsc" at Fri May 22 11:59:29 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:54 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec5f2de2_d3a2b24e36ee5f0958724@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-trx Last lines of build log: [ 14s] ### VM INTERACTION START ### [ 14s] Using UART console [ 14s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 15s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 18s] Booting from ROM..c[?7l[ 2.021987] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.031536] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.035269] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.564720] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.573346] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 19s] ### VM INTERACTION END ### [ 19s] 2nd stage started in virtual machine [ 19s] machine type: x86_64 [ 19s] Linux version: 4[ 3.205360] sysrq: SysRq : Changing Loglevel [ 19s] .12.14-lp151.28.[ 3.206552] sysrq: Loglevel set to 4 [ 19s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 19s] Increasing log level from now on... [ 19s] Enable sysrq operations [ 19s] /.build/build-vm: line 540: mount: command not found [ 19s] /.build/build-vm: line 559: mount: command not found [ 19s] /.build/build-vm: line 560: mount: command not found [ 19s] /.build/build-vm: line 587: mkswap: command not found [ 19s] /.build/build-vm: line 588: swapon: command not found [ 19s] ### VM INTERACTION START ### [ 22s] [ 6.236293] sysrq: SysRq : Power Off [ 22s] [ 6.245727] reboot: Power down [ 22s] ### VM INTERACTION END ### [ 22s] [ 22s] lamb52 failed "build osmo-trx_1.2.0.dsc" at Fri May 22 11:59:48 UTC 2020. [ 22s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 11:59:54 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 11:59:54 +0000 Subject: Build failure of network:osmocom:latest/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bec644a9d_d3a2b24e36ee5f0958819@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/simtrace2/Debian_Testing/x86_64 Package network:osmocom:latest/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest simtrace2 Last lines of build log: [ 9s] ### VM INTERACTION START ### [ 9s] Using UART console [ 9s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_2/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_2/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_2/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 10s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 1.972799] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.979366] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.981928] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.496355] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.503642] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] [ 3.106347] sysrq: SysRq : Changing Loglevel [ 13s] [ 3.107779] sysrq: Loglevel set to 4 [ 13s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.144786] sysrq: SysRq : Power Off [ 16s] [ 6.151014] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb67 failed "build simtrace2_0.5.2.dsc" at Fri May 22 11:59:48 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee02eacc_d3a2b24e36ee5f09589a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sip-connector failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.957076] dracut-pre-udev[234]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.964603] dracut-pre-udev[234]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.967513] dracut-pre-udev[234]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.482740] dracut-pre-udev[234]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.489906] dracut-pre-udev[234]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] [ 3.079458] sysrq: SysRq : Changing Loglevel [ 16s] [ 3.080327] sysrq: Loglevel set to 4 [ 16s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.111750] sysrq: SysRq : Power Off [ 19s] [ 6.118443] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb73 failed "build osmo-sip-connector_1.4.0.dsc" at Fri May 22 11:59:55 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee130ce2_d3a2b24e36ee5f095911b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sip-connector failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_6/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_6/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_6/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.138582] dracut-pre-udev[286]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.143454] dracut-pre-udev[286]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.144404] dracut-pre-udev[286]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.044041] dracut-pre-udev[286]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.048602] dracut-pre-udev[286]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4.12.14-lp151.28.[ 3.474230] sysrq: SysRq : Changing Loglevel [ 12s] 48-default #1 SM[ 3.475183] sysrq: Loglevel set to 4 [ 12s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.494813] sysrq: SysRq : Power Off [ 15s] [ 6.501530] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] goat07 failed "build osmo-sip-connector_1.4.0.2.d02c.dsc" at Fri May 22 12:00:06 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee087a44_d3a2b24e36ee5f0959084@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-ggsn failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: [ 26s] ### VM INTERACTION START ### [ 26s] Using UART console [ 26s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 3072 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4 [ 27s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 30s] Booting from ROM..c[?7l[ 1.917283] dracut-pre-udev[203]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 30s] [ 1.929601] dracut-pre-udev[203]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 30s] [ 1.935422] dracut-pre-udev[203]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 30s] [ 2.552691] dracut-pre-udev[203]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 30s] [ 2.565273] dracut-pre-udev[203]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 31s] ### VM INTERACTION END ### [ 31s] 2nd stage started in virtual machine [ 31s] machine type: x86_64 [ 31s] Linux version: 4.12.14-lp151.28.[ 3.416308] sysrq: SysRq : Changing Loglevel [ 31s] [ 3.418605] sysrq: Loglevel set to 4 [ 31s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 31s] Increasing log level from now on... [ 31s] Enable sysrq operations [ 31s] /.build/build-vm: line 540: mount: command not found [ 31s] /.build/build-vm: line 559: mount: command not found [ 31s] /.build/build-vm: line 560: mount: command not found [ 31s] /.build/build-vm: line 587: mkswap: command not found [ 31s] /.build/build-vm: line 588: swapon: command not found [ 31s] ### VM INTERACTION START ### [ 34s] [ 6.473967] sysrq: SysRq : Power Off [ 34s] [ 6.493543] reboot: Power down [ 34s] ### VM INTERACTION END ### [ 34s] [ 34s] cloud113 failed "build osmo-ggsn_1.5.0.dsc" at Fri May 22 11:59:56 UTC 2020. [ 34s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee1c759a_d3a2b24e36ee5f0959354@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 10s] Booting from ROM..c[?7l[ 1.592597] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.598072] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.600156] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.494307] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.499281] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4.12.14-lp151.28.[ 2.953585] sysrq: SysRq : Changing Loglevel [ 12s] 48-default #1 SM[ 2.954920] sysrq: Loglevel set to 4 [ 12s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 5.976128] sysrq: SysRq : Power Off [ 15s] [ 5.979179] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] sheep86 failed "build osmo-ggsn_1.5.0.34.569e.dsc" at Fri May 22 12:00:10 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee2285e0_d3a2b24e36ee5f095945d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_Testing/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.002212] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.011545] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.013941] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.511735] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.520367] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.125252] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.126776] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.163184] sysrq: SysRq : Power Off [ 16s] [ 6.169876] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb23 failed "build simtrace2_0.7.0.59.4e73.dsc" at Fri May 22 12:00:10 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee17f431_d3a2b24e36ee5f0959276@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-pcap failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_10/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_10/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_10/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.056623] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.064325] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.067324] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.595901] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.603671] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] [ 3.274087] sysrq: SysRq : Changing Loglevel [ 13s] Linux version: 4[ 3.275389] sysrq: Loglevel set to 4 [ 13s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.302342] sysrq: SysRq : Power Off [ 16s] [ 6.314793] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb56 failed "build osmo-pcap_0.1.2.2.fd38.dsc" at Fri May 22 12:00:09 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee288277_d3a2b24e36ee5f0959566@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-abis failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: [ 14s] ### VM INTERACTION START ### [ 14s] Using UART console [ 14s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 3072 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4 [ 15s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 17s] Booting from ROM..c[?7l[ 1.926454] dracut-pre-udev[204]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 1.942618] dracut-pre-udev[204]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 1.948320] dracut-pre-udev[204]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.549429] dracut-pre-udev[204]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.561145] dracut-pre-udev[204]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] ### VM INTERACTION END ### [ 18s] 2nd stage started in virtual machine [ 19s] machine type: x86_64 [ 19s] Linux version: 4.12.14-lp151.28.[ 3.324813] sysrq: SysRq : Changing Loglevel [ 19s] [ 3.327179] sysrq: Loglevel set to 4 [ 19s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 19s] Increasing log level from now on... [ 19s] Enable sysrq operations [ 19s] /.build/build-vm: line 540: mount: command not found [ 19s] /.build/build-vm: line 559: mount: command not found [ 19s] /.build/build-vm: line 560: mount: command not found [ 19s] /.build/build-vm: line 587: mkswap: command not found [ 19s] /.build/build-vm: line 588: swapon: command not found [ 19s] ### VM INTERACTION START ### [ 22s] [ 6.367851] sysrq: SysRq : Power Off [ 22s] [ 6.372167] reboot: Power down [ 22s] ### VM INTERACTION END ### [ 22s] [ 22s] cloud127 failed "build libosmo-abis_0.8.0.29.8588.dsc" at Fri May 22 12:00:15 UTC 2020. [ 22s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:nightly/yder in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee2de855_d3a2b24e36ee5f09596a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/yder/Debian_Testing/x86_64 Package network:osmocom:nightly/yder failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly yder Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 1.913568] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.921151] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.924337] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.432368] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.441019] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] [ 3.028557] sysrq: SysRq : Changing Loglevel [ 13s] Linux version: 4[ 3.030200] sysrq: Loglevel set to 4 [ 13s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.059691] sysrq: SysRq : Power Off [ 16s] [ 6.066907] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb70 failed "build yder_1.4.4-4.1.dsc" at Fri May 22 12:00:17 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcu in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee378160_d3a2b24e36ee5f095977d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcu/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-pcu failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcu Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.984788] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.992242] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.995092] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.507559] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.514264] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4[ 3.149332] sysrq: SysRq : Changing Loglevel [ 16s] .12.14-lp151.28.[ 3.150752] sysrq: Loglevel set to 4 [ 16s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.186294] sysrq: SysRq : Power Off [ 19s] [ 6.191831] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb54 failed "build osmo-pcu_0.8.0.140.0b03.dsc" at Fri May 22 12:00:20 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-trx in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee3e8c14_d3a2b24e36ee5f0959888@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-trx/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-trx failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-trx Last lines of build log: [ 14s] ### VM INTERACTION START ### [ 14s] Using UART console [ 14s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_7/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_7/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_7/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 15s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 17s] Booting from ROM..c[?7l[ 2.069040] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.077163] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.080544] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.638479] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 2.653850] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 19s] ### VM INTERACTION END ### [ 19s] 2nd stage started in virtual machine [ 19s] machine type: x86_64 [ 19s] Linux version: 4[ 3.578008] sysrq: SysRq : Changing Loglevel [ 19s] .12.14-lp151.28.[ 3.579250] sysrq: Loglevel set to 4 [ 19s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 19s] Increasing log level from now on... [ 19s] Enable sysrq operations [ 19s] /.build/build-vm: line 540: mount: command not found [ 19s] /.build/build-vm: line 559: mount: command not found [ 19s] /.build/build-vm: line 560: mount: command not found [ 19s] /.build/build-vm: line 587: mkswap: command not found [ 19s] /.build/build-vm: line 588: swapon: command not found [ 19s] ### VM INTERACTION START ### [ 22s] [ 6.614896] sysrq: SysRq : Power Off [ 22s] [ 6.624854] reboot: Power down [ 22s] ### VM INTERACTION END ### [ 22s] [ 22s] lamb53 failed "build osmo-trx_1.2.0.35.7bbe.dsc" at Fri May 22 12:00:23 UTC 2020. [ 22s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:latest/libosmo-netif in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee44495e_d3a2b24e36ee5f09599c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-netif/Debian_Testing/x86_64 Package network:osmocom:latest/libosmo-netif failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-netif Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_16/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_16/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_16/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 9s] Booting from ROM..c[?7l[ 1.657596] dracut-pre-udev[219]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.663730] dracut-pre-udev[219]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.666263] dracut-pre-udev[219]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.570627] dracut-pre-udev[219]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 2.578692] dracut-pre-udev[219]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] ### VM INTERACTION END ### [ 10s] 2nd stage started in virtual machine [ 10s] machine type: x86_64 [ 10s] Linux version: 4[ 3.097824] sysrq: SysRq : Changing Loglevel [ 10s] .12.14-lp151.28.[ 3.099157] sysrq: Loglevel set to 4 [ 10s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 10s] Increasing log level from now on... [ 10s] Enable sysrq operations [ 10s] /.build/build-vm: line 540: mount: command not found [ 10s] /.build/build-vm: line 559: mount: command not found [ 10s] /.build/build-vm: line 560: mount: command not found [ 10s] /.build/build-vm: line 587: mkswap: command not found [ 10s] /.build/build-vm: line 588: swapon: command not found [ 10s] ### VM INTERACTION START ### [ 13s] [ 6.124813] sysrq: SysRq : Power Off [ 13s] [ 6.129357] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] sheep86 failed "build libosmo-netif_0.7.0.dsc" at Fri May 22 12:00:27 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:29 +0000 Subject: Build failure of network:osmocom:latest/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bee487c7d_d3a2b24e36ee5f0960029@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/Debian_Testing/x86_64 Package network:osmocom:latest/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 2000 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 1.493866] dracut-pre-udev[204]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.499120] dracut-pre-udev[204]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.501558] dracut-pre-udev[204]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.067619] dracut-pre-udev[204]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.072782] dracut-pre-udev[204]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] [ 2.622120] sysrq: SysRq : Changing Loglevel [ 12s] [ 2.622951] sysrq: Loglevel set to 4 [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 5.648539] sysrq: SysRq : Power Off [ 15s] [ 5.650126] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] wildcard2 failed "build ulfius_2.5.2-4.1.dsc" at Fri May 22 12:00:27 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 12:00:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:00:45 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: cosmetic: get rid of 'i' where it is not used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18397 ) Change subject: trx_toolkit: cosmetic: get rid of 'i' where it is not used ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 Gerrit-Change-Number: 18397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:00:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 12:00:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:46 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7befea2355_d3a2b24e36ee5f0960149@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-bts failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: [ 9s] ### VM INTERACTION START ### [ 9s] Using UART console [ 9s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/hwrng,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_15/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_15/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_15/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 6 [ 10s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 1.638765] dracut-pre-udev[218]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.645762] dracut-pre-udev[218]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.648650] dracut-pre-udev[218]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.552161] dracut-pre-udev[218]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.559046] dracut-pre-udev[218]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4.12.14-lp151.28.48-default #1 SM[ 3.084099] sysrq: SysRq : Changing Loglevel [ 13s] [ 3.085437] sysrq: Loglevel set to 4 [ 13s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.108412] sysrq: SysRq : Power Off [ 16s] [ 6.113085] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] sheep87 failed "build osmo-bts_1.2.0.dsc" at Fri May 22 12:00:35 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:00:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:00:46 +0000 Subject: Build failure of network:osmocom:nightly/ulfius in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7beffb82d5_d3a2b24e36ee5f09602f8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/ulfius/Debian_Testing/x86_64 Package network:osmocom:nightly/ulfius failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly ulfius Last lines of build log: [ 6s] ### VM INTERACTION START ### [ 6s] Using UART console [ 6s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 7s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 8s] Booting from ROM..c[?7l[ 1.130297] dracut-pre-udev[198]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.136547] dracut-pre-udev[198]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.139835] dracut-pre-udev[198]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.622633] dracut-pre-udev[198]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] [ 1.629325] dracut-pre-udev[198]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 9s] ### VM INTERACTION END ### [ 9s] 2nd stage started in virtual machine [ 9s] machine type: x86_64 [ 9s] Linux version: 4[ 2.247407] sysrq: SysRq : Changing Loglevel [ 9s] .12.14-lp151.28.[ 2.248265] sysrq: Loglevel set to 4 [ 9s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 9s] Increasing log level from now on... [ 9s] Enable sysrq operations [ 9s] /.build/build-vm: line 540: mount: command not found [ 9s] /.build/build-vm: line 559: mount: command not found [ 9s] /.build/build-vm: line 560: mount: command not found [ 9s] /.build/build-vm: line 587: mkswap: command not found [ 9s] /.build/build-vm: line 588: swapon: command not found [ 9s] ### VM INTERACTION START ### [ 12s] [ 5.275581] sysrq: SysRq : Power Off [ 12s] [ 5.277060] reboot: Power down [ 12s] ### VM INTERACTION END ### [ 12s] [ 12s] build83 failed "build ulfius_2.5.2-4.1.dsc" at Fri May 22 12:00:44 UTC 2020. [ 12s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:03 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:03 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf1954f6e_d3a2b24e36ee5f0960356@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_8/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_8/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_8/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 1.951562] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.961215] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.963173] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.475228] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.481709] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.133151] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.134680] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.167688] sysrq: SysRq : Power Off [ 16s] [ 6.172742] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb17 failed "build libosmo-netif_0.7.0.19.eca1.dsc" at Fri May 22 12:00:56 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-remsim in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf1a6e76a_d3a2b24e36ee5f09604ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-remsim/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-remsim failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-remsim Last lines of build log: [ 7s] ### VM INTERACTION START ### [ 7s] Using UART console [ 7s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 8s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.189646] dracut-pre-udev[288]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.198820] dracut-pre-udev[288]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.199968] dracut-pre-udev[288]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.086133] dracut-pre-udev[288]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.090154] dracut-pre-udev[288]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4[ 3.498586] sysrq: SysRq : Changing Loglevel [ 12s] .12.14-lp151.28.[ 3.499537] sysrq: Loglevel set to 4 [ 12s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.515217] sysrq: SysRq : Power Off [ 15s] [ 6.530163] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] goat01 failed "build osmo-remsim_0.2.3.dsc" at Fri May 22 12:01:10 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:20 +0000 Subject: Build failure of network:osmocom:latest/libosmo-sccp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf1ab0f66_d3a2b24e36ee5f0960597@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmo-sccp/Debian_Testing/x86_64 Package network:osmocom:latest/libosmo-sccp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest libosmo-sccp Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_6/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_6/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_6/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.173110] dracut-pre-udev[288]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.177447] dracut-pre-udev[288]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.178846] dracut-pre-udev[288]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.069577] dracut-pre-udev[288]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.073255] dracut-pre-udev[288]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4.12.14-lp151.28.[ 3.507933] sysrq: SysRq : Changing Loglevel [ 13s] 48-default #1 SM[ 3.509081] sysrq: Loglevel set to 4 [ 13s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.529403] sysrq: SysRq : Power Off [ 16s] [ 6.535436] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] goat11 failed "build libosmo-sccp_1.2.0.dsc" at Fri May 22 12:01:11 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf1b1d671_d3a2b24e36ee5f0960643@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sysmon Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_6/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_6/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_6/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 1.968397] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.974527] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 1.977995] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.531397] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.539764] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.158690] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.159653] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.189544] sysrq: SysRq : Power Off [ 16s] [ 6.195551] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb54 failed "build osmo-sysmon_0.2.0.dsc" at Fri May 22 12:01:13 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf36bd42c_d3a2b24e36ee5f09609bd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-hlr failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 2.016365] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.028104] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.030839] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.554134] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.561586] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4[ 3.190141] sysrq: SysRq : Changing Loglevel [ 16s] .12.14-lp151.28.[ 3.192113] sysrq: Loglevel set to 4 [ 16s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.221988] sysrq: SysRq : Power Off [ 19s] [ 6.225797] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb11 failed "build osmo-hlr_1.2.0.50.102e.dsc" at Fri May 22 12:01:35 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-mgw in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf3765c40_d3a2b24e36ee5f0961156@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-mgw/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-mgw failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-mgw Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 2.025123] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.034693] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.038265] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.555253] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.564435] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4[ 3.162990] sysrq: SysRq : Changing Loglevel [ 16s] .12.14-lp151.28.[ 3.164233] sysrq: Loglevel set to 4 [ 16s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.196792] sysrq: SysRq : Power Off [ 19s] [ 6.200739] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb62 failed "build osmo-mgw_1.7.0.dsc" at Fri May 22 12:01:23 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf3714c16_d3a2b24e36ee5f09610e3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: [ 5s] ### VM INTERACTION START ### [ 5s] Using UART console [ 5s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 6s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 7s] Booting from ROM..c[?7l[ 1.047493] dracut-pre-udev[198]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.052217] dracut-pre-udev[198]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 7s] [ 1.054184] dracut-pre-udev[198]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.518790] dracut-pre-udev[198]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] [ 1.523745] dracut-pre-udev[198]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 8s] ### VM INTERACTION END ### [ 8s] 2nd stage started in virtual machine [ 8s] machine type: x86_64 [ 8s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 8s] Increasing log level from now on... [ 8s] [ 1.991940] sysrq: SysRq : Changing Loglevel [ 8s] [ 1.992603] sysrq: Loglevel set to 4 [ 8s] Enable sysrq operations [ 8s] /.build/build-vm: line 540: mount: command not found [ 8s] /.build/build-vm: line 559: mount: command not found [ 8s] /.build/build-vm: line 560: mount: command not found [ 8s] /.build/build-vm: line 587: mkswap: command not found [ 8s] /.build/build-vm: line 588: swapon: command not found [ 8s] ### VM INTERACTION START ### [ 11s] [ 5.008021] sysrq: SysRq : Power Off [ 11s] [ 5.009264] reboot: Power down [ 11s] ### VM INTERACTION END ### [ 11s] [ 11s] build72 failed "build osmo-sysmon_0.2.0.4.8984.dsc" at Fri May 22 12:01:21 UTC 2020. [ 11s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:54 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf3e3b443_d3a2b24e36ee5f09616f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/Debian_Testing/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 12s] ### VM INTERACTION START ### [ 12s] Using UART console [ 12s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 13s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.958465] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.965731] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.968508] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.467490] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.474171] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] [ 3.083100] sysrq: SysRq : Changing Loglevel [ 16s] Linux version: 4[ 3.084633] sysrq: Loglevel set to 4 [ 16s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.113482] sysrq: SysRq : Power Off [ 19s] [ 6.119815] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb28 failed "build libosmo-sccp_1.2.0.40.c569.dsc" at Fri May 22 12:01:41 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:54 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-uecups in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf3e96afc_d3a2b24e36ee5f09617e7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-uecups/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-uecups failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-uecups Last lines of build log: [ 15s] ### VM INTERACTION START ### [ 15s] Using UART console [ 15s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 3072 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 4 [ 16s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 18s] Booting from ROM..c[?7l[ 1.881662] dracut-pre-udev[203]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 1.892877] dracut-pre-udev[203]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 18s] [ 1.898643] dracut-pre-udev[203]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 19s] [ 2.510607] dracut-pre-udev[203]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 19s] [ 2.523924] dracut-pre-udev[203]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 20s] ### VM INTERACTION END ### [ 20s] 2nd stage started in virtual machine [ 20s] machine type: x86_64 [ 20s] Linux version: 4.12.14-lp151.28.48-default #1 SM[ 3.281555] sysrq: SysRq : Changing Loglevel [ 20s] [ 3.283389] sysrq: Loglevel set to 4 [ 20s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 20s] Increasing log level from now on... [ 20s] Enable sysrq operations [ 20s] /.build/build-vm: line 540: mount: command not found [ 20s] /.build/build-vm: line 559: mount: command not found [ 20s] /.build/build-vm: line 560: mount: command not found [ 20s] /.build/build-vm: line 587: mkswap: command not found [ 20s] /.build/build-vm: line 588: swapon: command not found [ 20s] ### VM INTERACTION START ### [ 23s] [ 6.321790] sysrq: SysRq : Power Off [ 23s] [ 6.324545] reboot: Power down [ 23s] ### VM INTERACTION END ### [ 23s] [ 23s] cloud114 failed "build osmo-uecups_0.1.3.1.8362.dsc" at Fri May 22 12:01:43 UTC 2020. [ 23s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:01:54 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:01:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-remsim in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf3f51875_d3a2b24e36ee5f0961840@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-remsim/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-remsim failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-remsim Last lines of build log: [ 12s] ### VM INTERACTION START ### [ 12s] Using UART console [ 12s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 13s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.914339] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.921832] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.924785] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.431475] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.439364] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] [ 3.050595] sysrq: SysRq : Changing Loglevel [ 16s] [ 3.052317] sysrq: Loglevel set to 4 [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.082630] sysrq: SysRq : Power Off [ 19s] [ 6.089535] reboot: Power down [ 20s] ### VM INTERACTION END ### [ 20s] [ 20s] lamb74 failed "build osmo-remsim_0.2.2.88.b91e.dsc" at Fri May 22 12:01:51 UTC 2020. [ 20s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf56943ed_d3a2b24e36ee5f0962256@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 2.124741] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.136673] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.142141] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.696202] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.708967] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4[ 3.464856] sysrq: SysRq : Changing Loglevel [ 16s] .12.14-lp151.28.[ 3.466518] sysrq: Loglevel set to 4 [ 16s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.509488] sysrq: SysRq : Power Off [ 19s] [ 6.513624] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb17 failed "build osmo-mgw_1.7.0.15.6500.dsc" at Fri May 22 12:02:10 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:11 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bts in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf5728542_d3a2b24e36ee5f0962353@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bts/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bts failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bts Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.912543] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.918762] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.921074] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.429895] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.437139] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] [ 3.011122] sysrq: SysRq : Changing Loglevel [ 16s] [ 3.012523] sysrq: Loglevel set to 4 [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.044960] sysrq: SysRq : Power Off [ 19s] [ 6.050840] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb72 failed "build osmo-bts_1.2.0.55.d211.dsc" at Fri May 22 12:01:55 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:29 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:29 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf7332ad9_d3a2b24e36ee5f096265d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-hlr failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_7/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_7/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_7/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 14s] Booting from ROM..c[?7l[ 1.982357] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 1.989933] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 1.993009] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.503660] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.511059] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] ### VM INTERACTION END ### [ 15s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] [ 3.147817] sysrq: SysRq : Changing Loglevel [ 16s] [ 3.148724] sysrq: Loglevel set to 4 [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.178106] sysrq: SysRq : Power Off [ 19s] [ 6.183415] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb57 failed "build osmo-hlr_1.2.0.dsc" at Fri May 22 12:02:15 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:30 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf73f388f_d3a2b24e36ee5f09627da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_Testing/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 1.986501] dracut-pre-udev[233]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.993936] dracut-pre-udev[233]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.997221] dracut-pre-udev[233]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.509006] dracut-pre-udev[233]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.515547] dracut-pre-udev[233]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4[ 3.094496] sysrq: SysRq : Changing Loglevel [ 12s] .12.14-lp151.28.[ 3.096557] sysrq: Loglevel set to 4 [ 12s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.131714] sysrq: SysRq : Power Off [ 15s] [ 6.143902] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] lamb10 failed "build openbsc_1.3.2.dsc" at Fri May 22 12:02:25 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:30 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:30 +0000 Subject: Build failure of network:osmocom:latest/osmo-iuh in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf748703b_d3a2b24e36ee5f09628f6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-iuh/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-iuh failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-iuh Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 1.910766] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.918546] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.921739] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.430020] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.436432] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] [ 3.003483] sysrq: SysRq : Changing Loglevel [ 12s] Linux version: 4[ 3.004651] sysrq: Loglevel set to 4 [ 12s] .12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.033631] sysrq: SysRq : Power Off [ 15s] [ 6.038217] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] lamb07 failed "build osmo-iuh_0.6.0.dsc" at Fri May 22 12:02:25 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:46 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:46 +0000 Subject: Build failure of network:osmocom:nightly/openbsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf77bdee2_d3a2b24e36ee5f0963140@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/openbsc/Debian_Testing/x86_64 Package network:osmocom:nightly/openbsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly openbsc Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.035866] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.044491] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.046813] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.578037] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.586065] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:[ 3.202249] sysrq: SysRq : Changing Loglevel [ 13s] 38:36 UTC 2020 ([ 3.203285] sysrq: Loglevel set to 4 [ 13s] 18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.236651] sysrq: SysRq : Power Off [ 16s] [ 6.241336] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb52 failed "build openbsc_1.3.2.20200522.dsc" at Fri May 22 12:02:34 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:02:47 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:02:47 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bf783cd5d_d3a2b24e36ee5f096321@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-iuh failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_12/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_12/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_12/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 12s] Booting from ROM..c[?7l[ 2.040422] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.048971] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 2.051102] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.563369] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] [ 2.571296] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 13s] ### VM INTERACTION END ### [ 13s] 2nd stage started in virtual machine [ 13s] machine type: x86_64 [ 13s] Linux version: 4[ 3.219657] sysrq: SysRq : Changing Loglevel [ 13s] .12.14-lp151.28.[ 3.221291] sysrq: Loglevel set to 4 [ 13s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 13s] Increasing log level from now on... [ 13s] Enable sysrq operations [ 13s] /.build/build-vm: line 540: mount: command not found [ 13s] /.build/build-vm: line 559: mount: command not found [ 13s] /.build/build-vm: line 560: mount: command not found [ 13s] /.build/build-vm: line 587: mkswap: command not found [ 13s] /.build/build-vm: line 588: swapon: command not found [ 13s] ### VM INTERACTION START ### [ 16s] [ 6.251905] sysrq: SysRq : Power Off [ 16s] [ 6.255047] reboot: Power down [ 16s] ### VM INTERACTION END ### [ 16s] [ 16s] lamb59 failed "build osmo-iuh_0.6.0.17.70ab.dsc" at Fri May 22 12:02:41 UTC 2020. [ 16s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:03:20 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:03:20 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7bfa0c9395_d3a2b24e36ee5f09637b7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-bsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: [ 11s] ### VM INTERACTION START ### [ 11s] Using UART console [ 11s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_8/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_8/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_8/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 12s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 14s] Booting from ROM..c[?7l[ 2.001783] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 2.007957] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 14s] [ 2.010880] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.518545] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 2.525540] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4.12.14-lp151.28.[ 3.150704] sysrq: SysRq : Changing Loglevel [ 16s] 48-default #1 SM[ 3.152411] sysrq: Loglevel set to 4 [ 16s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.186233] sysrq: SysRq : Power Off [ 19s] [ 6.192407] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb20 failed "build osmo-bsc_1.6.0.dsc" at Fri May 22 12:03:14 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 12:03:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:03:53 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/18398/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/18398/1//COMMIT_MSG at 7 PS1, Line 7: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in all the commits lines look crypted. No verb at all, only a list of stuff. https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am File Makefile.am: https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am at 7 PS1, Line 7: EXTRA_DIST = \ So IIUC you are doing 3 things here: * Reordering elements in list * Splitting it in different lines * Add debian dir, .spec.in and NULL at the end. Correct? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:03:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:05:13 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 22 May 2020 12:05:13 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > tested this locally here and it works fine. only one more issue is that we need a way to specify the UDP bandwidth with the -b parameter. Otherwise only 1Mbit/s is generated. > > Iwas unware of that param. So can you explain me how do you plan to use it? Shall I simply set it to a big value (which one?) and be done with it? Shall I allow it to be changed with a config option of iperf3? No worries. I thought about passing it to the iperf client as parameter in prepare_test_proc(). Simply using "a large" number would work but has disadvantages. I think it is better to use the max_rate() from the eNB and then pass this as parameter. But it needs to be configurable because also max_rate only works for one UE. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 12:05:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri May 22 12:05:03 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:05:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7c00d3347d_d3a2b24e36ee5f096485b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-msc Last lines of build log: [ 13s] ### VM INTERACTION START ### [ 13s] Using UART console [ 13s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_2/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_2/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_2/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 14s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 16s] Booting from ROM..c[?7l[ 1.988823] dracut-pre-udev[231]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 1.995553] dracut-pre-udev[231]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 1.999141] dracut-pre-udev[231]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.506825] dracut-pre-udev[231]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.513306] dracut-pre-udev[231]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] ### VM INTERACTION END ### [ 17s] 2nd stage started in virtual machine [ 17s] machine type: x86_64 [ 17s] Linux version: 4[ 3.115377] sysrq: SysRq : Changing Loglevel [ 17s] .12.14-lp151.28.[ 3.117541] sysrq: Loglevel set to 4 [ 17s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 17s] Increasing log level from now on... [ 17s] Enable sysrq operations [ 17s] /.build/build-vm: line 540: mount: command not found [ 17s] /.build/build-vm: line 559: mount: command not found [ 17s] /.build/build-vm: line 560: mount: command not found [ 17s] /.build/build-vm: line 587: mkswap: command not found [ 17s] /.build/build-vm: line 588: swapon: command not found [ 17s] ### VM INTERACTION START ### [ 20s] [ 6.145489] sysrq: SysRq : Power Off [ 20s] [ 6.151419] reboot: Power down [ 20s] ### VM INTERACTION END ### [ 20s] [ 20s] lamb05 failed "build osmo-msc_1.6.1.dsc" at Fri May 22 12:04:59 UTC 2020. [ 20s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:05:21 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:05:21 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7c00eb9b8f_d3a2b24e36ee5f09649a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 12500 -drive file=/var/cache/obs/worker/root_4/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_4/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_4/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 16 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 11s] Booting from ROM..c[?7l[ 2.194289] dracut-pre-udev[286]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.200746] dracut-pre-udev[286]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 2.201755] dracut-pre-udev[286]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.088879] dracut-pre-udev[286]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] [ 3.092769] dracut-pre-udev[286]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 12s] ### VM INTERACTION END ### [ 12s] 2nd stage started in virtual machine [ 12s] machine type: x86_64 [ 12s] Linux version: 4.12.14-lp151.28.[ 3.489806] sysrq: SysRq : Changing Loglevel [ 12s] 48-default #1 SM[ 3.490818] sysrq: Loglevel set to 4 [ 12s] P Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 12s] Increasing log level from now on... [ 12s] Enable sysrq operations [ 12s] /.build/build-vm: line 540: mount: command not found [ 12s] /.build/build-vm: line 559: mount: command not found [ 12s] /.build/build-vm: line 560: mount: command not found [ 12s] /.build/build-vm: line 587: mkswap: command not found [ 12s] /.build/build-vm: line 588: swapon: command not found [ 12s] ### VM INTERACTION START ### [ 15s] [ 6.508270] sysrq: SysRq : Power Off [ 15s] [ 6.514517] reboot: Power down [ 15s] ### VM INTERACTION END ### [ 15s] [ 15s] goat17 failed "build osmo-sgsn_1.6.0.11.bd6d6.dsc" at Fri May 22 12:05:19 UTC 2020. [ 15s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:05:37 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:05:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7c02846407_d3a2b24e36ee5f0965059@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-msc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: [ 8s] ### VM INTERACTION START ### [ 8s] Using UART console [ 8s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 7250 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 3 [ 9s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 10s] Booting from ROM..c[?7l[ 1.112823] dracut-pre-udev[197]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.117754] dracut-pre-udev[197]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 10s] [ 1.119591] dracut-pre-udev[197]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.586767] dracut-pre-udev[197]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] [ 1.593632] dracut-pre-udev[197]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 11s] ### VM INTERACTION END ### [ 11s] 2nd stage started in virtual machine [ 11s] machine type: x86_64 [ 11s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 11s] Increasing log level from now on... [ 11s] [ 2.157160] sysrq: SysRq : Changing Loglevel [ 11s] [ 2.157777] sysrq: Loglevel set to 4 [ 11s] Enable sysrq operations [ 11s] /.build/build-vm: line 540: mount: command not found [ 11s] /.build/build-vm: line 559: mount: command not found [ 11s] /.build/build-vm: line 560: mount: command not found [ 11s] /.build/build-vm: line 587: mkswap: command not found [ 11s] /.build/build-vm: line 588: swapon: command not found [ 11s] ### VM INTERACTION START ### [ 14s] [ 5.174444] sysrq: SysRq : Power Off [ 14s] [ 5.175717] reboot: Power down [ 14s] ### VM INTERACTION END ### [ 14s] [ 14s] build72 failed "build osmo-msc_1.6.1.35.0314.dsc" at Fri May 22 12:05:20 UTC 2020. [ 14s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:05:38 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:05:38 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7c02940f3d_d3a2b24e36ee5f09651ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-sgsn failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: [ 12s] ### VM INTERACTION START ### [ 12s] Using UART console [ 12s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_3/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_3/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_3/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 13s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 15s] Booting from ROM..c[?7l[ 1.956397] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.963968] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 15s] [ 1.966906] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.473097] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.479695] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] ### VM INTERACTION END ### [ 16s] 2nd stage started in virtual machine [ 16s] machine type: x86_64 [ 16s] Linux version: 4.12.14-lp151.28.48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 16s] Increasing log level from now on... [ 16s] [ 3.079814] sysrq: SysRq : Changing Loglevel [ 16s] [ 3.080636] sysrq: Loglevel set to 4 [ 16s] Enable sysrq operations [ 16s] /.build/build-vm: line 540: mount: command not found [ 16s] /.build/build-vm: line 559: mount: command not found [ 16s] /.build/build-vm: line 560: mount: command not found [ 16s] /.build/build-vm: line 587: mkswap: command not found [ 16s] /.build/build-vm: line 588: swapon: command not found [ 16s] ### VM INTERACTION START ### [ 19s] [ 6.112404] sysrq: SysRq : Power Off [ 19s] [ 6.118996] reboot: Power down [ 19s] ### VM INTERACTION END ### [ 19s] [ 19s] lamb18 failed "build osmo-sgsn_1.6.0.dsc" at Fri May 22 12:05:33 UTC 2020. [ 19s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri May 22 12:05:38 2020 From: admin at opensuse.org (OBS Notification) Date: Fri, 22 May 2020 12:05:38 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ec7c029bc258_d3a2b24e36ee5f096526e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 12s] ### VM INTERACTION START ### [ 12s] Using UART console [ 12s] /usr/bin/qemu-kvm -nodefaults -no-reboot -nographic -vga none -cpu host -object rng-random,filename=/dev/random,id=rng0 -device virtio-rng-pci,rng=rng0 -runas qemu -net none -kernel /boot/kernel.obs.guest -initrd /boot/initrd.obs.guest -append root=/dev/disk/by-id/virtio-0 rootfstype=ext3 rootflags=data=writeback,nobarrier,commit=150,noatime ext4.allow_unsupported=1 kpti=off pti=off spectre_v2=off panic=1 quiet no-kvmclock elevator=noop nmi_watchdog=0 rw rd.driver.pre=binfmt_misc console=ttyS0 init=/.build/build -m 8192 -drive file=/var/cache/obs/worker/root_1/root,format=raw,if=none,id=disk,cache=unsafe -device virtio-blk-pci,drive=disk,serial=0 -drive file=/var/cache/obs/worker/root_1/swap,format=raw,if=none,id=swap,cache=unsafe -device virtio-blk-pci,drive=swap,serial=1 -serial stdio -chardev socket,id=monitor,server,nowait,path=/var/cache/obs/worker/root_1/root.qemu/monitor -mon chardev=monitor,mode=readline -smp 8 [ 13s] c[?7lSeaBIOS (version rel-1.12.0-0-ga698c89-rebuilt.opensuse.org) [ 16s] Booting from ROM..c[?7l[ 2.034445] dracut-pre-udev[232]: modprobe: FATAL: Module kqemu not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.045695] dracut-pre-udev[232]: modprobe: FATAL: Module ext2 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 16s] [ 2.048448] dracut-pre-udev[232]: modprobe: FATAL: Module ext3 not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.609437] dracut-pre-udev[232]: modprobe: FATAL: Module ibmvscsi not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] [ 2.617515] dracut-pre-udev[232]: modprobe: FATAL: Module ibmveth not found in directory /lib/modules/4.12.14-lp151.28.48-default [ 17s] ### VM INTERACTION END ### [ 17s] 2nd stage started in virtual machine [ 17s] machine type: x86_64 [ 17s] Linux version: 4[ 3.412605] sysrq: SysRq : Changing Loglevel [ 17s] .12.14-lp151.28.[ 3.414201] sysrq: Loglevel set to 4 [ 17s] 48-default #1 SMP Fri Apr 17 05:38:36 UTC 2020 (18849d1) [ 17s] Increasing log level from now on... [ 17s] Enable sysrq operations [ 17s] /.build/build-vm: line 540: mount: command not found [ 18s] /.build/build-vm: line 559: mount: command not found [ 18s] /.build/build-vm: line 560: mount: command not found [ 18s] /.build/build-vm: line 587: mkswap: command not found [ 18s] /.build/build-vm: line 588: swapon: command not found [ 18s] ### VM INTERACTION START ### [ 21s] [ 6.453286] sysrq: SysRq : Power Off [ 21s] [ 6.470195] reboot: Power down [ 21s] ### VM INTERACTION END ### [ 21s] [ 21s] lamb21 failed "build osmo-bsc_1.6.0.97.700a5.dsc" at Fri May 22 12:05:30 UTC 2020. [ 21s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri May 22 12:09:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 22 May 2020 12:09:16 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bts/+/18398/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/18398/1//COMMIT_MSG at 7 PS1, Line 7: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in > all the commits lines look crypted. No verb at all, only a list of stuff. You're right, the "add" is missing: Makefile.am: EXTRA_DIST: add debian, contrib/*.spec.in Still, I would argue it's clear from the context. Can I leave it as-is, considering that I'd need to change all other commits too otherwise? https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am File Makefile.am: https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am at 7 PS1, Line 7: EXTRA_DIST = \ Yes. > Add debian dir, .spec.in This is the main change, the rest is just cosmetics while I'm at it. I thought it would be obvious what's going on here. Is this acceptable, or should I just add the two files and keep the rest as-is? (If possible I'd like to avoid changing Makefile.am in lots of repositories though, this eats up quite some time.) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:09:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:13:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:13:06 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am File Makefile.am: https://gerrit.osmocom.org/c/osmo-bts/+/18398/1/Makefile.am at 7 PS1, Line 7: EXTRA_DIST = \ > Yes. [?] It's fine, simply pointing out youended up making it really cryptic to understand. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:13:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:13:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:13:48 +0000 Subject: Change in osmo-pcu[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18406 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c Gerrit-Change-Number: 18406 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 22 May 2020 12:13:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:14:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:14:04 +0000 Subject: Change in osmo-trx[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18410 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 Gerrit-Change-Number: 18410 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 22 May 2020 12:14:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:14:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:14:20 +0000 Subject: Change in osmo-ggsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf Gerrit-Change-Number: 18400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:14:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:14:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:14:35 +0000 Subject: Change in osmo-hlr[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18401 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 Gerrit-Change-Number: 18401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:14:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:14:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:14:45 +0000 Subject: Change in osmo-iuh[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18402 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 Gerrit-Change-Number: 18402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:14:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:15:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:15:00 +0000 Subject: Change in osmo-bsc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18399 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 Gerrit-Change-Number: 18399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:15:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:15:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:15:10 +0000 Subject: Change in osmo-mgw[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18403 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a Gerrit-Change-Number: 18403 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:15:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:15:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:15:20 +0000 Subject: Change in osmo-pcap[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18405 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 Gerrit-Change-Number: 18405 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:15:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:15:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:15:42 +0000 Subject: Change in osmo-sip-connector[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 Gerrit-Change-Number: 18409 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:15:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:15:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:15:52 +0000 Subject: Change in libosmo-sccp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 Gerrit-Change-Number: 18414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:15:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:01 +0000 Subject: Change in osmo-sgsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 Gerrit-Change-Number: 18408 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:12 +0000 Subject: Change in osmo-msc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18404 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 Gerrit-Change-Number: 18404 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:24 +0000 Subject: Change in libosmo-abis[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18412 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd Gerrit-Change-Number: 18412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:32 +0000 Subject: Change in libosmo-netif[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18413 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 Gerrit-Change-Number: 18413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:42 +0000 Subject: Change in libusrp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18416 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e Gerrit-Change-Number: 18416 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:16:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:16:57 +0000 Subject: Change in libsmpp34[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18415 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 Gerrit-Change-Number: 18415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:16:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:17:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:17:08 +0000 Subject: Change in libosmocore[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18411 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 Gerrit-Change-Number: 18411 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:17:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:17:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:17:29 +0000 Subject: Change in osmo-remsim[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18407 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 Gerrit-Change-Number: 18407 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:17:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:43:24 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 22 May 2020 12:43:24 +0000 Subject: Change in pysim[master]: cards: add methods to help erasing of file contents References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18417 ) Change subject: cards: add methods to help erasing of file contents ...................................................................... cards: add methods to help erasing of file contents Resetting the contents of a file before re-writing it with parameters might be helpful when implementing the currently empty erase() methods of the various card implementations. Lets add two methods, one for resetting a binary file and one for resetting a specific record in a record oriented file Change-Id: I3c3a4ef3d3f358404af307a68a20b7059f1a9e8d --- M pySim/cards.py 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/17/18417/1 diff --git a/pySim/cards.py b/pySim/cards.py index 1c0add0..73b0763 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -248,6 +248,16 @@ return None + # Erase the contents of a file + def erase_binary(self, ef): + len = self._scc.binary_size(ef) + self._scc.update_binary(ef, "ff" * len, offset=0, verify=True) + + # Erase the contents of a single record + def erase_record(self, ef, rec_no): + len = self._scc.record_size(ef) + self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3c3a4ef3d3f358404af307a68a20b7059f1a9e8d Gerrit-Change-Number: 18417 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:43:25 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 22 May 2020 12:43:25 +0000 Subject: Change in pysim[master]: cards: remove empty erase() methods. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18418 ) Change subject: cards: remove empty erase() methods. ...................................................................... cards: remove empty erase() methods. Some of the cards do not implement the erase method that each card should have. However, having an empty method in each of those classes does not make too much sense. Lets rather have an erase method in the superclass (Card) that prints a warning to inform the user that erasing the spcified card is not supported. Change-Id: If5add960ec0cab58a01d8f83e6af8cb86ec70a8d --- M pySim/cards.py 1 file changed, 4 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/18/18418/1 diff --git a/pySim/cards.py b/pySim/cards.py index 73b0763..c7b34eb 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -37,6 +37,10 @@ def reset(self): self._scc.reset_card() + def erase(self): + print("warning: erasing is not supported for specified card type!") + return + def verify_adm(self, key): ''' Authenticate with ADM key @@ -529,8 +533,6 @@ # FIXME: EF.MSISDN - def erase(self): - return class SysmoSIMgr1(GrcardSim): """ @@ -575,9 +577,6 @@ ) data, sw = self._scc._tp.send_apdu_checksw("0099000033" + par) - def erase(self): - return - class SysmoSIMgr2(Card): """ @@ -653,8 +652,6 @@ if p.get('smsp'): data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) - def erase(self): - return class SysmoUSIMSJS1(Card): """ @@ -759,9 +756,6 @@ r = self._scc.select_file(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, data, force_len=True) - def erase(self): - return - class FairwavesSIM(Card): """ @@ -903,10 +897,6 @@ if sw != '9000': print("Programming ACC failed with code %s"%sw) - def erase(self): - return - - class OpenCellsSim(Card): """ OpenCellsSim @@ -1046,9 +1036,6 @@ return None - def erase(self): - return - class SysmoISIMSJA2(Card): """ @@ -1169,9 +1156,6 @@ return - def erase(self): - return - # In order for autodetection ... _cards_classes = [ FakeMagicSim, SuperSim, MagicSim, GrcardSim, -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If5add960ec0cab58a01d8f83e6af8cb86ec70a8d Gerrit-Change-Number: 18418 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:55:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:55:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Fix typos in comments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 ) Change subject: ms_srs.py: Fix typos in comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 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: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf Gerrit-Change-Number: 18383 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:55:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:55:42 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow objects registering their own schema types In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 ) Change subject: schema: Allow objects registering their own schema types ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 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: I998c8674a55531909bfeac420064c3f238cea126 Gerrit-Change-Number: 18388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:55:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:55:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:55:46 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs.py: Fix typos in comments In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 ) Change subject: ms_srs.py: Fix typos in comments ...................................................................... ms_srs.py: Fix typos in comments Change-Id: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 4790e76..b494c54 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -157,7 +157,7 @@ self.rem_host.set_remote_env({'PATCHELF_BIN': '/opt/bin/patchelf-v0.10' }) self.rem_host.change_elf_rpath(remote_binary, remote_lib) - # srsue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # srsue requires CAP_SYS_ADMIN to jump to net network namespace: netns(CLONE_NEWNET): # srsue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to srsue') self.rem_host.setcap_netsys_admin(remote_binary) @@ -182,7 +182,7 @@ self.log('Setting RPATH for srsue') util.change_elf_rpath(binary, util.prepend_library_path(lib), self.run_dir.new_dir('patchelf')) - # srsue requires CAP_SYS_ADMIN to cjump to net network namespace: netns(CLONE_NEWNET): + # srsue requires CAP_SYS_ADMIN to jump to net network namespace: netns(CLONE_NEWNET): # srsue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): self.log('Applying CAP_SYS_ADMIN+CAP_NET_ADMIN capability to srsue') util.setcap_netsys_admin(binary, self.run_dir.new_dir('setcap_netsys_admin')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18383 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: Iaa09ed696eb58e63c366f26e94c66f27b5f733bf Gerrit-Change-Number: 18383 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:55:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:55:46 +0000 Subject: Change in osmo-gsm-tester[master]: schema: Allow objects registering their own schema types In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 ) Change subject: schema: Allow objects registering their own schema types ...................................................................... schema: Allow objects registering their own schema types Change-Id: I998c8674a55531909bfeac420064c3f238cea126 --- A selftest/schema_test/schema_case_06.conf M selftest/schema_test/schema_test.ok M selftest/schema_test/schema_test.py M src/osmo_gsm_tester/core/schema.py 4 files changed, 90 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/selftest/schema_test/schema_case_06.conf b/selftest/schema_test/schema_case_06.conf new file mode 100644 index 0000000..ea7f45f --- /dev/null +++ b/selftest/schema_test/schema_case_06.conf @@ -0,0 +1,29 @@ +schema: + handover: + threshold: 'uint' + myvar: 'test_type' + anothervar: 'another_type' + +tests: + - foobar: + prefix: + handover: + myvar: 'valid_value1' + anothervar: 'unique_val_ok' + threshold: 2 + - foobar: + prefix: + handover: + myvar: 'valid_value2' + - foobar: + prefix: + handover: + threshold: 0 + - foobar: + prefix: + handover: + myvar: 'invalid_val' + - foobar: + prefix: + handover: + anothervar: 'another_invalid_val' diff --git a/selftest/schema_test/schema_test.ok b/selftest/schema_test/schema_test.ok index 2c4cd6a..846caae 100644 --- a/selftest/schema_test/schema_test.ok +++ b/selftest/schema_test/schema_test.ok @@ -61,3 +61,20 @@ --- -: ERR: ValueError: config item is a list, should be 'str': 'foobar.prefix.hey.ho.letsgo[]' Validation: Error ---------------------- +schema_case_06.conf: +{'foobar.prefix.handover.anothervar': 'another_type', + 'foobar.prefix.handover.myvar': 'test_type', + 'foobar.prefix.handover.threshold': 'uint'} +validating tests[0] +Validation: OK +validating tests[1] +Validation: OK +validating tests[2] +Validation: OK +validating tests[3] +--- foobar.prefix.handover.myvar: ERR: ValueError: Invalid value 'invalid_val' for schema type 'test_type' (validator: test_validator) +Validation: Error +validating tests[4] +--- foobar.prefix.handover.anothervar: ERR: ValueError: Invalid value 'another_invalid_val' for schema type 'another_type' (validator: ) +Validation: Error +---------------------- diff --git a/selftest/schema_test/schema_test.py b/selftest/schema_test/schema_test.py index 3cf2799..bffa601 100755 --- a/selftest/schema_test/schema_test.py +++ b/selftest/schema_test/schema_test.py @@ -25,6 +25,13 @@ li.append(f) return sorted(li) +def test_validator(val): + return val in ('valid_value1', 'valid_value2') + +schema.register_schema_types({'test_type': test_validator, + 'another_type': lambda val: val == 'unique_val_ok'}) + + print('==== Testing dynamically generated schemas ====') for f in get_case_list(_prep.script_dir): print('%s:' % f) diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py index 9055c5b..70b4c8c 100644 --- a/src/osmo_gsm_tester/core/schema.py +++ b/src/osmo_gsm_tester/core/schema.py @@ -36,12 +36,12 @@ break; if not regex.fullmatch(val): break; - return + return True raise ValueError('Invalid %s: %r' % (name, val)) def band(val): if val in ('GSM-900', 'GSM-1800', 'GSM-1900'): - return + return True raise ValueError('Unknown GSM band: %r' % val) def ipv4(val): @@ -49,27 +49,30 @@ els = [int(el) for el in val.split('.')] if not all([el >= 0 and el <= 255 for el in els]): raise ValueError('Invalid IPv4 address: %r' % val) + return True def hwaddr(val): - match_re('hardware address', HWADDR_RE, val) + return match_re('hardware address', HWADDR_RE, val) def imsi(val): - match_re('IMSI', IMSI_RE, val) + return match_re('IMSI', IMSI_RE, val) def ki(val): - match_re('KI', KI_RE, val) + return match_re('KI', KI_RE, val) def msisdn(val): - match_re('MSISDN', MSISDN_RE, val) + return match_re('MSISDN', MSISDN_RE, val) def auth_algo(val): if val not in util.ENUM_OSMO_AUTH_ALGO: raise ValueError('Unknown Authentication Algorithm: %r' % val) + return True def uint(val): n = int(val) if n < 0: raise ValueError('Positive value expected instead of %d' % n) + return True def uint8(val): n = int(val) @@ -77,6 +80,7 @@ raise ValueError('Positive value expected instead of %d' % n) if n > 255: # 2^8 - 1 raise ValueError('Value %d too big, max value is 255' % n) + return True def uint16(val): n = int(val) @@ -84,57 +88,64 @@ raise ValueError('Positive value expected instead of %d' % n) if n > 65535: # 2^16 - 1 raise ValueError('Value %d too big, max value is 65535' % n) + return True + +def bool_str(val): + # str2bool will raise an exception if unable to parse it + util.str2bool(val) + return True def times(val): n = int(val) if n < 1: raise ValueError('Positive value >0 expected instead of %d' % n) + return True def cipher(val): if val in ('a5_0', 'a5_1', 'a5_2', 'a5_3', 'a5_4', 'a5_5', 'a5_6', 'a5_7'): - return + return True raise ValueError('Unknown Cipher value: %r' % val) def modem_feature(val): if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g'): - return + return True raise ValueError('Unknown Modem Feature: %r' % val) def phy_channel_config(val): if val in ('CCCH', 'CCCH+SDCCH4', 'TCH/F', 'TCH/H', 'SDCCH8', 'PDCH', 'TCH/F_PDCH', 'CCCH+SDCCH4+CBCH', 'SDCCH8+CBCH','TCH/F_TCH/H_PDCH'): - return + return True raise ValueError('Unknown Physical channel config: %r' % val) def channel_allocator(val): if val in ('ascending', 'descending'): - return + return True raise ValueError('Unknown Channel Allocator Policy %r' % val) def gprs_mode(val): if val in ('none', 'gprs', 'egprs'): - return + return True raise ValueError('Unknown GPRS mode %r' % val) def codec(val): if val in ('hr1', 'hr2', 'hr3', 'fr1', 'fr2', 'fr3'): - return + return True raise ValueError('Unknown Codec value: %r' % val) def osmo_trx_clock_ref(val): if val in ('internal', 'external', 'gspdo'): - return + return True raise ValueError('Unknown OsmoTRX clock reference value: %r' % val) def lte_transmission_mode(val): n = int(val) if n <= 4: - return + return True raise ValueError('LTE Transmission Mode %d not in expected range' % n) def duration(val): if val.isdecimal() or val.endswith('m') or val.endswith('h'): - return + return True raise ValueError('Invalid duration value: %r' % val) INT = 'int' @@ -163,7 +174,7 @@ INT: int, STR: str, UINT: uint, - BOOL_STR: util.str2bool, + BOOL_STR: bool_str, BAND: band, IPV4: ipv4, HWADDR: hwaddr, @@ -310,7 +321,9 @@ log.ctx(path) type_validator = SCHEMA_TYPES.get(want_type) - type_validator(value) + valid = type_validator(value) + if not valid: + raise ValueError('Invalid value %r for schema type \'%s\' (validator: %s)' % (value, want_type, type_validator.__name__)) def nest(parent_path, config, schema): if parent_path: @@ -369,6 +382,13 @@ _WANT_SCHEMA = None _ALL_SCHEMA = None +def register_schema_types(schema_type_attr): + """Register schema types to be used by schema attributes. + For instance: register_resource_schema_attributes({ 'fruit': lambda val: val in ('banana', 'apple') }) + """ + global SCHEMA_TYPES + combine(SCHEMA_TYPES, schema_type_attr) + def register_resource_schema(obj_class_str, obj_attr_dict): """Register schema attributes for a resource type. For instance: register_resource_schema_attributes('modem', {'type': schema.STR, 'ki': schema.KI}) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18388 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: I998c8674a55531909bfeac420064c3f238cea126 Gerrit-Change-Number: 18388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:58:01 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 22 May 2020 12:58:01 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 to look at the new patch set (#2). Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Transceiver: Log when sending of CLK indications begins When the logging category TRXCLK is set to info osmo-trx prints a logline that informs about the sending of clock indications. In practice this those log lines are often used to identify that osmo-trx and osmo-bts are running properly, so it would be helpful, even in productive use, if there would be an information in the log that the sending of clock indications has begun. However, the regular printing of the clock indication log line would soon flood the log. So, lets have an addional log line that logs only once when the transceiver starts and quickly informs at loglevel NOTICE that clock indications are now sent. Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Related: OS#2577 --- M Transceiver52M/Transceiver.cpp 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/95/18395/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:58:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 12:58:26 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > > Patch Set 1: > > > > > > tested this locally here and it works fine. only one more issue is that we need a way to specify the UDP bandwidth with the -b parameter. Otherwise only 1Mbit/s is generated. > > > > Iwas unware of that param. So can you explain me how do you plan to use it? Shall I simply set it to a big value (which one?) and be done with it? Shall I allow it to be changed with a config option of iperf3? > > No worries. I thought about passing it to the iperf client as parameter in prepare_test_proc(). Simply using "a large" number would work but has disadvantages. I think it is better to use the max_rate() from the eNB and then pass this as parameter. But it needs to be configurable because also max_rate only works for one UE. from iperf3 man: """ Setting the target bitrate to 0 will disable bitrate limits (particularly useful for UDP tests). This throughput limit is implemented internally inside iperf3, and is available on all platforms. Compare with the --fq-rate flag. """ So I will pass -b 0 always for now, hope that makes sense as a first step, and we can improve it later if we see it causes issues. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 12:58:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 12:58:35 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 22 May 2020 12:58:35 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 2: (1 comment) (ensuring all review comments are sent) https://gerrit.osmocom.org/c/osmo-trx/+/18395/1/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/18395/1/Transceiver52M/Transceiver.cpp at 1057 PS1, Line 1057: if (mForceClockInterface || mTransmitDeadlineClock > mLastClockUpdateTime + GSM::Time(216,0)) { > I would simply add the logging here based on whether mForceClockInterface is true. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 12:58:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:01:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:01:37 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/18395/2/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/18395/2/Transceiver52M/Transceiver.cpp at 1170 PS2, Line 1170: if (!mForceClockInterface) Let's not use this variable here. Move it to line 1056 in driveReceiveRadio. And by the way, you are applying the if codition wrong here, it's the opposite (mForceClockInterface is set to true at startup to force it being sent immediatelly.) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:01:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:09:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:09:54 +0000 Subject: Change in pysim[master]: cards: add methods to help erasing of file contents In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18417 ) Change subject: cards: add methods to help erasing of file contents ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3c3a4ef3d3f358404af307a68a20b7059f1a9e8d Gerrit-Change-Number: 18417 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:09:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:11:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:11:39 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:11:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:11:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:11:51 +0000 Subject: Change in pysim[master]: utils: do not crash when all bytes of EF.IMSI are 0xFF In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18208 ) Change subject: utils: do not crash when all bytes of EF.IMSI are 0xFF ...................................................................... utils: do not crash when all bytes of EF.IMSI are 0xFF In case try to decode the contents of an uninitalized EF.IMSI, the function dec_imsi() would crash because it truncates all 0xFF from the swapped version of the EF.IMSI contents and then accesses the first element of the buffer. This always works for EF.IMSI contents that contain valid IMSI data, but if all bytes are set to 0xFF, then no data is left in the buffer after truncating, so lets check if we even have bytes left before we move on with the decoding. Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c --- M pySim/utils.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index b5203dc..2de6856 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -85,6 +85,8 @@ l = int(ef[0:2], 16) * 2 # Length of the IMSI string l = l - 1 # Encoded length byte includes oe nibble swapped = swap_nibbles(ef[2:]).rstrip('f') + if len(swapped) < 1: + return None oe = (int(swapped[0])>>3) & 1 # Odd (1) / Even (0) if not oe: # if even, only half of last byte was used -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I93874a1d7e0b87d39e4b06a5c504643cfabb451c Gerrit-Change-Number: 18208 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:11:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:11:51 +0000 Subject: Change in pysim[master]: cards: add methods to help erasing of file contents In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18417 ) Change subject: cards: add methods to help erasing of file contents ...................................................................... cards: add methods to help erasing of file contents Resetting the contents of a file before re-writing it with parameters might be helpful when implementing the currently empty erase() methods of the various card implementations. Lets add two methods, one for resetting a binary file and one for resetting a specific record in a record oriented file Change-Id: I3c3a4ef3d3f358404af307a68a20b7059f1a9e8d --- M pySim/cards.py 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 1c0add0..73b0763 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -248,6 +248,16 @@ return None + # Erase the contents of a file + def erase_binary(self, ef): + len = self._scc.binary_size(ef) + self._scc.update_binary(ef, "ff" * len, offset=0, verify=True) + + # Erase the contents of a single record + def erase_record(self, ef, rec_no): + len = self._scc.record_size(ef) + self._scc.update_record(ef, rec_no, "ff" * len, force_len=False, verify=True) + class _MagicSimBase(Card): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3c3a4ef3d3f358404af307a68a20b7059f1a9e8d Gerrit-Change-Number: 18417 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:12:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:12:15 +0000 Subject: Change in osmo-trx[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18410 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 Gerrit-Change-Number: 18410 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:12:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:12:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:12:26 +0000 Subject: Change in osmo-pcu[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18406 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c Gerrit-Change-Number: 18406 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:12:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:12:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:12:29 +0000 Subject: Change in osmo-pcu[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18406 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index 48051f2..85e3c65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,12 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 SUBDIRS = include src doc tests contrib -EXTRA_DIST = osmoappdesc.py README.md +EXTRA_DIST = \ + README.md \ + contrib/osmo-pcu.spec.in \ + debian \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If17e82c5fe1fc49877a5a3d9ba250e86091e253c Gerrit-Change-Number: 18406 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:12:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:12:36 +0000 Subject: Change in osmo-trx[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18410 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 --- M Makefile.am 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Makefile.am b/Makefile.am index 9462fa8..0152341 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,7 +39,10 @@ EXTRA_DIST = \ LEGAL \ COPYING \ - README.md + README.md \ + contrib/osmo-trx.spec.in \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie192c9b516ff98f2b1ab8e7927da55a0c1e9eb56 Gerrit-Change-Number: 18410 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:12:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:12:52 +0000 Subject: Change in osmo-remsim[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18407 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 Gerrit-Change-Number: 18407 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:12:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:08 +0000 Subject: Change in libosmocore[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18411 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 Gerrit-Change-Number: 18411 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:13:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:11 +0000 Subject: Change in libosmocore[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18411 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 --- M Makefile.am 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index d08f41b..f2a05a9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,7 +28,15 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = git-version-gen .version README.md osmo-release.mk osmo-release.sh +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmocore.spec.in \ + debian \ + git-version-gen \ + osmo-release.mk \ + osmo-release.sh \ + $(NULL) HTML = \ $(top_builddir)/doc/core/html/index.html \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I13f28041adcc1530e5125775c4533d8ac0a88169 Gerrit-Change-Number: 18411 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:29 +0000 Subject: Change in libsmpp34[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18415 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 Gerrit-Change-Number: 18415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:13:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:32 +0000 Subject: Change in libsmpp34[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libsmpp34/+/18415 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 --- M Makefile.am 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 3e44376..f888647 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,7 +18,9 @@ test_apps/sendwp.xml\ test_apps/recv_and_unpack.inc \ README.md \ - .version + .version \ + debian \ + contrib/libsmpp34.spec.in @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libsmpp34/+/18415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libsmpp34 Gerrit-Branch: master Gerrit-Change-Id: Ic57665f98ba65e9876157c2238077fcb54256f16 Gerrit-Change-Number: 18415 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:41 +0000 Subject: Change in libusrp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libusrp/+/18416 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e Gerrit-Change-Number: 18416 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:13:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:13:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:13:45 +0000 Subject: Change in libusrp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libusrp/+/18416 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e --- M Makefile.am 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index eb149d4..0478e16 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,7 +27,9 @@ usrp.pc.in \ usrp.iss.in \ usrp.inf \ - .version + .version \ + debian \ + contrib/libusrp.spec.in SUBDIRS = host fpga doc firmware -- To view, visit https://gerrit.osmocom.org/c/libusrp/+/18416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libusrp Gerrit-Branch: master Gerrit-Change-Id: Ic982838b33111c0dd1195cd885bba2228d7bc40e Gerrit-Change-Number: 18416 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:06 +0000 Subject: Change in libosmo-netif[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18413 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 Gerrit-Change-Number: 18413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:14:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:08 +0000 Subject: Change in libosmo-netif[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18413 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 5dd843b..55a650a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,12 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-netif.pc -EXTRA_DIST = .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmo-netif.spec.in \ + debian \ + $(NULL) @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: Ibd97cb239570b1d056ccbf02b101d4c5fe4d4211 Gerrit-Change-Number: 18413 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:18 +0000 Subject: Change in libosmo-abis[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18412 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd Gerrit-Change-Number: 18412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:14:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:20 +0000 Subject: Change in libosmo-abis[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18412 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index a8774c4..d55eace 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,6 +12,11 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmo-abis.spec.in \ + debian \ + $(NULL) @RELMAKE@ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7676a000da951afec9fa6fb2f75e5dfa1395f4bd Gerrit-Change-Number: 18412 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:33 +0000 Subject: Change in osmo-msc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18404 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 Gerrit-Change-Number: 18404 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:14:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:35 +0000 Subject: Change in osmo-msc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18404 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 3f89896..bfc3b6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-msc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I83cf6ee3f974733e45b01c79242214fa32479416 Gerrit-Change-Number: 18404 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:44 +0000 Subject: Change in osmo-sgsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 Gerrit-Change-Number: 18408 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:14:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:14:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:14:46 +0000 Subject: Change in osmo-sgsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 3f89896..17b3fc6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-sgsn.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I15d4c9ca2c7ed0467b44f57bbaa1a2177feff154 Gerrit-Change-Number: 18408 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:13 +0000 Subject: Change in libosmo-sccp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 Gerrit-Change-Number: 18414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:15:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:16 +0000 Subject: Change in libosmo-sccp[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index ac68fcc..31b920c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,7 +6,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-sccp.pc libosmo-mtp.pc libosmo-sigtran.pc libosmo-xua.pc -EXTRA_DIST = .version git-version-gen osmoappdesc.py +EXTRA_DIST = \ + .version \ + contrib/libosmo-sccp.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iacdb3f080dc467398b7b008ffb6068f2dd780ac1 Gerrit-Change-Number: 18414 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:25 +0000 Subject: Change in osmo-sip-connector[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 Gerrit-Change-Number: 18409 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:15:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:27 +0000 Subject: Change in osmo-sip-connector[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 824b8ca..ea80631 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,13 @@ SUBDIRS = src tests contrib doc BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-sip-connector.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-sip-connector/+/18409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sip-connector Gerrit-Branch: master Gerrit-Change-Id: Ifee945e89b8b3d1a9ef9cf57e36cad306c244657 Gerrit-Change-Number: 18409 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:37 +0000 Subject: Change in osmo-pcap[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18405 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 Gerrit-Change-Number: 18405 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:15:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:15:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:15:42 +0000 Subject: Change in osmo-pcap[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/18405 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 --- M Makefile.am 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 3fcbc70..3040616 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,12 @@ SUBDIRS = include src contrib doc tests BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen .version +EXTRA_DIST = \ + .version \ + contrib/osmo-pcap.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/18405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I2cf6d26b71af23d85b3b9675f9e60c08397115c9 Gerrit-Change-Number: 18405 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:17:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: Hello fixeria, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 to look at the new patch set (#6). Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 646 insertions(+), 649 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:17:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:17:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 to look at the new patch set (#2). Change subject: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK ...................................................................... pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK Let's test the code path where UL TBF is requested through DL ACK/NACK here, since we already test the usual UL TBF through CCCH approach in most tests. rlc_mode is changed to ACKED since that's the mode we are using so far in tests. Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/18381/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 Gerrit-Change-Number: 18381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:17:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:17:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add missing f_shutdown() to exit as soon as possible without fin... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 ) Change subject: pcu: Add missing f_shutdown() to exit as soon as possible without final=true ...................................................................... pcu: Add missing f_shutdown() to exit as soon as possible without final=true Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/18419/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 272ddb5..7eb322e 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -606,6 +606,7 @@ if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + f_shutdown(__BFILE__, __LINE__); } } @@ -681,6 +682,7 @@ if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); @@ -725,6 +727,7 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc Gerrit-Change-Number: 18419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:18:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:18:42 +0000 Subject: Change in osmo-mgw[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18403 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a Gerrit-Change-Number: 18403 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:18:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:18:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:18:44 +0000 Subject: Change in osmo-mgw[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18403 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 3a94711..1255210 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,7 +22,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-mgw.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I1ab1e30cc0c8a7ece997ae776ab0945a989eb82a Gerrit-Change-Number: 18403 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:18:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:18:51 +0000 Subject: Change in osmo-bsc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18399 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 Gerrit-Change-Number: 18399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:18:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:18:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:18:54 +0000 Subject: Change in osmo-bsc[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18399 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index f42e6d0..d84e7f6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,13 @@ $(NULL) BUILT_SOURCES = $(top_srcdir)/.version -EXTRA_DIST = git-version-gen osmoappdesc.py .version +EXTRA_DIST = \ + .version \ + contrib/osmo-bsc.spec.in \ + debian \ + git-version-gen \ + osmoappdesc.py \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83 Gerrit-Change-Number: 18399 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:18:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:18:59 +0000 Subject: Change in osmo-iuh[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18402 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 Gerrit-Change-Number: 18402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:18:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:19:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:19:03 +0000 Subject: Change in osmo-iuh[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/18402 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 --- M Makefile.am 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 40ea321..fd684e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,13 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-ranap.pc libosmo-sabp.pc -EXTRA_DIST = asn1 .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + asn1 \ + contrib/osmo-iuh.spec.in \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/18402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-iuh Gerrit-Branch: master Gerrit-Change-Id: I8573098cc7dd2d8920914f93490c5ddf978418b0 Gerrit-Change-Number: 18402 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:19:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:19:08 +0000 Subject: Change in osmo-hlr[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18401 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 Gerrit-Change-Number: 18401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:19:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:19:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:19:10 +0000 Subject: Change in osmo-hlr[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18401 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 --- M Makefile.am 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index a54dcb2..9a92f2f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ .version \ + contrib/osmo-hlr.spec.in \ + debian \ $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I401a4849ae186bddd667446ff7247976090e1db7 Gerrit-Change-Number: 18401 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:19:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:19:20 +0000 Subject: Change in osmo-ggsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf Gerrit-Change-Number: 18400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:19:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:19:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:19:23 +0000 Subject: Change in osmo-ggsn[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf --- M Makefile.am 1 file changed, 9 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index c2d497c..f431bd9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,7 +10,15 @@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version -EXTRA_DIST = git-version-gen .version README.md README.FreeBSD README.MacOSX +EXTRA_DIST = \ + .version \ + README.FreeBSD \ + README.MacOSX \ + README.md \ + contrib/osmo-ggsn.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ie9cc3da87dea413408c82b721875e89735a47fcf Gerrit-Change-Number: 18400 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:20:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:20:02 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:20:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:20:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:20:06 +0000 Subject: Change in osmo-bts[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18398 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 --- M Makefile.am 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 62bad69..e64db39 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,9 +5,13 @@ # package the contrib and doc EXTRA_DIST = \ + .version \ + README.md \ contrib/dump_docs.py \ - git-version-gen .version \ - README.md + contrib/osmo-bts.spec.in \ + debian \ + git-version-gen \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia08afb32b228d0a2380190e358364e07b20ce0f3 Gerrit-Change-Number: 18398 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:20:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:20:29 +0000 Subject: Change in osmo-ci[master]: OBS: check required programs before start In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18391 ) Change subject: OBS: check required programs before start ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead Gerrit-Change-Number: 18391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:20:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:20:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:20:32 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: Hello srs_andre, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 to look at the new patch set (#2). Change subject: iperf3: Support using configuring UDP protocol ...................................................................... iperf3: Support using configuring UDP protocol Change-Id: I0b3545847b01ae3d029881f243fea276f0fa39de --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py A sysmocom/scenarios/cfg-iperf3-proto at .conf M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/gprs/lib/testlib.py 7 files changed, 82 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/89/18389/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:20:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:20:47 +0000 Subject: Change in osmo-ci[master]: OBS: add --noservice to osc ci command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18392 ) Change subject: OBS: add --noservice to osc ci command ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 Gerrit-Change-Number: 18392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:20:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:21:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 22 May 2020 13:21:07 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 2: > Patch Set 2: > > Build Started https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_gerrit/1286/ Can you give it a try now that it sets -b 0? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 13:21:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:21:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:21:26 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:21:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:21:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:21:43 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:21:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:22:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:22:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:23:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:23:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:23:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:23:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:23:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse ChCodingCommand on CCHAN Ul Ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 ) Change subject: pcu: Parse ChCodingCommand on CCHAN Ul Ass ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 Gerrit-Change-Number: 18380 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:23:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:23:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:23:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 ) Change subject: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 Gerrit-Change-Number: 18381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:23:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:24:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:24:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add missing f_shutdown() to exit as soon as possible without fin... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 ) Change subject: pcu: Add missing f_shutdown() to exit as soon as possible without final=true ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc Gerrit-Change-Number: 18419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 22 May 2020 13:24:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:25:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:25:08 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: cosmetic: get rid of 'i' where it is not used In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18397 ) Change subject: trx_toolkit: cosmetic: get rid of 'i' where it is not used ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 Gerrit-Change-Number: 18397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:25:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:25:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:25:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_dump.py: fix return value of parse_msg() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18396 ) Change subject: trx_toolkit/data_dump.py: fix return value of parse_msg() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 Gerrit-Change-Number: 18396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 22 May 2020 13:25:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:25:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:25:37 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_dump.py: fix return value of parse_msg() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18396 ) Change subject: trx_toolkit/data_dump.py: fix return value of parse_msg() ...................................................................... trx_toolkit/data_dump.py: fix return value of parse_msg() Jenkins build #2516 has uncovered a problem in DATADumpFile.parse_msg(): ====================================================================== FAIL: test_parse_empty (test_data_dump.DATADump_Test) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/src/target/trx_toolkit/test_data_dump.py", line 138, in test_parse_empty self.assertEqual(msg, False) AssertionError: None != False I did a quick investigation, and figured out that this failure happens when trying to call parse_msg() with idx == 0, because DATADumpFile._seek2msg() basically does nothing in this case and thus always returns True. The None itself comes from DATADumpFile._parse_msg(). Let's ensure that DATADumpFile.parse_msg() always returns None, even if DATADumpFile._seek2msg() fails. Also, update the unit test, so we always test a wide range of 'idx' values. Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 --- M src/target/trx_toolkit/data_dump.py M src/target/trx_toolkit/test_data_dump.py 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index 7c5452b..41af695 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -158,14 +158,14 @@ # Parses a particular message defined by index idx # Return value: # a parsed message in case of success, - # or None in case of EOF or header parsing error, - # or False in case of message parsing error or out of range. + # or None in case of EOF, out of range, or header parsing error, + # or False in case of message parsing error. def parse_msg(self, idx): # Move descriptor to the beginning of requested message rc = self._seek2msg(idx) if not rc: log.error("Couldn't find requested message") - return False + return None # Attempt to parse a message return self._parse_msg() diff --git a/src/target/trx_toolkit/test_data_dump.py b/src/target/trx_toolkit/test_data_dump.py index 2f7e25a..5129196 100644 --- a/src/target/trx_toolkit/test_data_dump.py +++ b/src/target/trx_toolkit/test_data_dump.py @@ -133,9 +133,9 @@ def test_parse_empty(self): with self.assertLogs(level = 'ERROR'): - idx = random.randrange(100) - msg = self._ddf.parse_msg(idx) - self.assertEqual(msg, False) + for idx in range(100): + msg = self._ddf.parse_msg(idx) + self.assertEqual(msg, None) def test_parse_all_empty(self): msg_list = self._ddf.parse_all() -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ifcfa9c5208636a0f9309f5ba8e47d282dc6a03f4 Gerrit-Change-Number: 18396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:25:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 22 May 2020 13:25:37 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: cosmetic: get rid of 'i' where it is not used In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18397 ) Change subject: trx_toolkit: cosmetic: get rid of 'i' where it is not used ...................................................................... trx_toolkit: cosmetic: get rid of 'i' where it is not used Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 --- M src/target/trx_toolkit/data_dump.py M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/rand_burst_gen.py M src/target/trx_toolkit/test_data_dump.py 4 files changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/target/trx_toolkit/data_dump.py b/src/target/trx_toolkit/data_dump.py index 41af695..52768a9 100644 --- a/src/target/trx_toolkit/data_dump.py +++ b/src/target/trx_toolkit/data_dump.py @@ -98,7 +98,7 @@ self.f.seek(0) # Read the capture in loop... - for i in range(idx): + for _ in range(idx): # Attempt to read a message header hdr_raw = self.f.read(self.HDR_LENGTH) if len(hdr_raw) != self.HDR_LENGTH: diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 35e09d6..55fb796 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -403,7 +403,7 @@ # Generate a random message specific burst def rand_burst(self, length = GSM_BURST_LEN): - self.burst = [random.randint(0, 1) for i in range(length)] + self.burst = [random.randint(0, 1) for _ in range(length)] # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): @@ -812,7 +812,7 @@ if length is None: length = self.mod_type.bl - self.burst = [random.randint(-127, 127) for i in range(length)] + self.burst = [random.randint(-127, 127) for _ in range(length)] # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): diff --git a/src/target/trx_toolkit/rand_burst_gen.py b/src/target/trx_toolkit/rand_burst_gen.py index a56467f..9ac6943 100644 --- a/src/target/trx_toolkit/rand_burst_gen.py +++ b/src/target/trx_toolkit/rand_burst_gen.py @@ -57,7 +57,7 @@ buf += [0] * 3 # Random data 1 / 2 - buf += [random.randint(0, 1) for i in range(57)] + buf += [random.randint(0, 1) for _ in range(57)] # Steal flag 1 / 2 buf.append(random.randint(0, 1)) @@ -71,7 +71,7 @@ buf.append(random.randint(0, 1)) # Random data 2 / 2 - buf += [random.randint(0, 1) for i in range(57)] + buf += [random.randint(0, 1) for _ in range(57)] # Tailing bits buf += [0] * 3 @@ -90,7 +90,7 @@ buf += [0] * 3 # Random data 1 / 2 - buf += [random.randint(0, 1) for i in range(39)] + buf += [random.randint(0, 1) for _ in range(39)] # Training sequence if tsc is None: @@ -98,7 +98,7 @@ buf += tsc.seq # Random data 2 / 2 - buf += [random.randint(0, 1) for i in range(39)] + buf += [random.randint(0, 1) for _ in range(39)] # Tailing bits buf += [0] * 3 @@ -122,7 +122,7 @@ buf += tsc.seq # Random data - buf += [random.randint(0, 1) for i in range(36)] + buf += [random.randint(0, 1) for _ in range(36)] # Tailing bits buf += [0] * 3 diff --git a/src/target/trx_toolkit/test_data_dump.py b/src/target/trx_toolkit/test_data_dump.py index 5129196..9cd9b79 100644 --- a/src/target/trx_toolkit/test_data_dump.py +++ b/src/target/trx_toolkit/test_data_dump.py @@ -79,7 +79,7 @@ def _gen_rand_messages(self, cls, count, ver = 1): msg_list = [] - for i in range(count): + for _ in range(count): msg = self._gen_rand_message(cls, ver) msg_list.append(msg) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I00126a90446e5f3fb77a46be9d7d5dbff89fa221 Gerrit-Change-Number: 18397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix definition of FeatureIndicator References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 ) Change subject: library/GSM_RR_Types: fix definition of FeatureIndicator ...................................................................... library/GSM_RR_Types: fix definition of FeatureIndicator Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e --- M library/GSM_RR_Types.ttcn 1 file changed, 7 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/18420/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b09a760..0fa6ec6 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -365,10 +365,13 @@ /* 10.5.2.76 */ type record FeatureIndicator { - BIT2 spare, - boolean cs_ir, - boolean ps_ir - } with { variant "" }; + BIT2 peo_bcch_change_mark, + boolean cs_ir, + boolean ps_ir + } with { + variant (cs_ir) "FIELDLENGTH(1)" + variant (ps_ir) "FIELDLENGTH(1)" + }; /* 24.008 10.5.5.6 */ type record DrxParameter { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e Gerrit-Change-Number: 18420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add IAR Rest Octets definition References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 ) Change subject: library/GSM_RR_Types: add IAR Rest Octets definition ...................................................................... library/GSM_RR_Types: add IAR Rest Octets definition See 3GPP TS 44.018, section 10.5.2.17 "IAR Rest Octets". Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570 --- M library/GSM_RR_Types.ttcn 1 file changed, 30 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/18421/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 0fa6ec6..4bd65d1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -652,9 +652,38 @@ type record ImmediateAssignmentReject { FeatureIndicator feature_ind, PageMode page_mode, - ReqRefWaitInd4 payload + ReqRefWaitInd4 payload, + IARRestOctets rest_octets } with { variant "" }; + /* 10.5.2.17 IAR (Immediate Assignment Reject) Rest Octets */ + type record IARRestOctets { + ExtRAList ext_ra_list, + BIT1 rel13_ind, // L/H + uint3_t rcc optional + /* Addition in Rel-15: PEO IMM Cell Group Details struct */ + } with { + variant (rel13_ind) "CSN.1 L/H" + variant (rcc) "PRESENCE(rel13_ind = '1'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" + }; + + /* Optional extended RA: 0 | 1 < Extended RA 1 : bit (5) > */ + type record ExtRAOpt { + BIT1 presence, // L/H + BIT5 ext_ra optional + } with { + variant (presence) "CSN.1 L/H" + variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" + }; + + type record length(4) of ExtRAOpt ExtRAList; + /* 9.1.21 */ type record MeasurementReport { MeasurementResults meas_res -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570 Gerrit-Change-Number: 18421 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates for IMM ASS Reject References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 ) Change subject: library/GSM_RR_Types: add receive templates for IMM ASS Reject ...................................................................... library/GSM_RR_Types: add receive templates for IMM ASS Reject Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990 --- M library/GSM_RR_Types.ttcn 1 file changed, 32 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/18422/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 4bd65d1..ec9b3cc 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1036,4 +1036,36 @@ } }; + template GsmRrMessage tr_IMM_ASS_REJ(template FeatureIndicator feature_ind := ?, + template ReqRefWaitInd4 rr_wi_list := ?, + template IARRestOctets rest_octets := ?) := { + header := t_RrHeader(IMMEDIATE_ASSIGNMENT_REJECT, ?), + payload := { + imm_ass_rej := { + feature_ind := feature_ind, + page_mode := ?, + payload := rr_wi_list, + rest_octets := rest_octets + } + } + }; + + template ReqRefWaitInd tr_ReqRefWaitInd(template RequestReference ref := ?, + template WaitIndication wi := ?) := { + req_ref := ref, + wait_ind := wi + }; + + template IARRestOctets tr_IARRestOctets(template ExtRAList ext_ra_list := ?, + template uint3_t rcc := ?) := { + ext_ra_list := ext_ra_list, + rel13_ind := ?, + rcc := rcc ifpresent + }; + + template ExtRAOpt tr_ExtRAOpt(template BIT5 ext_ra := ?) := { + presence := '1'B, // L/H + ext_ra := ext_ra + }; + } with { encode "RAW" ; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990 Gerrit-Change-Number: 18422 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_content References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_content ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_content The purpose of this test case is to verify the contents of RR Immediate Assignment Reject message (and its IAR Rest Octets) sent in response to EGPRS Packet Channel Request (11 bit RA). To provoke the reject message, test case crafts an incorrect EGPRS Packet Channel Request message ('111111xxxxx'B). Note that at the time of writing this test, the IUT does not handle EGPRS Packet Channel Request properly, so it fails. Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 70 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/18423/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 22e3c1f..fb59c13 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -7,7 +7,7 @@ those NS and BSSGP implementations on the BSS (PCU) side. */ /* (C) 2018-2019 Harald Welte - * (C) 2019 Vadim Yanitskiy + * (C) 2019-2020 Vadim Yanitskiy * All rights reserved. * * Released under the terms of GNU General Public License, Version 2 or @@ -1764,6 +1764,74 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +private function f_TC_egprs_pkt_chan_req_reject(bitstring ra11, uint32_t fn, + template IARRestOctets rest := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var template ReqRefWaitInd tr_ref; + var GsmRrMessage rr_msg; + var boolean ok; + + /* Send RACH.ind with malformed EGPRS Packet Channel Request */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, + ra := bit2int(ra11), is_11bit := 1, + burst_type := bt, fn := fn, + arfcn := 871)); + + /* Abuse f_pcuif_rx_imm_ass(): wait for Immediate Assignment Reject */ + ok := f_pcuif_rx_imm_ass(rr_msg, t_imm_ass := tr_IMM_ASS_REJ); + if (not ok) { + setverdict(fail, "Failed to match Immediate Assignment Reject"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Just to have a short-name reference to the actual message */ + var ImmediateAssignmentReject iar := rr_msg.payload.imm_ass_rej; + + /* Make sure that Request Reference list contains at least one entry + * with our TDMA frame number, and RA is set to 'reserved' value 127. */ + tr_ref := tr_ReqRefWaitInd(f_compute_ReqRef(127, fn)); + if (not match(iar.payload, { *, tr_ref, * })) { + setverdict(fail, "Request Reference list does not match"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Match Feature Indicator (must indicate PS domain) */ + if (not match(iar.feature_ind, FeatureIndicator:{?, false, true})) { + setverdict(fail, "Feature Indicator does not match"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Match IAR Rest Octets */ + if (not match(iar.rest_octets, rest)) { + setverdict(fail, "IAR Rest Octets does not match: ", + iar.rest_octets, " vs expected ", rest); + f_shutdown(__BFILE__, __LINE__); + } + + setverdict(pass); +} + +/* Verify the contents of RR Immediate Assignment Reject message and its + * Rest Octets sent in response to EGPRS Packet Channel Request (11 bit). */ +testcase TC_egprs_pkt_chan_req_reject_content() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT5 ext_ra; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + for (var integer i := 0; i < 6; i := i + 1) { + ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */ + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * }); + + /* Intentionally incorrect message (see table 11.2.5a.2) */ + f_TC_egprs_pkt_chan_req_reject('111111'B & ext_ra, 1337 + i, rest); + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1796,6 +1864,7 @@ execute( TC_egprs_pkt_chan_req_signalling() ); execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); + execute( TC_egprs_pkt_chan_req_reject_content() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Gerrit-Change-Number: 18423 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_emergency At the moment, the IUT does not support any emergency services. Make sure that EGPRS Packet Channel Request for an emergency call is properly rejected (RR Immediate Assignment Reject). Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/18424/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index fb59c13..999ece0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1832,6 +1832,35 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* At the moment, the IUT does not support any emergency services. Make sure + * that EGPRS Packet Channel Request for an emergency call is properly rejected. */ +testcase TC_egprs_pkt_chan_req_reject_emergency() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT5 ext_ra; + var BIT11 ra11; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + emergency := { tag := '110111'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */ + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * }); + + req.emergency.random_bits := ext_ra; + ra11 := enc_EGPRSPktChRequest2bits(req); + + /* Intentionally incorrect message (see table 11.2.5a.2) */ + f_TC_egprs_pkt_chan_req_reject(ra11, 1337 + i, rest); + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1865,6 +1894,7 @@ execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); execute( TC_egprs_pkt_chan_req_reject_content() ); + execute( TC_egprs_pkt_chan_req_reject_emergency() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Gerrit-Change-Number: 18424 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 13:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 13:51:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_emergency At the moment, the IUT does not support any emergency services. Make sure that EGPRS Packet Channel Request for an emergency call is properly rejected (RR Immediate Assignment Reject). Note that at the time of writing this test, the IUT does not handle EGPRS Packet Channel Request properly, so it fails. Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/18424/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Gerrit-Change-Number: 18424 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 15:01:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 22 May 2020 15:01:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion Send 7 RACH indications to the IUT with EGPRS Packet Channel Request. Since we have only one timeslot (and USF value '111'B is reserved), the 8-th indication should be properly rejected by the IUT. Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/18425/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 999ece0..8a1a425 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1861,6 +1861,39 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Make sure that IUT responds with RR Immediate Assignment Reject due to exhaustion. */ +testcase TC_egprs_pkt_chan_req_reject_exhaustion() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT11 ra11; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + one_phase := { + tag := '0'B, + multislot_class := '10101'B, + priority := '01'B, + random_bits := '101'B + } + }; + + /* We send 7 requests, the IUT gives us all available USFs (0..6). + * TODO: make it configurable: usf_max := mp_pdch_ts_num * 7. */ + for (var integer i := 0; i < 7; i := i + 1) { + req.one_phase.random_bits := int2bit(f_rnd_int(8), 3); + f_TC_egprs_pkt_chan_req(req, tr_IMM_TBF_ASS); + } + + ra11 := enc_EGPRSPktChRequest2bits(req); + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(substr(ra11, 6, 5)), * }); + + /* At this point, the IUT should run out of free USFs */ + f_TC_egprs_pkt_chan_req_reject(ra11, 1870, rest); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1895,6 +1928,7 @@ execute( TC_egprs_pkt_chan_req_two_phase() ); execute( TC_egprs_pkt_chan_req_reject_content() ); execute( TC_egprs_pkt_chan_req_reject_emergency() ); + execute( TC_egprs_pkt_chan_req_reject_exhaustion() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Gerrit-Change-Number: 18425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 15:05:48 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 22 May 2020 15:05:48 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > Build Started https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_gerrit/1286/ > > Can you give it a try now that it sets -b 0? I somehow couldn't fetch this updated commit from gerrit. Don't know why but I've manually applied the change and added -b 0. It kind of works, bit rate maxes out but the proplem is that the stream goes forever, i.e. it doesn't stop after 30s like specified. I checked the logs and -i 30 -b 0 is passed correctly. Maybe an issue in the verison we are using? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 22 May 2020 15:05:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 16:21:39 2020 From: gerrit-no-reply at lists.osmocom.org (roox) Date: Fri, 22 May 2020 16:21:39 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: roox has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 5: (1 comment) looks good to me https://gerrit.osmocom.org/c/osmo-remsim/+/18307/4/contrib/osmo-remsim.spec.in File contrib/osmo-remsim.spec.in: https://gerrit.osmocom.org/c/osmo-remsim/+/18307/4/contrib/osmo-remsim.spec.in at a183 PS4, Line 183: %{_includedir}/osmocom > Removed, as it caused a duplicate files error and aborted the build. ACK - That looks like an copy'n'paste error on my side and is definitely not needed. -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 22 May 2020 16:21:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 18:46:08 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 22 May 2020 18:46:08 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS counter for paging rqsts responded elsewhere. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18426 ) Change subject: stats: Add a BTS counter for paging rqsts responded elsewhere. ...................................................................... stats: Add a BTS counter for paging rqsts responded elsewhere. If we have several BTS in a single LAC, only one of them will respond to the paging. Without this counter this situation will lead to "lost" paging requests, i.e. in disparity between attempted pagings and expired/responded/etc pagings. Now the sum of all paging response counters should actually match the attempted counter. Change-Id: I4b27a0559ef2762e62bc3ac30000f17b89b0ed48 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/paging.c 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/18426/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index a2e103d..38df1dc 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1411,6 +1411,7 @@ BTS_CTR_PAGING_ATTEMPTED, BTS_CTR_PAGING_ALREADY, BTS_CTR_PAGING_RESPONDED, + BTS_CTR_PAGING_RESPONDED_ELSEWHERE, BTS_CTR_PAGING_EXPIRED, BTS_CTR_PAGING_NO_ACTIVE_PAGING, BTS_CTR_CHAN_ACT_TOTAL, @@ -1457,6 +1458,7 @@ [BTS_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."}, [BTS_CTR_PAGING_ALREADY] = {"paging:already", "Paging attempts ignored as subscriber was already being paged."}, [BTS_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful paging response."}, + [BTS_CTR_PAGING_RESPONDED_ELSEWHERE] = {"paging:responded_elsewhere", "Paging attempts with paging response received on another BTS with the same LAC."}, [BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."}, [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, [BTS_CTR_CHAN_ACT_TOTAL] = {"chan_act:total", "Total number of Channel Activations."}, diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index d32cded..3da6ecc 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -441,7 +441,9 @@ /* Sort of an optimization. */ if (bts == _bts) continue; - _paging_request_stop(bts, bsub, NULL, NULL); + if (_paging_request_stop(bts, bsub, NULL, NULL)) { + rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_RESPONDED_ELSEWHERE]); + } } log_set_context(LOG_CTX_BSC_SUBSCR, NULL); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b27a0559ef2762e62bc3ac30000f17b89b0ed48 Gerrit-Change-Number: 18426 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 18:46:09 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 22 May 2020 18:46:09 +0000 Subject: Change in osmo-bsc[master]: stats: Count paging requests flushed due to MSC Reset. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18427 ) Change subject: stats: Count paging requests flushed due to MSC Reset. ...................................................................... stats: Count paging requests flushed due to MSC Reset. Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/paging.c 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/18427/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 38df1dc..214ad7f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1414,6 +1414,7 @@ BTS_CTR_PAGING_RESPONDED_ELSEWHERE, BTS_CTR_PAGING_EXPIRED, BTS_CTR_PAGING_NO_ACTIVE_PAGING, + BTS_CTR_PAGING_MSC_FLUSH, BTS_CTR_CHAN_ACT_TOTAL, BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, @@ -1461,6 +1462,7 @@ [BTS_CTR_PAGING_RESPONDED_ELSEWHERE] = {"paging:responded_elsewhere", "Paging attempts with paging response received on another BTS with the same LAC."}, [BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."}, [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, + [BTS_CTR_PAGING_MSC_FLUSH] = {"paging:msc_flush", "Paging flushed due to MSC Reset BSSMAP message."}, [BTS_CTR_CHAN_ACT_TOTAL] = {"chan_act:total", "Total number of Channel Activations."}, [BTS_CTR_CHAN_ACT_NACK] = {"chan_act:nack", "Number of Channel Activations that the BTS NACKed"}, [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 3da6ecc..92039f6 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -489,6 +489,7 @@ void paging_flush_bts(struct gsm_bts *bts, struct bsc_msc_data *msc) { struct gsm_paging_request *req, *req2; + int num_cancelled = 0; paging_init_if_needed(bts); @@ -498,7 +499,10 @@ /* now give up the data structure */ LOG_BTS(bts, DPAG, LOGL_DEBUG, "Stop paging %s (flush)\n", bsc_subscr_name(req->bsub)); paging_remove_request(&bts->paging, req); + num_cancelled++; } + + rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_MSC_FLUSH], num_cancelled); } /*! Flush all paging requests issued by \a msc on any BTS in \a net */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b Gerrit-Change-Number: 18427 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 22 21:56:56 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Fri, 22 May 2020 21:56:56 +0000 Subject: Change in osmo-bsc[master]: paging: Remove obsolete comment. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18428 ) Change subject: paging: Remove obsolete comment. ...................................................................... paging: Remove obsolete comment. I beleive MSC split is finished a long time ago and everything is already re-wired for the A-interface. Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd --- M src/osmo-bsc/paging.c 1 file changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/18428/1 diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index 92039f6..d61d8dd 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -59,12 +59,6 @@ #define PAGING_TIMER 0, 500000 /* - * TODO MSCSPLIT: the paging in libbsc is closely tied to MSC land in that the - * MSC realm callback functions used to be invoked from the BSC/BTS level. So - * this entire file needs to be rewired for use with an A interface. - */ - -/* * Kill one paging request update the internal list... */ static void paging_remove_request(struct gsm_bts_paging_state *paging_bts, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18428 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd Gerrit-Change-Number: 18428 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat May 23 01:35:57 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 23 May 2020 01:35:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ec87e137b8e0_d3a2b24e36ee5f01107055@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 75s] libosmo-sccp.src: W: no-changelogname-tag [ 75s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 75s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 75s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 75s] osmo-stp.i586: W: no-changelogname-tag [ 75s] There is no changelog. Please insert a '%changelog' section heading in your [ 75s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 75s] [ 75s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 75s] The package contains an init script or systemd service file but lacks the [ 75s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 75s] [ 75s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 75s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 75s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 75s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 75s] This archive does not contain a non-empty .text section. The archive was not [ 75s] created with -ffat-lto-objects option. [ 75s] [ 75s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 75s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 75s] [ 75s] ### VM INTERACTION START ### [ 78s] [ 71.773504] sysrq: Power Off [ 78s] [ 71.780968] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 78s] [ 78s] lamb16 failed "build libosmo-sccp.spec" at Sat May 23 01:35:49 UTC 2020. [ 78s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat May 23 01:38:14 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 23 May 2020 01:38:14 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ec87e8fcb53b_d3a2b24e36ee5f01107422@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 82s] libosmo-sccp.src: W: no-changelogname-tag [ 82s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 82s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 82s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 82s] osmo-stp.x86_64: W: no-changelogname-tag [ 82s] There is no changelog. Please insert a '%changelog' section heading in your [ 82s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 82s] [ 82s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 82s] The package contains an init script or systemd service file but lacks the [ 82s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 82s] [ 82s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 82s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 82s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 82s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 82s] This archive does not contain a non-empty .text section. The archive was not [ 82s] created with -ffat-lto-objects option. [ 82s] [ 82s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 82s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 82s] [ 82s] ### VM INTERACTION START ### [ 85s] [ 76.738058] sysrq: Power Off [ 85s] [ 76.747057] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] lamb24 failed "build libosmo-sccp.spec" at Sat May 23 01:38:08 UTC 2020. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat May 23 01:40:14 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 23 May 2020 01:40:14 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ec87f0842292_d3a2b24e36ee5f011075b8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 145s] libosmo-sccp.src: W: no-changelogname-tag [ 145s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 145s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 145s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 145s] osmo-stp.aarch64: W: no-changelogname-tag [ 145s] There is no changelog. Please insert a '%changelog' section heading in your [ 145s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 145s] [ 145s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 145s] The package contains an init script or systemd service file but lacks the [ 145s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 145s] [ 145s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 145s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 145s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 145s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 145s] This archive does not contain a non-empty .text section. The archive was not [ 145s] created with -ffat-lto-objects option. [ 145s] [ 145s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 145s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 145s] [ 145s] ### VM INTERACTION START ### [ 148s] [ 133.679568] sysrq: Power Off [ 148s] [ 133.711680] reboot: Power down [ 148s] ### VM INTERACTION END ### [ 148s] [ 148s] obs-arm-2 failed "build libosmo-sccp.spec" at Sat May 23 01:40:01 UTC 2020. [ 148s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat May 23 01:50:31 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 23 May 2020 01:50:31 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec8817aae811_d3a2b24e36ee5f0110963e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 254s] libosmo-sccp.src: W: no-changelogname-tag [ 254s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 254s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 254s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 254s] osmo-stp.armv7hl: W: no-changelogname-tag [ 254s] There is no changelog. Please insert a '%changelog' section heading in your [ 254s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 254s] [ 254s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 254s] The package contains an init script or systemd service file but lacks the [ 254s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 254s] [ 254s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 254s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 254s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 254s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 254s] This archive does not contain a non-empty .text section. The archive was not [ 254s] created with -ffat-lto-objects option. [ 254s] [ 254s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 254s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 254s] [ 254s] ### VM INTERACTION START ### [ 257s] [ 231.438380] sysrq: Power Off [ 257s] [ 231.440082] reboot: Power down [ 257s] ### VM INTERACTION END ### [ 257s] [ 257s] armbuild17 failed "build libosmo-sccp.spec" at Sat May 23 01:50:29 UTC 2020. [ 257s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 23 09:07:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 09:07:40 +0000 Subject: Change in osmo-ggsn[master]: example config: use RFC1918 addresses for GGSN pools References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 ) Change subject: example config: use RFC1918 addresses for GGSN pools ...................................................................... example config: use RFC1918 addresses for GGSN pools It's 172.16, not 176.16. Change-Id: I2d83ee747e8987f10c4960d42f3c3f2a723e3f4c --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/29/18429/1 diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index e79fdfa..02523e9 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -42,10 +42,10 @@ gtpu-mode tun tun-device tun4 type-support v4 - ip prefix dynamic 176.16.222.0/24 + ip prefix dynamic 172.16.222.0/24 ip dns 0 8.8.8.8 ip dns 1 8.8.4.4 - ip ifconfig 176.16.222.0/24 + ip ifconfig 172.16.222.0/24 no shutdown apn inet6 gtpu-mode tun @@ -60,10 +60,10 @@ gtpu-mode tun tun-device tun46 type-support v4v6 - ip prefix dynamic 176.16.46.0/24 + ip prefix dynamic 172.16.46.0/24 ip dns 0 8.8.8.8 ip dns 1 8.8.4.4 - ip ifconfig 176.16.46.0/24 + ip ifconfig 172.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 ipv6 dns 0 2001:4860:4860::8888 ipv6 dns 1 2001:4860:4860::8844 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2d83ee747e8987f10c4960d42f3c3f2a723e3f4c Gerrit-Change-Number: 18429 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:44:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:44:20 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS counter for paging rqsts responded elsewhere. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18426 ) Change subject: stats: Add a BTS counter for paging rqsts responded elsewhere. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b27a0559ef2762e62bc3ac30000f17b89b0ed48 Gerrit-Change-Number: 18426 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:44:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:44:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:44:53 +0000 Subject: Change in osmo-bsc[master]: stats: Count paging requests flushed due to MSC Reset. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18427 ) Change subject: stats: Count paging requests flushed due to MSC Reset. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b Gerrit-Change-Number: 18427 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:44:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:45:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:45:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 ) Change subject: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 Gerrit-Change-Number: 18384 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 23 May 2020 11:45:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:45:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:45:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix definition of FeatureIndicator In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 ) Change subject: library/GSM_RR_Types: fix definition of FeatureIndicator ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e Gerrit-Change-Number: 18420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:45:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:46:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:46:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add IAR Rest Octets definition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 ) Change subject: library/GSM_RR_Types: add IAR Rest Octets definition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570 Gerrit-Change-Number: 18421 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:46:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:46:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:46:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates for IMM ASS Reject In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 ) Change subject: library/GSM_RR_Types: add receive templates for IMM ASS Reject ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990 Gerrit-Change-Number: 18422 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:46:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:46:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:46:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_content In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_content ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Gerrit-Change-Number: 18423 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:46:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 ) Change subject: ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors ...................................................................... ttcn3-tcpdump-stop.sh: fix echo: add -e to enable colors This change enables interpretation of backslash escapes for echo, so the test case execution summary is always printed in color. Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 --- M ttcn3-tcpdump-stop.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/ttcn3-tcpdump-stop.sh b/ttcn3-tcpdump-stop.sh index 1f4da3d..30d331d 100755 --- a/ttcn3-tcpdump-stop.sh +++ b/ttcn3-tcpdump-stop.sh @@ -22,9 +22,9 @@ date if [ x"$VERDICT" = x"pass" ]; then - echo "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" + echo -e "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" else - echo "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" + echo -e "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" fi echo -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0cc77b4de764c7afd6416512a181c4c1610ce369 Gerrit-Change-Number: 18384 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix definition of FeatureIndicator In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 ) Change subject: library/GSM_RR_Types: fix definition of FeatureIndicator ...................................................................... library/GSM_RR_Types: fix definition of FeatureIndicator Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e --- M library/GSM_RR_Types.ttcn 1 file changed, 7 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index b09a760..0fa6ec6 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -365,10 +365,13 @@ /* 10.5.2.76 */ type record FeatureIndicator { - BIT2 spare, - boolean cs_ir, - boolean ps_ir - } with { variant "" }; + BIT2 peo_bcch_change_mark, + boolean cs_ir, + boolean ps_ir + } with { + variant (cs_ir) "FIELDLENGTH(1)" + variant (ps_ir) "FIELDLENGTH(1)" + }; /* 24.008 10.5.5.6 */ type record DrxParameter { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I06ad58f25aa97bf13de87127e7e2c6237a90557e Gerrit-Change-Number: 18420 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add IAR Rest Octets definition In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 ) Change subject: library/GSM_RR_Types: add IAR Rest Octets definition ...................................................................... library/GSM_RR_Types: add IAR Rest Octets definition See 3GPP TS 44.018, section 10.5.2.17 "IAR Rest Octets". Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570 --- M library/GSM_RR_Types.ttcn 1 file changed, 30 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 0fa6ec6..4bd65d1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -652,9 +652,38 @@ type record ImmediateAssignmentReject { FeatureIndicator feature_ind, PageMode page_mode, - ReqRefWaitInd4 payload + ReqRefWaitInd4 payload, + IARRestOctets rest_octets } with { variant "" }; + /* 10.5.2.17 IAR (Immediate Assignment Reject) Rest Octets */ + type record IARRestOctets { + ExtRAList ext_ra_list, + BIT1 rel13_ind, // L/H + uint3_t rcc optional + /* Addition in Rel-15: PEO IMM Cell Group Details struct */ + } with { + variant (rel13_ind) "CSN.1 L/H" + variant (rcc) "PRESENCE(rel13_ind = '1'B)" + + /* The TITAN's RAW encoder generates an octet-aligned octetstring, + * so we should make sure that unused bits contain proper padding. */ + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" + }; + + /* Optional extended RA: 0 | 1 < Extended RA 1 : bit (5) > */ + type record ExtRAOpt { + BIT1 presence, // L/H + BIT5 ext_ra optional + } with { + variant (presence) "CSN.1 L/H" + variant (ext_ra) "PRESENCE(presence = '1'B)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */ + variant (ext_ra) "BYTEORDER(last)" + }; + + type record length(4) of ExtRAOpt ExtRAList; + /* 9.1.21 */ type record MeasurementReport { MeasurementResults meas_res -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib1f16b310d6ca94f19a1700c78cb37e8b35ac570 Gerrit-Change-Number: 18421 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: add receive templates for IMM ASS Reject In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 ) Change subject: library/GSM_RR_Types: add receive templates for IMM ASS Reject ...................................................................... library/GSM_RR_Types: add receive templates for IMM ASS Reject Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990 --- M library/GSM_RR_Types.ttcn 1 file changed, 32 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 4bd65d1..ec9b3cc 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1036,4 +1036,36 @@ } }; + template GsmRrMessage tr_IMM_ASS_REJ(template FeatureIndicator feature_ind := ?, + template ReqRefWaitInd4 rr_wi_list := ?, + template IARRestOctets rest_octets := ?) := { + header := t_RrHeader(IMMEDIATE_ASSIGNMENT_REJECT, ?), + payload := { + imm_ass_rej := { + feature_ind := feature_ind, + page_mode := ?, + payload := rr_wi_list, + rest_octets := rest_octets + } + } + }; + + template ReqRefWaitInd tr_ReqRefWaitInd(template RequestReference ref := ?, + template WaitIndication wi := ?) := { + req_ref := ref, + wait_ind := wi + }; + + template IARRestOctets tr_IARRestOctets(template ExtRAList ext_ra_list := ?, + template uint3_t rcc := ?) := { + ext_ra_list := ext_ra_list, + rel13_ind := ?, + rcc := rcc ifpresent + }; + + template ExtRAOpt tr_ExtRAOpt(template BIT5 ext_ra := ?) := { + presence := '1'B, // L/H + ext_ra := ext_ra + }; + } with { encode "RAW" ; variant "FIELDORDER(msb)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icece9245f4a85dcf59021a76d51d419cf1c13990 Gerrit-Change-Number: 18422 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Gerrit-Change-Number: 18424 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:47:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:47:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:47:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Gerrit-Change-Number: 18425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:47:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:49:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:49:11 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Sat, 23 May 2020 11:49:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:49:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:49:16 +0000 Subject: Change in osmo-remsim[master]: contrib: integrate RPM spec In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18307 ) Change subject: contrib: integrate RPM spec ...................................................................... contrib: integrate RPM spec Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b --- M .gitignore M configure.ac R contrib/osmo-remsim.spec.in 3 files changed, 17 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/.gitignore b/.gitignore index e2546a0..a1cec37 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,5 @@ debian/.debhelper debian/debhelper* debian/files + +contrib/osmo-remsim.spec diff --git a/configure.ac b/configure.ac index b65340f..5833d0d 100644 --- a/configure.ac +++ b/configure.ac @@ -196,6 +196,7 @@ contrib/Makefile contrib/etc_default/Makefile contrib/systemd/Makefile + contrib/osmo-remsim.spec doc/Makefile doc/manuals/Makefile src/Makefile diff --git a/contrib/osmo-remsim.spec b/contrib/osmo-remsim.spec.in similarity index 92% rename from contrib/osmo-remsim.spec rename to contrib/osmo-remsim.spec.in index 84874bc..4ff26bc 100644 --- a/contrib/osmo-remsim.spec +++ b/contrib/osmo-remsim.spec.in @@ -12,24 +12,23 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - %define sover 1 Name: osmo-remsim -Version: 0.2.2.86 +Version: @VERSION@ Release: 0 Summary: Osmocom remote SIM software suite License: GPL-2.0-or-later Group: Productivity/Telephony/Servers -URL: https://projects.osmocom.org/projects/osmo-remsim +URL: https://osmocom.org/projects/osmo-remsim Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake BuildRequires: libcsv-devel BuildRequires: libtool BuildRequires: pkgconfig +%if 0%{?suse_version} BuildRequires: systemd-rpm-macros +%endif BuildRequires: pkgconfig(libasn1c) >= 0.9.30 BuildRequires: pkgconfig(libosmoabis) BuildRequires: pkgconfig(libosmocore) >= 0.11.0 @@ -40,7 +39,7 @@ BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libosmousb) BuildRequires: pkgconfig(libosmo-simtrace2) -%{?systemd_ordering} +%{?systemd_requires} %description osmo-remsim is a suite of software programs enabling physical/geographic @@ -159,6 +158,7 @@ %post -n libosmo-rspro%{sover} -p /sbin/ldconfig %postun -n libosmo-rspro%{sover} -p /sbin/ldconfig +%if 0%{?suse_version} %pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service %post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service %preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service @@ -173,6 +173,7 @@ %post -n osmo-remsim-server %service_add_post osmo-remsim-server.service %preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service %postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service +%endif %files -n libosmo-rspro%{sover} %license COPYING @@ -180,9 +181,8 @@ %{_libdir}/libosmo-rspro.so.%{sover}* %files -n libosmo-rspro-devel -%{_includedir}/osmocom %dir %{_includedir}/osmocom/rspro -%{_includedir}/osmocom/rspro/rspro_client.h +%{_includedir}/osmocom/rspro/* %{_libdir}/libosmo-rspro.so %{_libdir}/pkgconfig/libosmo-rspro.pc @@ -204,12 +204,13 @@ %config %{_sysconfdir}/default/osmo-remsim-client* %files -n libifd-osmo-remsim-client0 -%dir %{_libdir}/readers/ +%if 0%{?centos_ver} +%dir %{_libdir}/pcsc/drivers/libifd-osmo-remsim-client.bundle +%{_libdir}/pcsc/drivers/libifd-osmo-remsim-client.bundle/* +%else %dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle -%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents -%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/PkgInfo -%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux -%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so* +%{_libdir}/readers/libifd-osmo-remsim-client.bundle/* +%endif %config %{_sysconfdir}/reader.conf.d/osmo-remsim-client-reader_conf %changelog -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ib2da03980d99f12ab36ca5d5fdde92ddbefb040b Gerrit-Change-Number: 18307 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:49:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:49:16 +0000 Subject: Change in osmo-remsim[master]: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18407 ) Change subject: Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in ...................................................................... Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 --- M Makefile.am 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/Makefile.am b/Makefile.am index 9c51a55..664e3b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,14 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-rspro.pc -EXTRA_DIST = asn1 .version README.md contrib/remsim-apitool.py +EXTRA_DIST = \ + .version \ + README.md \ + asn1 \ + contrib/osmo-remsim.spec.in \ + contrib/remsim-apitool.py \ + debian \ + $(NULL) AM_DISTCHECK_CONFIGURE_FLAGS = \ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ifbd7b8d726c558f40b12bf864bec8b8c819b6094 Gerrit-Change-Number: 18407 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:49:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:49:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add missing f_shutdown() to exit as soon as possible without fin... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 ) Change subject: pcu: Add missing f_shutdown() to exit as soon as possible without final=true ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc Gerrit-Change-Number: 18419 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:49:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:50:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:50:10 +0000 Subject: Change in pysim[master]: cards: remove empty erase() methods. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18418 ) Change subject: cards: remove empty erase() methods. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If5add960ec0cab58a01d8f83e6af8cb86ec70a8d Gerrit-Change-Number: 18418 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 23 May 2020 11:50:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:50:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:50:14 +0000 Subject: Change in pysim[master]: cards: remove empty erase() methods. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18418 ) Change subject: cards: remove empty erase() methods. ...................................................................... cards: remove empty erase() methods. Some of the cards do not implement the erase method that each card should have. However, having an empty method in each of those classes does not make too much sense. Lets rather have an erase method in the superclass (Card) that prints a warning to inform the user that erasing the spcified card is not supported. Change-Id: If5add960ec0cab58a01d8f83e6af8cb86ec70a8d --- M pySim/cards.py 1 file changed, 4 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 73b0763..c7b34eb 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -37,6 +37,10 @@ def reset(self): self._scc.reset_card() + def erase(self): + print("warning: erasing is not supported for specified card type!") + return + def verify_adm(self, key): ''' Authenticate with ADM key @@ -529,8 +533,6 @@ # FIXME: EF.MSISDN - def erase(self): - return class SysmoSIMgr1(GrcardSim): """ @@ -575,9 +577,6 @@ ) data, sw = self._scc._tp.send_apdu_checksw("0099000033" + par) - def erase(self): - return - class SysmoSIMgr2(Card): """ @@ -653,8 +652,6 @@ if p.get('smsp'): data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) - def erase(self): - return class SysmoUSIMSJS1(Card): """ @@ -759,9 +756,6 @@ r = self._scc.select_file(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, data, force_len=True) - def erase(self): - return - class FairwavesSIM(Card): """ @@ -903,10 +897,6 @@ if sw != '9000': print("Programming ACC failed with code %s"%sw) - def erase(self): - return - - class OpenCellsSim(Card): """ OpenCellsSim @@ -1046,9 +1036,6 @@ return None - def erase(self): - return - class SysmoISIMSJA2(Card): """ @@ -1169,9 +1156,6 @@ return - def erase(self): - return - # In order for autodetection ... _cards_classes = [ FakeMagicSim, SuperSim, MagicSim, GrcardSim, -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If5add960ec0cab58a01d8f83e6af8cb86ec70a8d Gerrit-Change-Number: 18418 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:50:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:50:44 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17594 ) Change subject: doc: switch log levels to notice ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ief82b85d9ff0e0e94eaabd255ebea961396fff32 Gerrit-Change-Number: 17594 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 23 May 2020 11:50:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 11:50:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 23 May 2020 11:50:47 +0000 Subject: Change in osmo-trx[master]: doc: switch log levels to notice In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/17594 ) Change subject: doc: switch log levels to notice ...................................................................... doc: switch log levels to notice Some of the example configs have loglevels set to info. This is too verbose, lets make sure all loglevels are set to notice Change-Id: Ief82b85d9ff0e0e94eaabd255ebea961396fff32 --- M doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg M doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg M doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg 4 files changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified Objections: fixeria: I would prefer this is not merged as is diff --git a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg index 16c68da..6d787f6 100644 --- a/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg @@ -4,7 +4,7 @@ logging print category 1 logging timestamp 1 logging print file basename - logging level set-all info + logging level set-all notice ! line vty no login diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg index 16c68da..6d787f6 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-limesdr.cfg @@ -4,7 +4,7 @@ logging print category 1 logging timestamp 1 logging print file basename - logging level set-all info + logging level set-all notice ! line vty no login diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg index d930da4..2e45da9 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-umtrx.cfg @@ -4,7 +4,7 @@ logging print category 1 logging timestamp 1 logging print file basename - logging level set-all info + logging level set-all notice ! line vty no login diff --git a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg index 2905ed7..1ecaec2 100644 --- a/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg +++ b/doc/examples/osmo-trx-uhd/osmo-trx-usrp_b200.cfg @@ -4,7 +4,7 @@ logging print category 1 logging timestamp 1 logging print file basename - logging level set-all info + logging level set-all notice ! line vty no login -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/17594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ief82b85d9ff0e0e94eaabd255ebea961396fff32 Gerrit-Change-Number: 17594 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:14 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 to look at the new patch set (#2). Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g This is not a functional change, just fixing misleading function name. Access Bursts on PTCCH/U have nothing to do with PDTCH. Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/85/18385/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:14 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 to look at the new patch set (#5). Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 --- M src/bts.cpp 1 file changed, 56 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/18387/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:16 +0000 Subject: Change in osmo-pcu[master]: csn1: fix M_CHOICE: restirct maximum length of the choice list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18430 ) Change subject: csn1: fix M_CHOICE: restirct maximum length of the choice list ...................................................................... csn1: fix M_CHOICE: restirct maximum length of the choice list The current implementation is not capable of handling more than 256 (UCHAR_MAX) selectors in the choice list. Let's document this and add a guard check to the M_CHOICE handler. Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 --- M src/csn1.c M src/csn1.h 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/18430/1 diff --git a/src/csn1.c b/src/csn1.c index 3db1e13..3347a64 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -495,6 +495,8 @@ /* Make sure that the list of choice items is not empty */ if (!count) return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_IN_SCRIPT, pDescr); + else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_IN_SCRIPT, pDescr); while (count > 0) { diff --git a/src/csn1.h b/src/csn1.h index d178ada..7eef5c8 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -490,7 +490,8 @@ * is the part of the message. In the CSN_CHOICE case, this rule does not * apply. There is free but predefined mapping of the element of the union and * the value which addresses this element. - * The value of the address is called a selector. + * The value of the address is called a selector. Up to 256 (UCHAR_MAX) unique + * selectors can be handled, longer choice list would cause CSN_ERROR_IN_SCRIPT. * After unpacking, this value is then converted to the sequential number of the * element in the union and stored in the UnionType variable. * Par1: C structure name -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 Gerrit-Change-Number: 18430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:16 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): also check length of the choice list References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18431 ) Change subject: csn1: fix csnStreamEncoder(): also check length of the choice list ...................................................................... csn1: fix csnStreamEncoder(): also check length of the choice list Similar checks are done in csnStreamDecoder(), so better check than sorry. Change-Id: I441c716975905a37264efc8a76df92194f39c1fb --- M src/csn1.c 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/18431/1 diff --git a/src/csn1.c b/src/csn1.c index 3347a64..700c342 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1802,10 +1802,16 @@ case CSN_CHOICE: { - //gint16 count = pDescr->i; + gint16 count = pDescr->i; guint8 i = 0; const CSN_ChoiceElement_t* pChoice = (const CSN_ChoiceElement_t*) pDescr->descr.ptr; + /* Make sure that the list of choice items is not empty */ + if (!count) + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); + else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); + pui8 = pui8DATA(data, pDescr->offset); i = *pui8; pChoice += i; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I441c716975905a37264efc8a76df92194f39c1fb Gerrit-Change-Number: 18431 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:16 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): always check the choice index References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18432 ) Change subject: csn1: fix csnStreamEncoder(): always check the choice index ...................................................................... csn1: fix csnStreamEncoder(): always check the choice index It's so easy to pick an out of bounds value otherwise... Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f --- M src/csn1.c 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/18432/1 diff --git a/src/csn1.c b/src/csn1.c index 700c342..5b60399 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1803,7 +1803,6 @@ case CSN_CHOICE: { gint16 count = pDescr->i; - guint8 i = 0; const CSN_ChoiceElement_t* pChoice = (const CSN_ChoiceElement_t*) pDescr->descr.ptr; /* Make sure that the list of choice items is not empty */ @@ -1812,9 +1811,12 @@ else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); - pui8 = pui8DATA(data, pDescr->offset); - i = *pui8; - pChoice += i; + /* Make sure that choice index is not out of range */ + pui8 = pui8DATA(data, pDescr->offset); + if (*pui8 >= count) + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_INVALID_UNION_INDEX, pDescr); + + pChoice += *pui8; guint8 no_of_bits = pChoice->bits; guint8 value = pChoice->value; LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pChoice->descr.sz , (unsigned)value); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f Gerrit-Change-Number: 18432 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:16 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: never use enumerated types in codec structures References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18433 ) Change subject: csn1: fix: never use enumerated types in codec structures ...................................................................... csn1: fix: never use enumerated types in codec structures I faced a problem while working on EGPRS Packet Channel Request coding support: the unit test I wrote for it was passing when compiled with AddressSanitizer, but failing when compiled without it o_O. Somehow this was observed only with GCC 10. Here is a part the standard output diff for that unit test: *** testEGPRSPktChReq *** decode_egprs_pkt_ch_req(0x2b5) returns 0 - ==> One Phase Access + ==> unknown 0xdd5f4e00 decode_egprs_pkt_ch_req(0x14a) returns 0 - ==> One Phase Access + ==> unknown 0xdd5f4e00 decode_egprs_pkt_ch_req(0x428) returns 0 - ==> Short Access + ==> unknown 0xdd5f4e01 At the same time, debug output of the CSN.1 decoder looked fine. So WYSINWYG (What You See Is *NOT* What You Get)! As it turned out, this was happening because I used an enumerated type to represent the sub-type of EGPRS Packet Channel Request. typedef struct { EGPRS_PacketChannelRequestType_t Type; // <-- enum EGPRS_PacketChannelRequestContent_t Content; } EGPRS_PacketChannelRequest_t; The problem is that length of an enumerated field, more precisely the amount of bytes it takes in the memory, is compiler/machine dependent. While the CSN.1 decoder assumes that the field holding sequential number of the chosen element is one octet long, so its address is getting casted to (guint8 *) and the value is written to the first MSB. // csnStreamDecoder(), case CSN_CHOICE: pui8 = pui8DATA(data, pDescr->offset); *pui8 = i; // [ --> xx .. .. .. ] Let's make sure that none of the existing RLC/MAC definitions is using enumerated types, and add a warning comment to CSN_CHOICE. Affected CSN.1 definitions (unit test output adjusted): - Additional_access_technologies_struct_t, - Channel_Request_Description_t. Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f --- M src/csn1.h M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.err 3 files changed, 12 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/18433/1 diff --git a/src/csn1.h b/src/csn1.h index 7eef5c8..761293d 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -493,9 +493,11 @@ * The value of the address is called a selector. Up to 256 (UCHAR_MAX) unique * selectors can be handled, longer choice list would cause CSN_ERROR_IN_SCRIPT. * After unpacking, this value is then converted to the sequential number of the - * element in the union and stored in the UnionType variable. + * element in the union and stored in the UnionType variable (Par2). * Par1: C structure name - * Par2: C structure element name + * Par2: C structure field name holding sequential number of the chosen element. + * BEWARE! Never use an enumerated type here, because its length is + * compiler/machine dependent, while decoder would cast it to guint8. * Par3: address of an array of type CSN_ChoiceElement_t where all possible * values of the selector are provided, together with the selector * length expressed in bits and the address of the CSN_DESCR type diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index e9ae20a..9d859f3 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -158,7 +158,7 @@ { guint8 PEAK_THROUGHPUT_CLASS; guint8 RADIO_PRIORITY; - RLC_MODE_t RLC_MODE; + guint8 RLC_MODE; guint8 LLC_PDU_TYPE; guint16 RLC_OCTET_COUNT; } Channel_Request_Description_t; @@ -1245,7 +1245,7 @@ typedef struct { - AccessTechnology_t Access_Technology_Type; + guint8 Access_Technology_Type; guint8 GMSK_Power_class; guint8 Eight_PSK_Power_class; } Additional_access_technologies_struct_t; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index c271e5c..83d416c 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,18 +22,18 @@ DCSN1 INFO csnStreamEncoder (type: Pkt UL Dummy Ctrl Block (3)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 2274915399 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 28 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 0 | : Channel_Quality_Report | C_VALUE = 18 | RXQUAL = 0 | SIGN_VAR = 7 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 0 | Padding = 3|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 28 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 0 | : Channel_Quality_Report | C_VALUE = 18 | RXQUAL = 0 | SIGN_VAR = 7 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 0 | Padding = 3|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xc4f70250 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 67 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 1 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| +DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xc4f70250 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 67 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 1 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| DCSN1 INFO csnStreamEncoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | u.TLLI = 1 | u.TLLI = 3304522320 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | u.Content = 3 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 82 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | DCSN1 ERROR csnStreamEncoder: error NEED_MORE BITS TO UNPACK (-5) at (idx 184) DRLCMACDATA ERROR Failed to encode an Uplink block: not enough bits in the output buffer (rc=-5) -DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xcf21fc92 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 73 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | skipped = 6 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 0| +DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xcf21fc92 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | skipped = 6 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 0| DCSN1 INFO csnStreamEncoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | u.TLLI = 1 | u.TLLI = 3475111058 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | u.Content = 7 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| DCSN1 INFO csnStreamDecoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 1 | MEAN_BEP_GMSK = 31 | CV_BEP_GMSK = 7 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 0 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 0 | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | Desc length = 15 | offset = 0 | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | : End Desc | : End EGPRS_AckNack | Padding = 11|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 1 | MEAN_BEP_GMSK = 31 | CV_BEP_GMSK = 7 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 0 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 0 | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | Desc length = 15 | : End Desc | : End EGPRS_AckNack | Padding = 11|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 20 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 1 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 1 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 18 | : End Channel_Request_Description | : Channel_Quality_Report | C_VALUE = 40 | RXQUAL = 1 | SIGN_VAR = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_PFI = 0 | : End AdditionsR99 | Padding = 3|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 20 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 1 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 1 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 18 | : End Channel_Request_Description | : Channel_Quality_Report | C_VALUE = 40 | RXQUAL = 1 | SIGN_VAR = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_PFI = 0 | : End AdditionsR99 | Padding = 3|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 1 | MEAN_BEP_8PSK = 31 | CV_BEP_8PSK = 7 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 58 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 1 | : ChannelRequestDescription | PEAK_THROUGHPUT_CLASS = 6 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 62 | : End ChannelRequestDescription | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 0 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 1187 | Exist_CRBB = 0 | URBB = 127 | URBB = 255 | URBB = 255 | URBB = 238 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | : End Desc | : End EGPRS_AckNack | Padding = -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 27 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | COMPACT_Interference_Measurement_Capability = NULL | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 27 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | COMPACT_Interference_Measurement_Capability = NULL | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| DCSN1 INFO csnStreamEncoder (RAcap): MS_RA_capability_value { | u.Content = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 0 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 0 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 0 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 0 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 65 | MS_RA_capability_value } | Padding = 3|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f Gerrit-Change-Number: 18433 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:31:17 +0000 Subject: Change in osmo-pcu[master]: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18434 ) Change subject: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible ...................................................................... encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b --- M src/encoding.cpp 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/34/18434/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 1805645..cb89b01 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -197,7 +197,8 @@ CHECK(rc); /* RLC acknowledged mode */ - SET_0(dest); /* RLC_MODE */ + rc = bitvec_set_bit(dest, (bit_value) RLC_MODE_ACKNOWLEDGED); + CHECK(rc); rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); @@ -668,7 +669,7 @@ } block->u.Packet_Downlink_Assignment.MAC_MODE = 0x0; // Dynamic Allocation - block->u.Packet_Downlink_Assignment.RLC_MODE = 0x0; // RLC acknowledged mode + block->u.Packet_Downlink_Assignment.RLC_MODE = RLC_MODE_ACKNOWLEDGED; block->u.Packet_Downlink_Assignment.CONTROL_ACK = tbf->was_releasing; // NW establishes no new DL TBF for the MS with running timer T3192 block->u.Packet_Downlink_Assignment.TIMESLOT_ALLOCATION = 0; // timeslot(s) for (tn = 0; tn < 8; tn++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b Gerrit-Change-Number: 18434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:37:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:37:05 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 23 May 2020 12:37:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 12:40:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 12:40:12 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 to look at the new patch set (#5). Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... RLC/MAC: implement decoding of EGPRS Packet Channel Request According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. This change adds CSN.1 definitions for 11 bit EGPRS Packet Channel Request as per 3GPP TS 44.060, table 11.2.5a.2. Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Related: OS#1548 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 222 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/17718/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat May 23 16:40:57 2020 From: admin at opensuse.org (OBS Notification) Date: Sat, 23 May 2020 16:40:57 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ec95231552de_d3a2b24e36ee5f012625b6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 98s] libosmo-sccp.src: W: no-changelogname-tag [ 98s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 98s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 98s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 98s] osmo-stp.aarch64: W: no-changelogname-tag [ 98s] There is no changelog. Please insert a '%changelog' section heading in your [ 98s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 98s] [ 98s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 98s] The package contains an init script or systemd service file but lacks the [ 98s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 98s] [ 98s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 98s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 98s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 98s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 98s] This archive does not contain a non-empty .text section. The archive was not [ 98s] created with -ffat-lto-objects option. [ 98s] [ 98s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 98s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 98s] [ 98s] ### VM INTERACTION START ### [ 101s] [ 87.169535] sysrq: Power Off [ 101s] [ 87.171150] reboot: Power down [ 101s] ### VM INTERACTION END ### [ 101s] [ 101s] obs-arm-9 failed "build libosmo-sccp.spec" at Sat May 23 16:40:47 UTC 2020. [ 101s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sat May 23 17:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sat, 23 May 2020 17:38:21 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: never use enumerated types in codec structures In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18433 ) Change subject: csn1: fix: never use enumerated types in codec structures ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f Gerrit-Change-Number: 18433 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 23 May 2020 17:38:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 19:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 19:01:42 +0000 Subject: Change in osmo-pcu[master]: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18435 ) Change subject: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) ...................................................................... encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) Change-Id: I8e41c2912aaff689b0e311c8e2d3e961d2f1ac2c --- M src/encoding.cpp 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/35/18435/1 diff --git a/src/encoding.cpp b/src/encoding.cpp index 1805645..5d06ee9 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -328,6 +328,7 @@ /* TLLI_BLOCK_CHANNEL_CODING */ rc = bitvec_set_bit(dest, (bit_value)tbf->tlli()); + CHECK(rc); /* No BEP_PERIOD2 */ SET_0(dest); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8e41c2912aaff689b0e311c8e2d3e961d2f1ac2c Gerrit-Change-Number: 18435 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 20:14:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 23 May 2020 20:14:48 +0000 Subject: Change in osmo-pcu[master]: HACK: always assign TAI=0 on PTCCH/U, check SAPI of PH-RA.ind In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17830 ) Change subject: HACK: always assign TAI=0 on PTCCH/U, check SAPI of PH-RA.ind ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17830 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5aadff0d019c7e1cb78ce0327c11f83773fcc7f5 Gerrit-Change-Number: 17830 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 22:23:14 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 23 May 2020 22:23:14 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18436 ) Change subject: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() ...................................................................... bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() conn->fi might be NULL and thus can't be safely dereferenced. E.g. we're checking if it's NULL or not just a few lines above. so we should here as well. Here is a backtrace for the crash: (gdb) bt at fsm.c:748 default_timeout=140730455622800, default_timeout at entry=5, file=file at entry=0x55b948079d39 "lchan_fsm.c", line=1344) at tdef.c:346 (gdb) p conn->fi $1 = (struct osmo_fsm_inst *) 0x0 Change-Id: I2427266ef4660935cde899462fa6df8d785c420e --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/18436/1 diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0b475ff..3da9d66 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -715,7 +715,7 @@ osmo_fsm_inst_name(conn->fi), detach_label); } - if (conn->fi->state != ST_CLEARING + if ((conn->fi && conn->fi->state != ST_CLEARING) && !conn->lchan && !conn->ho.new_lchan && !conn->assignment.new_lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2427266ef4660935cde899462fa6df8d785c420e Gerrit-Change-Number: 18436 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 23 22:27:05 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sat, 23 May 2020 22:27:05 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() In-Reply-To: References: Message-ID: ipse has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/18436 ) Change subject: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() ...................................................................... bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() conn->fi might be NULL and thus can't be safely dereferenced. E.g. we're checking if it's NULL or not just a few lines above. so we should here as well. Here is a backtrace for the crash: (gdb) bt 0 0x000055b948002772 in gscon_forget_lchan (conn=0x55b949c6b870, lchan=lchan at entry=0x7f00ae9ade68) at bsc_subscr_conn_fsm.c:718 1 0x000055b948036c84 in lchan_fsm_wait_rf_release_ack_onenter (fi=, prev_state=) at lchan_fsm.c:1040 2 0x00007f00afc6a599 in state_chg (fi=fi at entry=0x55b949bcfe10, new_state=new_state at entry=8, keep_timer=keep_timer at entry=false, timeout_ms=2000, T=3111, file=, line=1344) at fsm.c:699 3 0x00007f00afc6aa5d in _osmo_fsm_inst_state_chg (fi=fi at entry=0x55b949bcfe10, new_state=new_state at entry=8, timeout_secs=, T=, file=, line=) at fsm.c:748 4 0x00007f00afc78e62 in _osmo_tdef_fsm_inst_state_chg (fi=fi at entry=0x55b949bcfe10, state=state at entry=8, timeouts_array=timeouts_array at entry=0x55b9482b56a0 , tdefs=, default_timeout=140730455622800, default_timeout at entry=5, file=file at entry=0x55b948079d39 "lchan_fsm.c", line=1344) at tdef.c:346 5 0x000055b9480341eb in lchan_fsm_timer_cb (fi=0x55b949bcfe10) at lchan_fsm.c:1344 6 0x00007f00afc6b84a in fsm_tmr_cb (data=0x55b949bcfe10) at fsm.c:325 7 0x00007f00afc65926 in osmo_timers_update () at timer.c:257 8 0x00007f00afc65cda in _osmo_select_main (polling=0) at select.c:260 9 0x00007f00afc66526 in osmo_select_main_ctx (polling=) at select.c:291 10 0x000055b947fdcadf in main (argc=, argv=) at osmo_bsc_main.c:953 (gdb) p conn->fi $1 = (struct osmo_fsm_inst *) 0x0 Change-Id: I2427266ef4660935cde899462fa6df8d785c420e --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/36/18436/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2427266ef4660935cde899462fa6df8d785c420e Gerrit-Change-Number: 18436 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun May 24 00:35:20 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 24 May 2020 00:35:20 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec9c15bf013f_d3a2b24e36ee5f01377585@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 245s] libosmo-sccp.src: W: no-changelogname-tag [ 245s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 245s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 245s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 245s] osmo-stp.armv7hl: W: no-changelogname-tag [ 245s] There is no changelog. Please insert a '%changelog' section heading in your [ 245s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 245s] [ 245s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 245s] The package contains an init script or systemd service file but lacks the [ 245s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 245s] [ 245s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 245s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 245s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 245s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 245s] This archive does not contain a non-empty .text section. The archive was not [ 245s] created with -ffat-lto-objects option. [ 245s] [ 245s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 245s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 245s] [ 245s] ### VM INTERACTION START ### [ 248s] [ 226.213998] sysrq: Power Off [ 248s] [ 226.215719] reboot: Power down [ 248s] ### VM INTERACTION END ### [ 248s] [ 248s] armbuild19 failed "build libosmo-sccp.spec" at Sun May 24 00:35:12 UTC 2020. [ 248s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 24 01:39:55 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 24 May 2020 01:39:55 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ec9d07870d1b_d3a2b24e36ee5f0138859a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 79s] libosmo-sccp.src: W: no-changelogname-tag [ 79s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 79s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 79s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 79s] osmo-stp.i586: W: no-changelogname-tag [ 79s] There is no changelog. Please insert a '%changelog' section heading in your [ 79s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 79s] [ 79s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 79s] The package contains an init script or systemd service file but lacks the [ 79s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 79s] [ 79s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 79s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 79s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 79s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 79s] This archive does not contain a non-empty .text section. The archive was not [ 79s] created with -ffat-lto-objects option. [ 79s] [ 79s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 79s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 79s] [ 79s] ### VM INTERACTION START ### [ 82s] [ 75.639528] sysrq: Power Off [ 82s] [ 75.644915] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 82s] [ 82s] lamb12 failed "build libosmo-sccp.spec" at Sun May 24 01:39:54 UTC 2020. [ 82s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 24 01:47:03 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 24 May 2020 01:47:03 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ec9d21f16f0a_d3a2b24e36ee5f01389945@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 231s] libosmo-sccp.src: W: no-changelogname-tag [ 231s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 231s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 231s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 231s] osmo-stp.aarch64: W: no-changelogname-tag [ 231s] There is no changelog. Please insert a '%changelog' section heading in your [ 231s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 231s] [ 231s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 231s] The package contains an init script or systemd service file but lacks the [ 231s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 231s] [ 231s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 231s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 231s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 231s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 231s] This archive does not contain a non-empty .text section. The archive was not [ 231s] created with -ffat-lto-objects option. [ 231s] [ 231s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 231s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 231s] [ 231s] ### VM INTERACTION START ### [ 234s] [ 205.764653] sysrq: Power Off [ 234s] [ 205.791077] reboot: Power down [ 234s] ### VM INTERACTION END ### [ 234s] [ 234s] obs-arm-3 failed "build libosmo-sccp.spec" at Sun May 24 01:46:56 UTC 2020. [ 234s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 24 01:51:38 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 24 May 2020 01:51:38 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ec9d34bd5706_d3a2b24e36ee5f0139045@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 156s] libosmo-sccp.src: W: no-changelogname-tag [ 156s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 156s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 156s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 156s] osmo-stp.x86_64: W: no-changelogname-tag [ 156s] There is no changelog. Please insert a '%changelog' section heading in your [ 156s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 156s] [ 156s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 156s] The package contains an init script or systemd service file but lacks the [ 156s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 156s] [ 156s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 156s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 156s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 156s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 156s] This archive does not contain a non-empty .text section. The archive was not [ 156s] created with -ffat-lto-objects option. [ 156s] [ 156s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 156s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 156s] [ 156s] ### VM INTERACTION START ### [ 159s] [ 129.647244] sysrq: Power Off [ 159s] [ 129.688915] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb55 failed "build libosmo-sccp.spec" at Sun May 24 01:51:26 UTC 2020. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun May 24 03:50:12 2020 From: admin at opensuse.org (OBS Notification) Date: Sun, 24 May 2020 03:50:12 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ec9ef1180a87_d3a2b24e36ee5f01409114@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 252s] libosmo-sccp.src: W: no-changelogname-tag [ 252s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 252s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 252s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 252s] osmo-stp.armv7hl: W: no-changelogname-tag [ 252s] There is no changelog. Please insert a '%changelog' section heading in your [ 252s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 252s] [ 252s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 252s] The package contains an init script or systemd service file but lacks the [ 252s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 252s] [ 252s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 252s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 252s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 252s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 252s] This archive does not contain a non-empty .text section. The archive was not [ 252s] created with -ffat-lto-objects option. [ 252s] [ 252s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 252s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 252s] [ 252s] ### VM INTERACTION START ### [ 255s] [ 234.535797] sysrq: Power Off [ 255s] [ 234.537247] reboot: Power down [ 255s] ### VM INTERACTION END ### [ 255s] [ 255s] armbuild17 failed "build libosmo-sccp.spec" at Sun May 24 03:50:01 UTC 2020. [ 255s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun May 24 07:55:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:55:17 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 24 May 2020 07:55:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:55:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:55:50 +0000 Subject: Change in osmo-pcu[master]: csn1: fix M_CHOICE: restirct maximum length of the choice list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18430 ) Change subject: csn1: fix M_CHOICE: restirct maximum length of the choice list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 Gerrit-Change-Number: 18430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 07:55:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:56:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:56:13 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): also check length of the choice list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18431 ) Change subject: csn1: fix csnStreamEncoder(): also check length of the choice list ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I441c716975905a37264efc8a76df92194f39c1fb Gerrit-Change-Number: 18431 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 07:56:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:57:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:57:09 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): always check the choice index In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18432 ) Change subject: csn1: fix csnStreamEncoder(): always check the choice index ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f Gerrit-Change-Number: 18432 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 07:57:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:58:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:58:08 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: never use enumerated types in codec structures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18433 ) Change subject: csn1: fix: never use enumerated types in codec structures ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f Gerrit-Change-Number: 18433 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 24 May 2020 07:58:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:58:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:58:24 +0000 Subject: Change in osmo-pcu[master]: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18434 ) Change subject: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b Gerrit-Change-Number: 18434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 07:58:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 07:59:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 07:59:32 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 24 May 2020 07:59:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 13:20:09 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 24 May 2020 13:20:09 +0000 Subject: Change in osmo-bsc[master]: stats: Add a BTS counter for paging rqsts responded elsewhere. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18426 ) Change subject: stats: Add a BTS counter for paging rqsts responded elsewhere. ...................................................................... Patch Set 1: Code-Review-1 Somehow the paging counters don't add up with this patch again but in the other direction - we get too many responded/expired pagings. I'll investigate and resubmit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4b27a0559ef2762e62bc3ac30000f17b89b0ed48 Gerrit-Change-Number: 18426 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 13:20:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 14:06:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 14:06:42 +0000 Subject: Change in osmo-remsim[master]: avoid talloc abort in simtrace2 frontend_append_script_env() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18437 ) Change subject: avoid talloc abort in simtrace2 frontend_append_script_env() ...................................................................... avoid talloc abort in simtrace2 frontend_append_script_env() talloc requires a valid context for the allocation, we cannot use env[i] as context. Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70 --- M src/client/client.h M src/client/main_fsm.c M src/client/user_ifdhandler.c M src/client/user_shell.c M src/client/user_simtrace2.c 5 files changed, 8 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/37/18437/1 diff --git a/src/client/client.h b/src/client/client.h index b828882..0024f52 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -48,7 +48,7 @@ int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len); int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len); int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts); -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env); +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env); /* main.c */ diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c index 0674f6c..673b19e 100644 --- a/src/client/main_fsm.c +++ b/src/client/main_fsm.c @@ -75,9 +75,9 @@ env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); /* ask frontend to append any frontend-speccific additional environment vars */ - rc = frontend_append_script_env(bc, env+i, 256-i); + rc = frontend_append_script_env(bc, env, i, 256-i-1); if (rc > 0) - i += rc; + i = rc; /* terminate last entry */ env[i++] = NULL; diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c index 188d3a6..a690503 100644 --- a/src/client/user_ifdhandler.c +++ b/src/client/user_ifdhandler.c @@ -206,9 +206,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env) { - return 0; + return idx; } /*********************************************************************** diff --git a/src/client/user_shell.c b/src/client/user_shell.c index 40bcddd..9c804c6 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -54,9 +54,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env) { - return 0; + return idx; } diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 5d5bfc1..f84db9d 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -361,10 +361,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int i, size_t max_env) { struct osmo_st2_cardem_inst *ci = bc->cardem; - int i = 0; if (max_env < 4) return -ENOSPC; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70 Gerrit-Change-Number: 18437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 14:14:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 14:14:46 +0000 Subject: Change in osmo-remsim[master]: avoid talloc abort in simtrace2 frontend_append_script_env() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18437 ) Change subject: avoid talloc abort in simtrace2 frontend_append_script_env() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70 Gerrit-Change-Number: 18437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 24 May 2020 14:14:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 14:14:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 24 May 2020 14:14:49 +0000 Subject: Change in osmo-remsim[master]: avoid talloc abort in simtrace2 frontend_append_script_env() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18437 ) Change subject: avoid talloc abort in simtrace2 frontend_append_script_env() ...................................................................... avoid talloc abort in simtrace2 frontend_append_script_env() talloc requires a valid context for the allocation, we cannot use env[i] as context. Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70 --- M src/client/client.h M src/client/main_fsm.c M src/client/user_ifdhandler.c M src/client/user_shell.c M src/client/user_simtrace2.c 5 files changed, 8 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/client.h b/src/client/client.h index b828882..0024f52 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -48,7 +48,7 @@ int frontend_handle_card2modem(struct bankd_client *bc, const uint8_t *data, size_t len); int frontend_handle_set_atr(struct bankd_client *bc, const uint8_t *data, size_t len); int frontend_handle_slot_status(struct bankd_client *bc, const SlotPhysStatus_t *sts); -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env); +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env); /* main.c */ diff --git a/src/client/main_fsm.c b/src/client/main_fsm.c index 0674f6c..673b19e 100644 --- a/src/client/main_fsm.c +++ b/src/client/main_fsm.c @@ -75,9 +75,9 @@ env[i++] = talloc_asprintf(env, "REMSIM_CAUSE=%s", cause); /* ask frontend to append any frontend-speccific additional environment vars */ - rc = frontend_append_script_env(bc, env+i, 256-i); + rc = frontend_append_script_env(bc, env, i, 256-i-1); if (rc > 0) - i += rc; + i = rc; /* terminate last entry */ env[i++] = NULL; diff --git a/src/client/user_ifdhandler.c b/src/client/user_ifdhandler.c index 188d3a6..a690503 100644 --- a/src/client/user_ifdhandler.c +++ b/src/client/user_ifdhandler.c @@ -206,9 +206,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env) { - return 0; + return idx; } /*********************************************************************** diff --git a/src/client/user_shell.c b/src/client/user_shell.c index 40bcddd..9c804c6 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -54,9 +54,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int idx, size_t max_env) { - return 0; + return idx; } diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 5d5bfc1..f84db9d 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -361,10 +361,9 @@ return 0; } -int frontend_append_script_env(struct bankd_client *bc, char **env, size_t max_env) +int frontend_append_script_env(struct bankd_client *bc, char **env, int i, size_t max_env) { struct osmo_st2_cardem_inst *ci = bc->cardem; - int i = 0; if (max_env < 4) return -ENOSPC; -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18437 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I82b5e6b91b39d6f5c2a7492adb8c6193083e0d70 Gerrit-Change-Number: 18437 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 23:00:50 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 24 May 2020 23:00:50 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. Message processing here can fail for several reasons and we should be able to differentiate them. If we need to discard the message because of the FSM state, let's signal it to the caller differently than in case of fatal errors. This would allow the caller to log the issue differently. Specifically, we observed, that we very often get Classmark Change message from a phone right after the MSC has shut the SCCP connection but before we close the lchan on the BTS. This message flow hits this code path and we want to return -ENOTCONN here so that the caller knows that this is not a message decoding error or some other internal error. Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/18438/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 586eeab..ca92c5b 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -1016,7 +1016,7 @@ lchan = msg->lchan; if (!lchan_may_receive_data(lchan)) { LOG_LCHAN(msg->lchan, LOGL_INFO, "Got data in non active state, discarding.\n"); - return -1; + return -ENOTCONN; } if (lchan->conn) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 24 23:03:07 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Sun, 24 May 2020 23:03:07 +0000 Subject: Change in libosmo-abis[master]: log: Don't log an ERROR on forwarding message to a closed SCCP link. References: Message-ID: ipse has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18439 ) Change subject: log: Don't log an ERROR on forwarding message to a closed SCCP link. ...................................................................... log: Don't log an ERROR on forwarding message to a closed SCCP link. Message processing here can fail for several reasons not all of which are actually ERRORs. If the processing has failed because we can't decode the message or have some internal problem, it deserves an ERROR log. But if it fails simply because MSC has alreday shut down the SCCP connection, it is a normal flow and should be INFO at max. E.g. we observed, that we very often get Classmark Change message from a phone right after the MSC has shut the SCCP connection but before we close the lchan on the BTS. Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec --- M src/input/ipaccess.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/39/18439/1 diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index e1936af..57b53b3 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -390,8 +390,13 @@ * an error, that's too strict. BTW, the signalling layer is * resposible for releasing the message. */ - LOGP(DLINP, LOGL_ERROR, "Bad signalling message," - " sign_link returned error: %s.\n", strerror(-rc)); + if (rc == -ENOTCONN) + LOGP(DLINP, LOGL_INFO, "Remote connection is already closed, discarding the message: %s\n", + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); + else + LOGP(DLINP, LOGL_ERROR, "Bad signalling message," + " sign_link returned error: %s. Msg: %s\n", + strerror(-rc), osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); } return rc; -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec Gerrit-Change-Number: 18439 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 25 01:35:08 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 01:35:08 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ecb20d4ed844_d3a2b24e36ee5f01610922@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 77s] libosmo-sccp.src: W: no-changelogname-tag [ 77s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 77s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 77s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 77s] osmo-stp.aarch64: W: no-changelogname-tag [ 77s] There is no changelog. Please insert a '%changelog' section heading in your [ 77s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 77s] [ 77s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 77s] The package contains an init script or systemd service file but lacks the [ 77s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 77s] [ 77s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 77s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 77s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 77s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 77s] This archive does not contain a non-empty .text section. The archive was not [ 77s] created with -ffat-lto-objects option. [ 77s] [ 77s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 77s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 77s] [ 77s] ### VM INTERACTION START ### [ 80s] [ 71.464458] sysrq: Power Off [ 80s] [ 71.560053] reboot: Power down [ 80s] ### VM INTERACTION END ### [ 80s] [ 80s] obs-arm-9 failed "build libosmo-sccp.spec" at Mon May 25 01:34:56 UTC 2020. [ 80s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 01:35:42 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 01:35:42 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecb20f43636f_d3a2b24e36ee5f016111de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 72s] libosmo-sccp.src: W: no-changelogname-tag [ 72s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 72s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 72s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 72s] osmo-stp.x86_64: W: no-changelogname-tag [ 72s] There is no changelog. Please insert a '%changelog' section heading in your [ 72s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 72s] [ 72s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 72s] The package contains an init script or systemd service file but lacks the [ 72s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 72s] [ 72s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 72s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 72s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 72s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 72s] This archive does not contain a non-empty .text section. The archive was not [ 72s] created with -ffat-lto-objects option. [ 72s] [ 72s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 72s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 72s] [ 72s] ### VM INTERACTION START ### [ 75s] [ 68.345319] sysrq: Power Off [ 75s] [ 68.372797] reboot: Power down [ 75s] ### VM INTERACTION END ### [ 75s] [ 75s] lamb03 failed "build libosmo-sccp.spec" at Mon May 25 01:35:31 UTC 2020. [ 75s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 01:35:59 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 01:35:59 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecb2112c4299_d3a2b24e36ee5f01611255@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 91s] libosmo-sccp.src: W: no-changelogname-tag [ 91s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 91s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 91s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 91s] osmo-stp.i586: W: no-changelogname-tag [ 91s] There is no changelog. Please insert a '%changelog' section heading in your [ 91s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 91s] [ 91s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 91s] The package contains an init script or systemd service file but lacks the [ 91s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 91s] [ 91s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 91s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 91s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 91s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 91s] This archive does not contain a non-empty .text section. The archive was not [ 91s] created with -ffat-lto-objects option. [ 91s] [ 91s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 91s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 91s] [ 91s] ### VM INTERACTION START ### [ 94s] [ 86.637912] sysrq: Power Off [ 94s] [ 86.661089] reboot: Power down [ 94s] ### VM INTERACTION END ### [ 94s] [ 94s] lamb59 failed "build libosmo-sccp.spec" at Mon May 25 01:35:48 UTC 2020. [ 94s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 01:52:08 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 01:52:08 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ecb24d219f4a_d3a2b24e36ee5f01611796@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 239s] libosmo-sccp.src: W: no-changelogname-tag [ 239s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 239s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 239s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 239s] osmo-stp.armv7hl: W: no-changelogname-tag [ 239s] There is no changelog. Please insert a '%changelog' section heading in your [ 239s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 239s] [ 239s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 239s] The package contains an init script or systemd service file but lacks the [ 239s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 239s] [ 239s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 239s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 239s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 239s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 239s] This archive does not contain a non-empty .text section. The archive was not [ 239s] created with -ffat-lto-objects option. [ 239s] [ 239s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 239s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 239s] [ 239s] ### VM INTERACTION START ### [ 242s] [ 221.875457] sysrq: Power Off [ 242s] [ 221.877162] reboot: Power down [ 242s] ### VM INTERACTION END ### [ 242s] [ 242s] armbuild16 failed "build libosmo-sccp.spec" at Mon May 25 01:51:51 UTC 2020. [ 242s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 25 06:26:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 06:26:12 +0000 Subject: Change in osmo-ci[master]: OBS: check required programs before start In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18391 ) Change subject: OBS: check required programs before start ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead Gerrit-Change-Number: 18391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 06:26:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 06:26:15 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 06:26:15 +0000 Subject: Change in osmo-ci[master]: OBS: check required programs before start In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18391 ) Change subject: OBS: check required programs before start ...................................................................... OBS: check required programs before start osmocom-*-packages.sh take some time to execute and has quite a few programs that are not commonly installed. Check the required dependencies first, so it doesn't abort in the middle of the scripts if these are missing. I just ran into this with the new meson dependency. Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead --- M scripts/common-obs.sh M scripts/common.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 28 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 5e21574..c07fbaa 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -1,6 +1,19 @@ #!/bin/sh # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts +osmo_cmd_require \ + dch \ + dh \ + dpkg-buildpackage \ + gbp \ + git \ + meson \ + mktemp \ + osc \ + patch \ + sed \ + wget + # Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example # of the structure that will be generated: # osmocom-nightly diff --git a/scripts/common.sh b/scripts/common.sh index af7c354..917962e 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -157,3 +157,18 @@ cd "$oldpwd" return $ret } + +# Abort the script if required programs are missing +# $1...$n: program name +osmo_cmd_require() { + local fail=0 + for i in "$@"; do + if ! command -v "$i" >/dev/null 2>&1; then + echo "Required program not found: $i" + fail=1 + fi + done + if [ "$fail" = 1 ]; then + exit 1 + fi +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 88c5094..ddf5359 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -15,11 +15,6 @@ TOP=$(pwd) DEBSRCDIR="$TOP/debsrc" -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # start with a checkout of the project diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index b3f0461..8f36377 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -14,11 +14,6 @@ DT=$(date +%Y%m%d) TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) -if ! which osc >/dev/null 2>/dev/null ; then - echo "osc binary not found" - exit 1 -fi - ### OBS build prepare() { # clean up the whole space -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead Gerrit-Change-Number: 18391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 06:26:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 06:26:23 +0000 Subject: Change in osmo-ci[master]: OBS: add --noservice to osc ci command In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18392 ) Change subject: OBS: add --noservice to osc ci command ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 Gerrit-Change-Number: 18392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 May 2020 06:26:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 06:26:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 06:26:25 +0000 Subject: Change in osmo-ci[master]: OBS: add --noservice to osc ci command In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18392 ) Change subject: OBS: add --noservice to osc ci command ...................................................................... OBS: add --noservice to osc ci command Prevent the following error: ERROR: please install obs-service-format_spec_file or use the --noservice option Build step 'Execute shell' marked build as failure Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index ddf5359..5e35659 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -207,7 +207,7 @@ #build osmo-uecups cd "$TOP/$PROJ" - osc ci -m "Latest Tagged versions of $DT" + osc ci -m "Latest Tagged versions of $DT" --noservice } build_osmocom diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 8f36377..a79a754 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -126,7 +126,7 @@ cd "$oscdir" osc add -- *.tar* *.dsc osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" - osc ci -m "Snapshot $name $DT" + osc ci -m "Snapshot $name $DT" --noservice } post() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8 Gerrit-Change-Number: 18392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:36:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:36:53 +0000 Subject: Change in osmo-ggsn[master]: example config: use RFC1918 addresses for GGSN pools In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 ) Change subject: example config: use RFC1918 addresses for GGSN pools ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2d83ee747e8987f10c4960d42f3c3f2a723e3f4c Gerrit-Change-Number: 18429 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:36:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:40:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:40:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_content In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_content ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423/1/pcu/PCU_Tests.ttcn at 1769 PS1, Line 1769: PCUIF_BurstType bt := BURST_TYPE_1) This param is never used, simply pass burst_type := BURST_TYPE_1 below. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Gerrit-Change-Number: 18423 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:40:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:41:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:41:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Gerrit-Change-Number: 18424 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:41:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:42:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:42:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Gerrit-Change-Number: 18425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:42:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:43:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:43:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 6: (2 comments) Can we merge this now please? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn at 405 PS5, Line 405: f_ms_tx_ul_data_block_multi > ACK I'll keep it the same way for now. The point of this function is not to generate payload itself (that's a side effect). The point of this function is to generate last num_blocks of data for a UL TBF (always ending in CV=0). In the future I expect to improve it to also allow sending intermediate data. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn at 584 PS5, Line 584: if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { : continue; : } : if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and : not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { : setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); : f_shutdown(__BFILE__, __LINE__); : } > I would prefer this to be done in a separate change, but if it's really needed here - let's keep it. It's needed for the test to be correct and I don't want to lose more time also redoing tests doing wrong stuff. I'm doing here while changing the API instead of losing time 2 more times. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:43:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:44:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:44:41 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:44:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:45:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:45:23 +0000 Subject: Change in osmo-pcu[master]: csn1: fix M_CHOICE: restirct maximum length of the choice list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18430 ) Change subject: csn1: fix M_CHOICE: restirct maximum length of the choice list ...................................................................... Patch Set 1: Code-Review+2 Is this really an issue somewhere? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 Gerrit-Change-Number: 18430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:45:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:46:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:46:38 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): also check length of the choice list In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18431 ) Change subject: csn1: fix csnStreamEncoder(): also check length of the choice list ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/18431/1/src/csn1.c File src/csn1.c: https://gerrit.osmocom.org/c/osmo-pcu/+/18431/1/src/csn1.c at 1812 PS1, Line 1812: else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ you can simply write if here, since you are returning in the if above if it holds true. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I441c716975905a37264efc8a76df92194f39c1fb Gerrit-Change-Number: 18431 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:46:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:47:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:47:42 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): always check the choice index In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18432 ) Change subject: csn1: fix csnStreamEncoder(): always check the choice index ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f Gerrit-Change-Number: 18432 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:47:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:48:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:48:36 +0000 Subject: Change in osmo-pcu[master]: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18434 ) Change subject: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b Gerrit-Change-Number: 18434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:48:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:50:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:50:56 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:50:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:50:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:50:56 +0000 Subject: Change in osmo-pcu[master]: csn1: fix M_CHOICE: restirct maximum length of the choice list In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18430 ) Change subject: csn1: fix M_CHOICE: restirct maximum length of the choice list ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+2 > > Is this really an issue somewhere? I don't think so, but API-wise it makes sense to do this check. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 Gerrit-Change-Number: 18430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:50:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:35 +0000 Subject: Change in osmo-pcu[master]: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18385 ) Change subject: l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g ...................................................................... l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g This is not a functional change, just fixing misleading function name. Access Bursts on PTCCH/U have nothing to do with PDTCH. Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 5 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 24eb0fa..0fcd7cf 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -254,7 +254,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 11fecba..6c1e0f8 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -253,7 +253,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 751629c..5e743db 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -243,7 +243,7 @@ qta2ta(ra_ind->measParam.i16BurstTiming), true); break; case GsmL1_Sapi_Ptcch: - pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + pcu_rx_rach_ind_ptcch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, ra_ind->measParam.i16BurstTiming); break; default: diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 40e933e..8764024 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -430,7 +430,7 @@ } /* C -> C++ adapter for direct DSP access code (e.g. osmo-bts-sysmo) */ -extern "C" int pcu_rx_rach_ind_pdtch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) +extern "C" int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta) { return BTS::main_bts()->rcv_ptcch_rach(trx_nr, ts_nr, fn, qta); } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index 35643da..f86e708 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -178,7 +178,7 @@ int pcu_rx_rts_req_ptcch(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); -int pcu_rx_rach_ind_pdtch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); +int pcu_rx_rach_ind_ptcch(uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4ab710ba026315301cc6970263967616401a9fc8 Gerrit-Change-Number: 18385 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:35 +0000 Subject: Change in osmo-pcu[master]: csn1: fix M_CHOICE: restirct maximum length of the choice list In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18430 ) Change subject: csn1: fix M_CHOICE: restirct maximum length of the choice list ...................................................................... csn1: fix M_CHOICE: restirct maximum length of the choice list The current implementation is not capable of handling more than 256 (UCHAR_MAX) selectors in the choice list. Let's document this and add a guard check to the M_CHOICE handler. Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 --- M src/csn1.c M src/csn1.h 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 3db1e13..3347a64 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -495,6 +495,8 @@ /* Make sure that the list of choice items is not empty */ if (!count) return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_IN_SCRIPT, pDescr); + else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ + return ProcessError(readIndex, "csnStreamDecoder", CSN_ERROR_IN_SCRIPT, pDescr); while (count > 0) { diff --git a/src/csn1.h b/src/csn1.h index d178ada..7eef5c8 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -490,7 +490,8 @@ * is the part of the message. In the CSN_CHOICE case, this rule does not * apply. There is free but predefined mapping of the element of the union and * the value which addresses this element. - * The value of the address is called a selector. + * The value of the address is called a selector. Up to 256 (UCHAR_MAX) unique + * selectors can be handled, longer choice list would cause CSN_ERROR_IN_SCRIPT. * After unpacking, this value is then converted to the sequential number of the * element in the union and stored in the UnionType variable. * Par1: C structure name -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18430 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I40c3c5b9be892804c6cd71cbb907af469ce5d769 Gerrit-Change-Number: 18430 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:36 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): also check length of the choice list In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18431 ) Change subject: csn1: fix csnStreamEncoder(): also check length of the choice list ...................................................................... csn1: fix csnStreamEncoder(): also check length of the choice list Similar checks are done in csnStreamDecoder(), so better check than sorry. Change-Id: I441c716975905a37264efc8a76df92194f39c1fb --- M src/csn1.c 1 file changed, 7 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 3347a64..700c342 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1802,10 +1802,16 @@ case CSN_CHOICE: { - //gint16 count = pDescr->i; + gint16 count = pDescr->i; guint8 i = 0; const CSN_ChoiceElement_t* pChoice = (const CSN_ChoiceElement_t*) pDescr->descr.ptr; + /* Make sure that the list of choice items is not empty */ + if (!count) + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); + else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); + pui8 = pui8DATA(data, pDescr->offset); i = *pui8; pChoice += i; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18431 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I441c716975905a37264efc8a76df92194f39c1fb Gerrit-Change-Number: 18431 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:36 +0000 Subject: Change in osmo-pcu[master]: csn1: fix csnStreamEncoder(): always check the choice index In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18432 ) Change subject: csn1: fix csnStreamEncoder(): always check the choice index ...................................................................... csn1: fix csnStreamEncoder(): always check the choice index It's so easy to pick an out of bounds value otherwise... Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f --- M src/csn1.c 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/csn1.c b/src/csn1.c index 700c342..5b60399 100644 --- a/src/csn1.c +++ b/src/csn1.c @@ -1803,7 +1803,6 @@ case CSN_CHOICE: { gint16 count = pDescr->i; - guint8 i = 0; const CSN_ChoiceElement_t* pChoice = (const CSN_ChoiceElement_t*) pDescr->descr.ptr; /* Make sure that the list of choice items is not empty */ @@ -1812,9 +1811,12 @@ else if (count > 255) /* We can handle up to 256 (UCHAR_MAX) selectors */ return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_IN_SCRIPT, pDescr); - pui8 = pui8DATA(data, pDescr->offset); - i = *pui8; - pChoice += i; + /* Make sure that choice index is not out of range */ + pui8 = pui8DATA(data, pDescr->offset); + if (*pui8 >= count) + return ProcessError(writeIndex, "csnStreamEncoder", CSN_ERROR_INVALID_UNION_INDEX, pDescr); + + pChoice += *pui8; guint8 no_of_bits = pChoice->bits; guint8 value = pChoice->value; LOGPC(DCSN1, LOGL_DEBUG, "%s = %u | ", pChoice->descr.sz , (unsigned)value); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18432 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I12f5ab739b97f1f3b5d4bed1b5a4a661c879e89f Gerrit-Change-Number: 18432 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:37 +0000 Subject: Change in osmo-pcu[master]: csn1: fix: never use enumerated types in codec structures In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18433 ) Change subject: csn1: fix: never use enumerated types in codec structures ...................................................................... csn1: fix: never use enumerated types in codec structures I faced a problem while working on EGPRS Packet Channel Request coding support: the unit test I wrote for it was passing when compiled with AddressSanitizer, but failing when compiled without it o_O. Somehow this was observed only with GCC 10. Here is a part the standard output diff for that unit test: *** testEGPRSPktChReq *** decode_egprs_pkt_ch_req(0x2b5) returns 0 - ==> One Phase Access + ==> unknown 0xdd5f4e00 decode_egprs_pkt_ch_req(0x14a) returns 0 - ==> One Phase Access + ==> unknown 0xdd5f4e00 decode_egprs_pkt_ch_req(0x428) returns 0 - ==> Short Access + ==> unknown 0xdd5f4e01 At the same time, debug output of the CSN.1 decoder looked fine. So WYSINWYG (What You See Is *NOT* What You Get)! As it turned out, this was happening because I used an enumerated type to represent the sub-type of EGPRS Packet Channel Request. typedef struct { EGPRS_PacketChannelRequestType_t Type; // <-- enum EGPRS_PacketChannelRequestContent_t Content; } EGPRS_PacketChannelRequest_t; The problem is that length of an enumerated field, more precisely the amount of bytes it takes in the memory, is compiler/machine dependent. While the CSN.1 decoder assumes that the field holding sequential number of the chosen element is one octet long, so its address is getting casted to (guint8 *) and the value is written to the first MSB. // csnStreamDecoder(), case CSN_CHOICE: pui8 = pui8DATA(data, pDescr->offset); *pui8 = i; // [ --> xx .. .. .. ] Let's make sure that none of the existing RLC/MAC definitions is using enumerated types, and add a warning comment to CSN_CHOICE. Affected CSN.1 definitions (unit test output adjusted): - Additional_access_technologies_struct_t, - Channel_Request_Description_t. Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f --- M src/csn1.h M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.err 3 files changed, 12 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/csn1.h b/src/csn1.h index 7eef5c8..761293d 100644 --- a/src/csn1.h +++ b/src/csn1.h @@ -493,9 +493,11 @@ * The value of the address is called a selector. Up to 256 (UCHAR_MAX) unique * selectors can be handled, longer choice list would cause CSN_ERROR_IN_SCRIPT. * After unpacking, this value is then converted to the sequential number of the - * element in the union and stored in the UnionType variable. + * element in the union and stored in the UnionType variable (Par2). * Par1: C structure name - * Par2: C structure element name + * Par2: C structure field name holding sequential number of the chosen element. + * BEWARE! Never use an enumerated type here, because its length is + * compiler/machine dependent, while decoder would cast it to guint8. * Par3: address of an array of type CSN_ChoiceElement_t where all possible * values of the selector are provided, together with the selector * length expressed in bits and the address of the CSN_DESCR type diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index e9ae20a..9d859f3 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -158,7 +158,7 @@ { guint8 PEAK_THROUGHPUT_CLASS; guint8 RADIO_PRIORITY; - RLC_MODE_t RLC_MODE; + guint8 RLC_MODE; guint8 LLC_PDU_TYPE; guint16 RLC_OCTET_COUNT; } Channel_Request_Description_t; @@ -1245,7 +1245,7 @@ typedef struct { - AccessTechnology_t Access_Technology_Type; + guint8 Access_Technology_Type; guint8 GMSK_Power_class; guint8 Eight_PSK_Power_class; } Additional_access_technologies_struct_t; diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index c271e5c..83d416c 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -22,18 +22,18 @@ DCSN1 INFO csnStreamEncoder (type: Pkt UL Dummy Ctrl Block (3)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 3 | TLLI = 2274915399 | Padding = 1|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 28 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 0 | : Channel_Quality_Report | C_VALUE = 18 | RXQUAL = 0 | SIGN_VAR = 7 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 0 | Padding = 3|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 28 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 0 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 0 | : Channel_Quality_Report | C_VALUE = 18 | RXQUAL = 0 | SIGN_VAR = 7 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 0 | Padding = 3|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xc4f70250 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 67 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 1 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| +DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xc4f70250 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 67 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 1 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| DCSN1 INFO csnStreamEncoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | u.TLLI = 1 | u.TLLI = 3304522320 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | u.Content = 3 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 11 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 11 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 1 | HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 1 | DTM_GPRS_HighMultislotClass = 2 | : DTM_EGPRS_HighMultislotClass | Exist_DTM_EGPRS_HighMultislotClass = 1 | DTM_EGPRS_HighMultislotClass = 2 | : End DTM_EGPRS_HighMultislotClass | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 82 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 3 | RADIO_PRIORITY = 3 | RLC_MODE = 1 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 0 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 63 | Exist_SIGN_VAR = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | DCSN1 ERROR csnStreamEncoder: error NEED_MORE BITS TO UNPACK (-5) at (idx 184) DRLCMACDATA ERROR Failed to encode an Uplink block: not enough bits in the output buffer (rc=-5) -DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xcf21fc92 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 73 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | skipped = 6 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 0| +DCSN1 INFO csnStreamDecoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | Choice PacketResourceRequestID = 1 | u.TLLI = 0xcf21fc92 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | skipped = 6 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | I_LEVEL_TN | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 0| DCSN1 INFO csnStreamEncoder (type: Pkt Resource Req (5)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 5 | Exist_ACCESS_TYPE = 1 | ACCESS_TYPE = 0 | : ID | u.TLLI = 1 | u.TLLI = 3475111058 | : End ID | Exist_MS_Radio_Access_capability2 = 1 | : MS_Radio_Access_capability2 | MS_RA_capability_value { | u.Content = 7 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 67 | MS_RA_capability_value } | : End MS_Radio_Access_capability2 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 9 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 11 | : End Channel_Request_Description | Exist_CHANGE_MARK = 0 | C_VALUE = 60 | Exist_SIGN_VAR = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | I_LEVEL_TN : | Exist = 0 | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_EGPRS_BEP_LinkQualityMeasurements = 0 | Exist_EGPRS_TimeslotLinkQualityMeasurements = 0 | Exist_PFI = 0 | MS_RAC_AdditionalInformationAvailable = 0 | RetransmissionOfPRR = 0 | Exist_AdditionsR5 = 0 | : End AdditionsR99 | Padding = 43| DCSN1 INFO csnStreamDecoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 1 | MEAN_BEP_GMSK = 31 | CV_BEP_GMSK = 7 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 0 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 0 | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | Desc length = 15 | offset = 0 | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | : End Desc | : End EGPRS_AckNack | Padding = 11|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 1 | MEAN_BEP_GMSK = 31 | CV_BEP_GMSK = 7 | Exist_MEAN_CV_BEP_8PSK = 0 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 0 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 0 | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 1 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 2 | Exist_CRBB = 0 | Desc length = 15 | : End Desc | : End EGPRS_AckNack | Padding = 11|43|43|43|43|43|43|43|43|43|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 20 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 1 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 1 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 18 | : End Channel_Request_Description | : Channel_Quality_Report | C_VALUE = 40 | RXQUAL = 1 | SIGN_VAR = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_PFI = 0 | : End AdditionsR99 | Padding = 3|43|43|43|43|43| DCSN1 INFO csnStreamEncoder (type: Pkt DL ACK/NACK (2)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 2 | DOWNLINK_TFI = 20 | : Ack_Nack_Description | FINAL_ACK_INDICATION = 1 | STARTING_SEQUENCE_NUMBER = 1 | RECEIVED_BLOCK_BITMAP[0] = 0 | RECEIVED_BLOCK_BITMAP[1] = 0 | RECEIVED_BLOCK_BITMAP[2] = 0 | RECEIVED_BLOCK_BITMAP[3] = 0 | RECEIVED_BLOCK_BITMAP[4] = 0 | RECEIVED_BLOCK_BITMAP[5] = 0 | RECEIVED_BLOCK_BITMAP[6] = 0 | RECEIVED_BLOCK_BITMAP[7] = 1 | : End Ack_Nack_Description | Exist_Channel_Request_Description = 1 | : Channel_Request_Description | PEAK_THROUGHPUT_CLASS = 0 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 18 | : End Channel_Request_Description | : Channel_Quality_Report | C_VALUE = 40 | RXQUAL = 1 | SIGN_VAR = 0 | Slot[0].Exist = 0 | Slot[1].Exist = 0 | Slot[2].Exist = 0 | Slot[3].Exist = 0 | Slot[4].Exist = 0 | Slot[5].Exist = 0 | Slot[6].Exist = 0 | Slot[7].Exist = 0 | : End Channel_Quality_Report | Exist_AdditionsR99 = 1 | : AdditionsR99 | Exist_PFI = 0 | : End AdditionsR99 | Padding = 3|43|43|43|43|43| DCSN1 INFO csnStreamDecoder (type: EGPRS Pkt DL ACK/NACK (8)): PayloadType = 1 | spare = 0 | R = 0 | MESSAGE_TYPE = 8 | DOWNLINK_TFI = 0 | MS_OUT_OF_MEMORY = 0 | Exist_EGPRS_ChannelQualityReport = 1 | : EGPRS_ChannelQualityReport | : EGPRS_BEP_LinkQualityMeasurements | Exist_MEAN_CV_BEP_GMSK = 0 | Exist_MEAN_CV_BEP_8PSK = 1 | MEAN_BEP_8PSK = 31 | CV_BEP_8PSK = 7 | : End EGPRS_BEP_LinkQualityMeasurements | C_VALUE = 58 | : EGPRS_TimeslotLinkQualityMeasurements | Exist_BEP_MEASUREMENTS = 0 | Exist_INTERFERENCE_MEASUREMENTS = 0 | : End EGPRS_TimeslotLinkQualityMeasurements | : End EGPRS_ChannelQualityReport | Exist_ChannelRequestDescription = 1 | : ChannelRequestDescription | PEAK_THROUGHPUT_CLASS = 6 | RADIO_PRIORITY = 0 | RLC_MODE = 0 | LLC_PDU_TYPE = 1 | RLC_OCTET_COUNT = 62 | : End ChannelRequestDescription | Exist_PFI = 0 | Exist_ExtensionBits = 0 | : EGPRS_AckNack | Desc = 0 | : Desc | FINAL_ACK_INDICATION = 0 | BEGINNING_OF_WINDOW = 1 | END_OF_WINDOW = 1 | STARTING_SEQUENCE_NUMBER = 1187 | Exist_CRBB = 0 | URBB = 127 | URBB = 255 | URBB = 255 | URBB = 238 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | URBB = 0 | : End Desc | : End EGPRS_AckNack | Padding = -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 27 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | COMPACT_Interference_Measurement_Capability = NULL | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 27 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | COMPACT_Interference_Measurement_Capability = NULL | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| DCSN1 INFO csnStreamEncoder (RAcap): MS_RA_capability_value { | u.Content = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 3 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 0 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 0 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 0 | EightPSK_MultislotProfile = 0 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 0 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 0 | DTM_EnhancementsCapability = 0 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = 0 | Exist_DownlinkDualCarrierCapability_r7 = 0 | FlexibleTimeslotAssignment = 0 | GAN_PS_HandoverCapability = 0 | RLC_Non_persistentMode = 0 | ReducedLatencyCapability = 0 | UplinkEGPRS2 = 0 | DownlinkEGPRS2 = 0 | EUTRA_FDD_Support = 0 | EUTRA_TDD_Support = 0 | GERAN_To_EUTRAN_supportInGERAN_PTM = 0 | PriorityBasedReselectionSupport = 0 | u.Content length = 65 | MS_RA_capability_value } | Padding = 3|43|43|43|43|43|43|43|43|43|43|43|43|43| -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| -DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 4 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| +DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18433 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I917a40647480c6f6f3b0e68674ce9894379a9e7f Gerrit-Change-Number: 18433 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:38 +0000 Subject: Change in osmo-pcu[master]: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18434 ) Change subject: encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible ...................................................................... encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b --- M src/encoding.cpp 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, approved diff --git a/src/encoding.cpp b/src/encoding.cpp index 1805645..cb89b01 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -197,7 +197,8 @@ CHECK(rc); /* RLC acknowledged mode */ - SET_0(dest); /* RLC_MODE */ + rc = bitvec_set_bit(dest, (bit_value) RLC_MODE_ACKNOWLEDGED); + CHECK(rc); rc = write_alpha_gamma(dest, alpha, gamma); CHECK(rc); @@ -668,7 +669,7 @@ } block->u.Packet_Downlink_Assignment.MAC_MODE = 0x0; // Dynamic Allocation - block->u.Packet_Downlink_Assignment.RLC_MODE = 0x0; // RLC acknowledged mode + block->u.Packet_Downlink_Assignment.RLC_MODE = RLC_MODE_ACKNOWLEDGED; block->u.Packet_Downlink_Assignment.CONTROL_ACK = tbf->was_releasing; // NW establishes no new DL TBF for the MS with running timer T3192 block->u.Packet_Downlink_Assignment.TIMESLOT_ALLOCATION = 0; // timeslot(s) for (tn = 0; tn < 8; tn++) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18434 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic69d120f622f512f05016596bfdd4a89b96e3e3b Gerrit-Change-Number: 18434 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:51:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:51:39 +0000 Subject: Change in osmo-pcu[master]: RLC/MAC: implement decoding of EGPRS Packet Channel Request In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17718 ) Change subject: RLC/MAC: implement decoding of EGPRS Packet Channel Request ...................................................................... RLC/MAC: implement decoding of EGPRS Packet Channel Request According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. This change adds CSN.1 definitions for 11 bit EGPRS Packet Channel Request as per 3GPP TS 44.060, table 11.2.5a.2. Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Related: OS#1548 --- M src/gsm_rlcmac.c M src/gsm_rlcmac.h M tests/rlcmac/RLCMACTest.cpp M tests/rlcmac/RLCMACTest.err M tests/rlcmac/RLCMACTest.ok 5 files changed, 222 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/gsm_rlcmac.c b/src/gsm_rlcmac.c index 9b5ecfe..c4ac4b1 100644 --- a/src/gsm_rlcmac.c +++ b/src/gsm_rlcmac.c @@ -5249,6 +5249,59 @@ CSN_DESCR_END (SI6_RestOctet_t) #endif +/* EGPRS Packet Channel Request (see 3GPP TS 44.060, table 11.2.5a.2) */ +static const +CSN_DESCR_BEGIN(PacketChannelRequest_MC5P2RB3_t) + M_UINT (PacketChannelRequest_MC5P2RB3_t, MultislotClass, 5), + M_UINT (PacketChannelRequest_MC5P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_MC5P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_MC5P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_MCG3P2RB3_t) + M_UINT (PacketChannelRequest_MCG3P2RB3_t, MultislotClassGroup, 3), + M_UINT (PacketChannelRequest_MCG3P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_MCG3P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_MCG3P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_NOB3P2RB3_t) + M_UINT (PacketChannelRequest_NOB3P2RB3_t, NumberOfBlocks, 3), + M_UINT (PacketChannelRequest_NOB3P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_NOB3P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_NOB3P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_P2RB3_t) + M_UINT (PacketChannelRequest_P2RB3_t, Priority, 2), + M_UINT (PacketChannelRequest_P2RB3_t, RandomBits, 3), +CSN_DESCR_END (PacketChannelRequest_P2RB3_t) + +static const +CSN_DESCR_BEGIN(PacketChannelRequest_RB5_t) + M_UINT (PacketChannelRequest_RB5_t, RandomBits, 5), +CSN_DESCR_END (PacketChannelRequest_RB5_t) + +static const +CSN_ChoiceElement_t EGPRS_PacketChannelRequest_Choice[] = +{ + {1, 0x00, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_MC5P2RB3_t)}, + {3, 0x04, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_NOB3P2RB3_t)}, + {3, 0x05, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_MCG3P2RB3_t)}, + {6, 0x30, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_P2RB3_t)}, + {6, 0x33, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)}, + {6, 0x35, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)}, + {6, 0x36, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)}, + {6, 0x37, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)}, + {6, 0x38, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_P2RB3_t)}, + {6, 0x39, 0, M_TYPE(EGPRS_PacketChannelRequest_t, Content, PacketChannelRequest_RB5_t)}, +}; + +CSN_DESCR_BEGIN (EGPRS_PacketChannelRequest_t) + M_CHOICE (EGPRS_PacketChannelRequest_t, Type, + EGPRS_PacketChannelRequest_Choice, ElementsOf(EGPRS_PacketChannelRequest_Choice)), +CSN_DESCR_END (EGPRS_PacketChannelRequest_t) + // ---------------------------------------------------------------------------- // osmo-pcu RLCMAC APIs // ---------------------------------------------------------------------------- @@ -6153,3 +6206,46 @@ return ret; } + +struct value_string egprs_pkt_ch_req_type_names[] = { + { EGPRS_PKT_CHAN_REQ_ONE_PHASE, "One Phase Access" }, + { EGPRS_PKT_CHAN_REQ_SHORT, "Short Access" }, + { EGPRS_PKT_CHAN_REQ_ONE_PHASE_RED_LATENCY, "One Phase Access (Reduced Latency MS)" }, + { EGPRS_PKT_CHAN_REQ_TWO_PHASE, "Two Phase Access" }, + { EGPRS_PKT_CHAN_REQ_SIGNALLING, "Signalling" }, + { EGPRS_PKT_CHAN_REQ_ONE_PHASE_UNACK, "One Phase Access (RLC unack mode)" }, + { EGPRS_PKT_CHAN_REQ_DEDICATED_CHANNEL, "Dedicated Channel Request" }, + { EGPRS_PKT_CHAN_REQ_EMERGENCY_CALL, "Emergency call" }, + { EGPRS_PKT_CHAN_REQ_TWO_PHASE_IPA, "Two Phase Access (by IPA capable MS)" }, + { EGPRS_PKT_CHAN_REQ_SIGNALLING_IPA, "Signalling (by IPA capable MS)" }, + { 0, NULL } +}; + +int decode_egprs_pkt_ch_req(guint16 ra, EGPRS_PacketChannelRequest_t *req) +{ + unsigned readIndex = 0; + guint8 bv_data[2]; + csnStream_t ar; + int ret; + + /* Allocate a bitvector on stack */ + struct bitvec bv = { + .cur_bit = 0, + .data_len = 2, + .data = bv_data, + }; + + /* Unpack the bits: xxxxxxxx xxx..... */ + bv_data[0] = (guint8) (ra >> 3); + bv_data[1] = (guint8) ((ra & 0x07) << 5); + + csnStreamInit(&ar, 0, 11); + + /* Recursive csnStreamDecoder call uses LOGPC everywhere, so we need to start the log somewhere... */ + LOGP(DCSN1, LOGL_DEBUG, "csnStreamDecoder (EGPRS Packet Channel Request): "); + ret = csnStreamDecoder(&ar, CSNDESCR(EGPRS_PacketChannelRequest_t), + &bv, &readIndex, (void *) req); + LOGPC(DCSN1, LOGL_DEBUG, "\n"); + + return ret; +} diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 9d859f3..642530f 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -5330,6 +5330,47 @@ } EnhancedMeasurementReport_t; +/* EGPRS Packet Channel Request (see 3GPP TS 44.060, table 11.2.5a.2) */ +typedef struct +{ + guint8 MultislotClassGroup; + guint8 MultislotClass; + guint8 NumberOfBlocks; + guint8 Priority; + guint8 RandomBits; +} EGPRS_PacketChannelRequestContent_t; + +/* HACK: we don't really want separate structures for each sub-type, because + * they all have a similar set of fields, so here we basically create a few + * aliases to EGPRS_PacketChannelRequestContent_t. This makes the API simpler. */ +typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_MC5P2RB3_t; +typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_MCG3P2RB3_t; +typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_NOB3P2RB3_t; +typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_P2RB3_t; +typedef EGPRS_PacketChannelRequestContent_t PacketChannelRequest_RB5_t; + +typedef struct +{ + /* NOTE: some fields may be uninitialized (always check Type) */ + guint8 Type; + EGPRS_PacketChannelRequestContent_t Content; +} EGPRS_PacketChannelRequest_t; + +typedef enum { + EGPRS_PKT_CHAN_REQ_ONE_PHASE = 0, + EGPRS_PKT_CHAN_REQ_SHORT, + EGPRS_PKT_CHAN_REQ_ONE_PHASE_RED_LATENCY, + EGPRS_PKT_CHAN_REQ_TWO_PHASE, + EGPRS_PKT_CHAN_REQ_SIGNALLING, + EGPRS_PKT_CHAN_REQ_ONE_PHASE_UNACK, + EGPRS_PKT_CHAN_REQ_DEDICATED_CHANNEL, + EGPRS_PKT_CHAN_REQ_EMERGENCY_CALL, + EGPRS_PKT_CHAN_REQ_TWO_PHASE_IPA, + EGPRS_PKT_CHAN_REQ_SIGNALLING_IPA, +} EGPRS_PacketChannelRequestType_t; + +extern struct value_string egprs_pkt_ch_req_type_names[]; + int decode_gsm_rlcmac_uplink(struct bitvec *vector, RlcMacUplink_t *data); int decode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data); int encode_gsm_rlcmac_downlink(struct bitvec *vector, RlcMacDownlink_t *data); @@ -5337,4 +5378,6 @@ void decode_gsm_rlcmac_uplink_data(struct bitvec *vector, RlcMacUplinkDataBlock_t * data); void encode_gsm_rlcmac_downlink_data(struct bitvec *vector, RlcMacDownlinkDataBlock_t * data); int decode_gsm_ra_cap(struct bitvec *vector, MS_Radio_Access_capability_t * data); + int decode_egprs_pkt_ch_req(guint16 ra, EGPRS_PacketChannelRequest_t *data); + #endif /* __PACKET_GSM_RLCMAC_H__ */ diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 0215cc8..f1b6508 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -471,6 +471,59 @@ bitvec_free(bv_dec); } +void testEGPRSPktChReq(void *test_ctx) +{ + EGPRS_PacketChannelRequest_t req; + int rc; + + printf("*** %s ***\n", __func__); + + static const uint16_t EGPRSPktChReqs[] = { + /* < One Phase Access Request : '0'B + < MultislotClass : '10101'B > + < Priority : '10'B > + < RandomBits : '101'B > > */ + 0x2b5, + /* < One Phase Access Request : '0'B + < MultislotClass : '01010'B > + < Priority : '01'B > + < RandomBits : '010'B > > */ + 0x14a, + /* < Short Access Request : '100'B + < NumberOfBlocks : '001'B > + < Priority : '01'B > + < RandomBits : '000'B > > */ + 0x428, + /* < Two Phase Access Request : '110000'B + < Priority : '00'B > + < RandomBits : '000'B > > */ + 0x600, + /* < Two Phase Access Request : '110000'B + < Priority : '11'B > + < RandomBits : '111'B > > */ + 0x61f, + /* < Signalling : '110011'B + < RandomBits : '10101'B > > */ + 0x675, + /* < Signalling : '110011'B + < RandomBits : '10001'B > > */ + 0x671, + /* < Emergency call : '110111'B + < RandomBits : '11001'B > > */ + 0x6f9, + /* < Unknown (test) : '111111'B + < RandomBits : '01010'B > > */ + 0x7ea, + }; + + for (size_t i = 0; i < ARRAY_SIZE(EGPRSPktChReqs); i++) { + rc = decode_egprs_pkt_ch_req(EGPRSPktChReqs[i], &req); + printf("decode_egprs_pkt_ch_req(0x%03x) returns %d\n", EGPRSPktChReqs[i], rc); + if (rc == 0) + printf(" ==> %s\n", get_value_string(egprs_pkt_ch_req_type_names, req.Type)); + } +} + int main(int argc, char *argv[]) { void *ctx = talloc_named_const(NULL, 1, "RLCMACTest"); @@ -490,5 +543,8 @@ testRAcap(ctx); testMalformedRAcap(ctx); testRAcap2(ctx); + + testEGPRSPktChReq(ctx); + talloc_free(ctx); } diff --git a/tests/rlcmac/RLCMACTest.err b/tests/rlcmac/RLCMACTest.err index 83d416c..3a2b370 100644 --- a/tests/rlcmac/RLCMACTest.err +++ b/tests/rlcmac/RLCMACTest.err @@ -37,3 +37,12 @@ DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 21 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | DCSN1 ERROR csnStreamDecoder: error NEED_MORE BITS TO UNPACK (-5) at EGPRS_multislot_class (idx 31): End Multislot_capability | DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 29 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 0 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 3 | GPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_SM = 0 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 0 | EGPRS_Extended_Dynamic_Allocation_Capability = 0 | Exist_DTM_GPRS_multislot_class = 0 | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 0 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = NULL | UMTS_FDD_Radio_Access_Technology_Capability = NULL | UMTS_384_TDD_Radio_Access_Technology_Capability = NULL | CDMA2000_Radio_Access_Technology_Capability = NULL | UMTS_128_TDD_Radio_Access_Technology_Capability = NULL | GERAN_Feature_Package_1 = NULL | Modulation_based_multislot_class_support = NULL | GMSK_MultislotPowerProfile = NULL | EightPSK_MultislotProfile = NULL | MultipleTBF_Capability = NULL | DownlinkAdvancedReceiverPerformance = NULL | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = NULL | DTM_EnhancementsCapability = NULL | PS_HandoverCapability = NULL | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| DCSN1 INFO csnStreamDecoder (RAcap): MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 1 | u.Content length = 73 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 1 | A5_bits = 80 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 1 | : Multislot_capability | Exist_HSCSD_multislot_class = 0 | Exist_GPRS_multislot_class = 1 | GPRS_multislot_class = 12 | GPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_SM = 1 | SMS_VALUE = 7 | SM_VALUE = 1 | Exist_ECSD_multislot_class = 0 | Exist_EGPRS_multislot_class = 1 | EGPRS_multislot_class = 12 | EGPRS_Extended_Dynamic_Allocation_Capability = 1 | Exist_DTM_GPRS_multislot_class = 1 | DTM_GPRS_multislot_class = 3 | Single_Slot_DTM = 0 | : DTM_EGPRS_Params | Exist_DTM_EGPRS_multislot_class = 1 | DTM_EGPRS_multislot_class = 3 | : End DTM_EGPRS_Params | : End Multislot_capability | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 7 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 4 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | MS_RA_capability_value { | Choice MS_RA_capability_value_Choice = 3 | u.Content length = 34 | offset = 1 | RF_Power_Capability = 1 | Exist_A5_bits = 0 | ES_IND = 1 | PS = 1 | VGCS = 0 | VBS = 0 | Exist_Multislot_capability = 0 | Exist_Eight_PSK_Power_Capability = 1 | Eight_PSK_Power_Capability = 2 | COMPACT_Interference_Measurement_Capability = 0 | Revision_Level_Indicator = 1 | UMTS_FDD_Radio_Access_Technology_Capability = 0 | UMTS_384_TDD_Radio_Access_Technology_Capability = 0 | CDMA2000_Radio_Access_Technology_Capability = 0 | UMTS_128_TDD_Radio_Access_Technology_Capability = 0 | GERAN_Feature_Package_1 = 1 | Exist_Extended_DTM_multislot_class = 0 | Modulation_based_multislot_class_support = 0 | Exist_HighMultislotCapability = 0 | Exist_GERAN_lu_ModeCapability = 0 | GMSK_MultislotPowerProfile = 3 | EightPSK_MultislotProfile = 3 | MultipleTBF_Capability = 0 | DownlinkAdvancedReceiverPerformance = 1 | ExtendedRLC_MAC_ControlMessageSegmentionsCapability = 1 | DTM_EnhancementsCapability = 1 | Exist_DTM_GPRS_HighMultislotClass = 0 | PS_HandoverCapability = 0 | DTM_Handover_Capability = NULL | FlexibleTimeslotAssignment = NULL | GAN_PS_HandoverCapability = NULL | RLC_Non_persistentMode = NULL | ReducedLatencyCapability = NULL | UplinkEGPRS2 = NULL | DownlinkEGPRS2 = NULL | EUTRA_FDD_Support = NULL | EUTRA_TDD_Support = NULL | GERAN_To_EUTRAN_supportInGERAN_PTM = NULL | PriorityBasedReselectionSupport = NULL | MS_RA_capability_value } | Padding = 0| +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 | : Content | MultislotClass = 21 | Priority = 2 | RandomBits = 5 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 0 | : Content | MultislotClass = 10 | Priority = 1 | RandomBits = 2 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 4 | : Content | NumberOfBlocks = 1 | Priority = 1 | RandomBits = 0 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 | : Content | Priority = 0 | RandomBits = 0 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 48 | : Content | Priority = 3 | RandomBits = 7 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 | : Content | RandomBits = 21 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 51 | : Content | RandomBits = 17 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): Choice EGPRS_PacketChannelRequest_Choice = 55 | : Content | RandomBits = 25 | : End Content | +DCSN1 DEBUG csnStreamDecoder (EGPRS Packet Channel Request): DCSN1 ERROR csnStreamDecoder: error STREAM_NOT_SUPPORTED (-8) at EGPRS_PacketChannelRequest_Choice (idx 0) diff --git a/tests/rlcmac/RLCMACTest.ok b/tests/rlcmac/RLCMACTest.ok index 4e4967b..861b1b9 100644 --- a/tests/rlcmac/RLCMACTest.ok +++ b/tests/rlcmac/RLCMACTest.ok @@ -149,3 +149,21 @@ decode_gsm_ra_cap() returns 0 GPRS multislot class = 12 EGPRS multislot class = 12 +*** testEGPRSPktChReq *** +decode_egprs_pkt_ch_req(0x2b5) returns 0 + ==> One Phase Access +decode_egprs_pkt_ch_req(0x14a) returns 0 + ==> One Phase Access +decode_egprs_pkt_ch_req(0x428) returns 0 + ==> Short Access +decode_egprs_pkt_ch_req(0x600) returns 0 + ==> Two Phase Access +decode_egprs_pkt_ch_req(0x61f) returns 0 + ==> Two Phase Access +decode_egprs_pkt_ch_req(0x675) returns 0 + ==> Signalling +decode_egprs_pkt_ch_req(0x671) returns 0 + ==> Signalling +decode_egprs_pkt_ch_req(0x6f9) returns 0 + ==> Emergency call +decode_egprs_pkt_ch_req(0x7ea) returns -8 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17718 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I96df3352856933c9140177b2801a2c71f4134183 Gerrit-Change-Number: 17718 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:55:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:55:30 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:55:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:55:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 08:55:50 +0000 Subject: Change in osmo-pcu[master]: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18435 ) Change subject: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8e41c2912aaff689b0e311c8e2d3e961d2f1ac2c Gerrit-Change-Number: 18435 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:55:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 08:57:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 08:57:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 6: > Can we merge this now please? I still don't like the overhead / complication this refactoring brings to some of the existing test cases. I am not going to block merging the new API, but please keep at least some part of the old low-level API for small test cases, which send just a few messages and don't really need the MS abstraction. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 08:57:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:00:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:00:58 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18436 ) Change subject: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2427266ef4660935cde899462fa6df8d785c420e Gerrit-Change-Number: 18436 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:00:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:00:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:00:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/6/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/6/pcu/PCU_Tests.ttcn at 294 PS6, Line 294: ms := g_ms[0]; /* We only use first MS in this test */ And I still don't like this copy-paste in each testcase. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:00:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:02:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:02:42 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:02:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:06:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:06:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_content In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_content ...................................................................... Patch Set 1: Code-Review+2 (1 comment) 1 + 1 = 2. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423/1/pcu/PCU_Tests.ttcn at 1769 PS1, Line 1769: PCUIF_BurstType bt := BURST_TYPE_1) > This param is never used, simply pass burst_type := BURST_TYPE_1 below. It will be used in the upcoming test cases, e.g. we may want to make sure that 11 bit Packet Channel Request with BURST_TYPE_0 is rejected by the IUT (because PRACH is deprecated and not supported). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Gerrit-Change-Number: 18423 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:06:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:06:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:06:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_content In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_content ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_content The purpose of this test case is to verify the contents of RR Immediate Assignment Reject message (and its IAR Rest Octets) sent in response to EGPRS Packet Channel Request (11 bit RA). To provoke the reject message, test case crafts an incorrect EGPRS Packet Channel Request message ('111111xxxxx'B). Note that at the time of writing this test, the IUT does not handle EGPRS Packet Channel Request properly, so it fails. Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 70 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 22e3c1f..fb59c13 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -7,7 +7,7 @@ those NS and BSSGP implementations on the BSS (PCU) side. */ /* (C) 2018-2019 Harald Welte - * (C) 2019 Vadim Yanitskiy + * (C) 2019-2020 Vadim Yanitskiy * All rights reserved. * * Released under the terms of GNU General Public License, Version 2 or @@ -1764,6 +1764,74 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +private function f_TC_egprs_pkt_chan_req_reject(bitstring ra11, uint32_t fn, + template IARRestOctets rest := ?, + PCUIF_BurstType bt := BURST_TYPE_1) +runs on RAW_PCU_Test_CT { + var template ReqRefWaitInd tr_ref; + var GsmRrMessage rr_msg; + var boolean ok; + + /* Send RACH.ind with malformed EGPRS Packet Channel Request */ + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, + ra := bit2int(ra11), is_11bit := 1, + burst_type := bt, fn := fn, + arfcn := 871)); + + /* Abuse f_pcuif_rx_imm_ass(): wait for Immediate Assignment Reject */ + ok := f_pcuif_rx_imm_ass(rr_msg, t_imm_ass := tr_IMM_ASS_REJ); + if (not ok) { + setverdict(fail, "Failed to match Immediate Assignment Reject"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Just to have a short-name reference to the actual message */ + var ImmediateAssignmentReject iar := rr_msg.payload.imm_ass_rej; + + /* Make sure that Request Reference list contains at least one entry + * with our TDMA frame number, and RA is set to 'reserved' value 127. */ + tr_ref := tr_ReqRefWaitInd(f_compute_ReqRef(127, fn)); + if (not match(iar.payload, { *, tr_ref, * })) { + setverdict(fail, "Request Reference list does not match"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Match Feature Indicator (must indicate PS domain) */ + if (not match(iar.feature_ind, FeatureIndicator:{?, false, true})) { + setverdict(fail, "Feature Indicator does not match"); + f_shutdown(__BFILE__, __LINE__); + } + + /* Match IAR Rest Octets */ + if (not match(iar.rest_octets, rest)) { + setverdict(fail, "IAR Rest Octets does not match: ", + iar.rest_octets, " vs expected ", rest); + f_shutdown(__BFILE__, __LINE__); + } + + setverdict(pass); +} + +/* Verify the contents of RR Immediate Assignment Reject message and its + * Rest Octets sent in response to EGPRS Packet Channel Request (11 bit). */ +testcase TC_egprs_pkt_chan_req_reject_content() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT5 ext_ra; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + for (var integer i := 0; i < 6; i := i + 1) { + ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */ + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * }); + + /* Intentionally incorrect message (see table 11.2.5a.2) */ + f_TC_egprs_pkt_chan_req_reject('111111'B & ext_ra, 1337 + i, rest); + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1796,6 +1864,7 @@ execute( TC_egprs_pkt_chan_req_signalling() ); execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); + execute( TC_egprs_pkt_chan_req_reject_content() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4bfd5621085d63896e2e9b70355524cf4285036a Gerrit-Change-Number: 18423 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:06:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_emergency ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_emergency At the moment, the IUT does not support any emergency services. Make sure that EGPRS Packet Channel Request for an emergency call is properly rejected (RR Immediate Assignment Reject). Note that at the time of writing this test, the IUT does not handle EGPRS Packet Channel Request properly, so it fails. Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 30 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index fb59c13..999ece0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1832,6 +1832,35 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* At the moment, the IUT does not support any emergency services. Make sure + * that EGPRS Packet Channel Request for an emergency call is properly rejected. */ +testcase TC_egprs_pkt_chan_req_reject_emergency() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT5 ext_ra; + var BIT11 ra11; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + /* NOTE: other fields are set in the loop */ + emergency := { tag := '110111'B } + }; + + for (var integer i := 0; i < 6; i := i + 1) { + ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */ + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * }); + + req.emergency.random_bits := ext_ra; + ra11 := enc_EGPRSPktChRequest2bits(req); + + /* Intentionally incorrect message (see table 11.2.5a.2) */ + f_TC_egprs_pkt_chan_req_reject(ra11, 1337 + i, rest); + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1865,6 +1894,7 @@ execute( TC_egprs_pkt_chan_req_one_phase() ); execute( TC_egprs_pkt_chan_req_two_phase() ); execute( TC_egprs_pkt_chan_req_reject_content() ); + execute( TC_egprs_pkt_chan_req_reject_emergency() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63d989e89e6235a631e024c2810a3a4b0de56ccf Gerrit-Change-Number: 18424 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:06:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 ) Change subject: PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion ...................................................................... PCU: introduce TC_egprs_pkt_chan_req_reject_exhaustion Send 7 RACH indications to the IUT with EGPRS Packet Channel Request. Since we have only one timeslot (and USF value '111'B is reserved), the 8-th indication should be properly rejected by the IUT. Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Related: OS#1548 --- M pcu/PCU_Tests.ttcn 1 file changed, 34 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 999ece0..8a1a425 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1861,6 +1861,39 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Make sure that IUT responds with RR Immediate Assignment Reject due to exhaustion. */ +testcase TC_egprs_pkt_chan_req_reject_exhaustion() runs on RAW_PCU_Test_CT { + var template IARRestOctets rest; + var BIT11 ra11; + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + var EGPRSPktChRequest req := { + one_phase := { + tag := '0'B, + multislot_class := '10101'B, + priority := '01'B, + random_bits := '101'B + } + }; + + /* We send 7 requests, the IUT gives us all available USFs (0..6). + * TODO: make it configurable: usf_max := mp_pdch_ts_num * 7. */ + for (var integer i := 0; i < 7; i := i + 1) { + req.one_phase.random_bits := int2bit(f_rnd_int(8), 3); + f_TC_egprs_pkt_chan_req(req, tr_IMM_TBF_ASS); + } + + ra11 := enc_EGPRSPktChRequest2bits(req); + rest := tr_IARRestOctets({ *, tr_ExtRAOpt(substr(ra11, 6, 5)), * }); + + /* At this point, the IUT should run out of free USFs */ + f_TC_egprs_pkt_chan_req_reject(ra11, 1870, rest); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_ta_ptcch_idle() ); @@ -1895,6 +1928,7 @@ execute( TC_egprs_pkt_chan_req_two_phase() ); execute( TC_egprs_pkt_chan_req_reject_content() ); execute( TC_egprs_pkt_chan_req_reject_emergency() ); + execute( TC_egprs_pkt_chan_req_reject_exhaustion() ); execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie6e5fc68e1591c57e21541ba16fbdcd3fe477ac7 Gerrit-Change-Number: 18425 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:06:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:06:56 +0000 Subject: Change in libosmo-abis[master]: log: Don't log an ERROR on forwarding message to a closed SCCP link. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18439 ) Change subject: log: Don't log an ERROR on forwarding message to a closed SCCP link. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-abis/+/18439/1/src/input/ipaccess.c File src/input/ipaccess.c: https://gerrit.osmocom.org/c/libosmo-abis/+/18439/1/src/input/ipaccess.c at 393 PS1, Line 393: if (rc == -ENOTCONN) Please document this specific return code somewhere where sign_link() is defined. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec Gerrit-Change-Number: 18439 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:06:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:11:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:11:13 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18393/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18393/1/scripts/common-obs.sh at 147 PS1, Line 147: if [ "$found" = 0 ]; then $found -eq 0 ? Otherwise you are comparing an integer with a string? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:11:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:15:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:15:06 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh at 134 PS1, Line 134: if [ -e "$ret" ]; then -f ? https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh at 140 PS1, Line 140: if [ -e "$ret" ]; then -f ? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:15:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:15:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 09:15:09 +0000 Subject: Change in osmo-pcu[master]: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18435 ) Change subject: encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) ...................................................................... encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc) Change-Id: I8e41c2912aaff689b0e311c8e2d3e961d2f1ac2c --- M src/encoding.cpp 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/encoding.cpp b/src/encoding.cpp index cb89b01..89cc5f2 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -329,6 +329,7 @@ /* TLLI_BLOCK_CHANNEL_CODING */ rc = bitvec_set_bit(dest, (bit_value)tbf->tlli()); + CHECK(rc); /* No BEP_PERIOD2 */ SET_0(dest); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8e41c2912aaff689b0e311c8e2d3e961d2f1ac2c Gerrit-Change-Number: 18435 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:17:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 09:17:11 +0000 Subject: Change in libosmo-abis[master]: log: Don't log an ERROR on forwarding message to a closed SCCP link. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18439 ) Change subject: log: Don't log an ERROR on forwarding message to a closed SCCP link. ...................................................................... Patch Set 1: Code-Review-1 I really think this is the wrong location to fix this problem. The code receiving an IPA message (here) has nothing to do with the BSC core functionality, and it shouldn't know anything about MSCs or SCCP. IMHO, the "bug" is in the BSC code. It should neve return an error (negative result to sign_link callback function) in a non-error situation. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec Gerrit-Change-Number: 18439 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:17:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:24:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:24:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 6: Feel free to submit whatever you want on top of these patches, don't pretend I'll be fixing 1000 more things here, I already spent way too much time with this sort of things, and I cannot work more on this over next days. Let's get it merged an do quicker iterations submitting patches. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:24:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:34 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 to look at the new patch set (#2). Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... scripts/common-obs.sh: move osmo_obs_checkout_copy Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh and osmocom-nightly-packages.sh to take the distribution name as argument and merge both to osmo_obs_checkout_copy in common-obs.sh. Use debian8 as distribution name instead of debian8-jessie, so the distribution name matches the suffix of the patch file (build-for-debian8.patch). A follow-up commit will apply a debian10 specific patch with this new function. Related: OS#4562 Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 49 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/93/18393/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:34 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 to look at the new patch set (#2). Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... OBS: add debian10 specific patch for limesuite Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in debian/control. Adjust OBS scripts to apply such patches from this repository if they exist here, and fall back to the project's repository (osmo-trx, osmo-gsm-manuals patches are there). Related: OS#4562 Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad --- M README.adoc A obs-patches/limesuite/build-for-debian10.patch M scripts/common-obs.sh M scripts/common.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 6 files changed, 54 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/94/18394/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:36 +0000 Subject: Change in osmo-ci[master]: Cosmetic: OBS: remove comments for requirements References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18440 ) Change subject: Cosmetic: OBS: remove comments for requirements ...................................................................... Cosmetic: OBS: remove comments for requirements The list is incomplete, and we have a programmatic check for required binaries in common-obs.sh now. The next patch will add a new one of these scripts, so let's clean it up a bit. Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/40/18440/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index d836af2..4d5b3f3 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -2,9 +2,6 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" -# requirements -# apt install git-buildpackage osc git - set -e set -x diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index f6bd4e6..40f2a6c 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -2,9 +2,6 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" -# requirements -# apt install devscripts git-buildpackage osc git - set -e set -x -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f Gerrit-Change-Number: 18440 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:36 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... OBS: support more than one conflicting package For the upcoming network:osmocom:next repository, it would be inconsistent to have the debian package conflict mechanism only support latest and nightly, even if the next repository is currently not built for debian. Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 --- M scripts/common-obs.sh 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/41/18441/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 137887b..ad62a65 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -26,10 +26,10 @@ # ??? source # ??? format # $1: name of dummy package (e.g. "osmocom-nightly") -# $2: name of conflicting package (e.g. "osmocom-latest") +# $2-*: name of conflicting packages (e.g. "osmocom-latest") osmo_obs_prepare_conflict() { local pkgname="$1" - local pkgname_conflict="$2" + shift 2 local pkgver="0.0.0" local oldpwd="$PWD" @@ -48,13 +48,17 @@ Package: ${pkgname} Depends: \${misc:Depends} Architecture: any -Conflicts: ${pkgname_conflict} -Description: Dummy package, which conflicts with ${pkgname_conflict} +EOF + for i in "$@"; do + echo "Conflicts: $i" >> control + done + cat << EOF >> control +Description: Dummy package, which conflicts with: $@ EOF cat << EOF > changelog ${pkgname} (${pkgver}) unstable; urgency=medium - * Dummy package, which conflicts with ${pkgname_conflict}. + * Dummy package, which conflicts with: $@ -- Oliver Smith Thu, 13 Jun 2019 12:50:19 +0200 EOF -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:37 +0000 Subject: Change in osmo-ci[master]: OBS: cp osmocom-{nightly, next}-packages.sh References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: cp osmocom-{nightly,next}-packages.sh ...................................................................... OBS: cp osmocom-{nightly,next}-packages.sh Copy osmocom-nightly-packages.sh to osmocom-next-packages.sh. Do this in a separate commit to have a clean git log for what will be changed in order to build for network:osmocom:next. Related: SYS#4887 Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce --- A scripts/osmocom-next-packages.sh 1 file changed, 259 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/42/18442/1 diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh new file mode 100755 index 0000000..40f2a6c --- /dev/null +++ b/scripts/osmocom-next-packages.sh @@ -0,0 +1,259 @@ +#!/bin/bash +. "$(dirname "$0")/common.sh" +. "$(dirname "$0")/common-obs.sh" + +set -e +set -x + +# OBS project name +PROJ=network:osmocom:nightly + +DT=$(date +%Y%m%d) +TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) + +### OBS build +prepare() { + # clean up the whole space + mkdir -p "$REPO/osc/" + cd "$REPO/osc" + osc co "$PROJ" + + cd "$REPO" + osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" +} + +get_last_tag() { + project="$1" + if [ "$project" = "limesuite" ]; then + ver_regexp="^v[0-9]*.[0-9]*.[0-9]*$" + else + ver_regexp="^[0-9]*.[0-9]*.[0-9]*$" + fi + VER=$(git -C "${REPO}/${project}" tag -l --sort=v:refname | grep "$ver_regexp" | tail -n 1) + echo "${VER}" +} + +get_commit_version() { + # return a version based on the commit + local version + + # determine git version *and generate the .tarball-version file* + test -x ./git-version-gen && ./git-version-gen . > .tarball-version 2>/dev/null + version=$(cat .tarball-version) + # debian doesn't allow '-' in version. + version=$(echo "$version" | sed 's/-/./g' ) + + # deb version + if [ -z "$version" ] ; then + version=$(head -1 debian/changelog | cut -d ' ' -f 2 | sed 's,(,,' | sed 's,),,') + version="$version.$DT" + fi + + echo -n "$version" +} + +### common +checkout() { + local name=$1 + local url=$2 + local branch=$3 + + if [ -z "$url" ]; then + url="$(osmo_git_clone_url "$name")" + fi + + cd "$REPO" + + if [ -n "$branch" ] ; then + osmo_git_clone_date "$url" -b "$branch" + else + osmo_git_clone_date "$url" + fi + + cd - +} + +build() { + local name=$1 + local changelog=$2 + local gitbpargs=$3 + local repodir=$REPO/$name + local oscdir=$REPO/osc/$PROJ/$name + + if [ -z "$changelog" ] ; then + changelog=commit + fi + + if [ -d "$oscdir" ] ; then + # remove earlier version + cd "$oscdir" + osc rm -- * || true + else + # new package + mkdir -p "$oscdir/" + cd "$REPO/osc/$PROJ/" + osc add "$name" + fi + + cd "$repodir" + + if [ "$changelog" = "commit" ] ; then + VER=$(get_commit_version) + osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly" + dch -b -v "$VER" -m "Snapshot build" + git commit -m "$VER snapshot" debian/ + fi + + mkdir -p "$DATA/$name" + if [ "$name" = "open5gs" ]; then + # we cannot control the output directory of the generated source :( + dpkg-buildpackage -S -uc -us -d + mv "../$name"*.tar* "../$name"*.dsc "$DATA/$name/" + elif [ -f .tarball-version ]; then + gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$DATA/$name" \ + --git-ignore-new $gitbpargs \ + --git-postexport='cp $GBP_GIT_DIR/../.tarball-version $GBP_TMP_DIR/' + else + gbp buildpackage -S -uc -us -d --git-ignore-branch "--git-export-dir=$DATA/$name" \ + --git-ignore-new $gitbpargs + fi + + mv "$DATA/$name/"*.tar* "$DATA/$name/"*.dsc "$oscdir/" + + cd "$oscdir" + osc add -- *.tar* *.dsc + osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" + osc ci -m "Snapshot $name $DT" --noservice +} + +post() { + cd "$REPO/osc/$PROJ/" + osc status +} + +download_bumpversion() { + # bumpversion is required for debian < 9/stretch + local oscdir=$REPO/osc/$PROJ/bumpversion + local version=0.5.3 + local release=3 + + if [ ! -d "$oscdir" ] ; then + mkdir "$oscdir" + cd "$oscdir" + wget "http://http.debian.net/debian/pool/main/b/bumpversion/bumpversion_$version-$release.dsc" + wget "http://http.debian.net/debian/pool/main/b/bumpversion/bumpversion_$version.orig.tar.gz" + wget "http://http.debian.net/debian/pool/main/b/bumpversion/bumpversion_$version-$release.debian.tar.xz" + fi +} + +checkout_limesuite() { + cd "$REPO" + git clone https://github.com/myriadrf/LimeSuite limesuite + TAG="$(get_last_tag limesuite)" + cd limesuite + git checkout "$TAG" +} + +checkout_open5gs() { + cd "$REPO" + git clone https://github.com/open5gs/open5gs + cd open5gs + meson subprojects download freeDiameter +} + +build_osmocom() { + DATA=$TOP/data + REPO=$TOP/repo + + # rather than including a dangerous 'rm -rf *' here, lets delegate to the user: + if [ -n "$(ls $TOP)" ]; then + echo "ERROR: I need to run in an empty directory." + exit 1 + fi + + prepare + + # NOTE: when adding a repository that is not in gerrit, adjust osmo_git_clone_url() + checkout_limesuite + checkout osmo-gsm-manuals + checkout libosmocore + checkout libosmo-sccp + checkout libosmo-abis + checkout libosmo-netif + checkout libsmpp34 + checkout libasn1c + checkout libgtpnl + checkout libusrp + checkout osmo-iuh + checkout osmo-ggsn + checkout osmo-sgsn + checkout openbsc + checkout osmo-pcap + checkout osmo-trx + checkout osmo-sip-connector + checkout osmo-bts + checkout osmo-pcu + checkout osmo-hlr + checkout osmo-mgw + checkout osmo-msc + checkout osmo-bsc + checkout python/osmo-python-tests + checkout rtl-sdr + checkout osmo-fl2k + checkout simtrace2 + checkout libosmo-dsp + checkout osmo-sysmon + checkout osmo-remsim + checkout_open5gs + checkout neocon https://github.com/laf0rge/neocon + checkout osmo-uecups + + cd "$REPO" + osmo_obs_checkout_copy debian8 osmo-gsm-manuals + osmo_obs_checkout_copy debian8 osmo-trx + osmo_obs_checkout_copy debian10 limesuite + + build osmocom-nightly + build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" + build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" + build osmo-gsm-manuals + build osmo-gsm-manuals-debian8 + build libosmocore + build libosmo-sccp + build libosmo-abis + build libosmo-netif + build libsmpp34 + build libasn1c + build libgtpnl + build libusrp + build osmo-iuh + build osmo-ggsn + build osmo-sgsn + build openbsc + build osmo-pcap + build osmo-trx + build osmo-trx-debian8 + build osmo-sip-connector + build osmo-bts + build osmo-pcu + build osmo-hlr + build osmo-mgw + build osmo-msc + build osmo-bsc + build osmo-python-tests + build rtl-sdr + build osmo-fl2k + build simtrace2 + build libosmo-dsp + build osmo-sysmon + build osmo-remsim + build open5gs + build neocon + build osmo-uecups + + download_bumpversion + + post +} + +build_osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:38 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18443 ) Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... OBS: next: adjust to push to network:osmocom:next This repository will have a mix of packages built from master, and from experimental branches. Related: SYS#4887 Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-next-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/43/18443/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index ad62a65..a1603ac 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -30,7 +30,7 @@ osmo_obs_prepare_conflict() { local pkgname="$1" shift 2 - local pkgver="0.0.0" + local pkgver="0.0.1" local oldpwd="$PWD" mkdir -p "$pkgname/debian/source" diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 4d5b3f3..2e19675 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -24,7 +24,7 @@ mkdir "$DEBSRCDIR" cd "$TOP" - osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" + osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" "osmocom-next" } get_last_tag() { diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh index 40f2a6c..6a72769 100755 --- a/scripts/osmocom-next-packages.sh +++ b/scripts/osmocom-next-packages.sh @@ -6,10 +6,10 @@ set -x # OBS project name -PROJ=network:osmocom:nightly +PROJ=network:osmocom:next DT=$(date +%Y%m%d) -TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) +TOP=$(pwd)/$(mktemp -d next-3g_XXXXXX) ### OBS build prepare() { @@ -19,7 +19,7 @@ osc co "$PROJ" cd "$REPO" - osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" + osmo_obs_prepare_conflict "osmocom-next" "osmocom-nightly" "osmocom-latest" } get_last_tag() { @@ -99,7 +99,7 @@ if [ "$changelog" = "commit" ] ; then VER=$(get_commit_version) - osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly" + osmo_obs_add_debian_dependency "./debian/control" "osmocom-next" dch -b -v "$VER" -m "Snapshot build" git commit -m "$VER snapshot" debian/ fi @@ -213,7 +213,7 @@ osmo_obs_checkout_copy debian8 osmo-trx osmo_obs_checkout_copy debian10 limesuite - build osmocom-nightly + build osmocom-next build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 40f2a6c..7b0b3bf 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -19,7 +19,7 @@ osc co "$PROJ" cd "$REPO" - osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" + osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next" } get_last_tag() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:38 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... OBS: next: osmo-trx: use branch osmith/ipc Based on hoernchen/ipc, but with the rpm .spec.in file adjusted for osmo-trx-ipc, and some build fixes. Related: SYS#4887 Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 --- M scripts/osmocom-next-packages.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/44/18444/1 diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh index 6a72769..8ffc5ca 100755 --- a/scripts/osmocom-next-packages.sh +++ b/scripts/osmocom-next-packages.sh @@ -189,7 +189,7 @@ checkout osmo-sgsn checkout openbsc checkout osmo-pcap - checkout osmo-trx + checkout osmo-trx "" "osmith/ipc" checkout osmo-sip-connector checkout osmo-bts checkout osmo-pcu -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:52:39 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:52:39 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... jobs/osmocom-obs.yml: create Osmocom_OBS_next job Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 --- M jobs/osmocom-obs.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/45/18445/1 diff --git a/jobs/osmocom-obs.yml b/jobs/osmocom-obs.yml index fe03f86..becb846 100644 --- a/jobs/osmocom-obs.yml +++ b/jobs/osmocom-obs.yml @@ -6,6 +6,7 @@ type: - nightly - latest + - next - job-template: name: 'Osmocom_OBS_{type}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:53:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:53:01 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh at 134 PS1, Line 134: if [ -e "$ret" ]; then > -f ? Done https://gerrit.osmocom.org/c/osmo-ci/+/18394/1/scripts/common-obs.sh at 140 PS1, Line 140: if [ -e "$ret" ]; then > -f ? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:53:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:54:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:54:01 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18393/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18393/1/scripts/common-obs.sh at 147 PS1, Line 147: if [ "$found" = 0 ]; then > $found -eq 0 ? [?] With =, the shell will compare both as string, so this would also work. But I agree, using explicit integer comparing makes more sense here. Changed, thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 09:54:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:55:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 09:55:24 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 2: In the sysmocom setup (I can only get it towrok with 6 prbs with both UE and ENB running in 1 host) it ends. It's true that it takes more time than the one configured in iperf3, but I think that's expected (iirc json output has 2 times, one for the test time and one for the total run time). So probably the test itself runs during specified time, but the process may be ON for more time doing some stuff. I'll merge it as it is for now and iterate over it if we really see issues after having it running for a few days. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 25 May 2020 09:55:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 09:57:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 09:57:03 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... Patch Set 1: Verified+1 (1 comment) Runs successfully: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_next/1/console https://gerrit.osmocom.org/c/osmo-ci/+/18445/1/jobs/osmocom-obs.yml File jobs/osmocom-obs.yml: https://gerrit.osmocom.org/c/osmo-ci/+/18445/1/jobs/osmocom-obs.yml at 39 PS1, Line 39: - timed: "H 01 * * *" # run before osmocom-debian-install.yml Note that this will run nightly. laforge, if this should be changed for next, let me know. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 25 May 2020 09:57:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:07:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:07:52 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:07:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:08:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:08:08 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:08:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:08:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:08:42 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18394/2/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18394/2/scripts/common-obs.sh at 134 PS2, Line 134: if [ -f "$ret" ]; then Hmm just thought we may be careful with -f here, because if patch is a symlink it will not work afaik. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:08:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:09:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:09:38 +0000 Subject: Change in osmo-ci[master]: Cosmetic: OBS: remove comments for requirements In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18440 ) Change subject: Cosmetic: OBS: remove comments for requirements ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f Gerrit-Change-Number: 18440 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:09:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:11:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:11:56 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18441/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18441/1/scripts/common-obs.sh at 32 PS1, Line 32: shift 2 shouldn't this be shift 1? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:11:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:12:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:12:21 +0000 Subject: Change in osmo-ci[master]: OBS: cp osmocom-{nightly, next}-packages.sh In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: cp osmocom-{nightly,next}-packages.sh ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:12:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:12:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:12:52 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18443 ) Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:12:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:13:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:13:07 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:13:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:13:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:13:27 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 10:13:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:15:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:15:12 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 25 May 2020 10:15:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 10:15:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 10:15:22 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support using configuring UDP protocol In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 ) Change subject: iperf3: Support using configuring UDP protocol ...................................................................... iperf3: Support using configuring UDP protocol Change-Id: I0b3545847b01ae3d029881f243fea276f0fa39de --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py A sysmocom/scenarios/cfg-iperf3-proto at .conf M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/gprs/lib/testlib.py 7 files changed, 82 insertions(+), 73 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index d4fa649..bcc569a 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 64d476b..a92a658 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 2901e79..9c05d44 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -25,8 +25,13 @@ from . import pcap_recorder, run_node def on_register_schemas(): + schema_types = { + 'iperf3_protocol': IPerf3Client.validate_protocol, + } + schema.register_schema_types(schema_types) config_schema = { 'time': schema.DURATION, + 'protocol': 'iperf3_protocol', } schema.register_config_schema('iperf3cli', config_schema) @@ -45,6 +50,25 @@ log_obj.log('failed parsing iperf3 output: "%s"' % data) raise e +def print_result_node_udp(result, node_str): + try: + sum = result['end']['sum'] + print("Result %s:" % node_str) + print("\tSUM: %d KB, %d kbps, %d seconds %d/%d lost" % (sum['bytes']/1000, sum['bits_per_second']/1000, sum['seconds'], sum['lost_packets'], sum['packets'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e + +def print_result_node_tcp(result, node_str): + try: + sent = result['end']['sum_sent'] + recv = result['end']['sum_received'] + print("Result %s:" % node_str) + print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) + print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) + except Exception as e: + print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) + raise e class IPerf3Server(log.Origin): @@ -140,6 +164,12 @@ else: return iperf3_result_to_json(self, self.process.get_stdout()) + def print_results(self, client_was_udp): + if client_was_udp: + print_result_node_udp(self.get_results(), 'server') + else: + print_result_node_tcp(self.get_results(), 'server') + def addr(self): return self.ip_address.get('addr') @@ -160,6 +190,13 @@ REMOTE_DIR = '/tmp' LOGFILE = 'iperf3_cli.json' + PROTO_TCP = "tcp" + PROTO_UDP = "udp" + + @classmethod + def validate_protocol(cls, val): + return val in (cls.PROTO_TCP, cls.PROTO_UDP) + def __init__(self, testenv, iperf3srv): super().__init__(log.C_RUN, 'iperf3-cli_%s' % iperf3srv.addr()) self.run_dir = None @@ -167,6 +204,7 @@ self._run_node = None self.server = iperf3srv self.testenv = testenv + self._proto = None self.log_file = None self.rem_host = None self.remote_log_file = None @@ -177,10 +215,10 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None, time_sec=None): + def prepare_test_proc(self, downlink=False, netns=None, time_sec=None, proto=None): + values = config.get_defaults('iperf3cli') + config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) if time_sec is None: - values = config.get_defaults('iperf3cli') - config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) time_sec_str = values.get('time', time_sec) # Convert duration to seconds @@ -190,19 +228,22 @@ time_sec = int(time_sec_str[:-1]) * 60 else: time_sec = int(time_sec_str) - assert(time_sec) - self.log('Preparing iperf3-client connecting to %s:%d (time=%ds)' % (self.server.addr(), self.server.port(), time_sec)) + if proto is None: + proto = values.get('protocol', IPerf3Client.PROTO_TCP) + self._proto = proto + + self.log('Preparing iperf3-client connecting to %s:%d (proto=%s,time=%ds)' % (self.server.addr(), self.server.port(), self._proto, time_sec)) self.log_copied = False self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(downlink, netns, time_sec) + return self.prepare_test_proc_locally(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) else: - return self.prepare_test_proc_remotely(downlink, netns, time_sec) + return self.prepare_test_proc_remotely(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) - def prepare_test_proc_remotely(self, downlink, netns, time_sec): + def prepare_test_proc_remotely(self, downlink, netns, time_sec, use_udp): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -218,6 +259,8 @@ popen_args += ('--logfile', self.remote_log_file,) if downlink: popen_args += ('-R',) + if use_udp: + popen_args += ('-u', '-b', '0') if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) @@ -225,7 +268,7 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns, time_sec): + def prepare_test_proc_locally(self, downlink, netns, time_sec, use_udp): pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) @@ -236,6 +279,8 @@ popen_args += ('--logfile', os.path.abspath(self.log_file),) if downlink: popen_args += ('-R',) + if use_udp: + popen_args += ('-u', '-b', '0') if netns: self.process = process.NetNSProcess(self.name(), self.run_dir, netns, popen_args, env={}) @@ -258,9 +303,18 @@ else: return iperf3_result_to_json(self, self.process.get_stdout()) + def print_results(self): + if self.proto() == self.PROTO_UDP: + print_result_node_udp(self.get_results(), 'client') + else: + print_result_node_tcp(self.get_results(), 'client') + def set_run_node(self, run_node): self._run_node = run_node + def proto(self): + return self._proto + def __str__(self): # FIXME: somehow differentiate between several clients connected to same server? return "%s:%u" %(self.server.addr(), self.server.port()) diff --git a/sysmocom/scenarios/cfg-iperf3-proto at .conf b/sysmocom/scenarios/cfg-iperf3-proto at .conf new file mode 100644 index 0000000..8e2c350 --- /dev/null +++ b/sysmocom/scenarios/cfg-iperf3-proto at .conf @@ -0,0 +1,3 @@ +config: + iperf3cli: + protocol: ${param1} diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index d4fa649..bcc569a 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 64d476b..a92a658 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -1,17 +1,6 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') - epc = tenv.epc() enb = tenv.enb() ue = tenv.modem() @@ -41,7 +30,9 @@ print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) proc.launch_sync() iperf3srv.stop() -print_results(iperf3cli.get_results(), iperf3srv.get_results()) + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 636ee2b..765f463 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -1,21 +1,9 @@ #!/usr/bin/env python3 from osmo_gsm_tester.testenv import * -def print_result_node(result, node_str): - try: - sent = result['end']['sum_sent'] - recv = result['end']['sum_received'] - print("Result %s:" % node_str) - print("\tSEND: %d KB, %d kbps, %d seconds (%s retrans)" % (sent['bytes']/1000, sent['bits_per_second']/1000, sent['seconds'], str(sent.get('retransmits', 'unknown')))) - print("\tRECV: %d KB, %d kbps, %d seconds" % (recv['bytes']/1000, recv['bits_per_second']/1000, recv['seconds'])) - except Exception as e: - print("Exception while using iperf3 %s results: %r" % (node_str, repr(result))) - raise e - - -def print_results(cli_res, srv_res): - print_result_node(cli_res, 'client') - print_result_node(srv_res, 'server') +def print_results(cli, srv): + cli.print_results() + srv.print_results(cli.proto() == cli.PROTO_UDP) def run_iperf3_cli_parallel(iperf3clients, ms_li, ready_cb): assert len(iperf3clients) == len(ms_li) @@ -114,7 +102,7 @@ for i in range(num_ms): servers[i].stop() print("Results for %s through %r" % (str(servers[i]), repr(ms_li[i].tmp_ctx_id))) - print_results(clients[i].get_results(), servers[i].get_results()) + print_results(clients[i], servers[i]) for ms in ms_li: ms.deactivate_context(ms.tmp_ctx_id) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18389 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: I0b3545847b01ae3d029881f243fea276f0fa39de Gerrit-Change-Number: 18389 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:27:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 11:27:36 +0000 Subject: Change in osmo-gsm-tester[master]: config: suites_dir and scenarios_dir are now a list of paths References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 ) Change subject: config: suites_dir and scenarios_dir are now a list of paths ...................................................................... config: suites_dir and scenarios_dir are now a list of paths This allows inheriting suites or scenarios from eg. sysmocom/ dir, while still allowing to apply new suites and scenarios on top. Change-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 --- M doc/examples/2g_osmocom/main.conf M doc/examples/4g_srsLTE/main.conf M doc/manuals/chapters/config.adoc M selftest/resource_test/conf/paths.conf M selftest/resource_test/resource_test.ok M selftest/scenario_test/paths.conf M selftest/scenario_test/scenario_test.ok M selftest/suite_test/paths.conf M selftest/suite_test/suite_test.ok R selftest/suite_test/suitedirA/empty_dir/.unrelated_file R selftest/suite_test/suitedirA/test_suite/hello_world.py R selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py R selftest/suite_test/suitedirA/test_suite/mo_sms.py R selftest/suite_test/suitedirA/test_suite/suite.conf R selftest/suite_test/suitedirA/test_suite/test_error.py R selftest/suite_test/suitedirA/test_suite/test_fail.py R selftest/suite_test/suitedirA/test_suite/test_fail_raise.py R selftest/suite_test/suitedirA/test_suite/test_suite_params.py A selftest/suite_test/suitedirB/suiteB/suite.conf A selftest/suite_test/suitedirB/suiteB/test_success.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/scenario.py M src/osmo_gsm_tester/core/suite.py M sysmocom/main.conf M sysmocom/ttcn3/main.conf 25 files changed, 92 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/18446/1 diff --git a/doc/examples/2g_osmocom/main.conf b/doc/examples/2g_osmocom/main.conf index b810519..290b672 100644 --- a/doc/examples/2g_osmocom/main.conf +++ b/doc/examples/2g_osmocom/main.conf @@ -1,5 +1,5 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' +suites_dir: ['./suites'] scenarios_dir: './scenarios' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' diff --git a/doc/examples/4g_srsLTE/main.conf b/doc/examples/4g_srsLTE/main.conf index b810519..290b672 100644 --- a/doc/examples/4g_srsLTE/main.conf +++ b/doc/examples/4g_srsLTE/main.conf @@ -1,5 +1,5 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' +suites_dir: ['./suites'] scenarios_dir: './scenarios' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 17cf825..18ff55d 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -26,13 +26,19 @@ {app-name} expects to find the following configuration settings in 'main.conf': - 'state_dir': Path to <> directory -- 'suites_dir': Path to <> directory - 'trial_dir': Path to <> directory to test against (overridden by cmdline argument) -- 'scenarios_dir': Path to <> directory (optional) +- 'suites_dir': List of paths to <> directories. +- 'scenarios_dir': List of paths to <> directories (optional) - 'default_suites_conf_path': Path to <> file (optional) - 'defaults_conf_path': Path to <> file (optional) - 'resource_conf_path': Path to <> file (optional) +Configuration settings holding a list of paths, such as 'suites_dir' or +'scenarios_dir', are used to look up for paths in regular list of order, meaning +first paths in list take preference over last ones. As a result, if a suite +named 'A' is found in several paths, the one on the first path in the list will +be used. + These are described in detail in the following sections. If no value is provided for a given setting, sane default paths are used: For 'state_dir', '/var/tmp/osmo-gsm-tester/state/' is used. All other files and directories are @@ -45,8 +51,8 @@ .Sample main.conf file: ---- state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '/usr/local/src/osmo-gsm-tester/suites' -scenarios_dir: './scenarios' +suites_dir: [ '/usr/local/src/osmo-gsm-tester/suites' ] +scenarios_dir: [ './scenarios' ] trial_dir: './trial' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' diff --git a/selftest/resource_test/conf/paths.conf b/selftest/resource_test/conf/paths.conf index 0b2d035..3280a12 100644 --- a/selftest/resource_test/conf/paths.conf +++ b/selftest/resource_test/conf/paths.conf @@ -1,2 +1,2 @@ state_dir: ./test_work/state_dir -suites_dir: ./suite_test +suites_dir: ['./suite_test'] diff --git a/selftest/resource_test/resource_test.ok b/selftest/resource_test/resource_test.ok index 0ad760e..91acaaf 100644 --- a/selftest/resource_test/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -14,9 +14,9 @@ {'default_suites_conf_path': '[PATH]/selftest/resource_test/conf/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/resource_test/conf/defaults.conf', 'resource_conf_path': '[PATH]/selftest/resource_test/conf/resources.conf', - 'scenarios_dir': '[PATH]/selftest/resource_test/conf/scenarios', + 'scenarios_dir': ['[PATH]/selftest/resource_test/conf/scenarios'], 'state_dir': '[PATH]/selftest/resource_test/conf/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/resource_test/conf/suite_test', + 'suites_dir': ['[PATH]/selftest/resource_test/conf/suite_test'], 'trial_dir': '[PATH]/selftest/resource_test/conf/trial'} *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', diff --git a/selftest/scenario_test/paths.conf b/selftest/scenario_test/paths.conf index c7df5ac..11e59bf 100644 --- a/selftest/scenario_test/paths.conf +++ b/selftest/scenario_test/paths.conf @@ -1,3 +1,3 @@ state_dir: ./test_work/state_dir -suites_dir: . -scenarios_dir: . +suites_dir: ['.'] +scenarios_dir: ['.'] diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok index e845f4c..06db4f4 100644 --- a/selftest/scenario_test/scenario_test.ok +++ b/selftest/scenario_test/scenario_test.ok @@ -3,9 +3,9 @@ {'default_suites_conf_path': '[PATH]/selftest/scenario_test/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/scenario_test/defaults.conf', 'resource_conf_path': '[PATH]/selftest/scenario_test/resources.conf', - 'scenarios_dir': '[PATH]/selftest/scenario_test', + 'scenarios_dir': ['[PATH]/selftest/scenario_test'], 'state_dir': '[PATH]/selftest/scenario_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/scenario_test', + 'suites_dir': ['[PATH]/selftest/scenario_test'], 'trial_dir': '[PATH]/selftest/scenario_test/trial'} scenario_case_01.conf {'anotherlist': ['4', '0'], @@ -19,11 +19,11 @@ 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'secondstring'}, {'somelistitem': 'thirdstring'}]} -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_01 at .conf' (nor scenario_case_01 at .conf) +OK: expected RuntimeError: No such scenario file 'scenario_case_01 at .conf' (nor scenario_case_01 at .conf) in [[PATH]/selftest/scenario_test] OK: expected ValueError OK: expected ValueError -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +OK: expected RuntimeError: No such scenario file scenario_case_03.conf in [[PATH]/selftest/scenario_test] +OK: expected RuntimeError: No such scenario file scenario_case_03.conf in [[PATH]/selftest/scenario_test] tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} scenario_case_03 at heyho,1,yes.conf {'anotherlist': ['1', '0'], diff --git a/selftest/suite_test/paths.conf b/selftest/suite_test/paths.conf index 2b0a274..a2f9124 100644 --- a/selftest/suite_test/paths.conf +++ b/selftest/suite_test/paths.conf @@ -1,2 +1,2 @@ state_dir: ./test_work/state_dir -suites_dir: . +suites_dir: ['suitedirA', 'suitedirB'] diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index d55317b..fee07d0 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -4,14 +4,15 @@ {'default_suites_conf_path': '[PATH]/selftest/suite_test/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/suite_test/defaults.conf', 'resource_conf_path': '[PATH]/selftest/suite_test/resources.conf', - 'scenarios_dir': '[PATH]/selftest/suite_test/scenarios', + 'scenarios_dir': ['[PATH]/selftest/suite_test/scenarios'], 'state_dir': '[PATH]/selftest/suite_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/suite_test', + 'suites_dir': ['[PATH]/selftest/suite_test/suitedirA', + '[PATH]/selftest/suite_test/suitedirB'], 'trial_dir': '[PATH]/selftest/suite_test/trial'} ---- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test +--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [[PATH]/selftest/suite_test/suitedirA, [PATH]/selftest/suite_test/suitedirB] - no suite.conf cnf empty_dir: DBG: reading suite.conf -cnf [PATH]/selftest/suite_test/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/empty_dir/suite.conf' [empty_dir?[PATH]/selftest/suite_test/empty_dir/suite.conf] +cnf [PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf' [empty_dir?[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf] - valid suite dir cnf test_suite: DBG: reading suite.conf defaults: diff --git a/selftest/suite_test/empty_dir/.unrelated_file b/selftest/suite_test/suitedirA/empty_dir/.unrelated_file similarity index 100% rename from selftest/suite_test/empty_dir/.unrelated_file rename to selftest/suite_test/suitedirA/empty_dir/.unrelated_file diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/suitedirA/test_suite/hello_world.py similarity index 100% rename from selftest/suite_test/test_suite/hello_world.py rename to selftest/suite_test/suitedirA/test_suite/hello_world.py diff --git a/selftest/suite_test/test_suite/mo_mt_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py similarity index 100% rename from selftest/suite_test/test_suite/mo_mt_sms.py rename to selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py diff --git a/selftest/suite_test/test_suite/mo_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_sms.py similarity index 100% rename from selftest/suite_test/test_suite/mo_sms.py rename to selftest/suite_test/suitedirA/test_suite/mo_sms.py diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/suitedirA/test_suite/suite.conf similarity index 100% rename from selftest/suite_test/test_suite/suite.conf rename to selftest/suite_test/suitedirA/test_suite/suite.conf diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/suitedirA/test_suite/test_error.py similarity index 100% rename from selftest/suite_test/test_suite/test_error.py rename to selftest/suite_test/suitedirA/test_suite/test_error.py diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/suitedirA/test_suite/test_fail.py similarity index 100% rename from selftest/suite_test/test_suite/test_fail.py rename to selftest/suite_test/suitedirA/test_suite/test_fail.py diff --git a/selftest/suite_test/test_suite/test_fail_raise.py b/selftest/suite_test/suitedirA/test_suite/test_fail_raise.py similarity index 100% rename from selftest/suite_test/test_suite/test_fail_raise.py rename to selftest/suite_test/suitedirA/test_suite/test_fail_raise.py diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/suitedirA/test_suite/test_suite_params.py similarity index 100% rename from selftest/suite_test/test_suite/test_suite_params.py rename to selftest/suite_test/suitedirA/test_suite/test_suite_params.py diff --git a/selftest/suite_test/suitedirB/suiteB/suite.conf b/selftest/suite_test/suitedirB/suiteB/suite.conf new file mode 100644 index 0000000..3645cd9 --- /dev/null +++ b/selftest/suite_test/suitedirB/suiteB/suite.conf @@ -0,0 +1,4 @@ +resources: + +defaults: + timeout: 60s diff --git a/selftest/suite_test/suitedirB/suiteB/test_success.py b/selftest/suite_test/suitedirB/suiteB/test_success.py new file mode 100755 index 0000000..97bb915 --- /dev/null +++ b/selftest/suite_test/suitedirB/suiteB/test_success.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +print('I am %r / %r' % (tenv.suite().name(), test.name())) + diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 9380cca..398e8ba 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -71,8 +71,8 @@ CFG_RESOURCES_CONF = 'resource_conf_path' MAIN_CONFIG_SCHEMA = { CFG_STATE_DIR: schema.STR, - CFG_SUITES_DIR: schema.STR, - CFG_SCENARIOS_DIR: schema.STR, + CFG_SUITES_DIR + '[]': schema.STR, + CFG_SCENARIOS_DIR + '[]': schema.STR, CFG_TRIAL_DIR: schema.STR, CFG_DEFAULT_SUITES_CONF: schema.STR, CFG_DEFAULTS_CONF: schema.STR, @@ -80,8 +80,8 @@ } DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' -DF_CFG_SUITES_DIR = './suites' -DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_SUITES_DIR = ['./suites'] +DF_CFG_SCENARIOS_DIR = ['./scenarios'] DF_CFG_TRIAL_DIR = './trial' DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' DF_CFG_DEFAULTS_CONF = './defaults.conf' @@ -122,11 +122,16 @@ MAIN_CONFIG_PATH = _find_main_config_path() return MAIN_CONFIG_PATH -def main_config_path_to_abspath(path): +def main_config_path_to_abspath(val): 'Relative files in main config are relative towards the config file, not towards $CWD' - if not path.startswith(os.pathsep): - return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), path)) - return path + # If val is a list of paths, recurse to translate its paths. + if isinstance(val, list): + for i in range(len(val)): + val[i] = main_config_path_to_abspath(val[i]) + return val + if not val.startswith(os.pathsep): + return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), val)) + return val def _get_main_config(): global MAIN_CONFIG @@ -169,11 +174,11 @@ def get_state_dir(): return Dir(get_main_config_value(CFG_STATE_DIR)) -def get_suites_dir(): - return Dir(get_main_config_value(CFG_SUITES_DIR)) +def get_suites_dirs(): + return [Dir(d) for d in get_main_config_value(CFG_SUITES_DIR)] -def get_scenarios_dir(): - return Dir(get_main_config_value(CFG_SCENARIOS_DIR)) +def get_scenarios_dirs(): + return [Dir(d) for d in get_main_config_value(CFG_SCENARIOS_DIR)] DEFAULTS_CONF = None def get_defaults(for_kind): diff --git a/src/osmo_gsm_tester/core/scenario.py b/src/osmo_gsm_tester/core/scenario.py index efa045b..83ce490 100644 --- a/src/osmo_gsm_tester/core/scenario.py +++ b/src/osmo_gsm_tester/core/scenario.py @@ -88,25 +88,41 @@ self.update(conf) def get_scenario(name, validation_schema=None): - scenarios_dir = config.get_scenarios_dir() + found = False + path = None + param_list = [] if not name.endswith('.conf'): name = name + '.conf' is_parametrized_file = '@' in name - param_list = [] - path = scenarios_dir.child(name) if not is_parametrized_file: - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r' % path) + scenarios_dirs = config.get_scenarios_dirs() + for d in scenarios_dirs: + path = d.child(name) + if os.path.isfile(path): + found = True + break + if not found: + raise RuntimeError('No such scenario file %s in %r' % (name, scenarios_dirs)) sc = Scenario(name, path) else: # parametrized scenario: # Allow first matching complete matching names (eg: scenario at param1,param2.conf), # this allows setting specific content in different files for specific values. - if not os.path.isfile(path): + scenarios_dirs = config.get_scenarios_dirs() + for d in scenarios_dirs: + path = d.child(name) + if os.path.isfile(path): + found = True + break + if not found: # get "scenario at .conf" from "scenario at param1,param2.conf": - prefix_name = name[:name.index("@")+1] + '.conf' - path = scenarios_dir.child(prefix_name) - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) + for d in scenarios_dirs: + prefix_name = name[:name.index("@")+1] + '.conf' + path = d.child(prefix_name) + if os.path.isfile(path): + found = True + break + if not found: + raise RuntimeError('No such scenario file %r (nor %s) in %r' % (name, prefix_name, scenarios_dirs)) # At this point, we have existing file path. Let's now scrap the parameter(s): # get param1,param2 str from scenario at param1,param2.conf param_list_str = name.split('@', 1)[1][:-len('.conf')] diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index a6eaca2..c55c5e9 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -232,12 +232,16 @@ if suite is not None: return suite - suites_dir = config.get_suites_dir() - suite_dir = suites_dir.child(suite_name) - if not suites_dir.exists(suite_name): - raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dir)) - if not suites_dir.isdir(suite_name): - raise RuntimeError('Suite name found, but not a directory: %r' % (suite_dir)) + suites_dirs = config.get_suites_dirs() + suite_dir = None + found = False + for d in suites_dirs: + suite_dir = d.child(suite_name) + if d.exists(suite_name) and d.isdir(suite_name): + found = True + break + if not found: + raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dirs)) suite_def = SuiteDefinition(suite_dir) loaded_suite_definitions[suite_name] = suite_def diff --git a/sysmocom/main.conf b/sysmocom/main.conf index b810519..290b672 100644 --- a/sysmocom/main.conf +++ b/sysmocom/main.conf @@ -1,5 +1,5 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' +suites_dir: ['./suites'] scenarios_dir: './scenarios' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' diff --git a/sysmocom/ttcn3/main.conf b/sysmocom/ttcn3/main.conf index 9f38b4e..c58cad6 100644 --- a/sysmocom/ttcn3/main.conf +++ b/sysmocom/ttcn3/main.conf @@ -1,5 +1,5 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' +suites_dir: ['./suites'] scenarios_dir: './scenarios' default_suites_conf_path: './default-suites.conf' defaults_conf_path: '../defaults.conf' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 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: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 Gerrit-Change-Number: 18446 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:33:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 11:33:53 +0000 Subject: Change in osmo-gsm-tester[master]: config: suites_dir and scenarios_dir are now a list of paths In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 to look at the new patch set (#2). Change subject: config: suites_dir and scenarios_dir are now a list of paths ...................................................................... config: suites_dir and scenarios_dir are now a list of paths This allows inheriting suites or scenarios from eg. sysmocom/ dir, while still allowing to apply new suites and scenarios on top. Change-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 --- M doc/examples/2g_osmocom/main.conf M doc/examples/4g_srsLTE/main.conf M doc/manuals/chapters/config.adoc M selftest/resource_test/conf/paths.conf M selftest/resource_test/resource_test.ok M selftest/scenario_test/paths.conf M selftest/scenario_test/scenario_test.ok M selftest/suite_test/paths.conf M selftest/suite_test/suite_test.ok R selftest/suite_test/suitedirA/empty_dir/.unrelated_file R selftest/suite_test/suitedirA/test_suite/hello_world.py R selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py R selftest/suite_test/suitedirA/test_suite/mo_sms.py R selftest/suite_test/suitedirA/test_suite/suite.conf R selftest/suite_test/suitedirA/test_suite/test_error.py R selftest/suite_test/suitedirA/test_suite/test_fail.py R selftest/suite_test/suitedirA/test_suite/test_fail_raise.py R selftest/suite_test/suitedirA/test_suite/test_suite_params.py A selftest/suite_test/suitedirB/suiteB/suite.conf A selftest/suite_test/suitedirB/suiteB/test_success.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/scenario.py M src/osmo_gsm_tester/core/suite.py M sysmocom/main.conf M sysmocom/ttcn3/main.conf 25 files changed, 96 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/18446/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 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: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 Gerrit-Change-Number: 18446 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:35:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:35:33 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... OBS: support more than one conflicting package For the upcoming network:osmocom:next repository, it would be inconsistent to have the debian package conflict mechanism only support latest and nightly, even if the next repository is currently not built for debian. Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 --- M scripts/common-obs.sh 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/41/18441/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:35:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:35:33 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 to look at the new patch set (#2). Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... OBS: next: adjust to push to network:osmocom:next This repository will have a mix of packages built from master, and from experimental branches. Related: SYS#4887 Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-next-packages.sh M scripts/osmocom-nightly-packages.sh 4 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/43/18443/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:35:43 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:35:43 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18441/1/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18441/1/scripts/common-obs.sh at 32 PS1, Line 32: shift 2 > shouldn't this be shift 1? Indeed, good catch. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:35:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:36:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:36:25 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18394/2/scripts/common-obs.sh File scripts/common-obs.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18394/2/scripts/common-obs.sh at 134 PS2, Line 134: if [ -f "$ret" ]; then > Hmm just thought we may be careful with -f here, because if patch is a symlink it will not work afai [?] This should be fine, the -f check would only fail if it was a symlink and the destination was some invalid path. But then we could not apply the patch either. Even if this was a problem (maybe relative paths involved in the symlink), we would probably quickly discover that the patch was not found as patch would fail later. Having a patch in both osmo-ci.git and the project specific repository doesn't really make sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:36:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:39:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:39:16 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:39:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:39:35 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:39:35 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:39:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:39:50 +0000 Subject: Change in osmo-ci[master]: scripts/common-obs.sh: move osmo_obs_checkout_copy In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18393 ) Change subject: scripts/common-obs.sh: move osmo_obs_checkout_copy ...................................................................... scripts/common-obs.sh: move osmo_obs_checkout_copy Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh and osmocom-nightly-packages.sh to take the distribution name as argument and merge both to osmo_obs_checkout_copy in common-obs.sh. Use debian8 as distribution name instead of debian8-jessie, so the distribution name matches the suffix of the patch file (build-for-debian8.patch). A follow-up commit will apply a debian10 specific patch with this new function. Related: OS#4562 Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 --- M scripts/common-obs.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 49 insertions(+), 34 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index c07fbaa..3d86865 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -120,3 +120,44 @@ osc add "$name.spec" } + +# Copy an already checked out repository dir and apply a distribution specific patch. +# $PWD must be where all repositories are checked out in subdirs. +# $1: distribution name (e.g. "debian8") +# $2: Osmocom repository (e.g. "osmo-trx") +osmo_obs_checkout_copy() { + local distro="$1" + local repo="$2" + + echo + echo "====> Checking out $repo-$distro" + + # Verify distro name for consistency + local distros=" + debian8 + " + local found=0 + local distro_i + for distro_i in $distros; do + if [ "$distro_i" = "$distro" ]; then + found=1 + break + fi + done + if [ "$found" -eq 0 ]; then + echo "ERROR: invalid distro name: $distro, should be one of: $distros" + exit 1 + fi + + # Copy + if [ -d "$repo-$distro" ]; then + rm -rf "$repo-$distro" + fi + cp -a "$repo" "$repo-$distro" + cd "$repo-$distro" + + # Commit patch + patch -p1 < "debian/patches/build-for-$distro.patch" + git commit --amend --no-edit debian/ + cd .. +} diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 5e35659..8bf4fb2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -63,22 +63,6 @@ fi } -# Copy an already checked out repository dir and apply its debian 8 patch. -# $1: Osmocom repository -checkout_copy_debian8_jessie() { - echo - echo "====> Checking out $1-debian8-jessie" - cd "$TOP" - if [ -d "$1-debian8-jessie" ]; then - rm -rf "$1-debian8-jessie" - fi - cp -a "$1" "$1-debian8-jessie" - cd "$1-debian8-jessie" - patch -p1 < debian/patches/build-for-debian8.patch - git commit --amend --no-edit debian/ - cd .. -} - build() { project=$1 gitbpargs="$2" @@ -170,12 +154,13 @@ checkout neocon https://github.com/laf0rge/neocon checkout osmo-uecups - checkout_copy_debian8_jessie "osmo-gsm-manuals" + cd "$TOP" + osmo_obs_checkout_copy debian8 osmo-gsm-manuals build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals - build osmo-gsm-manuals-debian8-jessie + build osmo-gsm-manuals-debian8 build libosmocore build libosmo-sccp build libosmo-abis diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index a79a754..ca4b253 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -164,18 +164,6 @@ meson subprojects download freeDiameter } - -# Copy an already checked out repository dir and apply its debian 8 patch. -# $1: Osmocom repository -checkout_copy_debian8_jessie() { - cd "$REPO" - cp -a "$1" "$1-debian8-jessie" - cd "$1-debian8-jessie" - patch -p1 < debian/patches/build-for-debian8.patch - git commit -m 'auto-commit: allow debian8 to build' debian/ - cd .. -} - build_osmocom() { DATA=$TOP/data REPO=$TOP/repo @@ -223,13 +211,14 @@ checkout neocon https://github.com/laf0rge/neocon checkout osmo-uecups - checkout_copy_debian8_jessie "osmo-gsm-manuals" - checkout_copy_debian8_jessie "osmo-trx" + cd "$REPO" + osmo_obs_checkout_copy debian8 osmo-gsm-manuals + osmo_obs_checkout_copy debian8 osmo-trx build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals - build osmo-gsm-manuals-debian8-jessie + build osmo-gsm-manuals-debian8 build libosmocore build libosmo-sccp build libosmo-abis @@ -244,7 +233,7 @@ build openbsc build osmo-pcap build osmo-trx - build osmo-trx-debian8-jessie + build osmo-trx-debian8 build osmo-sip-connector build osmo-bts build osmo-pcu -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18393 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65 Gerrit-Change-Number: 18393 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:39:51 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 25 May 2020 11:39:51 +0000 Subject: Change in osmo-ci[master]: OBS: add debian10 specific patch for limesuite In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18394 ) Change subject: OBS: add debian10 specific patch for limesuite ...................................................................... OBS: add debian10 specific patch for limesuite Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in debian/control. Adjust OBS scripts to apply such patches from this repository if they exist here, and fall back to the project's repository (osmo-trx, osmo-gsm-manuals patches are there). Related: OS#4562 Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad --- M README.adoc A obs-patches/limesuite/build-for-debian10.patch M scripts/common-obs.sh M scripts/common.sh M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 6 files changed, 54 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Verified diff --git a/README.adoc b/README.adoc index 786be0d..bd4ef2a 100644 --- a/README.adoc +++ b/README.adoc @@ -13,6 +13,11 @@ osmo-ci to be checked out in the build slave user's home, i.e. using a PATH of $HOME/osmo-ci/scripts. +obs-patches: patches to build projects for various debian distributions, e.g. +a patch for limesuite that fixes the libwxgtk3.0-dev => libwxgtk3.0-gtk3-dev +rename in control/debian for debian10. Used by osmo_obs_distro_specific_patch() +in scripts/common-obs.sh. + _docker_playground: Clone of docker-playground.git, so the scripts can build required docker images. This dir gets created on demand by scripts/common.sh, and automatically fetched and reset to "origin/master" (override with diff --git a/obs-patches/limesuite/build-for-debian10.patch b/obs-patches/limesuite/build-for-debian10.patch new file mode 100644 index 0000000..2387b08 --- /dev/null +++ b/obs-patches/limesuite/build-for-debian10.patch @@ -0,0 +1,13 @@ +diff --git a/debian/control b/debian/control +index c25b7c97..375ab95b 100644 +--- a/debian/control ++++ b/debian/control +@@ -6,7 +6,7 @@ Build-Depends: + debhelper (>= 9.0.0), + cmake (>= 3.1.3), + libusb-1.0-0-dev, +- libwxgtk3.0-dev, ++ libwxgtk3.0-gtk3-dev, + libsoapysdr-dev, + freeglut3-dev, + libfltk1.3-dev, diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 3d86865..137887b 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -121,13 +121,36 @@ osc add "$name.spec" } +# Get the path to a distribution specific patch, either from osmo-ci.git or from the project repository. +# $PWD must be the project repository dir. +# $1: distribution name (e.g. "debian8") +# $2: project repository (e.g. "osmo-trx", "limesuite") +osmo_obs_distro_specific_patch() { + local distro="$1" + local repo="$2" + local ret + + ret="$OSMO_CI_DIR/obs-patches/$repo/build-for-$distro.patch" + if [ -f "$ret" ]; then + echo "$ret" + return + fi + + ret="debian/patches/build-for-$distro.patch" + if [ -f "$ret" ]; then + echo "$ret" + return + fi +} + # Copy an already checked out repository dir and apply a distribution specific patch. # $PWD must be where all repositories are checked out in subdirs. # $1: distribution name (e.g. "debian8") -# $2: Osmocom repository (e.g. "osmo-trx") +# $2: project repository (e.g. "osmo-trx", "limesuite") osmo_obs_checkout_copy() { local distro="$1" local repo="$2" + local patch echo echo "====> Checking out $repo-$distro" @@ -135,6 +158,7 @@ # Verify distro name for consistency local distros=" debian8 + debian10 " local found=0 local distro_i @@ -157,7 +181,12 @@ cd "$repo-$distro" # Commit patch - patch -p1 < "debian/patches/build-for-$distro.patch" + patch="$(osmo_obs_distro_specific_patch "$distro" "$repo")" + if [ -z "$patch" ]; then + echo "ERROR: no patch found for distro=$distro, repo=$repo" + exit 1 + fi + patch -p1 < "$patch" git commit --amend --no-edit debian/ cd .. } diff --git a/scripts/common.sh b/scripts/common.sh index 917962e..8dd00a1 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -1,5 +1,6 @@ #!/bin/sh # Various functions and variables used in multiple osmo-ci shell scripts +OSMO_CI_DIR="$(realpath "$(dirname "$0")/..")" OSMO_GIT_URL="https://git.osmocom.org" OSMO_GIT_URL_GERRIT="https://gerrit.osmocom.org" diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 8bf4fb2..d836af2 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -156,9 +156,11 @@ cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals + osmo_obs_checkout_copy debian10 limesuite build osmocom-latest build limesuite --git-upstream-tree="$(get_last_tag limesuite)" + build limesuite-debian10 --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index ca4b253..f6bd4e6 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -214,9 +214,11 @@ cd "$REPO" osmo_obs_checkout_copy debian8 osmo-gsm-manuals osmo_obs_checkout_copy debian8 osmo-trx + osmo_obs_checkout_copy debian10 limesuite build osmocom-nightly build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" + build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals build osmo-gsm-manuals-debian8 build libosmocore -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad Gerrit-Change-Number: 18394 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 11:43:58 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:43:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 11:44:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 11:44:15 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18443 ) Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 11:44:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 25 11:50:06 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 11:50:06 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ecbb0f732fe6_70d22b1c4b9c85f01482c9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8/Debian_9.0/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8 Last lines of build log: [ 113s] asciidoc: gsup.adoc: line 1710: evaluating: {set2:target:test-usermanual__55.png} [ 113s] asciidoc: gsup.adoc: line 1718: filtering: packetdiag3 -o "/usr/src/packages/BUILD/tests/test-usermanual__55.png" -Tpng - && echo " " [ 113s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/logging.adoc [ 113s] asciidoc: test-usermanual.adoc: line 30: reading: /usr/src/packages/BUILD/common/chapters/logging.adoc [ 113s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/bsc.adoc [ 113s] asciidoc: test-usermanual.adoc: line 31: reading: /usr/src/packages/BUILD/common/chapters/bsc.adoc [ 113s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 113s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 113s] [ 113s] ../build/Makefile.asciidoc.inc:61: recipe for target 'test-usermanual.pdf' failed [ 113s] make[3]: *** [test-usermanual.pdf] Error 1 [ 113s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 113s] Makefile:438: recipe for target 'all-recursive' failed [ 113s] make[2]: *** [all-recursive] Error 1 [ 113s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 113s] Makefile:362: recipe for target 'all' failed [ 113s] make[1]: *** [all] Error 2 [ 113s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 113s] dh_auto_build: make -j1 returned exit code 2 [ 113s] debian/rules:5: recipe for target 'binary' failed [ 113s] make: *** [binary] Error 2 [ 113s] dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 [ 113s] ### VM INTERACTION START ### [ 116s] [ 109.931482] sysrq: SysRq : Power Off [ 116s] [ 109.937824] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] goat09 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon May 25 11:49:50 UTC 2020. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 11:50:24 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 11:50:24 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8 in Debian_10/i586 In-Reply-To: References: Message-ID: <5ecbb12227a18_70d22b1c4b9c85f01485fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8/Debian_10/i586 Package network:osmocom:latest/osmo-gsm-manuals-debian8 failed to build in Debian_10/i586 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8 Last lines of build log: [ 155s] asciidoc: rf.adoc: line 393: filtering: "/usr/bin/python2" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -L dot -F png - [ 155s] Execute: dot -Tpng "/usr/src/packages/BUILD/tests/test-usermanual__53.txt" > "/usr/src/packages/BUILD/tests/test-usermanual__53.png" [ 155s] asciidoc: rf.adoc: line 642: evaluating: {counter2:target-number} [ 155s] asciidoc: rf.adoc: line 642: evaluating: {set2:target:test-usermanual__54.png} [ 155s] asciidoc: rf.adoc: line 648: filtering: "/usr/bin/python2" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -L dot -F png - [ 155s] Execute: dot -Tpng "/usr/src/packages/BUILD/tests/test-usermanual__54.txt" > "/usr/src/packages/BUILD/tests/test-usermanual__54.png" [ 155s] asciidoc: rf.adoc: line 673: evaluating: {counter2:target-number} [ 155s] asciidoc: rf.adoc: line 673: evaluating: {set2:target:test-usermanual__55.png} [ 155s] asciidoc: rf.adoc: line 679: filtering: "/usr/bin/python2" "/etc/asciidoc/filters/graphviz/graphviz2png.py" -v -o "/usr/src/packages/BUILD/tests/test-usermanual__55.png" -L dot -F png - [ 155s] Execute: dot -Tpng "/usr/src/packages/BUILD/tests/test-usermanual__55.txt" > "/usr/src/packages/BUILD/tests/test-usermanual__55.png" [ 155s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 155s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 155s] [ 155s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 155s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 155s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 155s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 155s] make[1]: *** [Makefile:362: all] Error 2 [ 155s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 155s] dh_auto_build: make -j1 returned exit code 2 [ 155s] make: *** [debian/rules:5: binary] Error 2 [ 155s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 155s] ### VM INTERACTION START ### [ 158s] [ 150.043466] sysrq: SysRq : Power Off [ 158s] [ 150.045192] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] build84 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon May 25 11:50:22 UTC 2020. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 11:51:43 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 11:51:43 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8 in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <5ecbb16e93f54_70d22b1c4b9c85f0148955@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8/Debian_Testing/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8 failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8 Last lines of build log: [ 208s] asciidoc: control_if.adoc: line 115: evaluating: {counter2:target-number} [ 208s] asciidoc: control_if.adoc: line 115: evaluating: {set2:target:test-usermanual__54.png} [ 208s] asciidoc: control_if.adoc: line 121: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - [ 208s] asciidoc: control_if.adoc: line 131: evaluating: {counter2:target-number} [ 208s] asciidoc: control_if.adoc: line 131: evaluating: {set2:target:test-usermanual__55.png} [ 208s] asciidoc: control_if.adoc: line 136: filtering: "/usr/bin/python3" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__55.png" -Tpng - [ 208s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/spectrum.adoc [ 208s] asciidoc: test-usermanual.adoc: line 31: reading: /usr/src/packages/BUILD/common/chapters/spectrum.adoc [ 208s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 208s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 208s] a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl [ 208s] [ 208s] [ 208s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 208s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 208s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 208s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 208s] make[1]: *** [Makefile:362: all] Error 2 [ 208s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 208s] dh_auto_build: error: make -j1 returned exit code 2 [ 208s] make: *** [debian/rules:5: binary] Error 25 [ 208s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 208s] ### VM INTERACTION START ### [ 209s] Powering off. [ 209s] [ 200.437475] reboot: Power down [ 209s] ### VM INTERACTION END ### [ 209s] [ 209s] goat17 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon May 25 11:51:35 UTC 2020. [ 209s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 11:52:34 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 11:52:34 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8 in Debian_10/x86_64 In-Reply-To: References: Message-ID: <5ecbb18cba3ec_70d22b1c4b9c85f014926@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8/Debian_10/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8 failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8 Last lines of build log: [ 196s] asciidoc: control_if.adoc: line 94: filtering: "/usr/bin/python2" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__52.png" -Tpng - [ 196s] asciidoc: control_if.adoc: line 104: evaluating: {counter2:target-number} [ 196s] asciidoc: control_if.adoc: line 104: evaluating: {set2:target:test-usermanual__53.png} [ 196s] asciidoc: control_if.adoc: line 110: filtering: "/usr/bin/python2" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__53.png" -Tpng - [ 196s] asciidoc: control_if.adoc: line 115: evaluating: {counter2:target-number} [ 196s] asciidoc: control_if.adoc: line 115: evaluating: {set2:target:test-usermanual__54.png} [ 196s] asciidoc: control_if.adoc: line 121: filtering: "/usr/bin/python2" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__54.png" -Tpng - [ 196s] asciidoc: control_if.adoc: line 131: evaluating: {counter2:target-number} [ 196s] asciidoc: control_if.adoc: line 131: evaluating: {set2:target:test-usermanual__55.png} [ 196s] asciidoc: control_if.adoc: line 136: filtering: "/usr/bin/python2" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__55.png" -Tpng - [ 196s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 196s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 196s] [ 196s] make[3]: *** [../build/Makefile.asciidoc.inc:69: test-usermanual.pdf] Error 1 [ 196s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 196s] make[2]: *** [Makefile:438: all-recursive] Error 1 [ 196s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 196s] make[1]: *** [Makefile:362: all] Error 2 [ 196s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 196s] dh_auto_build: make -j1 returned exit code 2 [ 196s] make: *** [debian/rules:5: binary] Error 2 [ 196s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 196s] ### VM INTERACTION START ### [ 199s] [ 189.371950] sysrq: SysRq : Power Off [ 199s] [ 189.375788] reboot: Power down [ 199s] ### VM INTERACTION END ### [ 199s] [ 199s] sheep85 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon May 25 11:52:27 UTC 2020. [ 199s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 11:52:52 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 11:52:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-gsm-manuals-debian8 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <5ecbb1ac689d0_70d22b1c4b9c85f014939c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gsm-manuals-debian8/xUbuntu_18.04/x86_64 Package network:osmocom:latest/osmo-gsm-manuals-debian8 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:latest osmo-gsm-manuals-debian8 Last lines of build log: [ 240s] asciidoc: osmux.adoc: line 138: reading: /usr/src/packages/BUILD/common/chapters/osmux/mo_call_osmux_sccplite_nat.msc [ 240s] asciidoc: osmux.adoc: line 137: evaluating: {counter2:target-number} [ 240s] asciidoc: osmux.adoc: line 137: evaluating: {set2:target:test-usermanual__55.png} [ 240s] asciidoc: mo_call_osmux_sccplite_nat.msc: line 77: filtering: "/usr/bin/python" "./build/filter-wrapper.py" mscgen -o "/usr/src/packages/BUILD/tests/test-usermanual__55.png" -Tpng - [ 240s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/osmux/mgcp_extension_osmux.adoc [ 240s] asciidoc: osmux.adoc: line 141: reading: /usr/src/packages/BUILD/common/chapters/osmux/mgcp_extension_osmux.adoc [ 240s] asciidoc: include: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 240s] asciidoc: test-usermanual.adoc: line 32: reading: /usr/src/packages/BUILD/common/chapters/glossary.adoc [ 240s] [ 240s] ../build/Makefile.asciidoc.inc:61: recipe for target 'test-usermanual.pdf' failed [ 240s] make[3]: *** [test-usermanual.pdf] Error 1 [ 240s] make[3]: Leaving directory '/usr/src/packages/BUILD/tests' [ 240s] Makefile:438: recipe for target 'all-recursive' failed [ 240s] make[2]: *** [all-recursive] Error 1 [ 240s] make[2]: Leaving directory '/usr/src/packages/BUILD' [ 240s] Makefile:362: recipe for target 'all' failed [ 240s] make[1]: *** [all] Error 2 [ 240s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 240s] dh_auto_build: make -j1 returned exit code 2 [ 240s] debian/rules:5: recipe for target 'binary' failed [ 240s] make: *** [binary] Error 2 [ 240s] dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2 [ 240s] ### VM INTERACTION START ### [ 243s] [ 232.021893] sysrq: SysRq : Power Off [ 243s] [ 232.028973] reboot: Power down [ 243s] ### VM INTERACTION END ### [ 243s] [ 243s] lamb51 failed "build osmo-gsm-manuals-dev_0.3.0.dsc" at Mon May 25 11:52:46 UTC 2020. [ 243s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 12:00:49 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 12:00:49 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecbb38772eb6_70d22b1c4b9c85f015031f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 97s] libosmo-sccp.src: W: no-changelogname-tag [ 97s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 97s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 97s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 97s] osmo-stp.i586: W: no-changelogname-tag [ 97s] There is no changelog. Please insert a '%changelog' section heading in your [ 97s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 97s] [ 97s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 97s] The package contains an init script or systemd service file but lacks the [ 97s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 97s] [ 97s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 97s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 97s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 97s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 97s] This archive does not contain a non-empty .text section. The archive was not [ 97s] created with -ffat-lto-objects option. [ 97s] [ 97s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 97s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 97s] [ 97s] ### VM INTERACTION START ### [ 100s] [ 81.630887] sysrq: Power Off [ 100s] [ 81.635632] reboot: Power down [ 100s] ### VM INTERACTION END ### [ 100s] [ 100s] cloud130 failed "build libosmo-sccp.spec" at Mon May 25 12:00:42 UTC 2020. [ 100s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 12:07:06 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 12:07:06 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecbb4f88774b_70d22b1c4b9c85f015734@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 74s] libosmo-sccp.src: W: no-changelogname-tag [ 74s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 74s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 74s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 74s] osmo-stp.x86_64: W: no-changelogname-tag [ 74s] There is no changelog. Please insert a '%changelog' section heading in your [ 74s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 74s] [ 74s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 74s] The package contains an init script or systemd service file but lacks the [ 74s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 74s] [ 74s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 74s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 74s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 74s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 74s] This archive does not contain a non-empty .text section. The archive was not [ 74s] created with -ffat-lto-objects option. [ 74s] [ 74s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 74s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 74s] [ 74s] ### VM INTERACTION START ### [ 77s] [ 70.580820] sysrq: Power Off [ 77s] [ 70.594801] reboot: Power down [ 78s] ### VM INTERACTION END ### [ 78s] [ 78s] lamb73 failed "build libosmo-sccp.spec" at Mon May 25 12:06:49 UTC 2020. [ 78s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon May 25 12:08:32 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 12:08:32 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ecbb54cb8680_70d22b1c4b9c85f01574ae@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 160s] libosmo-sccp.src: W: no-changelogname-tag [ 160s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 160s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 160s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 160s] osmo-stp.aarch64: W: no-changelogname-tag [ 160s] There is no changelog. Please insert a '%changelog' section heading in your [ 160s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 160s] [ 160s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 160s] The package contains an init script or systemd service file but lacks the [ 160s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 160s] [ 160s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 160s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 160s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 160s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 160s] This archive does not contain a non-empty .text section. The archive was not [ 160s] created with -ffat-lto-objects option. [ 160s] [ 160s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 160s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 160s] [ 160s] ### VM INTERACTION START ### [ 163s] [ 145.958522] sysrq: Power Off [ 163s] [ 145.982320] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] obs-arm-3 failed "build libosmo-sccp.spec" at Mon May 25 12:08:16 UTC 2020. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 25 12:41:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 12:41:27 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support runing test with bidirectional data References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 ) Change subject: iperf3: Support runing test with bidirectional data ...................................................................... iperf3: Support runing test with bidirectional data Change-Id: Ia6f12c65fd3ea26d412997741cb8685a9646af43 --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/gprs/lib/testlib.py 7 files changed, 25 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/18447/1 diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index bcc569a..66d75bb 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(True, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index a92a658..7dca127 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 9c05d44..04aac47 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -193,6 +193,10 @@ PROTO_TCP = "tcp" PROTO_UDP = "udp" + DIR_UL = "ul" + DIR_DL = "dl" + DIR_BI = "bi" + @classmethod def validate_protocol(cls, val): return val in (cls.PROTO_TCP, cls.PROTO_UDP) @@ -215,9 +219,13 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None, time_sec=None, proto=None): + def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None): values = config.get_defaults('iperf3cli') config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) + + if dir is None: + dir = self.DIR_UL + if time_sec is None: time_sec_str = values.get('time', time_sec) @@ -239,11 +247,11 @@ self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) else: - return self.prepare_test_proc_remotely(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) - def prepare_test_proc_remotely(self, downlink, netns, time_sec, use_udp): + def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -257,8 +265,10 @@ '-t', str(time_sec)) if self.logfile_supported: popen_args += ('--logfile', self.remote_log_file,) - if downlink: + if dir == IPerf3Client.DIR_DL: popen_args += ('-R',) + elif dir == IPerf3Client.DIR_BI: + popen_args += ('--bidir',) if use_udp: popen_args += ('-u', '-b', '0') @@ -268,7 +278,7 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns, time_sec, use_udp): + def prepare_test_proc_locally(self, dir, netns, time_sec, use_udp): pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) @@ -277,8 +287,10 @@ '-t', str(time_sec)) if self.logfile_supported: popen_args += ('--logfile', os.path.abspath(self.log_file),) - if downlink: + if dir == IPerf3Client.DIR_DL: popen_args += ('-R',) + elif dir == IPerf3Client.DIR_BI: + popen_args += ('--bidir',) if use_udp: popen_args += ('-u', '-b', '0') diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index a503465..b0837d8 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -43,7 +43,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns(), duration + 30) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), duration + 30) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index bcc569a..66d75bb 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(True, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index a92a658..7dca127 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 765f463..1421229 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -10,7 +10,7 @@ procs = [] for i in range(len(iperf3clients)): print("Running iperf3 client to %s through %r" % (str(iperf3clients[i]), repr(ms_li[i].tmp_ctx_id))) - procs.append(iperf3clients[i].prepare_test_proc(False, ms_li[i].netns())) + procs.append(iperf3clients[i].prepare_test_proc(iperf3clients[i].DIR_UL, ms_li[i].netns())) try: for proc in procs: proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 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: Ia6f12c65fd3ea26d412997741cb8685a9646af43 Gerrit-Change-Number: 18447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 12:41:27 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 12:41:27 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: Pass max bitrate to iperf3 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 ) Change subject: 4g: Pass max bitrate to iperf3 ...................................................................... 4g: Pass max bitrate to iperf3 Otherwise bitrate 0 (unlimited) does weird stuff, like iperf3 hanging forever in DL. Change-Id: I631243cce132923d9024f8161cf96161c51cdae5 --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py 5 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/18448/1 diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index 66d75bb..d90c80b 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=True) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 7dca127..453cdfa 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=False) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 04aac47..70fceff 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -219,7 +219,7 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None): + def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None, bitrate=0): values = config.get_defaults('iperf3cli') config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) @@ -247,11 +247,11 @@ self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate) else: - return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate) - def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp): + def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp, bitrate): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -270,7 +270,7 @@ elif dir == IPerf3Client.DIR_BI: popen_args += ('--bidir',) if use_udp: - popen_args += ('-u', '-b', '0') + popen_args += ('-u', '-b', str(bitrate)) if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 66d75bb..d90c80b 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=True) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 7dca127..453cdfa 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=False) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 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: I631243cce132923d9024f8161cf96161c51cdae5 Gerrit-Change-Number: 18448 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon May 25 12:44:15 2020 From: admin at opensuse.org (OBS Notification) Date: Mon, 25 May 2020 12:44:15 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ecbbdb9d2c13_70d22b1c4b9c85f016761b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 310s] libosmo-sccp.src: W: no-changelogname-tag [ 310s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 310s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 310s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 310s] osmo-stp.armv7hl: W: no-changelogname-tag [ 310s] There is no changelog. Please insert a '%changelog' section heading in your [ 310s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 310s] [ 310s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 310s] The package contains an init script or systemd service file but lacks the [ 310s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 310s] [ 310s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 310s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 310s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 310s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 310s] This archive does not contain a non-empty .text section. The archive was not [ 310s] created with -ffat-lto-objects option. [ 310s] [ 310s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 310s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 310s] [ 310s] ### VM INTERACTION START ### [ 313s] [ 297.098558] sysrq: Power Off [ 313s] [ 297.107179] reboot: Power down [ 314s] ### VM INTERACTION END ### [ 314s] [ 314s] obs-arm-5 failed "build libosmo-sccp.spec" at Mon May 25 12:44:04 UTC 2020. [ 314s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon May 25 12:56:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 12:56:30 +0000 Subject: Change in osmo-remsim[master]: add '-d' command line argument to configure stderr logging verbosity References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18449 ) Change subject: add '-d' command line argument to configure stderr logging verbosity ...................................................................... add '-d' command line argument to configure stderr logging verbosity The '-d' option is pretty much tradition in most osmocom programs, particularly for those without a VTY / config file it is the only option to configure per-subsystem logging verbosity. Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed --- M src/bankd/bankd_main.c M src/client/remsim_client_main.c M src/server/remsim_server.c 3 files changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/49/18449/1 diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c index b3e38b3..b8ba642 100644 --- a/src/bankd/bankd_main.c +++ b/src/bankd/bankd_main.c @@ -271,6 +271,7 @@ printf( " -h --help Print this help message\n" " -V --version Print the version of the program\n" +" -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" " -i --server-host A.B.C.D remsim-server IP address (default: 127.0.0.1)\n" " -p --server-port <1-65535> remsim-server TCP port (default: 9998)\n" " -b --bank-id <1-65535> Bank Identifier of this SIM bank (default: 1)\n" @@ -292,6 +293,7 @@ static const struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'V' }, + { "debug", 1, 0, 'd' }, { "server-host", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "bank-id", 1, 0, 'b' }, @@ -302,7 +304,7 @@ { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hVi:o:b:n:N:I:P:", long_options, &option_index); + c = getopt_long(argc, argv, "hVd:i:o:b:n:N:I:P:", long_options, &option_index); if (c == -1) break; @@ -315,6 +317,9 @@ printf("osmo-remsim-bankd version %s\n", VERSION); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'i': g_bankd->srvc.server_host = optarg; break; diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index 6587e6b..bc916b9 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -24,6 +24,7 @@ printf( " -h --help Print this help message\n" " -v --version Print program version\n" + " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" " -i --server-ip A.B.C.D remsim-server IP address\n" " -p --server-port 13245 remsim-server TCP port\n" " -c --client-id <0-65535> RSPRO ClientId of this client\n" @@ -50,6 +51,7 @@ static const struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'v' }, + { "debug", 1, 0, 'd' }, { "server-ip", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "client-id", 1, 0, 'c' }, @@ -68,7 +70,7 @@ { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hvi:p:c:n:e:" + c = getopt_long(argc, argv, "hvd:i:p:c:n:e:" #ifdef USB_SUPPORT "V:P:C:I:S:A:H:" #endif @@ -86,6 +88,9 @@ printf("osmo-remsim-client version %s\n", VERSION); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'i': osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); break; diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c index 9d3268f..6ec5f37 100644 --- a/src/server/remsim_server.c +++ b/src/server/remsim_server.c @@ -33,6 +33,7 @@ printf( " Some useful help...\n" " -h --help This text\n" " -V --version Print version of the program\n" + " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" ); } @@ -43,6 +44,7 @@ static struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'V' }, + { "debug", 1, 0, 'd' }, {0, 0, 0, 0} }; @@ -55,6 +57,9 @@ print_help(); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'V': printf("osmo-resmim-server version %s\n", VERSION); exit(0); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed Gerrit-Change-Number: 18449 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 12:58:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 12:58:44 +0000 Subject: Change in osmo-remsim[master]: add '-d' command line argument to configure stderr logging verbosity In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-remsim/+/18449 ) Change subject: add '-d' command line argument to configure stderr logging verbosity ...................................................................... add '-d' command line argument to configure stderr logging verbosity The '-d' option is pretty much tradition in most osmocom programs, particularly for those without a VTY / config file it is the only option to configure per-subsystem logging verbosity. Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed --- M src/bankd/bankd_main.c M src/client/remsim_client_main.c M src/server/remsim_server.c 3 files changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/49/18449/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed Gerrit-Change-Number: 18449 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:37:59 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 25 May 2020 13:37:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 ) Change subject: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion ...................................................................... MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion The rtp payload test vector in TC_amr_oa_bwe_rtp_conversion is wrong, it lacks the last byte which should be 0x00. Also the testvector is not very well chossen since it after BWE conversion the actual payload does not shrink (even if it looks like if it would because of the 0x00 byte at the end). Lets pick a better payload from a real world trace that actually shrinks by one byte when it is converted to BWE and use that one. Change-Id: Id4256049bbca49ad5c2eb0579128838ebae062f8 --- M mgw/MGCP_Test.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/18450/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 0de5308..1758deb 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -2083,7 +2083,7 @@ } testcase TC_amr_oa_bwe_rtp_conversion() runs on dummy_CT { - f_TC_amr_x_x_rtp_conversion('100c4e9ba850e30d5d53d04de41e7c'O, '10d3a6ea1438c35754f41379079f'O, "octet-align=1", "octet-align=0"); + f_TC_amr_x_x_rtp_conversion('2014e959f35fdfe5e9667ffbc088818088'O, '217a567cd7f7f97a599ffef022206022'O, "octet-align=1", "octet-align=0"); } testcase TC_amr_oa_oa_rtp_conversion() runs on dummy_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id4256049bbca49ad5c2eb0579128838ebae062f8 Gerrit-Change-Number: 18450 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:44:37 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 25 May 2020 13:44:37 +0000 Subject: Change in libosmo-netif[master]: amr: fix off-by-one in osmo_amr_bwe_to_oa() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18451 ) Change subject: amr: fix off-by-one in osmo_amr_bwe_to_oa() ...................................................................... amr: fix off-by-one in osmo_amr_bwe_to_oa() The for loop in osmo_amr_bwe_to_oa, that converts the body part of the AMR payload runs one byte too far. This may cause that some of the padding bits in the end are not set to zero. The loop is designed to convert n-1 bytes and the nth byte is done separately at the end. Change-Id: I91e755b83aaac722079879c026d913cc446812d1 --- M src/amr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/51/18451/1 diff --git a/src/amr.c b/src/amr.c index 980d6ad..2706432 100644 --- a/src/amr.c +++ b/src/amr.c @@ -198,7 +198,7 @@ return -1; oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); - for (i = 0; i < oa_payload_len - 2; i++) { + for (i = 0; i < oa_payload_len - 3; i++) { buf[i + 2] = payload[i + 1] << 2; buf[i + 2] |= payload[i + 2] >> 6; } -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I91e755b83aaac722079879c026d913cc446812d1 Gerrit-Change-Number: 18451 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:46:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 13:46:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 ) Change subject: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450/1/mgw/MGCP_Test.ttcn File mgw/MGCP_Test.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450/1/mgw/MGCP_Test.ttcn at 2086 PS1, Line 2086: f_TC_amr_x_x_rtp_conversion('2014e959f35fdfe5e9667ffbc088818088'O, '217a567cd7f7f97a599ffef022206022'O, "octet-align=1", "octet-align=0"); While at it, it would be nice if you could also document he hexstrings.... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id4256049bbca49ad5c2eb0579128838ebae062f8 Gerrit-Change-Number: 18450 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:46:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:49:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:49:38 +0000 Subject: Change in osmo-remsim[master]: add '-d' command line argument to configure stderr logging verbosity In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 to look at the new patch set (#3). Change subject: add '-d' command line argument to configure stderr logging verbosity ...................................................................... add '-d' command line argument to configure stderr logging verbosity The '-d' option is pretty much tradition in most osmocom programs, particularly for those without a VTY / config file it is the only option to configure per-subsystem logging verbosity. Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed --- M src/bankd/bankd_main.c M src/client/remsim_client_main.c M src/server/remsim_server.c 3 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/49/18449/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed Gerrit-Change-Number: 18449 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:49:51 +0000 Subject: Change in osmo-remsim[master]: add '-d' command line argument to configure stderr logging verbosity In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18449 ) Change subject: add '-d' command line argument to configure stderr logging verbosity ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed Gerrit-Change-Number: 18449 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 13:49:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:49:53 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:49:53 +0000 Subject: Change in osmo-remsim[master]: add '-d' command line argument to configure stderr logging verbosity In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18449 ) Change subject: add '-d' command line argument to configure stderr logging verbosity ...................................................................... add '-d' command line argument to configure stderr logging verbosity The '-d' option is pretty much tradition in most osmocom programs, particularly for those without a VTY / config file it is the only option to configure per-subsystem logging verbosity. Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed --- M src/bankd/bankd_main.c M src/client/remsim_client_main.c M src/server/remsim_server.c 3 files changed, 18 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c index b3e38b3..ce34ac2 100644 --- a/src/bankd/bankd_main.c +++ b/src/bankd/bankd_main.c @@ -271,6 +271,7 @@ printf( " -h --help Print this help message\n" " -V --version Print the version of the program\n" +" -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" " -i --server-host A.B.C.D remsim-server IP address (default: 127.0.0.1)\n" " -p --server-port <1-65535> remsim-server TCP port (default: 9998)\n" " -b --bank-id <1-65535> Bank Identifier of this SIM bank (default: 1)\n" @@ -292,6 +293,7 @@ static const struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'V' }, + { "debug", 1, 0, 'd' }, { "server-host", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "bank-id", 1, 0, 'b' }, @@ -302,7 +304,7 @@ { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hVi:o:b:n:N:I:P:", long_options, &option_index); + c = getopt_long(argc, argv, "hVd:i:o:b:n:N:I:P:", long_options, &option_index); if (c == -1) break; @@ -315,6 +317,9 @@ printf("osmo-remsim-bankd version %s\n", VERSION); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'i': g_bankd->srvc.server_host = optarg; break; diff --git a/src/client/remsim_client_main.c b/src/client/remsim_client_main.c index 6587e6b..bc916b9 100644 --- a/src/client/remsim_client_main.c +++ b/src/client/remsim_client_main.c @@ -24,6 +24,7 @@ printf( " -h --help Print this help message\n" " -v --version Print program version\n" + " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" " -i --server-ip A.B.C.D remsim-server IP address\n" " -p --server-port 13245 remsim-server TCP port\n" " -c --client-id <0-65535> RSPRO ClientId of this client\n" @@ -50,6 +51,7 @@ static const struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'v' }, + { "debug", 1, 0, 'd' }, { "server-ip", 1, 0, 'i' }, { "server-port", 1, 0, 'p' }, { "client-id", 1, 0, 'c' }, @@ -68,7 +70,7 @@ { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hvi:p:c:n:e:" + c = getopt_long(argc, argv, "hvd:i:p:c:n:e:" #ifdef USB_SUPPORT "V:P:C:I:S:A:H:" #endif @@ -86,6 +88,9 @@ printf("osmo-remsim-client version %s\n", VERSION); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'i': osmo_talloc_replace_string(cfg, &cfg->server_host, optarg); break; diff --git a/src/server/remsim_server.c b/src/server/remsim_server.c index 9d3268f..be853a1 100644 --- a/src/server/remsim_server.c +++ b/src/server/remsim_server.c @@ -33,6 +33,7 @@ printf( " Some useful help...\n" " -h --help This text\n" " -V --version Print version of the program\n" + " -d --debug option Enable debug logging (e.g. DMAIN:DST2)\n" ); } @@ -43,10 +44,11 @@ static struct option long_options[] = { { "help", 0, 0, 'h' }, { "version", 0, 0, 'V' }, + { "debug", 1, 0, 'd' }, {0, 0, 0, 0} }; - c = getopt_long(argc, argv, "hV", long_options, &option_index); + c = getopt_long(argc, argv, "hVd:", long_options, &option_index); if (c == -1) break; @@ -55,6 +57,9 @@ print_help(); exit(0); break; + case 'd': + log_parse_category_mask(osmo_stderr_target, optarg); + break; case 'V': printf("osmo-resmim-server version %s\n", VERSION); exit(0); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I0abecc26a5d8b6a5607e1eb8982af4c05909afed Gerrit-Change-Number: 18449 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:50:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:50:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 ) Change subject: MGCP_Test: fix test vector in TC_amr_oa_bwe_rtp_conversion ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id4256049bbca49ad5c2eb0579128838ebae062f8 Gerrit-Change-Number: 18450 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:50:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:51:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:51:03 +0000 Subject: Change in osmo-ci[master]: Cosmetic: OBS: remove comments for requirements In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18440 ) Change subject: Cosmetic: OBS: remove comments for requirements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f Gerrit-Change-Number: 18440 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:51:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:51:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:51:32 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:51:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:52:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:52:43 +0000 Subject: Change in osmo-ci[master]: OBS: cp osmocom-{nightly, next}-packages.sh In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: cp osmocom-{nightly,next}-packages.sh ...................................................................... Patch Set 2: Code-Review-1 I would appreciate less copy+pasting between nightly + next and more factoring to common shell functions which then are used by both nightly and next scripts. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:52:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:53:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:53:04 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18443 ) Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:53:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:53:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:53:15 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:53:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:54:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:54:40 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... Patch Set 2: this works for now. Maybe we should simply introduce some automatic mechanism where the "next" builds will use a "next" branch in every repository, or fall back to "master" if there is no "next" branch? This way, all a developer has to do to make a change visible in "next" is to push it there and wait for the OBS rebuild (or manually trigger it via jenkins web interface")? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:54:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:55:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:55:14 +0000 Subject: Change in libosmo-netif[master]: amr: fix off-by-one in osmo_amr_bwe_to_oa() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-netif/+/18451 ) Change subject: amr: fix off-by-one in osmo_amr_bwe_to_oa() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I91e755b83aaac722079879c026d913cc446812d1 Gerrit-Change-Number: 18451 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 13:55:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:56:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:56:46 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 1: I'm happy with returning an error here, but the problem is that abis_rsl_rx_rll() propagates that error to libosmo-abis. It shouldn't. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 25 May 2020 13:56:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:56:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 13:56:49 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 13:56:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 13:58:52 +0000 Subject: Change in osmo-gsm-tester[master]: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 ) Change subject: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit ...................................................................... Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit The API was doing far more stuff than its name indicated. Even more important stuff, like making sure the process is killed at the end with -9 after ssh connection is dropped. Change-Id: If043ecab509b34b0922824d73db916196274ec64 --- M src/osmo_gsm_tester/core/remote.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py 4 files changed, 28 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/52/18452/1 diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index 95b8967..29eea30 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -55,7 +55,7 @@ run_dir = self.run_dir.new_dir(name) return process.RemoteProcess(name, run_dir, self.user(), self.host(), self.cwd(), popen_args, remote_env=remote_env, **popen_kwargs) - def generate_wrapper_script(self): + def generate_wrapper_script(self, wait_time_sec): wrapper_script = self.run_dir.new_file(RemoteHost.WRAPPER_SCRIPT) with open(wrapper_script, 'w') as f: r = """#!/bin/bash @@ -66,8 +66,8 @@ if ! kill -0 $mypid; then return fi - echo "sleeping some time waiting for child to die..." >>$LOGFILE - sleep 5 + echo "sleeping %d seconds waiting for child to die..." >>$LOGFILE + sleep %d if ! kill -0 $mypid; then return fi @@ -102,20 +102,18 @@ prep_sighandler $@ & wait_sighandler - """ + """ % (wait_time_sec, wait_time_sec) f.write(r) st = os.stat(wrapper_script) os.chmod(wrapper_script, st.st_mode | stat.S_IEXEC) return wrapper_script - def RemoteProcessFixIgnoreSIGHUP(self, name, remote_dir, popen_args, remote_env={}, **popen_kwargs): - # Run remotely through ssh. We need to run binary under a wrapper - # script since osmo-trx ignores SIGHUP and will keep running after - # we close local ssh session. The wrapper script catches SIGHUP and - # sends SIGINT to it. + def RemoteProcessSafeExit(self, name, remote_dir, popen_args, remote_env={}, wait_time_sec=5, **popen_kwargs): + """Run binary under a wrapper which will make sure process is killed -9 + a few seconds after SIGHUP from SSH is received.""" self.create_remote_dir(remote_dir) - wrapper_script = self.generate_wrapper_script() + wrapper_script = self.generate_wrapper_script(wait_time_sec) remote_wrapper_script = remote_dir.child(RemoteHost.WRAPPER_SCRIPT) self.scp('scp-wrapper-to-remote', wrapper_script, remote_wrapper_script) diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 1456802..0eeef49 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -310,7 +310,11 @@ remote_env = {} remote_binary = self.binary_name() args = (remote_binary, '-C', remote_config_file) - self.proc_trx = rem_host.RemoteProcessFixIgnoreSIGHUP(self.binary_name(), remote_run_dir, args, remote_env=remote_env) + # Run remotely through ssh. We need to run binary under a wrapper + # script since osmo-trx ignores SIGHUP and will keep running after + # we close local ssh session. The wrapper script catches SIGHUP and + # sends SIGINT to it. + self.proc_trx = rem_host.RemoteProcessSafeExit(self.binary_name(), remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.proc_trx, keepalive) self.proc_trx.launch() diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index e9f1e82..d6cad81 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -46,6 +46,7 @@ self.ifup_file = None self.process = None self.rem_host = None + self.remote_run_dir = None self.remote_inst = None self.remote_config_file = None self.remote_log_file = None @@ -92,8 +93,7 @@ args = (remote_binary, self.remote_config_file) - self.process = self.rem_host.RemoteProcess(AmarisoftEPC.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(AmarisoftEPC.BINFILE, remote_run_dir, args) + self.process = self.rem_host.RemoteProcessSafeExit(AmarisoftEPC.BINFILE, self.remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -137,11 +137,11 @@ self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftEPC.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftEPC.BINFILE)) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftEPC.BINFILE)) - self.remote_config_file = remote_run_dir.child(AmarisoftEPC.CFGFILE) - self.remote_log_file = remote_run_dir.child(AmarisoftEPC.LOGFILE) - self.remote_ifup_file = remote_run_dir.child(AmarisoftEPC.IFUPFILE) + self.remote_config_file = self.remote_run_dir.child(AmarisoftEPC.CFGFILE) + self.remote_log_file = self.remote_run_dir.child(AmarisoftEPC.LOGFILE) + self.remote_ifup_file = self.remote_run_dir.child(AmarisoftEPC.IFUPFILE) values = super().configure(['amarisoft', 'amarisoftepc']) @@ -162,7 +162,7 @@ if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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) self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index b494c54..3fa282e 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -91,6 +91,7 @@ self.process = None self.rem_host = None self.remote_inst = None + self.remote_run_dir = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None @@ -168,8 +169,7 @@ args = (remote_binary, self.remote_config_file, '--gw.netns=' + self.netns()) args += tuple(self._additional_args) - self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) + self.process = self.rem_host.RemoteProcessSafeExit(srsUE.BINFILE, self.remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -213,11 +213,11 @@ self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) - self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) - self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) + self.remote_config_file = self.remote_run_dir.child(srsUE.CFGFILE) + self.remote_log_file = self.remote_run_dir.child(srsUE.LOGFILE) + self.remote_pcap_file = self.remote_run_dir.child(srsUE.PCAPFILE) + self.remote_metrics_file = self.remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) @@ -297,7 +297,7 @@ if not self.setup_runs_locally(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 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: If043ecab509b34b0922824d73db916196274ec64 Gerrit-Change-Number: 18452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 13:59:16 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 25 May 2020 13:59:16 +0000 Subject: Change in osmo-gsm-tester[master]: config: suites_dir and scenarios_dir are now a list of paths In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 ) Change subject: config: suites_dir and scenarios_dir are now a list of paths ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446/2/doc/manuals/chapters/config.adoc File doc/manuals/chapters/config.adoc: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446/2/doc/manuals/chapters/config.adoc at 40 PS2, Line 40: be used. Excellent. This is exactly what I had in mind. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 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: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 Gerrit-Change-Number: 18446 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Mon, 25 May 2020 13:59:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 14:19:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 14:19:55 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 ) Change subject: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess ...................................................................... enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess It is known that sometimes srsENB hangs until it is killed -9, specially when using ZMQ backend. Let's use RemoteProcessSafeExit in order to make sure it is killed in an acceptable time (srs binaries use some preventive sigalarm 6 seconds auto-kill procedure, hence we use 7 seconds) before next test is started and potentially try to re-use the same ENB and fails due to previous one still running. Change-Id: I905bd753c7822feccf1c1bb59752698f1d1b85f0 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 10 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/53/18453/1 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 4311d60..47b373e 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -59,6 +59,7 @@ self.pcap_file = None self.process = None self.rem_host = None + self.remote_run_dir = None self.remote_config_file = None self.remote_config_sib_file = None self.remote_config_rr_file = None @@ -111,7 +112,7 @@ args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) - self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(srsENB.BINFILE, self.remote_run_dir, args, remote_env=remote_env, wait_time_sec=7) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -152,14 +153,14 @@ self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) - self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) - self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) - self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) - self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) + self.remote_config_file = self.remote_run_dir.child(srsENB.CFGFILE) + self.remote_config_sib_file = self.remote_run_dir.child(srsENB.CFGFILE_SIB) + self.remote_config_rr_file = self.remote_run_dir.child(srsENB.CFGFILE_RR) + self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) + self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) + self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) values = super().configure(['srsenb']) @@ -211,7 +212,7 @@ if not self.setup_runs_locally(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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) self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rr_file, self.remote_config_rr_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 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: I905bd753c7822feccf1c1bb59752698f1d1b85f0 Gerrit-Change-Number: 18453 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 14:51:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 14:51:49 +0000 Subject: Change in osmo-gsm-tester[master]: process: Log stdout tail when process exits with error References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 ) Change subject: process: Log stdout tail when process exits with error ...................................................................... process: Log stdout tail when process exits with error This is useful since remote processes we run under ssh end up merging both remote stdout and sterr into local stdout. Change-Id: Ibbfb099a667f21641075faa1858e0b9acd706fd2 --- M src/osmo_gsm_tester/core/process.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/54/18454/1 diff --git a/src/osmo_gsm_tester/core/process.py b/src/osmo_gsm_tester/core/process.py index 5d02ab5..320f9ec 100644 --- a/src/osmo_gsm_tester/core/process.py +++ b/src/osmo_gsm_tester/core/process.py @@ -277,7 +277,7 @@ self.log('Terminated', rc=self.result) else: self.err('Terminated: ERROR', rc=self.result) - #self.log_stdout_tail() + self.log_stdout_tail() self.log_stderr_tail() def log_stdout_tail(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 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: Ibbfb099a667f21641075faa1858e0b9acd706fd2 Gerrit-Change-Number: 18454 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:05:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 25 May 2020 15:05:29 +0000 Subject: Change in libosmo-netif[master]: amr: fix off-by-one in osmo_amr_bwe_to_oa() In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-netif/+/18451 to look at the new patch set (#2). Change subject: amr: fix off-by-one in osmo_amr_bwe_to_oa() ...................................................................... amr: fix off-by-one in osmo_amr_bwe_to_oa() The for loop in osmo_amr_bwe_to_oa, that converts the body part of the AMR payload runs one byte too far. This may cause that some of the padding bits in the end are not set to zero. The loop is designed to convert n-1 bytes and the nth byte is done separately at the end. Change-Id: I91e755b83aaac722079879c026d913cc446812d1 --- M src/amr.c M tests/amr/amr_test.c M tests/amr/amr_test.ok 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/51/18451/2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/18451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-Change-Id: I91e755b83aaac722079879c026d913cc446812d1 Gerrit-Change-Number: 18451 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 ) Change subject: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g ...................................................................... library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 --- M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/18455/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 0edc0a7..8954f71 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -365,7 +365,7 @@ case (IPAC_IDTAG_MACADDR) { foo := g_ccm_pars.mac_addr; } - case (IPAC_IDTAG_UNIT) { + case (IPAC_IDTAG_UNITID) { foo := g_ccm_pars.unit_id; } case (IPAC_IDTAG_OSMO_RAND) { diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index e232aeb..ce6f9b6 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -86,7 +86,7 @@ IPAC_IDTAG_SWVERSION ('05'H), IPAC_IDTAG_IPADDR ('06'H), IPAC_IDTAG_MACADDR ('07'H), - IPAC_IDTAG_UNIT ('08'H), + IPAC_IDTAG_UNITID ('08'H), IPAC_IDTAG_OSMO_RAND ('23'H) } with { variant "FIELDLENGTH(8)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 Gerrit-Change-Number: 18455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: cosmetic: fix template restrictions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 ) Change subject: library/IPA_Emulation: cosmetic: fix template restrictions ...................................................................... library/IPA_Emulation: cosmetic: fix template restrictions Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b --- M library/IPA_Emulation.ttcnpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/18456/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 8954f71..1bfc8dc 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,12 +110,12 @@ RSL_Message rsl }; -template ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template RSL_Message rsl) := { +template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template (value) RSL_Message rsl) := { streamId := sid, - rsl := valueof(rsl) + rsl := rsl } -template ASP_RSL_Unitdata tr_ASP_RSL_UD(IpaStreamId sid, template RSL_Message rsl) := { +template ASP_RSL_Unitdata tr_ASP_RSL_UD(template IpaStreamId sid, template RSL_Message rsl) := { streamId := sid, rsl := rsl } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b Gerrit-Change-Number: 18456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 ) Change subject: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates ...................................................................... library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_CBSP.ttcn M library/IPA_Emulation.ttcnpp M library/RSL_Emulation.ttcn M selftest/Selftest.ttcn 5 files changed, 37 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/18457/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index bcefe67..48766f1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -228,7 +228,7 @@ alt { [] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { T.stop; - IPA_RSL[i].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); + IPA_RSL[i].send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [] IPA_RSL[i].receive(ASP_IPA_Event:?) { repeat } [] IPA_RSL[i].receive { repeat } @@ -398,7 +398,7 @@ T.start; alt { - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(sid, t_rx)) -> value rx_rsl_ud { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(t_rx, sid)) -> value rx_rsl_ud { T.stop; } [] IPA_RSL[bts_nr].receive { repeat; } @@ -413,7 +413,7 @@ /* helper function to transmit RSL on a given BTS/stream */ function f_ipa_tx(integer bts_nr, template RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT { - IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(sid, t_tx)); + IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(t_tx, sid)); } @@ -424,7 +424,7 @@ f_init(1); - IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23))); + IPA_RSL[0].send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD('23'O, 23))); rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); setverdict(pass); } @@ -438,7 +438,7 @@ f_init(1); chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total"); - IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23))); + IPA_RSL[0].send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD('23'O, 23))); rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total", chreq_total+1); @@ -554,11 +554,10 @@ f_ipa_tx(0, ts_RSL_CHAN_RQD('42'O, 42)); alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) { setverdict(fail, "Received CHAN ACT ACK without resources?!?"); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_IMM_ASSIGN(?))) -> value rsl_ud { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN(?))) -> value rsl_ud { var GsmRrMessage rr; /* match on IMM ASS REJ */ rr := dec_GsmRrMessage(rsl_ud.rsl.ies[1].body.full_imm_ass_info.payload); @@ -590,13 +589,11 @@ /* Expect CHANnel RELease */ alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { log("Received CHANnel RELease"); setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_IMM_ASSIGN(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN(?))) { /* See OS#3709, OsmoBSC should not send Immediate * Assignment Reject since a dedicated channel was * already allocated, and Immediate Assignment was @@ -926,21 +923,19 @@ log("f_expect_chan_rel() expecting: expect_deact_sacch=", expect_deact_sacch, " expect_rr_chan_rel=", expect_rr_chan_rel, " expect_rll_rel_req=", expect_rll_rel_req); alt { - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_DEACT_SACCH(rsl_chan_nr))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DEACT_SACCH(rsl_chan_nr))) { got_deact_sacch := true; repeat; } - [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { + [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { got_rr_chan_rel := true; repeat; } - [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { + [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { got_rr_chan_rel := true; repeat; } - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_REL_REQ(rsl_chan_nr, ?))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_REL_REQ(rsl_chan_nr, ?))) { got_rll_rel_req := true; /* FIXME: Why are we getting this for LinkID SACCH? */ if (handle_rll_rel) { @@ -948,13 +943,12 @@ } repeat; } - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { /* respond with CHAN REL ACK */ f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(rsl_chan_nr)); } /* ignore any user data */ - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_MsgTypeR(?))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeR(?))) { repeat; } } @@ -1348,7 +1342,7 @@ } T.start; alt { - [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(mi))) { + [] IPA_RSL[i].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(mi))) { setverdict(fail, "Paging on BTS ", i, " which is not part of ", bts_ids); } [] IPA_RSL[i].receive { repeat; } @@ -1524,7 +1518,7 @@ T.start; T_retrans.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after LOAD_IND(0)"); mtc.stop; } @@ -1607,15 +1601,15 @@ /* Wait for 3 seconds if any more PAGING CMD are received on RSL */ T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } - [] IPA_RSL[1].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } - [] IPA_RSL[2].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index ff054fe..baba4c0 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -537,7 +537,7 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(dt.rsl_chan_nr, ?, ?))) -> value rx_rsl_ud { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(dt.rsl_chan_nr, ?, ?))) -> value rx_rsl_ud { var RSL_IE_Body l3_ie; if (f_rsl_find_ie(rx_rsl_ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { setverdict(fail, "RSL DATA REQ without L3?"); @@ -575,11 +575,10 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } @@ -605,11 +604,10 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } @@ -621,11 +619,10 @@ /* then expect it to be disabled after the warning period (5s) */ T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 1bfc8dc..0125c3a 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,12 +110,14 @@ RSL_Message rsl }; -template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template (value) RSL_Message rsl) := { +template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl, + IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { streamId := sid, rsl := rsl } -template ASP_RSL_Unitdata tr_ASP_RSL_UD(template IpaStreamId sid, template RSL_Message rsl) := { +template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl, + template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { streamId := sid, rsl := rsl } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 5a0816f..67a473f 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -385,7 +385,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { - IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { @@ -460,7 +460,7 @@ chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); - IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, ts_RSL_CHAN_ACT_ACK(chan_nr, 23))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } [not dchan_suspended] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { @@ -483,8 +483,7 @@ [bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn { /* Store the knowledge that this sender has requested a certain RQ+time */ f_cid_create(chan_rqd.ra, chan_rqd.fn, vc_conn); - IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn))); } [not bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn { @@ -495,11 +494,11 @@ [] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { /* forward to BSC */ cid := f_cid_by_comp_ref(vc_conn); - IPA_PT.send(ts_ASP_RSL_UD(ConnectionTable[cid].stream_id, rx_rsl_msg)); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } [] CCHAN_PT.receive(tr_RSL(?)) -> value rx_rsl { - IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, rx_rsl.rsl)); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } /* explicit registration, e.g. in (non-immediate) assignment case */ diff --git a/selftest/Selftest.ttcn b/selftest/Selftest.ttcn index 263c317..3d74925 100644 --- a/selftest/Selftest.ttcn +++ b/selftest/Selftest.ttcn @@ -89,7 +89,7 @@ T.timeout; for (i := 0; i < 10; i := i+1) { - IPA_RSL.receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, rsl)); + IPA_RSL.receive(tr_ASP_RSL_UD(rsl)); } setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 Gerrit-Change-Number: 18457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: use existing templates for ASP_RSL_Unitdata References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 ) Change subject: BSC: use existing templates for ASP_RSL_Unitdata ...................................................................... BSC: use existing templates for ASP_RSL_Unitdata Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 15 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/18458/1 diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index baba4c0..94167ce 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -71,23 +71,23 @@ } private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { -[] IPA_RSL[0].receive(tr_RSL_UD(tr)) { repeat; } -[] IPA_RSL[1].receive(tr_RSL_UD(tr)) { repeat; } -[] IPA_RSL[2].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { repeat; } +[] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) { repeat; } +[] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { repeat; } } private altstep as_FailRSL() runs on cbsp_test_CT { var template RSL_Message tr := (tr_RSL_SMSCB_CMD); var ASP_RSL_Unitdata rx; -[] IPA_RSL[0].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } -[] IPA_RSL[1].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } -[] IPA_RSL[2].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } @@ -276,11 +276,6 @@ } } -private template (present) ASP_RSL_Unitdata tr_RSL_UD(template (present) RSL_Message rsl) := { - streamId := ?, - rsl := rsl -} - template (present) RSL_IE_CbCommandType tr_RslCbCmdType(template (present) uint2_t lblock := ?, template (present) RSL_CbCommand cmd := ?) := { command := cmd, @@ -357,9 +352,9 @@ var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); interleave { - [] IPA_RSL[0].receive(tr_RSL_UD(tr)) {} - [] IPA_RSL[1].receive(tr_RSL_UD(tr)) {} - [] IPA_RSL[2].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) {} + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) {} + [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) {} } } @@ -372,7 +367,7 @@ f_cbsp_write(2, 1002, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); - IPA_RSL[0].receive(tr_RSL_UD(tr)); + IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -406,7 +401,7 @@ f_cbsp_init_server(); f_cbsp_write(5, 1005, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 5, 1005))); f_sleep(5.0); } @@ -418,7 +413,7 @@ f_cbsp_init_server(); f_cbsp_write(6, 1006, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 6, 1006))); f_sleep(5.0); } @@ -430,7 +425,7 @@ f_cbsp_init_server(); f_cbsp_write(7, 1007, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 7, 1007))); f_sleep(5.0); } @@ -444,8 +439,8 @@ success_list:=?, fail_list:=omit); var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); interleave { - [] IPA_RSL[0].receive(tr_RSL_UD(tr)); - [] IPA_RSL[1].receive(tr_RSL_UD(tr)); + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); } f_sleep(5.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e Gerrit-Change-Number: 18458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use existing templates for ASP_RSL_Unitdata References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 ) Change subject: BTS: use existing templates for ASP_RSL_Unitdata ...................................................................... BTS: use existing templates for ASP_RSL_Unitdata Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 45 insertions(+), 56 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/18459/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 012df47..99a8ef9 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -315,7 +315,7 @@ function f_rsl_bcch_fill_raw(RSL_IE_SysinfoType rsl_si_type, octetstring si_enc) runs on test_CT { log("Setting ", rsl_si_type, ": ", si_enc); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc))); } function f_rsl_bcch_fill(RSL_IE_SysinfoType rsl_si_type, template (value) SystemInformation si_dec) @@ -493,17 +493,6 @@ return vc_conn; } -template ASP_RSL_Unitdata ts_RSL_UD(template RSL_Message rsl, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { - streamId := sid, - rsl := rsl -} - -template ASP_RSL_Unitdata tr_RSL_UD(template RSL_Message rsl, - template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { - streamId := sid, - rsl := rsl -} - private altstep as_Tguard() runs on ConnHdlr { [] g_Tguard.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Tguard timeout"); @@ -1293,10 +1282,10 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) { T.stop; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected CHAN RQD"); } [] RSL_CCHAN.receive { repeat; } @@ -1333,7 +1322,7 @@ timer T := 3.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?,?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?,?))) { rsl_chrqd := rsl_chrqd + 1; f_timer_safe_restart(T); repeat; @@ -1372,11 +1361,11 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) { setverdict(pass); repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1400,7 +1389,7 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1444,7 +1433,7 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?))) + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?))) -> value rx_ud { var RSL_IE_Body ie; f_rsl_find_ie(rx_ud.rsl, RSL_IE_RACH_LOAD, ie); @@ -1454,7 +1443,7 @@ } repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1487,10 +1476,10 @@ timer T := 1.5; T.start; alt { - [expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { + [expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { setverdict(pass); } - [not expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { + [not expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("RACH passed but was expected to be dropped: ", toffs256)); } [] RSL_CCHAN.receive { repeat; } @@ -2947,7 +2936,7 @@ /* receive + ignore RSL RF RES IND */ altstep as_rsl_res_ind() runs on test_CT { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RF_RES_IND)) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND)) { repeat; } } @@ -2986,14 +2975,14 @@ while (st.num_paging_sent < pkt_total) { alt { /* check for presence of CCCH LOAD IND (paging load) */ - [cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { + [cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { st.num_overload := st.num_overload + 1; repeat; } - [not cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { + [not cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PCH Overload"); } - [cfg.exp_load_ind] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { + [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { log("Rx LOAD_IND"); /* FIXME: analyze/verify interval + contents */ repeat; @@ -3015,7 +3004,7 @@ } /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); st.num_paging_sent := st.num_paging_sent + 1; } @@ -3045,8 +3034,8 @@ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } /* 65535 == empty paging queue, we can terminate*/ - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } [] T_wait.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue"); } @@ -3199,14 +3188,14 @@ var ChannelDescription ch_desc := valueof(ts_ChanDesc(valueof(t_RslChanNr_SDCCH4(0, 0)))); var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null)); var octetstring ia_enc := enc_GsmRrMessage(ia); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); num_tx := num_tx+1; f_sleep(sleep_s); } /* FIXME: check if imm.ass arrive on Um side */ T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_DELETE_IND(?, 0))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_DELETE_IND(?, 0))) { num_del := num_del+1; repeat; } @@ -3720,10 +3709,10 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(cause))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(cause))) { setverdict(pass); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(?))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong cause in RSL ERR REP"); } [] RSL_CCHAN.receive { @@ -3740,7 +3729,7 @@ f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := omit; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_PROTO); } @@ -3751,7 +3740,7 @@ var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := { rsl.ies[0] }; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_MAND_IE_ERROR); } @@ -3761,7 +3750,7 @@ f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies[1].body.sysinfo_type := RSL_SYSTEM_INFO_5; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_IE_CONTENT); } @@ -3815,14 +3804,14 @@ RSL_CCHAN.clear; rsl_tx := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl_tx.msg_type := RSL_MT_LOCATION_INFO; - RSL_CCHAN.send(ts_RSL_UD(rsl_tx)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx)); f_exp_err_rep(RSL_ERR_MSG_TYPE); /* TRX Management */ RSL_CCHAN.clear; rsl_tx := ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5, ''O); rsl_tx.msg_type := RSL_MT_UNIT_DATA_IND; - RSL_CCHAN.send(ts_RSL_UD(rsl_tx)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx)); f_exp_err_rep(RSL_ERR_MSG_TYPE); /* Dedicated Channel */ @@ -4613,7 +4602,7 @@ mi_lv_enc := f_pad_oct(mi_lv_enc, 9, '00'O); /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4))); T.start; alt { [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ(0, mi_lv_enc))) { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 08e1cef..1e17703 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -159,7 +159,7 @@ { var RSL_IE_CbCommandType cmd_type := valueof(ts_RSL_IE_CbCmdType(RSL_CB_CMD_DEFAULT, 1, true)); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O))); } template RSL_IE t_RSL_IE_SMSCB_EXT := t_RSL_IE(RSL_IE_SMSCB_CHAN_INDICATOR, {smscb_chan_ind := 1}); @@ -181,7 +181,7 @@ if (extd) { rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) }; } - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); } if (ispresent(pars_chan.default_msg)) { msg := pars_chan.default_msg; @@ -191,7 +191,7 @@ if (extd) { rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) }; } - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); } } @@ -720,10 +720,10 @@ T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -748,18 +748,18 @@ RSL_CCHAN.clear; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) { basic_count := basic_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud { extd_count := extd_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -824,18 +824,18 @@ T_total.start; T_retransmit.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) { basic_count := basic_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) { extd_count := extd_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -906,7 +906,7 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); /* wait for a bit until old non-ETWS Paging messages are gone */ f_sleep(1.0); L1CTL.clear; @@ -999,11 +999,11 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); /* wait for a bit until old non-ETWS Paging messages are gone */ f_sleep(3.0); /* disable the ETWS PN again */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O))); f_sleep(2.0); T.start; L1CTL.clear; @@ -1033,7 +1033,7 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 Gerrit-Change-Number: 18459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: use existing tr_ASP_RSL_UD template References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 ) Change subject: library/RSL_Emulation: use existing tr_ASP_RSL_UD template ...................................................................... library/RSL_Emulation: use existing tr_ASP_RSL_UD template Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f --- M library/RSL_Emulation.ttcn 1 file changed, 8 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/18460/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 67a473f..4d6ace2 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -332,12 +332,6 @@ } -/* template for an ASP_RSL_Unitdata as we receive it from the IPA_Emulateion component */ -private template ASP_RSL_Unitdata tr_RSL(template RSL_Message rsl, template IpaStreamId sid := ?) := { - streamId := sid, - rsl := rsl -} - private function f_trx_by_streamId(IpaStreamId id) return integer { return enum2int(id); } @@ -388,7 +382,7 @@ IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; var GsmFrameNumber fn; @@ -424,7 +418,7 @@ } } } - [not bts_role] IPA_PT.receive(tr_RSL(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { + [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { var RSL_IE_RequestRef req_ref; req_ref := rx_rsl.rsl.ies[1].body.req_ref; cid := f_cid_by_ra_fn2(req_ref.ra, req_ref.frame_nr); @@ -436,7 +430,7 @@ } } - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { /* broadcast to all clients? */ for (i := 0; i < sizeof(ConnectionTable); i := i + 1) { if (ispresent(ConnectionTable[i].comp_ref)) { @@ -446,24 +440,24 @@ } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeT(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?))) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeC(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?))) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* blindly acknowledge all channel activations */ - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } - [not dchan_suspended] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { + [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { /* dispatch to channel based on ChanId */ cid := f_cid_by_chan_nr(f_trx_by_streamId(rx_rsl.streamId), rx_rsl.rsl.ies[0].body.chan_nr); @@ -497,7 +491,7 @@ IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } - [] CCHAN_PT.receive(tr_RSL(?)) -> value rx_rsl { + [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f Gerrit-Change-Number: 18460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fix comments near f_cid_{create, delete}_cnr() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 ) Change subject: library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() ...................................................................... library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 --- M library/RSL_Emulation.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/18461/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 4d6ace2..ffd60a7 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -229,7 +229,7 @@ testcase.stop("No free entry in conn table for ", ra, fn); } -/* create an ew client with given RA and FN */ +/* create a new client with given RA and FN */ private function f_cid_create_cnr(uint8_t trx_nr, RslChannelNr chan_nr, RSL_DchanHdlr comp_ref) runs on RSL_Emulation_CT { var integer i; @@ -247,7 +247,7 @@ } -/* create an ew client with given RA and FN */ +/* delete client with given RA and FN */ private function f_cid_delete_cnr(IpaStreamId stream_id, RslChannelNr chan_nr, RSL_DchanHdlr comp_ref) runs on RSL_Emulation_CT return integer { var integer i; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 Gerrit-Change-Number: 18461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 ) Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata This would allow the RSL Emulation component to maintain several transceiver connections in server mode. In order to send an RSL message to a specific transceiver, its TCP/IP connection ID needs to be included in the ASP_RSL_Unitdata message. Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 19 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/18462/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 1833a89..e0063b2 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,18 +110,23 @@ #ifdef IPA_EMULATION_RSL /* like ASP_IPA_Unitdata, but with RSL_Message abstract type instead of octetstring */ type record ASP_RSL_Unitdata { + integer conn_id optional, IpaStreamId streamId, RSL_Message rsl }; template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl, - IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { + IpaStreamId sid := IPAC_PROTO_RSL_TRX0, + template (omit) integer conn_id := omit) := { + conn_id := conn_id, streamId := sid, rsl := rsl } template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl, - template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { + template IpaStreamId sid := IPAC_PROTO_RSL_TRX0, + template integer conn_id := *) := { + conn_id := conn_id, streamId := sid, rsl := rsl } @@ -479,8 +484,13 @@ #ifdef IPA_EMULATION_RSL private function f_from_rsl(IPL4asp_Types.ConnectionId connId, ASP_RSL_Unitdata rsl_tx) return IPA_Send { var octetstring payload := enc_RSL_Message(rsl_tx.rsl); - var IPA_Send ret := valueof(t_IPA_Send(connId, rsl_tx.streamId, payload)); - return ret; + + /* ASP_RSL_Unitdata may (optionally) contain TCP/IP connection ID */ + if (rsl_tx.conn_id != omit) { + connId := rsl_tx.conn_id; + } + + return valueof(t_IPA_Send(connId, rsl_tx.streamId, payload)); } #endif @@ -654,10 +664,11 @@ #endif #ifdef IPA_EMULATION_RSL case (t_IpaSidRSL) { - rsl := { - streamId := ipa_rx.streamId, - rsl := dec_RSL_Message(ipa_rx.msg) - }; + rsl := valueof(ts_ASP_RSL_UD( + sid := ipa_rx.streamId, + rsl := dec_RSL_Message(ipa_rx.msg), + conn_id := ipa_rx.connId + )); IPA_RSL_PORT.send(rsl); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... library/IPA_Emulation: server mode: also request IPA UnitID Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/18463/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index e0063b2..62a11b7 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -418,7 +418,8 @@ msg_type := IPAC_MSGT_ID_GET, u := { get := { - { 1, IPAC_IDTAG_UNITNAME } + { 1, IPAC_IDTAG_UNITNAME }, + { 1, IPAC_IDTAG_UNITID } } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 ) Change subject: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE ...................................................................... library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 33 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/18464/1 diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 62a11b7..d2f2102 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -79,25 +79,33 @@ type enumerated ASP_IPA_EventType { ASP_IPA_EVENT_DOWN, ASP_IPA_EVENT_UP, + ASP_IPA_EVENT_ID_RESP, ASP_IPA_EVENT_ID_ACK } /* an event indicating us whether or not a connection is physically up or down, - * and whether we have received an ID_ACK */ + * and whether we have received an ID_RESP or ID_ACK */ type record ASP_IPA_Event { ASP_IPA_EventType ev_type, - integer conn_id + integer conn_id, + + /* Presence of these fields depends on event type */ + IpaCcmIdResp id_resp optional // ASP_IPA_EVENT_ID_RESP } -template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, integer conn_id) := { +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, integer conn_id, + template (omit) IpaCcmIdResp id_resp := omit) := { ev_type := ev_type, - conn_id := conn_id + conn_id := conn_id, + id_resp := id_resp } template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ev_type, - template integer conn_id := ?) := { + template integer conn_id := ?, + template IpaCcmIdResp id_resp := *) := { ev_type := ev_type, - conn_id := conn_id + conn_id := conn_id, + id_resp := id_resp } template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl, @@ -424,6 +432,16 @@ } } +template PDU_IPA_CCM tr_IPA_ID_RESP := { + msg_type := IPAC_MSGT_ID_RESP, + u := { + resp := { + { ?, IPAC_IDTAG_UNITNAME, ? }, + { ?, IPAC_IDTAG_UNITID, ? } + } + } +} + /* receive IPA CCM message */ private function f_ccm_rx_client(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { select (ccm.msg_type) { @@ -458,6 +476,15 @@ } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); + + /* make sure that the response contains all fields we requested */ + if (not match(ccm, tr_IPA_ID_RESP)) { + log("IPA identity response ", ccm.u.resp, " mismatch"); + return; + } + + /* forward to the upper layers, so they can map conn_id with unit_id */ + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP, conn_id, ccm.u.resp)); /* acknowledge any identity that the client may have sent */ f_ccm_tx(valueof(ts_IPA_ACK), conn_id); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Gerrit-Change-Number: 18464 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:15:17 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 15:15:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... library/RSL_Emulation: server mode: handle multiple transceivers Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Related: OS#4546 --- M library/RSL_Emulation.ttcn 1 file changed, 79 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/18465/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index ffd60a7..6c595fa 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -314,6 +314,69 @@ } } +private function f_trx_conn_map_init() +runs on RSL_Emulation_CT { + for (var integer i := 0; i < sizeof(TrxConnMap); i := i + 1) { + TrxConnMap[i] := -1; + } +} + +private function f_trx_conn_map_register(integer conn_id, in IpaCcmIdResp id_resp) +runs on RSL_Emulation_CT { + var template charstring unit_id_fmt := pattern "(\d+)/(\d+)/(\d+)"; + var charstring unit_id; + var integer trx_nr; + + /* Check if we have room for a new connection */ + if (TrxConnNum >= sizeof(TrxConnMap)) { + testcase.stop("We cannot handle more than ", sizeof(TrxConnMap), " transceivers"); + } + + /* Find IPAC_IDTAG_UNITID in the IPA IDENTITY RESPONSE */ + for (var integer i := 0; i < sizeof(id_resp); i := i + 1) { + if (id_resp[i].tag == IPAC_IDTAG_UNITID) { + unit_id := oct2char(id_resp[i].data); + break; + } + + /* If this is the last element, nothing is found */ + if (i + 1 == sizeof(id_resp)) { + testcase.stop("IPA IDENTITY RESPONSE contains no unit-id"); + } + } + + /* Make sure that IPA unit-id is valid */ + if (not match(unit_id, unit_id_fmt)) { + testcase.stop("IPA unit-id has unknown/unexpected format"); + } + + /* Parse transceiver number (site/bts/trx) */ + unit_id := regexp(unit_id, unit_id_fmt, 2); + trx_nr := str2int(unit_id); + + if (trx_nr >= sizeof(TrxConnMap)) { + testcase.stop("Transceiver #", trx_nr, " does not fit"); + } else if (TrxConnMap[trx_nr] != -1) { + testcase.stop("Transceiver #", trx_nr, " is already connected?!?"); + } + + /* Finally, store the connection ID */ + log("Mapped TRX#", trx_nr, " to TCP/IP conn_id=", conn_id); + TrxConnMap[trx_nr] := conn_id; + TrxConnNum := TrxConnNum + 1; +} + +private function f_trx_conn_map_resolve(IpaStreamId id) +runs on RSL_Emulation_CT return integer { + var integer trx_nr := f_trx_by_streamId(id); + + if (TrxConnMap[trx_nr] == -1) { + testcase.stop("Transceiver #", trx_nr, " is not connected"); + } + + return TrxConnMap[trx_nr]; +} + type component RSL_Emulation_CT { /* port facing down towards IPA emulation */ port IPA_RSL_PT IPA_PT; @@ -329,6 +392,10 @@ /* last RSL CHAN ACT for each chan_nr */ var LastActData LastActTable[64]; + + /* IPA stream ID -> TCP/IP connection ID mapping for transceivers */ + var integer TrxConnNum := 0; /* number of connected transceivers */ + var integer TrxConnMap[4]; /* up to 4 transceivers for now */ } @@ -362,6 +429,7 @@ var boolean dchan_suspended := false; f_conn_table_init(); + f_trx_conn_map_init(); f_last_act_table_init(); while (true) { @@ -369,7 +437,15 @@ [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { - CCHAN_PT.send(evt); + log("A new IPA/RSL connection has been established (conn_id=", + evt.conn_id, "), waiting for IDENTITY RESPONSE..."); + } + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP)) -> value evt { + log("Got IDENTITY RESPONSE (conn_id=", evt.conn_id, "): ", evt.id_resp); + /* Update [ IPA stream ID -> TCP/IP connection ID ] mapping */ + f_trx_conn_map_register(evt.conn_id, evt.id_resp); + /* FIXME: craft and send our own event type with TRX number */ + CCHAN_PT.send(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP, evt.conn_id)); } [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); @@ -485,12 +561,14 @@ f_cid_create(chan_rqd.ra, chan_rqd.fn, vc_conn); } + /* RSL message from a component that runs on RSL_DchanHdlr */ [] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { /* forward to BSC */ cid := f_cid_by_comp_ref(vc_conn); IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } + /* RSL message from MTC */ [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:16:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:16:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 ) Change subject: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455/1/library/IPA_Emulation.ttcnpp File library/IPA_Emulation.ttcnpp: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455/1/library/IPA_Emulation.ttcnpp at 368 PS1, Line 368: case (IPAC_IDTAG_UNITID) { IPAC_IDTAG_UNIT_ID looks cleaner to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 Gerrit-Change-Number: 18455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 25 May 2020 15:16:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:18:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:18:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: cosmetic: fix template restrictions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 ) Change subject: library/IPA_Emulation: cosmetic: fix template restrictions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b Gerrit-Change-Number: 18456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:18:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:21:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:21:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 ) Change subject: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457/1/library/IPA_Emulation.ttcnpp File library/IPA_Emulation.ttcnpp: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457/1/library/IPA_Emulation.ttcnpp at 114 PS1, Line 114: IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { should this be valueof(IPAC_PROTO_RSL_TRX0)? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 Gerrit-Change-Number: 18457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:21:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:21:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:21:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 ) Change subject: BSC: use existing templates for ASP_RSL_Unitdata ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e Gerrit-Change-Number: 18458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:21:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:22:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:22:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 ) Change subject: BTS: use existing templates for ASP_RSL_Unitdata ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 Gerrit-Change-Number: 18459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:22:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:22:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:22:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: use existing tr_ASP_RSL_UD template In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 ) Change subject: library/RSL_Emulation: use existing tr_ASP_RSL_UD template ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f Gerrit-Change-Number: 18460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:22:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 15:23:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 15:23:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fix comments near f_cid_{create, delete}_cnr() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 ) Change subject: library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 Gerrit-Change-Number: 18461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 15:23:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:11:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 16:11:33 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support runing test with bidirectional data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 ) Change subject: iperf3: Support runing test with bidirectional data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 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: Ia6f12c65fd3ea26d412997741cb8685a9646af43 Gerrit-Change-Number: 18447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:11:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:11:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 16:11:40 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: Pass max bitrate to iperf3 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 ) Change subject: 4g: Pass max bitrate to iperf3 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 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: I631243cce132923d9024f8161cf96161c51cdae5 Gerrit-Change-Number: 18448 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:11:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:11:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 16:11:46 +0000 Subject: Change in osmo-gsm-tester[master]: config: suites_dir and scenarios_dir are now a list of paths In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 ) Change subject: config: suites_dir and scenarios_dir are now a list of paths ...................................................................... config: suites_dir and scenarios_dir are now a list of paths This allows inheriting suites or scenarios from eg. sysmocom/ dir, while still allowing to apply new suites and scenarios on top. Change-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 --- M doc/examples/2g_osmocom/main.conf M doc/examples/4g_srsLTE/main.conf M doc/manuals/chapters/config.adoc M selftest/resource_test/conf/paths.conf M selftest/resource_test/resource_test.ok M selftest/scenario_test/paths.conf M selftest/scenario_test/scenario_test.ok M selftest/suite_test/paths.conf M selftest/suite_test/suite_test.ok R selftest/suite_test/suitedirA/empty_dir/.unrelated_file R selftest/suite_test/suitedirA/test_suite/hello_world.py R selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py R selftest/suite_test/suitedirA/test_suite/mo_sms.py R selftest/suite_test/suitedirA/test_suite/suite.conf R selftest/suite_test/suitedirA/test_suite/test_error.py R selftest/suite_test/suitedirA/test_suite/test_fail.py R selftest/suite_test/suitedirA/test_suite/test_fail_raise.py R selftest/suite_test/suitedirA/test_suite/test_suite_params.py A selftest/suite_test/suitedirB/suiteB/suite.conf A selftest/suite_test/suitedirB/suiteB/test_success.py M src/osmo_gsm_tester/core/config.py M src/osmo_gsm_tester/core/scenario.py M src/osmo_gsm_tester/core/suite.py M sysmocom/main.conf M sysmocom/ttcn3/main.conf 25 files changed, 96 insertions(+), 55 deletions(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, approved diff --git a/doc/examples/2g_osmocom/main.conf b/doc/examples/2g_osmocom/main.conf index b810519..699c518 100644 --- a/doc/examples/2g_osmocom/main.conf +++ b/doc/examples/2g_osmocom/main.conf @@ -1,6 +1,6 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' +suites_dir: ['./suites'] +scenarios_dir: ['./scenarios'] default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' resource_conf_path: './resources.conf' diff --git a/doc/examples/4g_srsLTE/main.conf b/doc/examples/4g_srsLTE/main.conf index b810519..699c518 100644 --- a/doc/examples/4g_srsLTE/main.conf +++ b/doc/examples/4g_srsLTE/main.conf @@ -1,6 +1,6 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' +suites_dir: ['./suites'] +scenarios_dir: ['./scenarios'] default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' resource_conf_path: './resources.conf' diff --git a/doc/manuals/chapters/config.adoc b/doc/manuals/chapters/config.adoc index 17cf825..18ff55d 100644 --- a/doc/manuals/chapters/config.adoc +++ b/doc/manuals/chapters/config.adoc @@ -26,13 +26,19 @@ {app-name} expects to find the following configuration settings in 'main.conf': - 'state_dir': Path to <> directory -- 'suites_dir': Path to <> directory - 'trial_dir': Path to <> directory to test against (overridden by cmdline argument) -- 'scenarios_dir': Path to <> directory (optional) +- 'suites_dir': List of paths to <> directories. +- 'scenarios_dir': List of paths to <> directories (optional) - 'default_suites_conf_path': Path to <> file (optional) - 'defaults_conf_path': Path to <> file (optional) - 'resource_conf_path': Path to <> file (optional) +Configuration settings holding a list of paths, such as 'suites_dir' or +'scenarios_dir', are used to look up for paths in regular list of order, meaning +first paths in list take preference over last ones. As a result, if a suite +named 'A' is found in several paths, the one on the first path in the list will +be used. + These are described in detail in the following sections. If no value is provided for a given setting, sane default paths are used: For 'state_dir', '/var/tmp/osmo-gsm-tester/state/' is used. All other files and directories are @@ -45,8 +51,8 @@ .Sample main.conf file: ---- state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: '/usr/local/src/osmo-gsm-tester/suites' -scenarios_dir: './scenarios' +suites_dir: [ '/usr/local/src/osmo-gsm-tester/suites' ] +scenarios_dir: [ './scenarios' ] trial_dir: './trial' default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' diff --git a/selftest/resource_test/conf/paths.conf b/selftest/resource_test/conf/paths.conf index 0b2d035..3280a12 100644 --- a/selftest/resource_test/conf/paths.conf +++ b/selftest/resource_test/conf/paths.conf @@ -1,2 +1,2 @@ state_dir: ./test_work/state_dir -suites_dir: ./suite_test +suites_dir: ['./suite_test'] diff --git a/selftest/resource_test/resource_test.ok b/selftest/resource_test/resource_test.ok index 0ad760e..91acaaf 100644 --- a/selftest/resource_test/resource_test.ok +++ b/selftest/resource_test/resource_test.ok @@ -14,9 +14,9 @@ {'default_suites_conf_path': '[PATH]/selftest/resource_test/conf/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/resource_test/conf/defaults.conf', 'resource_conf_path': '[PATH]/selftest/resource_test/conf/resources.conf', - 'scenarios_dir': '[PATH]/selftest/resource_test/conf/scenarios', + 'scenarios_dir': ['[PATH]/selftest/resource_test/conf/scenarios'], 'state_dir': '[PATH]/selftest/resource_test/conf/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/resource_test/conf/suite_test', + 'suites_dir': ['[PATH]/selftest/resource_test/conf/suite_test'], 'trial_dir': '[PATH]/selftest/resource_test/conf/trial'} *** all resources: {'arfcn': [{'_hash': 'e620569450f8259b3f0212ec19c285dd07df063c', diff --git a/selftest/scenario_test/paths.conf b/selftest/scenario_test/paths.conf index c7df5ac..11e59bf 100644 --- a/selftest/scenario_test/paths.conf +++ b/selftest/scenario_test/paths.conf @@ -1,3 +1,3 @@ state_dir: ./test_work/state_dir -suites_dir: . -scenarios_dir: . +suites_dir: ['.'] +scenarios_dir: ['.'] diff --git a/selftest/scenario_test/scenario_test.ok b/selftest/scenario_test/scenario_test.ok index e845f4c..06db4f4 100644 --- a/selftest/scenario_test/scenario_test.ok +++ b/selftest/scenario_test/scenario_test.ok @@ -3,9 +3,9 @@ {'default_suites_conf_path': '[PATH]/selftest/scenario_test/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/scenario_test/defaults.conf', 'resource_conf_path': '[PATH]/selftest/scenario_test/resources.conf', - 'scenarios_dir': '[PATH]/selftest/scenario_test', + 'scenarios_dir': ['[PATH]/selftest/scenario_test'], 'state_dir': '[PATH]/selftest/scenario_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/scenario_test', + 'suites_dir': ['[PATH]/selftest/scenario_test'], 'trial_dir': '[PATH]/selftest/scenario_test/trial'} scenario_case_01.conf {'anotherlist': ['4', '0'], @@ -19,11 +19,11 @@ 'somelist': [{'somelistitem': 'firststring'}, {'somelistitem': 'secondstring'}, {'somelistitem': 'thirdstring'}]} -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_01 at .conf' (nor scenario_case_01 at .conf) +OK: expected RuntimeError: No such scenario file 'scenario_case_01 at .conf' (nor scenario_case_01 at .conf) in [[PATH]/selftest/scenario_test] OK: expected ValueError OK: expected ValueError -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' -OK: expected RuntimeError: No such scenario file: '[PATH]/selftest/scenario_test/scenario_case_03.conf' +OK: expected RuntimeError: No such scenario file scenario_case_03.conf in [[PATH]/selftest/scenario_test] +OK: expected RuntimeError: No such scenario file scenario_case_03.conf in [[PATH]/selftest/scenario_test] tst scenario_case_03 at heyho,1,yes.conf: DBG: {param_dict={param1='heyho', param2='1', param3='yes'}} scenario_case_03 at heyho,1,yes.conf {'anotherlist': ['1', '0'], diff --git a/selftest/suite_test/paths.conf b/selftest/suite_test/paths.conf index 2b0a274..a2f9124 100644 --- a/selftest/suite_test/paths.conf +++ b/selftest/suite_test/paths.conf @@ -1,2 +1,2 @@ state_dir: ./test_work/state_dir -suites_dir: . +suites_dir: ['suitedirA', 'suitedirB'] diff --git a/selftest/suite_test/suite_test.ok b/selftest/suite_test/suite_test.ok index d55317b..fee07d0 100644 --- a/selftest/suite_test/suite_test.ok +++ b/selftest/suite_test/suite_test.ok @@ -4,14 +4,15 @@ {'default_suites_conf_path': '[PATH]/selftest/suite_test/default-suites.conf', 'defaults_conf_path': '[PATH]/selftest/suite_test/defaults.conf', 'resource_conf_path': '[PATH]/selftest/suite_test/resources.conf', - 'scenarios_dir': '[PATH]/selftest/suite_test/scenarios', + 'scenarios_dir': ['[PATH]/selftest/suite_test/scenarios'], 'state_dir': '[PATH]/selftest/suite_test/test_work/state_dir', - 'suites_dir': '[PATH]/selftest/suite_test', + 'suites_dir': ['[PATH]/selftest/suite_test/suitedirA', + '[PATH]/selftest/suite_test/suitedirB'], 'trial_dir': '[PATH]/selftest/suite_test/trial'} ---- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [PATH]/selftest/suite_test +--- -: ERR: RuntimeError: Suite not found: 'does_not_exist' in [[PATH]/selftest/suite_test/suitedirA, [PATH]/selftest/suite_test/suitedirB] - no suite.conf cnf empty_dir: DBG: reading suite.conf -cnf [PATH]/selftest/suite_test/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/empty_dir/suite.conf' [empty_dir?[PATH]/selftest/suite_test/empty_dir/suite.conf] +cnf [PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf: ERR: FileNotFoundError: [Errno 2] No such file or directory: '[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf' [empty_dir?[PATH]/selftest/suite_test/suitedirA/empty_dir/suite.conf] - valid suite dir cnf test_suite: DBG: reading suite.conf defaults: diff --git a/selftest/suite_test/empty_dir/.unrelated_file b/selftest/suite_test/suitedirA/empty_dir/.unrelated_file similarity index 100% rename from selftest/suite_test/empty_dir/.unrelated_file rename to selftest/suite_test/suitedirA/empty_dir/.unrelated_file diff --git a/selftest/suite_test/test_suite/hello_world.py b/selftest/suite_test/suitedirA/test_suite/hello_world.py similarity index 100% rename from selftest/suite_test/test_suite/hello_world.py rename to selftest/suite_test/suitedirA/test_suite/hello_world.py diff --git a/selftest/suite_test/test_suite/mo_mt_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py similarity index 100% rename from selftest/suite_test/test_suite/mo_mt_sms.py rename to selftest/suite_test/suitedirA/test_suite/mo_mt_sms.py diff --git a/selftest/suite_test/test_suite/mo_sms.py b/selftest/suite_test/suitedirA/test_suite/mo_sms.py similarity index 100% rename from selftest/suite_test/test_suite/mo_sms.py rename to selftest/suite_test/suitedirA/test_suite/mo_sms.py diff --git a/selftest/suite_test/test_suite/suite.conf b/selftest/suite_test/suitedirA/test_suite/suite.conf similarity index 100% rename from selftest/suite_test/test_suite/suite.conf rename to selftest/suite_test/suitedirA/test_suite/suite.conf diff --git a/selftest/suite_test/test_suite/test_error.py b/selftest/suite_test/suitedirA/test_suite/test_error.py similarity index 100% rename from selftest/suite_test/test_suite/test_error.py rename to selftest/suite_test/suitedirA/test_suite/test_error.py diff --git a/selftest/suite_test/test_suite/test_fail.py b/selftest/suite_test/suitedirA/test_suite/test_fail.py similarity index 100% rename from selftest/suite_test/test_suite/test_fail.py rename to selftest/suite_test/suitedirA/test_suite/test_fail.py diff --git a/selftest/suite_test/test_suite/test_fail_raise.py b/selftest/suite_test/suitedirA/test_suite/test_fail_raise.py similarity index 100% rename from selftest/suite_test/test_suite/test_fail_raise.py rename to selftest/suite_test/suitedirA/test_suite/test_fail_raise.py diff --git a/selftest/suite_test/test_suite/test_suite_params.py b/selftest/suite_test/suitedirA/test_suite/test_suite_params.py similarity index 100% rename from selftest/suite_test/test_suite/test_suite_params.py rename to selftest/suite_test/suitedirA/test_suite/test_suite_params.py diff --git a/selftest/suite_test/suitedirB/suiteB/suite.conf b/selftest/suite_test/suitedirB/suiteB/suite.conf new file mode 100644 index 0000000..3645cd9 --- /dev/null +++ b/selftest/suite_test/suitedirB/suiteB/suite.conf @@ -0,0 +1,4 @@ +resources: + +defaults: + timeout: 60s diff --git a/selftest/suite_test/suitedirB/suiteB/test_success.py b/selftest/suite_test/suitedirB/suiteB/test_success.py new file mode 100755 index 0000000..97bb915 --- /dev/null +++ b/selftest/suite_test/suitedirB/suiteB/test_success.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +print('I am %r / %r' % (tenv.suite().name(), test.name())) + diff --git a/src/osmo_gsm_tester/core/config.py b/src/osmo_gsm_tester/core/config.py index 9380cca..398e8ba 100644 --- a/src/osmo_gsm_tester/core/config.py +++ b/src/osmo_gsm_tester/core/config.py @@ -71,8 +71,8 @@ CFG_RESOURCES_CONF = 'resource_conf_path' MAIN_CONFIG_SCHEMA = { CFG_STATE_DIR: schema.STR, - CFG_SUITES_DIR: schema.STR, - CFG_SCENARIOS_DIR: schema.STR, + CFG_SUITES_DIR + '[]': schema.STR, + CFG_SCENARIOS_DIR + '[]': schema.STR, CFG_TRIAL_DIR: schema.STR, CFG_DEFAULT_SUITES_CONF: schema.STR, CFG_DEFAULTS_CONF: schema.STR, @@ -80,8 +80,8 @@ } DF_CFG_STATE_DIR = '/var/tmp/osmo-gsm-tester/state/' -DF_CFG_SUITES_DIR = './suites' -DF_CFG_SCENARIOS_DIR = './scenarios' +DF_CFG_SUITES_DIR = ['./suites'] +DF_CFG_SCENARIOS_DIR = ['./scenarios'] DF_CFG_TRIAL_DIR = './trial' DF_CFG_DEFAULT_SUITES_CONF = './default-suites.conf' DF_CFG_DEFAULTS_CONF = './defaults.conf' @@ -122,11 +122,16 @@ MAIN_CONFIG_PATH = _find_main_config_path() return MAIN_CONFIG_PATH -def main_config_path_to_abspath(path): +def main_config_path_to_abspath(val): 'Relative files in main config are relative towards the config file, not towards $CWD' - if not path.startswith(os.pathsep): - return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), path)) - return path + # If val is a list of paths, recurse to translate its paths. + if isinstance(val, list): + for i in range(len(val)): + val[i] = main_config_path_to_abspath(val[i]) + return val + if not val.startswith(os.pathsep): + return os.path.realpath(os.path.join(os.path.dirname(_get_main_config_path()), val)) + return val def _get_main_config(): global MAIN_CONFIG @@ -169,11 +174,11 @@ def get_state_dir(): return Dir(get_main_config_value(CFG_STATE_DIR)) -def get_suites_dir(): - return Dir(get_main_config_value(CFG_SUITES_DIR)) +def get_suites_dirs(): + return [Dir(d) for d in get_main_config_value(CFG_SUITES_DIR)] -def get_scenarios_dir(): - return Dir(get_main_config_value(CFG_SCENARIOS_DIR)) +def get_scenarios_dirs(): + return [Dir(d) for d in get_main_config_value(CFG_SCENARIOS_DIR)] DEFAULTS_CONF = None def get_defaults(for_kind): diff --git a/src/osmo_gsm_tester/core/scenario.py b/src/osmo_gsm_tester/core/scenario.py index efa045b..83ce490 100644 --- a/src/osmo_gsm_tester/core/scenario.py +++ b/src/osmo_gsm_tester/core/scenario.py @@ -88,25 +88,41 @@ self.update(conf) def get_scenario(name, validation_schema=None): - scenarios_dir = config.get_scenarios_dir() + found = False + path = None + param_list = [] if not name.endswith('.conf'): name = name + '.conf' is_parametrized_file = '@' in name - param_list = [] - path = scenarios_dir.child(name) if not is_parametrized_file: - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r' % path) + scenarios_dirs = config.get_scenarios_dirs() + for d in scenarios_dirs: + path = d.child(name) + if os.path.isfile(path): + found = True + break + if not found: + raise RuntimeError('No such scenario file %s in %r' % (name, scenarios_dirs)) sc = Scenario(name, path) else: # parametrized scenario: # Allow first matching complete matching names (eg: scenario at param1,param2.conf), # this allows setting specific content in different files for specific values. - if not os.path.isfile(path): + scenarios_dirs = config.get_scenarios_dirs() + for d in scenarios_dirs: + path = d.child(name) + if os.path.isfile(path): + found = True + break + if not found: # get "scenario at .conf" from "scenario at param1,param2.conf": - prefix_name = name[:name.index("@")+1] + '.conf' - path = scenarios_dir.child(prefix_name) - if not os.path.isfile(path): - raise RuntimeError('No such scenario file: %r (nor %s)' % (path, name)) + for d in scenarios_dirs: + prefix_name = name[:name.index("@")+1] + '.conf' + path = d.child(prefix_name) + if os.path.isfile(path): + found = True + break + if not found: + raise RuntimeError('No such scenario file %r (nor %s) in %r' % (name, prefix_name, scenarios_dirs)) # At this point, we have existing file path. Let's now scrap the parameter(s): # get param1,param2 str from scenario at param1,param2.conf param_list_str = name.split('@', 1)[1][:-len('.conf')] diff --git a/src/osmo_gsm_tester/core/suite.py b/src/osmo_gsm_tester/core/suite.py index a6eaca2..c55c5e9 100644 --- a/src/osmo_gsm_tester/core/suite.py +++ b/src/osmo_gsm_tester/core/suite.py @@ -232,12 +232,16 @@ if suite is not None: return suite - suites_dir = config.get_suites_dir() - suite_dir = suites_dir.child(suite_name) - if not suites_dir.exists(suite_name): - raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dir)) - if not suites_dir.isdir(suite_name): - raise RuntimeError('Suite name found, but not a directory: %r' % (suite_dir)) + suites_dirs = config.get_suites_dirs() + suite_dir = None + found = False + for d in suites_dirs: + suite_dir = d.child(suite_name) + if d.exists(suite_name) and d.isdir(suite_name): + found = True + break + if not found: + raise RuntimeError('Suite not found: %r in %r' % (suite_name, suites_dirs)) suite_def = SuiteDefinition(suite_dir) loaded_suite_definitions[suite_name] = suite_def diff --git a/sysmocom/main.conf b/sysmocom/main.conf index b810519..699c518 100644 --- a/sysmocom/main.conf +++ b/sysmocom/main.conf @@ -1,6 +1,6 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' +suites_dir: ['./suites'] +scenarios_dir: ['./scenarios'] default_suites_conf_path: './default-suites.conf' defaults_conf_path: './defaults.conf' resource_conf_path: './resources.conf' diff --git a/sysmocom/ttcn3/main.conf b/sysmocom/ttcn3/main.conf index 9f38b4e..e4a12d1 100644 --- a/sysmocom/ttcn3/main.conf +++ b/sysmocom/ttcn3/main.conf @@ -1,6 +1,6 @@ state_dir: '/var/tmp/osmo-gsm-tester/state' -suites_dir: './suites' -scenarios_dir: './scenarios' +suites_dir: ['./suites'] +scenarios_dir: ['./scenarios'] default_suites_conf_path: './default-suites.conf' defaults_conf_path: '../defaults.conf' resource_conf_path: './resources.conf' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18446 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: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96 Gerrit-Change-Number: 18446 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:11:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 16:11:47 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3: Support runing test with bidirectional data In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 ) Change subject: iperf3: Support runing test with bidirectional data ...................................................................... iperf3: Support runing test with bidirectional data Change-Id: Ia6f12c65fd3ea26d412997741cb8685a9646af43 --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/suites/4g/handover.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py M sysmocom/suites/gprs/lib/testlib.py 7 files changed, 25 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index bcc569a..66d75bb 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(True, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index a92a658..7dca127 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 9c05d44..04aac47 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -193,6 +193,10 @@ PROTO_TCP = "tcp" PROTO_UDP = "udp" + DIR_UL = "ul" + DIR_DL = "dl" + DIR_BI = "bi" + @classmethod def validate_protocol(cls, val): return val in (cls.PROTO_TCP, cls.PROTO_UDP) @@ -215,9 +219,13 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, downlink=False, netns=None, time_sec=None, proto=None): + def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None): values = config.get_defaults('iperf3cli') config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) + + if dir is None: + dir = self.DIR_UL + if time_sec is None: time_sec_str = values.get('time', time_sec) @@ -239,11 +247,11 @@ self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) else: - return self.prepare_test_proc_remotely(downlink, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) - def prepare_test_proc_remotely(self, downlink, netns, time_sec, use_udp): + def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -257,8 +265,10 @@ '-t', str(time_sec)) if self.logfile_supported: popen_args += ('--logfile', self.remote_log_file,) - if downlink: + if dir == IPerf3Client.DIR_DL: popen_args += ('-R',) + elif dir == IPerf3Client.DIR_BI: + popen_args += ('--bidir',) if use_udp: popen_args += ('-u', '-b', '0') @@ -268,7 +278,7 @@ self.process = self.rem_host.RemoteProcess(self.name(), popen_args, env={}) return self.process - def prepare_test_proc_locally(self, downlink, netns, time_sec, use_udp): + def prepare_test_proc_locally(self, dir, netns, time_sec, use_udp): pcap_recorder.PcapRecorder(self.testenv, self.run_dir.new_dir('pcap'), None, 'host %s and port not 22' % self.server.addr(), netns) @@ -277,8 +287,10 @@ '-t', str(time_sec)) if self.logfile_supported: popen_args += ('--logfile', os.path.abspath(self.log_file),) - if downlink: + if dir == IPerf3Client.DIR_DL: popen_args += ('-R',) + elif dir == IPerf3Client.DIR_BI: + popen_args += ('--bidir',) if use_udp: popen_args += ('-u', '-b', '0') diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index a503465..b0837d8 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -43,7 +43,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns(), duration + 30) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), duration + 30) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index bcc569a..66d75bb 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(True, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index a92a658..7dca127 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -21,7 +21,7 @@ ue.connect(enb) iperf3srv.start() -proc = iperf3cli.prepare_test_proc(False, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) print('waiting for UE to attach...') wait(ue.is_connected, None) diff --git a/sysmocom/suites/gprs/lib/testlib.py b/sysmocom/suites/gprs/lib/testlib.py index 765f463..1421229 100644 --- a/sysmocom/suites/gprs/lib/testlib.py +++ b/sysmocom/suites/gprs/lib/testlib.py @@ -10,7 +10,7 @@ procs = [] for i in range(len(iperf3clients)): print("Running iperf3 client to %s through %r" % (str(iperf3clients[i]), repr(ms_li[i].tmp_ctx_id))) - procs.append(iperf3clients[i].prepare_test_proc(False, ms_li[i].netns())) + procs.append(iperf3clients[i].prepare_test_proc(iperf3clients[i].DIR_UL, ms_li[i].netns())) try: for proc in procs: proc.launch() -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18447 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: Ia6f12c65fd3ea26d412997741cb8685a9646af43 Gerrit-Change-Number: 18447 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:11:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 16:11:47 +0000 Subject: Change in osmo-gsm-tester[master]: 4g: Pass max bitrate to iperf3 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 ) Change subject: 4g: Pass max bitrate to iperf3 ...................................................................... 4g: Pass max bitrate to iperf3 Otherwise bitrate 0 (unlimited) does weird stuff, like iperf3 hanging forever in DL. Change-Id: I631243cce132923d9024f8161cf96161c51cdae5 --- M doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py M doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py M src/osmo_gsm_tester/obj/iperf3.py M sysmocom/suites/4g/iperf3_dl.py M sysmocom/suites/4g/iperf3_ul.py 5 files changed, 17 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py index 66d75bb..d90c80b 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_dl.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=True) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py index 7dca127..453cdfa 100755 --- a/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py +++ b/doc/examples/4g_srsLTE/suites/4g/iperf3_ul.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=False) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/src/osmo_gsm_tester/obj/iperf3.py b/src/osmo_gsm_tester/obj/iperf3.py index 04aac47..70fceff 100644 --- a/src/osmo_gsm_tester/obj/iperf3.py +++ b/src/osmo_gsm_tester/obj/iperf3.py @@ -219,7 +219,7 @@ locally = not self._run_node or self._run_node.is_local() return locally - def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None): + def prepare_test_proc(self, dir=None, netns=None, time_sec=None, proto=None, bitrate=0): values = config.get_defaults('iperf3cli') config.overlay(values, self.testenv.suite().config().get('iperf3cli', {})) @@ -247,11 +247,11 @@ self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.log_file = self.run_dir.new_file(IPerf3Client.LOGFILE) if self.runs_locally(): - return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_locally(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate) else: - return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP) + return self.prepare_test_proc_remotely(dir, netns, time_sec, proto == IPerf3Client.PROTO_UDP, bitrate) - def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp): + def prepare_test_proc_remotely(self, dir, netns, time_sec, use_udp, bitrate): self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(IPerf3Client.REMOTE_DIR) @@ -270,7 +270,7 @@ elif dir == IPerf3Client.DIR_BI: popen_args += ('--bidir',) if use_udp: - popen_args += ('-u', '-b', '0') + popen_args += ('-u', '-b', str(bitrate)) if netns: self.process = self.rem_host.RemoteNetNSProcess(self.name(), netns, popen_args, env={}) diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index 66d75bb..d90c80b 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/suites/4g/iperf3_dl.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=True) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_DL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=True) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='dl_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 7dca127..453cdfa 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/suites/4g/iperf3_ul.py @@ -20,8 +20,10 @@ ue.connect(enb) +max_rate = enb.ue_max_rate(downlink=False) + iperf3srv.start() -proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns()) +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), bitrate=max_rate) print('waiting for UE to attach...') wait(ue.is_connected, None) @@ -34,7 +36,6 @@ iperf3cli.print_results() iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) -max_rate = enb.ue_max_rate(downlink=False) res_str = ue.verify_metric(max_rate * 0.8, operation='avg', metric='ul_brate', criterion='gt') print(res_str) test.set_report_stdout(res_str) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18448 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: I631243cce132923d9024f8161cf96161c51cdae5 Gerrit-Change-Number: 18448 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:16:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:16:10 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Fix missing LF at end of log output in process_do_rx_da() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18466 ) Change subject: simtrace2: Fix missing LF at end of log output in process_do_rx_da() ...................................................................... simtrace2: Fix missing LF at end of log output in process_do_rx_da() Change-Id: I9ecda9f47711e24bf5d3d57e3d9e117add29f4cc --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/66/18466/1 diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index f84db9d..ea89a82 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -95,7 +95,7 @@ struct frontend_tpdu ftpdu; int rc; - LOGCI(ci, LOGL_DEBUG, "SIMtrace => DATA: flags=%x, %s: ", data->flags, + LOGCI(ci, LOGL_DEBUG, "SIMtrace => DATA: flags=%x, %s\n", data->flags, osmo_hexdump(data->data, data->data_len)); /* parse the APDU data in the USB message */ -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I9ecda9f47711e24bf5d3d57e3d9e117add29f4cc Gerrit-Change-Number: 18466 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:16:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:16:10 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Set transp->udp_fd to -1 to indicate USB transport References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18467 ) Change subject: simtrace2: Set transp->udp_fd to -1 to indicate USB transport ...................................................................... simtrace2: Set transp->udp_fd to -1 to indicate USB transport Change-Id: Ie97f1d449509777661f7fcc2bd0c799711861184 --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/67/18467/1 diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index ea89a82..39e6b32 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -411,6 +411,7 @@ ifm->addr = cfg->usb.addr; if (cfg->usb.path) osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); + transp->udp_fd = -1; transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); if (!transp->usb_devh) { fprintf(stderr, "can't open USB device\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie97f1d449509777661f7fcc2bd0c799711861184 Gerrit-Change-Number: 18467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:16:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:16:51 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Fix missing LF at end of log output in process_do_rx_da() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18466 ) Change subject: simtrace2: Fix missing LF at end of log output in process_do_rx_da() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I9ecda9f47711e24bf5d3d57e3d9e117add29f4cc Gerrit-Change-Number: 18466 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 25 May 2020 16:16:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:16:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:16:59 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Set transp->udp_fd to -1 to indicate USB transport In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18467 ) Change subject: simtrace2: Set transp->udp_fd to -1 to indicate USB transport ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie97f1d449509777661f7fcc2bd0c799711861184 Gerrit-Change-Number: 18467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 25 May 2020 16:16:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:17:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 16:17:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 ) Change subject: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457/1/library/IPA_Emulation.ttcnpp File library/IPA_Emulation.ttcnpp: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457/1/library/IPA_Emulation.ttcnpp at 114 PS1, Line 114: IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { > should this be valueof(IPAC_PROTO_RSL_TRX0)? No, because IPAC_PROTO_RSL_TRX0 is a value itself, not a template. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 Gerrit-Change-Number: 18457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:17:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:17:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:17:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 ) Change subject: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 Gerrit-Change-Number: 18455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:17:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:18:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:18:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: cosmetic: fix template restrictions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 ) Change subject: library/IPA_Emulation: cosmetic: fix template restrictions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b Gerrit-Change-Number: 18456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:18:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:18:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 16:18:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 ) Change subject: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455/1/library/IPA_Emulation.ttcnpp File library/IPA_Emulation.ttcnpp: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455/1/library/IPA_Emulation.ttcnpp at 368 PS1, Line 368: case (IPAC_IDTAG_UNITID) { > IPAC_IDTAG_UNIT_ID looks cleaner to me. Yep, to me too. But this naming is consistent (see IPAC_IDTAG_SERNR, IPAC_IDTAG_IPADDR). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 Gerrit-Change-Number: 18455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:18:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 ) Change subject: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 Gerrit-Change-Number: 18457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:19:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 ) Change subject: library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g ...................................................................... library/IPA_Types: cosmetic: s/IPAC_IDTAG_UNIT/IPAC_IDTAG_UNITID/g Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 --- M library/IPA_Emulation.ttcnpp M library/IPA_Types.ttcn 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 0edc0a7..8954f71 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -365,7 +365,7 @@ case (IPAC_IDTAG_MACADDR) { foo := g_ccm_pars.mac_addr; } - case (IPAC_IDTAG_UNIT) { + case (IPAC_IDTAG_UNITID) { foo := g_ccm_pars.unit_id; } case (IPAC_IDTAG_OSMO_RAND) { diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index e232aeb..ce6f9b6 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -86,7 +86,7 @@ IPAC_IDTAG_SWVERSION ('05'H), IPAC_IDTAG_IPADDR ('06'H), IPAC_IDTAG_MACADDR ('07'H), - IPAC_IDTAG_UNIT ('08'H), + IPAC_IDTAG_UNITID ('08'H), IPAC_IDTAG_OSMO_RAND ('23'H) } with { variant "FIELDLENGTH(8)" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iec9cbbea9d38813f0cd3b98fb6b252111d150220 Gerrit-Change-Number: 18455 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: cosmetic: fix template restrictions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 ) Change subject: library/IPA_Emulation: cosmetic: fix template restrictions ...................................................................... library/IPA_Emulation: cosmetic: fix template restrictions Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b --- M library/IPA_Emulation.ttcnpp 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 8954f71..1bfc8dc 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,12 +110,12 @@ RSL_Message rsl }; -template ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template RSL_Message rsl) := { +template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template (value) RSL_Message rsl) := { streamId := sid, - rsl := valueof(rsl) + rsl := rsl } -template ASP_RSL_Unitdata tr_ASP_RSL_UD(IpaStreamId sid, template RSL_Message rsl) := { +template ASP_RSL_Unitdata tr_ASP_RSL_UD(template IpaStreamId sid, template RSL_Message rsl) := { streamId := sid, rsl := rsl } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I375d1b50491ff0c848088277a86dc061be0a943b Gerrit-Change-Number: 18456 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 ) Change subject: library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates ...................................................................... library/IPA_Emulation: assume TRX#0 in ASP_RSL_Unitdata templates Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_CBSP.ttcn M library/IPA_Emulation.ttcnpp M library/RSL_Emulation.ttcn M selftest/Selftest.ttcn 5 files changed, 37 insertions(+), 45 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index bcefe67..48766f1 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -228,7 +228,7 @@ alt { [] IPA_RSL[i].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { T.stop; - IPA_RSL[i].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); + IPA_RSL[i].send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [] IPA_RSL[i].receive(ASP_IPA_Event:?) { repeat } [] IPA_RSL[i].receive { repeat } @@ -398,7 +398,7 @@ T.start; alt { - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(sid, t_rx)) -> value rx_rsl_ud { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(t_rx, sid)) -> value rx_rsl_ud { T.stop; } [] IPA_RSL[bts_nr].receive { repeat; } @@ -413,7 +413,7 @@ /* helper function to transmit RSL on a given BTS/stream */ function f_ipa_tx(integer bts_nr, template RSL_Message t_tx, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) runs on test_CT { - IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(sid, t_tx)); + IPA_RSL[bts_nr].send(ts_ASP_RSL_UD(t_tx, sid)); } @@ -424,7 +424,7 @@ f_init(1); - IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23))); + IPA_RSL[0].send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD('23'O, 23))); rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); setverdict(pass); } @@ -438,7 +438,7 @@ f_init(1); chreq_total := f_ctrl_get_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total"); - IPA_RSL[0].send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_CHAN_RQD('23'O, 23))); + IPA_RSL[0].send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD('23'O, 23))); rsl_unused := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); f_ctrl_get_exp_ratectr_abs(IPA_CTRL, "bts", 0, "chreq:total", chreq_total+1); @@ -554,11 +554,10 @@ f_ipa_tx(0, ts_RSL_CHAN_RQD('42'O, 42)); alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) { setverdict(fail, "Received CHAN ACT ACK without resources?!?"); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_IMM_ASSIGN(?))) -> value rsl_ud { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN(?))) -> value rsl_ud { var GsmRrMessage rr; /* match on IMM ASS REJ */ rr := dec_GsmRrMessage(rsl_ud.rsl.ies[1].body.full_imm_ass_info.payload); @@ -590,13 +589,11 @@ /* Expect CHANnel RELease */ alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { log("Received CHANnel RELease"); setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_IMM_ASSIGN(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN(?))) { /* See OS#3709, OsmoBSC should not send Immediate * Assignment Reject since a dedicated channel was * already allocated, and Immediate Assignment was @@ -926,21 +923,19 @@ log("f_expect_chan_rel() expecting: expect_deact_sacch=", expect_deact_sacch, " expect_rr_chan_rel=", expect_rr_chan_rel, " expect_rll_rel_req=", expect_rll_rel_req); alt { - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_DEACT_SACCH(rsl_chan_nr))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DEACT_SACCH(rsl_chan_nr))) { got_deact_sacch := true; repeat; } - [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { + [is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE_CSFB))) { got_rr_chan_rel := true; repeat; } - [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { + [not is_csfb] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(rsl_chan_nr, ?, decmatch tr_RRM_RR_RELEASE))) { got_rr_chan_rel := true; repeat; } - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_REL_REQ(rsl_chan_nr, ?))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_REL_REQ(rsl_chan_nr, ?))) { got_rll_rel_req := true; /* FIXME: Why are we getting this for LinkID SACCH? */ if (handle_rll_rel) { @@ -948,13 +943,12 @@ } repeat; } - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL))) { /* respond with CHAN REL ACK */ f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(rsl_chan_nr)); } /* ignore any user data */ - [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_MsgTypeR(?))) { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeR(?))) { repeat; } } @@ -1348,7 +1342,7 @@ } T.start; alt { - [] IPA_RSL[i].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(mi))) { + [] IPA_RSL[i].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(mi))) { setverdict(fail, "Paging on BTS ", i, " which is not part of ", bts_ids); } [] IPA_RSL[i].receive { repeat; } @@ -1524,7 +1518,7 @@ T.start; T_retrans.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after LOAD_IND(0)"); mtc.stop; } @@ -1607,15 +1601,15 @@ /* Wait for 3 seconds if any more PAGING CMD are received on RSL */ T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } - [] IPA_RSL[1].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } - [] IPA_RSL[2].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_PAGING_CMD(?))) { + [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?))) { setverdict(fail, "Received PAGING after A-RESET"); mtc.stop; } diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index ff054fe..baba4c0 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -537,7 +537,7 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(dt.rsl_chan_nr, ?, ?))) -> value rx_rsl_ud { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_DATA_REQ(dt.rsl_chan_nr, ?, ?))) -> value rx_rsl_ud { var RSL_IE_Body l3_ie; if (f_rsl_find_ie(rx_rsl_ud.rsl, RSL_IE_L3_INFO, l3_ie) == false) { setverdict(fail, "RSL DATA REQ without L3?"); @@ -575,11 +575,10 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } @@ -605,11 +604,10 @@ timer T := 5.0; T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), tr_apdu))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } @@ -621,11 +619,10 @@ /* then expect it to be disabled after the warning period (5s) */ T.start; alt { - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(t_RslChanNr_PCH_AGCH(0), ''O))) { setverdict(pass); } - [] IPA_RSL[0].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_OSMO_ETWS_CMD(?,?))) { + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr_RSL_OSMO_ETWS_CMD(?,?))) { setverdict(fail, "Received unexpected OSMO_ETWS_CMD"); } [] IPA_RSL[0].receive { repeat; } diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 1bfc8dc..0125c3a 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,12 +110,14 @@ RSL_Message rsl }; -template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(IpaStreamId sid, template (value) RSL_Message rsl) := { +template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl, + IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { streamId := sid, rsl := rsl } -template ASP_RSL_Unitdata tr_ASP_RSL_UD(template IpaStreamId sid, template RSL_Message rsl) := { +template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl, + template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { streamId := sid, rsl := rsl } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 5a0816f..67a473f 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -385,7 +385,7 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); } [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { - IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0,ts_RSL_PAGING_LOAD_IND(23))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { @@ -460,7 +460,7 @@ chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); - IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, ts_RSL_CHAN_ACT_ACK(chan_nr, 23))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } [not dchan_suspended] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { @@ -483,8 +483,7 @@ [bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn { /* Store the knowledge that this sender has requested a certain RQ+time */ f_cid_create(chan_rqd.ra, chan_rqd.fn, vc_conn); - IPA_PT.send(ts_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, - ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn))); + IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_RQD(chan_rqd.ra, chan_rqd.fn))); } [not bts_role] CLIENT_PT.receive(RSLDC_ChanRqd:?) -> value chan_rqd sender vc_conn { @@ -495,11 +494,11 @@ [] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { /* forward to BSC */ cid := f_cid_by_comp_ref(vc_conn); - IPA_PT.send(ts_ASP_RSL_UD(ConnectionTable[cid].stream_id, rx_rsl_msg)); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } [] CCHAN_PT.receive(tr_RSL(?)) -> value rx_rsl { - IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.streamId, rx_rsl.rsl)); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } /* explicit registration, e.g. in (non-immediate) assignment case */ diff --git a/selftest/Selftest.ttcn b/selftest/Selftest.ttcn index 263c317..3d74925 100644 --- a/selftest/Selftest.ttcn +++ b/selftest/Selftest.ttcn @@ -89,7 +89,7 @@ T.timeout; for (i := 0; i < 10; i := i+1) { - IPA_RSL.receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, rsl)); + IPA_RSL.receive(tr_ASP_RSL_UD(rsl)); } setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93297680a2644516870222c2bb8eee03c6b575a9 Gerrit-Change-Number: 18457 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 ) Change subject: BSC: use existing templates for ASP_RSL_Unitdata ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e Gerrit-Change-Number: 18458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:19:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 ) Change subject: BTS: use existing templates for ASP_RSL_Unitdata ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 Gerrit-Change-Number: 18459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:19:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BSC: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 ) Change subject: BSC: use existing templates for ASP_RSL_Unitdata ...................................................................... BSC: use existing templates for ASP_RSL_Unitdata Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e --- M bsc/BSC_Tests_CBSP.ttcn 1 file changed, 15 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn index baba4c0..94167ce 100644 --- a/bsc/BSC_Tests_CBSP.ttcn +++ b/bsc/BSC_Tests_CBSP.ttcn @@ -71,23 +71,23 @@ } private altstep as_IgnRSL(template RSL_Message tr) runs on cbsp_test_CT { -[] IPA_RSL[0].receive(tr_RSL_UD(tr)) { repeat; } -[] IPA_RSL[1].receive(tr_RSL_UD(tr)) { repeat; } -[] IPA_RSL[2].receive(tr_RSL_UD(tr)) { repeat; } +[] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) { repeat; } +[] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) { repeat; } +[] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) { repeat; } } private altstep as_FailRSL() runs on cbsp_test_CT { var template RSL_Message tr := (tr_RSL_SMSCB_CMD); var ASP_RSL_Unitdata rx; -[] IPA_RSL[0].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } -[] IPA_RSL[1].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } -[] IPA_RSL[2].receive(tr_RSL_UD(tr)) -> value rx { +[] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) -> value rx { setverdict(fail, "Received unexpected RSL ", rx); mtc.stop; } @@ -276,11 +276,6 @@ } } -private template (present) ASP_RSL_Unitdata tr_RSL_UD(template (present) RSL_Message rsl) := { - streamId := ?, - rsl := rsl -} - template (present) RSL_IE_CbCommandType tr_RslCbCmdType(template (present) uint2_t lblock := ?, template (present) RSL_CbCommand cmd := ?) := { command := cmd, @@ -357,9 +352,9 @@ var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); interleave { - [] IPA_RSL[0].receive(tr_RSL_UD(tr)) {} - [] IPA_RSL[1].receive(tr_RSL_UD(tr)) {} - [] IPA_RSL[2].receive(tr_RSL_UD(tr)) {} + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)) {} + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)) {} + [] IPA_RSL[2].receive(tr_ASP_RSL_UD(tr)) {} } } @@ -372,7 +367,7 @@ f_cbsp_write(2, 1002, cell_list, content:=pages, success_list:=cell_list, fail_list:=omit); var template RSL_Message tr := f_page2rsl(pages[0], 1, 1001); - IPA_RSL[0].receive(tr_RSL_UD(tr)); + IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); f_sleep(5.0); } @@ -406,7 +401,7 @@ f_cbsp_init_server(); f_cbsp_write(5, 1005, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 5, 1005))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 5, 1005))); f_sleep(5.0); } @@ -418,7 +413,7 @@ f_cbsp_init_server(); f_cbsp_write(6, 1006, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 6, 1006))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 6, 1006))); f_sleep(5.0); } @@ -430,7 +425,7 @@ f_cbsp_init_server(); f_cbsp_write(7, 1007, cell_list, content:=pages, success_list:=?, fail_list:=omit); - IPA_RSL[0].receive(tr_RSL_UD(f_page2rsl(pages[0], 7, 1007))); + IPA_RSL[0].receive(tr_ASP_RSL_UD(f_page2rsl(pages[0], 7, 1007))); f_sleep(5.0); } @@ -444,8 +439,8 @@ success_list:=?, fail_list:=omit); var template RSL_Message tr := f_page2rsl(pages[0], 8, 1008); interleave { - [] IPA_RSL[0].receive(tr_RSL_UD(tr)); - [] IPA_RSL[1].receive(tr_RSL_UD(tr)); + [] IPA_RSL[0].receive(tr_ASP_RSL_UD(tr)); + [] IPA_RSL[1].receive(tr_ASP_RSL_UD(tr)); } f_sleep(5.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3243850d3ceedcd89ab5be20ff4f444cd39c9d6e Gerrit-Change-Number: 18458 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS: use existing templates for ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 ) Change subject: BTS: use existing templates for ASP_RSL_Unitdata ...................................................................... BTS: use existing templates for ASP_RSL_Unitdata Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 45 insertions(+), 56 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 012df47..99a8ef9 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -315,7 +315,7 @@ function f_rsl_bcch_fill_raw(RSL_IE_SysinfoType rsl_si_type, octetstring si_enc) runs on test_CT { log("Setting ", rsl_si_type, ": ", si_enc); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc))); } function f_rsl_bcch_fill(RSL_IE_SysinfoType rsl_si_type, template (value) SystemInformation si_dec) @@ -493,17 +493,6 @@ return vc_conn; } -template ASP_RSL_Unitdata ts_RSL_UD(template RSL_Message rsl, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { - streamId := sid, - rsl := rsl -} - -template ASP_RSL_Unitdata tr_RSL_UD(template RSL_Message rsl, - template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { - streamId := sid, - rsl := rsl -} - private altstep as_Tguard() runs on ConnHdlr { [] g_Tguard.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Tguard timeout"); @@ -1293,10 +1282,10 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) { T.stop; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected CHAN RQD"); } [] RSL_CCHAN.receive { repeat; } @@ -1333,7 +1322,7 @@ timer T := 3.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?,?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?,?))) { rsl_chrqd := rsl_chrqd + 1; f_timer_safe_restart(T); repeat; @@ -1372,11 +1361,11 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) { setverdict(pass); repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1400,7 +1389,7 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1444,7 +1433,7 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?))) + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?))) -> value rx_ud { var RSL_IE_Body ie; f_rsl_find_ie(rx_ud.rsl, RSL_IE_RACH_LOAD, ie); @@ -1454,7 +1443,7 @@ } repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud { setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud); repeat; } @@ -1487,10 +1476,10 @@ timer T := 1.5; T.start; alt { - [expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { + [expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { setverdict(pass); } - [not expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { + [not expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("RACH passed but was expected to be dropped: ", toffs256)); } [] RSL_CCHAN.receive { repeat; } @@ -2947,7 +2936,7 @@ /* receive + ignore RSL RF RES IND */ altstep as_rsl_res_ind() runs on test_CT { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RF_RES_IND)) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND)) { repeat; } } @@ -2986,14 +2975,14 @@ while (st.num_paging_sent < pkt_total) { alt { /* check for presence of CCCH LOAD IND (paging load) */ - [cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { + [cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { st.num_overload := st.num_overload + 1; repeat; } - [not cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { + [not cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PCH Overload"); } - [cfg.exp_load_ind] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { + [cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { log("Rx LOAD_IND"); /* FIXME: analyze/verify interval + contents */ repeat; @@ -3015,7 +3004,7 @@ } /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4))); st.num_paging_sent := st.num_paging_sent + 1; } @@ -3045,8 +3034,8 @@ [] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg); [] L1CTL.receive { repeat; } /* 65535 == empty paging queue, we can terminate*/ - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { } + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; } [] T_wait.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue"); } @@ -3199,14 +3188,14 @@ var ChannelDescription ch_desc := valueof(ts_ChanDesc(valueof(t_RslChanNr_SDCCH4(0, 0)))); var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null)); var octetstring ia_enc := enc_GsmRrMessage(ia); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); num_tx := num_tx+1; f_sleep(sleep_s); } /* FIXME: check if imm.ass arrive on Um side */ T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_DELETE_IND(?, 0))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_DELETE_IND(?, 0))) { num_del := num_del+1; repeat; } @@ -3720,10 +3709,10 @@ timer T := 5.0; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(cause))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(cause))) { setverdict(pass); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(?))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(?))) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong cause in RSL ERR REP"); } [] RSL_CCHAN.receive { @@ -3740,7 +3729,7 @@ f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := omit; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_PROTO); } @@ -3751,7 +3740,7 @@ var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies := { rsl.ies[0] }; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_MAND_IE_ERROR); } @@ -3761,7 +3750,7 @@ f_init(); var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl.ies[1].body.sysinfo_type := RSL_SYSTEM_INFO_5; - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); f_exp_err_rep(RSL_ERR_IE_CONTENT); } @@ -3815,14 +3804,14 @@ RSL_CCHAN.clear; rsl_tx := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O)); rsl_tx.msg_type := RSL_MT_LOCATION_INFO; - RSL_CCHAN.send(ts_RSL_UD(rsl_tx)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx)); f_exp_err_rep(RSL_ERR_MSG_TYPE); /* TRX Management */ RSL_CCHAN.clear; rsl_tx := ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5, ''O); rsl_tx.msg_type := RSL_MT_UNIT_DATA_IND; - RSL_CCHAN.send(ts_RSL_UD(rsl_tx)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx)); f_exp_err_rep(RSL_ERR_MSG_TYPE); /* Dedicated Channel */ @@ -4613,7 +4602,7 @@ mi_lv_enc := f_pad_oct(mi_lv_enc, 9, '00'O); /* Send RSL PAGING COMMAND */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4))); T.start; alt { [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ(0, mi_lv_enc))) { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 08e1cef..1e17703 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -159,7 +159,7 @@ { var RSL_IE_CbCommandType cmd_type := valueof(ts_RSL_IE_CbCmdType(RSL_CB_CMD_DEFAULT, 1, true)); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O))); } template RSL_IE t_RSL_IE_SMSCB_EXT := t_RSL_IE(RSL_IE_SMSCB_CHAN_INDICATOR, {smscb_chan_ind := 1}); @@ -181,7 +181,7 @@ if (extd) { rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) }; } - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); } if (ispresent(pars_chan.default_msg)) { msg := pars_chan.default_msg; @@ -191,7 +191,7 @@ if (extd) { rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) }; } - RSL_CCHAN.send(ts_RSL_UD(rsl)); + RSL_CCHAN.send(ts_ASP_RSL_UD(rsl)); } } @@ -720,10 +720,10 @@ T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -748,18 +748,18 @@ RSL_CCHAN.clear; T.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) { basic_count := basic_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud { extd_count := extd_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -824,18 +824,18 @@ T_total.start; T_retransmit.start; alt { - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) { basic_count := basic_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) { extd_count := extd_count + 1; repeat; } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } - [] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { + [] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud { setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud); } [] RSL_CCHAN.receive { repeat; } @@ -906,7 +906,7 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); /* wait for a bit until old non-ETWS Paging messages are gone */ f_sleep(1.0); L1CTL.clear; @@ -999,11 +999,11 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); /* wait for a bit until old non-ETWS Paging messages are gone */ f_sleep(3.0); /* disable the ETWS PN again */ - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O))); f_sleep(2.0); T.start; L1CTL.clear; @@ -1033,7 +1033,7 @@ f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); - RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); + RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws))); T.start; alt { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5 Gerrit-Change-Number: 18459 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:19:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:19:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: use existing tr_ASP_RSL_UD template In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 ) Change subject: library/RSL_Emulation: use existing tr_ASP_RSL_UD template ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f Gerrit-Change-Number: 18460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:19:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:20:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:20:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fix comments near f_cid_{create, delete}_cnr() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 ) Change subject: library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 Gerrit-Change-Number: 18461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 16:20:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:20:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:20:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: use existing tr_ASP_RSL_UD template In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 ) Change subject: library/RSL_Emulation: use existing tr_ASP_RSL_UD template ...................................................................... library/RSL_Emulation: use existing tr_ASP_RSL_UD template Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f --- M library/RSL_Emulation.ttcn 1 file changed, 8 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 67a473f..4d6ace2 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -332,12 +332,6 @@ } -/* template for an ASP_RSL_Unitdata as we receive it from the IPA_Emulateion component */ -private template ASP_RSL_Unitdata tr_RSL(template RSL_Message rsl, template IpaStreamId sid := ?) := { - streamId := sid, - rsl := rsl -} - private function f_trx_by_streamId(IpaStreamId id) return integer { return enum2int(id); } @@ -388,7 +382,7 @@ IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; var GsmFrameNumber fn; @@ -424,7 +418,7 @@ } } } - [not bts_role] IPA_PT.receive(tr_RSL(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { + [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { var RSL_IE_RequestRef req_ref; req_ref := rx_rsl.rsl.ies[1].body.req_ref; cid := f_cid_by_ra_fn2(req_ref.ra, req_ref.frame_nr); @@ -436,7 +430,7 @@ } } - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { /* broadcast to all clients? */ for (i := 0; i < sizeof(ConnectionTable); i := i + 1) { if (ispresent(ConnectionTable[i].comp_ref)) { @@ -446,24 +440,24 @@ } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeT(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?))) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeC(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?))) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* blindly acknowledge all channel activations */ - [bts_role] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } - [not dchan_suspended] IPA_PT.receive(tr_RSL(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { + [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { /* dispatch to channel based on ChanId */ cid := f_cid_by_chan_nr(f_trx_by_streamId(rx_rsl.streamId), rx_rsl.rsl.ies[0].body.chan_nr); @@ -497,7 +491,7 @@ IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } - [] CCHAN_PT.receive(tr_RSL(?)) -> value rx_rsl { + [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4c4a98458cfa33512db661b5435f484a38e2ef4f Gerrit-Change-Number: 18460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:20:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:20:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fix comments near f_cid_{create, delete}_cnr() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 ) Change subject: library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() ...................................................................... library/RSL_Emulation: fix comments near f_cid_{create,delete}_cnr() Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 --- M library/RSL_Emulation.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 4d6ace2..ffd60a7 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -229,7 +229,7 @@ testcase.stop("No free entry in conn table for ", ra, fn); } -/* create an ew client with given RA and FN */ +/* create a new client with given RA and FN */ private function f_cid_create_cnr(uint8_t trx_nr, RslChannelNr chan_nr, RSL_DchanHdlr comp_ref) runs on RSL_Emulation_CT { var integer i; @@ -247,7 +247,7 @@ } -/* create an ew client with given RA and FN */ +/* delete client with given RA and FN */ private function f_cid_delete_cnr(IpaStreamId stream_id, RslChannelNr chan_nr, RSL_DchanHdlr comp_ref) runs on RSL_Emulation_CT return integer { var integer i; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0fde6ea9c7e549d9cf9f6ce2a8e4e702df313b27 Gerrit-Change-Number: 18461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:23:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:23:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 ) Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 16:23:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:23:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:23:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 16:23:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:24:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:24:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... Patch Set 1: pleaes make sure you run all the various test suites (including e.g. GSUP which uses IPA underneath) to verify this doesn't create unexpected fall-out -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 16:24:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:25:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:25:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 ) Change subject: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Gerrit-Change-Number: 18464 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 16:25:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:28:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:28:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn File library/RSL_Emulation.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn at 335 PS1, Line 335: /* Find IPAC_IDTAG_UNITID in the IPA IDENTITY RESPONSE */ : for (var integer i := 0; i < sizeof(id_resp); i := i + 1) { : if (id_resp[i].tag == IPAC_IDTAG_UNITID) { : unit_id := oct2char(id_resp[i].data); : break; : } : : /* If this is the last element, nothing is found */ : if (i + 1 == sizeof(id_resp)) { : testcase.stop("IPA IDENTITY RESPONSE contains no unit-id"); : } : } could probably be generalized into a function that finds/extracts any TLV/IE. Similar to what we have with f_rsl_find_ie()? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn at 353 PS1, Line 353: /* Parse transceiver number (site/bts/trx) */ : unit_id := regexp(unit_id, unit_id_fmt, 2); : trx_nr := str2int(unit_id); probably better to introduce an abstract type that represents the tuple (site_id, bts_id, trx_id)? In that case you could also actually use declarative parsing like our MGCP_types? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 25 May 2020 16:28:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:29:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:29:07 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Fix missing LF at end of log output in process_do_rx_da() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18466 ) Change subject: simtrace2: Fix missing LF at end of log output in process_do_rx_da() ...................................................................... simtrace2: Fix missing LF at end of log output in process_do_rx_da() Change-Id: I9ecda9f47711e24bf5d3d57e3d9e117add29f4cc --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index f84db9d..ea89a82 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -95,7 +95,7 @@ struct frontend_tpdu ftpdu; int rc; - LOGCI(ci, LOGL_DEBUG, "SIMtrace => DATA: flags=%x, %s: ", data->flags, + LOGCI(ci, LOGL_DEBUG, "SIMtrace => DATA: flags=%x, %s\n", data->flags, osmo_hexdump(data->data, data->data_len)); /* parse the APDU data in the USB message */ -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I9ecda9f47711e24bf5d3d57e3d9e117add29f4cc Gerrit-Change-Number: 18466 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 16:29:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 16:29:08 +0000 Subject: Change in osmo-remsim[master]: simtrace2: Set transp->udp_fd to -1 to indicate USB transport In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18467 ) Change subject: simtrace2: Set transp->udp_fd to -1 to indicate USB transport ...................................................................... simtrace2: Set transp->udp_fd to -1 to indicate USB transport Change-Id: Ie97f1d449509777661f7fcc2bd0c799711861184 --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index ea89a82..39e6b32 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -411,6 +411,7 @@ ifm->addr = cfg->usb.addr; if (cfg->usb.path) osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); + transp->udp_fd = -1; transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); if (!transp->usb_devh) { fprintf(stderr, "can't open USB device\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Ie97f1d449509777661f7fcc2bd0c799711861184 Gerrit-Change-Number: 18467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 17:18:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 17:18:04 +0000 Subject: Change in osmo-remsim[master]: contrib/owhw-event-script.sh: Update to working version for OWHWv5 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18468 ) Change subject: contrib/owhw-event-script.sh: Update to working version for OWHWv5 ...................................................................... contrib/owhw-event-script.sh: Update to working version for OWHWv5 Change-Id: I347dc9d3a7a7e762323fff5bf252c27e169ba271 --- M contrib/owhw-event-script.sh 1 file changed, 19 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/68/18468/1 diff --git a/contrib/owhw-event-script.sh b/contrib/owhw-event-script.sh index 8d4a33f..387d8f4 100755 --- a/contrib/owhw-event-script.sh +++ b/contrib/owhw-event-script.sh @@ -46,17 +46,32 @@ ;; request-card-insert) echo "Enabling Remote SIM for ${MODEM}" - echo "1" > "/dev/gpio/connect_st_usim${MODEM}/value" + echo -n "1" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-card-remove) echo "Disabling Remote SIM for ${MODEM}" - echo "0" > "/dev/gpio/connect_st_usim${MODEM}/value" + echo -n "0" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-modem-reset) echo "Resetting Modem ${MODEM}" - echo "1" > "/dev/gpio/mdm${MODEM}_rst/value" + echo -n "1" > "/dev/gpio/mdm${MODEM}_rst/value" sleep 1 - echo "0" > "/dev/gpio/mdm${MODEM}_rst/value" + echo -n "0" > "/dev/gpio/mdm${MODEM}_rst/value" + # for v5 no effect on v4 + case "${MODEM}" in + 1) + gpioset gpiochip6 1=1 + sleep 1 + gpioset gpiochip6 1=0 + ;; + 2) + gpioset gpiochip6 3=1 + sleep 1 + gpioset gpiochip6 3=0 + ;; + esac + ;; + request-sim-remote) ;; *) echo "Unknown CAUSE ${CAUSE}: ignoring" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I347dc9d3a7a7e762323fff5bf252c27e169ba271 Gerrit-Change-Number: 18468 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:02 +0000 Subject: Change in osmo-gsm-tester[master]: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 ) Change subject: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 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: If043ecab509b34b0922824d73db916196274ec64 Gerrit-Change-Number: 18452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 18:07:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:03 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 ) Change subject: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 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: I905bd753c7822feccf1c1bb59752698f1d1b85f0 Gerrit-Change-Number: 18453 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 18:07:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:05 +0000 Subject: Change in osmo-gsm-tester[master]: process: Log stdout tail when process exits with error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 ) Change subject: process: Log stdout tail when process exits with error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 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: Ibbfb099a667f21641075faa1858e0b9acd706fd2 Gerrit-Change-Number: 18454 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 18:07:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:08 +0000 Subject: Change in osmo-gsm-tester[master]: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 ) Change subject: Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit ...................................................................... Replace RemoteProcessFixIgnoreSIGHUP with RemoteProcessSafeExit The API was doing far more stuff than its name indicated. Even more important stuff, like making sure the process is killed at the end with -9 after ssh connection is dropped. Change-Id: If043ecab509b34b0922824d73db916196274ec64 --- M src/osmo_gsm_tester/core/remote.py M src/osmo_gsm_tester/obj/bts_osmotrx.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py 4 files changed, 28 insertions(+), 26 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index 95b8967..29eea30 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -55,7 +55,7 @@ run_dir = self.run_dir.new_dir(name) return process.RemoteProcess(name, run_dir, self.user(), self.host(), self.cwd(), popen_args, remote_env=remote_env, **popen_kwargs) - def generate_wrapper_script(self): + def generate_wrapper_script(self, wait_time_sec): wrapper_script = self.run_dir.new_file(RemoteHost.WRAPPER_SCRIPT) with open(wrapper_script, 'w') as f: r = """#!/bin/bash @@ -66,8 +66,8 @@ if ! kill -0 $mypid; then return fi - echo "sleeping some time waiting for child to die..." >>$LOGFILE - sleep 5 + echo "sleeping %d seconds waiting for child to die..." >>$LOGFILE + sleep %d if ! kill -0 $mypid; then return fi @@ -102,20 +102,18 @@ prep_sighandler $@ & wait_sighandler - """ + """ % (wait_time_sec, wait_time_sec) f.write(r) st = os.stat(wrapper_script) os.chmod(wrapper_script, st.st_mode | stat.S_IEXEC) return wrapper_script - def RemoteProcessFixIgnoreSIGHUP(self, name, remote_dir, popen_args, remote_env={}, **popen_kwargs): - # Run remotely through ssh. We need to run binary under a wrapper - # script since osmo-trx ignores SIGHUP and will keep running after - # we close local ssh session. The wrapper script catches SIGHUP and - # sends SIGINT to it. + def RemoteProcessSafeExit(self, name, remote_dir, popen_args, remote_env={}, wait_time_sec=5, **popen_kwargs): + """Run binary under a wrapper which will make sure process is killed -9 + a few seconds after SIGHUP from SSH is received.""" self.create_remote_dir(remote_dir) - wrapper_script = self.generate_wrapper_script() + wrapper_script = self.generate_wrapper_script(wait_time_sec) remote_wrapper_script = remote_dir.child(RemoteHost.WRAPPER_SCRIPT) self.scp('scp-wrapper-to-remote', wrapper_script, remote_wrapper_script) diff --git a/src/osmo_gsm_tester/obj/bts_osmotrx.py b/src/osmo_gsm_tester/obj/bts_osmotrx.py index 1456802..0eeef49 100644 --- a/src/osmo_gsm_tester/obj/bts_osmotrx.py +++ b/src/osmo_gsm_tester/obj/bts_osmotrx.py @@ -310,7 +310,11 @@ remote_env = {} remote_binary = self.binary_name() args = (remote_binary, '-C', remote_config_file) - self.proc_trx = rem_host.RemoteProcessFixIgnoreSIGHUP(self.binary_name(), remote_run_dir, args, remote_env=remote_env) + # Run remotely through ssh. We need to run binary under a wrapper + # script since osmo-trx ignores SIGHUP and will keep running after + # we close local ssh session. The wrapper script catches SIGHUP and + # sends SIGINT to it. + self.proc_trx = rem_host.RemoteProcessSafeExit(self.binary_name(), remote_run_dir, args, remote_env=remote_env) self.testenv.remember_to_stop(self.proc_trx, keepalive) self.proc_trx.launch() diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index e9f1e82..d6cad81 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -46,6 +46,7 @@ self.ifup_file = None self.process = None self.rem_host = None + self.remote_run_dir = None self.remote_inst = None self.remote_config_file = None self.remote_log_file = None @@ -92,8 +93,7 @@ args = (remote_binary, self.remote_config_file) - self.process = self.rem_host.RemoteProcess(AmarisoftEPC.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(AmarisoftEPC.BINFILE, remote_run_dir, args) + self.process = self.rem_host.RemoteProcessSafeExit(AmarisoftEPC.BINFILE, self.remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -137,11 +137,11 @@ self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftEPC.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftEPC.BINFILE)) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftEPC.BINFILE)) - self.remote_config_file = remote_run_dir.child(AmarisoftEPC.CFGFILE) - self.remote_log_file = remote_run_dir.child(AmarisoftEPC.LOGFILE) - self.remote_ifup_file = remote_run_dir.child(AmarisoftEPC.IFUPFILE) + self.remote_config_file = self.remote_run_dir.child(AmarisoftEPC.CFGFILE) + self.remote_log_file = self.remote_run_dir.child(AmarisoftEPC.LOGFILE) + self.remote_ifup_file = self.remote_run_dir.child(AmarisoftEPC.IFUPFILE) values = super().configure(['amarisoft', 'amarisoftepc']) @@ -162,7 +162,7 @@ if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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) self.rem_host.scp('scp-ifup-to-remote', self.ifup_file, self.remote_ifup_file) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index b494c54..3fa282e 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -91,6 +91,7 @@ self.process = None self.rem_host = None self.remote_inst = None + self.remote_run_dir = None self.remote_config_file = None self.remote_log_file = None self.remote_pcap_file = None @@ -168,8 +169,7 @@ args = (remote_binary, self.remote_config_file, '--gw.netns=' + self.netns()) args += tuple(self._additional_args) - self.process = self.rem_host.RemoteProcess(srsUE.BINFILE, args) - #self.process = self.rem_host.RemoteProcessFixIgnoreSIGHUP(srsUE.BINFILE, remote_run_dir, args, remote_lib) + self.process = self.rem_host.RemoteProcessSafeExit(srsUE.BINFILE, self.remote_run_dir, args) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -213,11 +213,11 @@ self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsUE.CFGFILE) - self.remote_log_file = remote_run_dir.child(srsUE.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsUE.PCAPFILE) - self.remote_metrics_file = remote_run_dir.child(srsUE.METRICSFILE) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) + self.remote_config_file = self.remote_run_dir.child(srsUE.CFGFILE) + self.remote_log_file = self.remote_run_dir.child(srsUE.LOGFILE) + self.remote_pcap_file = self.remote_run_dir.child(srsUE.PCAPFILE) + self.remote_metrics_file = self.remote_run_dir.child(srsUE.METRICSFILE) values = dict(ue=config.get_defaults('srsue')) config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) @@ -297,7 +297,7 @@ if not self.setup_runs_locally(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18452 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: If043ecab509b34b0922824d73db916196274ec64 Gerrit-Change-Number: 18452 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:08 +0000 Subject: Change in osmo-gsm-tester[master]: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 ) Change subject: enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess ...................................................................... enb_srs: Use RemoteProcessSafeExit instead of RemoteProcess It is known that sometimes srsENB hangs until it is killed -9, specially when using ZMQ backend. Let's use RemoteProcessSafeExit in order to make sure it is killed in an acceptable time (srs binaries use some preventive sigalarm 6 seconds auto-kill procedure, hence we use 7 seconds) before next test is started and potentially try to re-use the same ENB and fails due to previous one still running. Change-Id: I905bd753c7822feccf1c1bb59752698f1d1b85f0 --- M src/osmo_gsm_tester/obj/enb_srs.py 1 file changed, 10 insertions(+), 9 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 4311d60..47b373e 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -59,6 +59,7 @@ self.pcap_file = None self.process = None self.rem_host = None + self.remote_run_dir = None self.remote_config_file = None self.remote_config_sib_file = None self.remote_config_rr_file = None @@ -111,7 +112,7 @@ args = (remote_binary, self.remote_config_file) args += tuple(self._additional_args) - self.process = self.rem_host.RemoteProcess(srsENB.BINFILE, args, remote_env=remote_env) + self.process = self.rem_host.RemoteProcessSafeExit(srsENB.BINFILE, self.remote_run_dir, args, remote_env=remote_env, wait_time_sec=7) self.testenv.remember_to_stop(self.process) self.process.launch() @@ -152,14 +153,14 @@ self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) - remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) + self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) - self.remote_config_file = remote_run_dir.child(srsENB.CFGFILE) - self.remote_config_sib_file = remote_run_dir.child(srsENB.CFGFILE_SIB) - self.remote_config_rr_file = remote_run_dir.child(srsENB.CFGFILE_RR) - self.remote_config_drb_file = remote_run_dir.child(srsENB.CFGFILE_DRB) - self.remote_log_file = remote_run_dir.child(srsENB.LOGFILE) - self.remote_pcap_file = remote_run_dir.child(srsENB.PCAPFILE) + self.remote_config_file = self.remote_run_dir.child(srsENB.CFGFILE) + self.remote_config_sib_file = self.remote_run_dir.child(srsENB.CFGFILE_SIB) + self.remote_config_rr_file = self.remote_run_dir.child(srsENB.CFGFILE_RR) + self.remote_config_drb_file = self.remote_run_dir.child(srsENB.CFGFILE_DRB) + self.remote_log_file = self.remote_run_dir.child(srsENB.LOGFILE) + self.remote_pcap_file = self.remote_run_dir.child(srsENB.PCAPFILE) values = super().configure(['srsenb']) @@ -211,7 +212,7 @@ if not self.setup_runs_locally(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) - self.rem_host.recreate_remote_dir(remote_run_dir) + 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) self.rem_host.scp('scp-cfg-sib-to-remote', self.config_sib_file, self.remote_config_sib_file) self.rem_host.scp('scp-cfg-rr-to-remote', self.config_rr_file, self.remote_config_rr_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18453 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: I905bd753c7822feccf1c1bb59752698f1d1b85f0 Gerrit-Change-Number: 18453 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:08 +0000 Subject: Change in osmo-gsm-tester[master]: process: Log stdout tail when process exits with error In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 ) Change subject: process: Log stdout tail when process exits with error ...................................................................... process: Log stdout tail when process exits with error This is useful since remote processes we run under ssh end up merging both remote stdout and sterr into local stdout. Change-Id: Ibbfb099a667f21641075faa1858e0b9acd706fd2 --- M src/osmo_gsm_tester/core/process.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/process.py b/src/osmo_gsm_tester/core/process.py index 5d02ab5..320f9ec 100644 --- a/src/osmo_gsm_tester/core/process.py +++ b/src/osmo_gsm_tester/core/process.py @@ -277,7 +277,7 @@ self.log('Terminated', rc=self.result) else: self.err('Terminated: ERROR', rc=self.result) - #self.log_stdout_tail() + self.log_stdout_tail() self.log_stderr_tail() def log_stdout_tail(self): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18454 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: Ibbfb099a667f21641075faa1858e0b9acd706fd2 Gerrit-Change-Number: 18454 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:36 +0000 Subject: Change in osmo-gsm-tester[master]: Support identifying different tgz files based on run_label attribute References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 ) Change subject: Support identifying different tgz files based on run_label attribute ...................................................................... Support identifying different tgz files based on run_label attribute tgz files in trials can be categorized in subdirectories, allowing to select different bianry files at runtime based on the target run node which is going to run them. This way for instance one can have a binary linked against libs for eg. CentOS under run_label "centos/" or an ARM target under "arm", and then use "run_label: arm" on the resource using it. Change-Id: Iaf2e97da3aff693395f44f0e93b184d4846cf6da --- M .gitignore M doc/manuals/chapters/trial.adoc M selftest/Makefile A selftest/trial_test/run_label/checksums.md5 A selftest/trial_test/run_label/foobar/sample.tar.gz A selftest/trial_test/run_label/sample.tar.gz M selftest/trial_test/trial_test.ok M selftest/trial_test/trial_test.ok.ign M selftest/trial_test/trial_test.py M src/osmo_gsm_tester/core/trial.py M src/osmo_gsm_tester/obj/run_node.py 11 files changed, 75 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18469/1 diff --git a/.gitignore b/.gitignore index ad9b423..ff09035 100644 --- a/.gitignore +++ b/.gitignore @@ -4,13 +4,16 @@ .version _version.py tags -set_pythonpath -test_work state *.pyc sysmocom/resources.conf sysmocom/ttcn3/resources.conf +# selftest: +set_pythonpath +test_work +selftest/trial_test/run_label/inst/ + # manuals doc/manuals/*.html doc/manuals/*.svg diff --git a/doc/manuals/chapters/trial.adoc b/doc/manuals/chapters/trial.adoc index 4b52608..3ee6ae6 100644 --- a/doc/manuals/chapters/trial.adoc +++ b/doc/manuals/chapters/trial.adoc @@ -48,13 +48,22 @@ {app-name} tests create objects to manage the allocated resources during test lifetime. These objects, in turn, usually run and manage processes started from -the trail's sysroot binaries. {app-name} provide APIs for those object classes +the trial's sysroot binaries. {app-name} provide APIs for those object classes to discover, unpack and run those binaries. An object class simply needs to request the name of the sysroot it wants to use (for instance 'osmo-bsc'), and {app-name} will take care of preparing everything and providing the sysroot path to it. It's a duty of the resource class to copy over the sysroot to the destination if the intention is to run the binary remotely on another host. +Moreover, {app-name} supports working with several different versions of a given +sysroot by means of storing them in different subdirectories, which are later +referenced by an object's class 'run_label' attribute named after that +subdirectory. This way, for instance, a sysroot can be provided containing +binaries linked against libraries present on a CentOS distribution, and other +sysroots with the same name can also be provided which are linked against +different versions of CentOS, or a different distro like Debian, or even a +different arch like ARM. + When seeking a sysroot of a given name '' in the 'inst/' directory, {app-name} will look for 'tgz' files starting with the pattern '.' (up to the first dot). That means, suffixes are available for {app-name} user to @@ -63,3 +72,6 @@ selected by {app-name} for 'osmo-bsc': 'osmo-bsc.tgz', 'osmo-bsc.build-23.tgz', 'osmo-bsc.5f3e0dd2.tgz', 'osmo-bsc.armv7.build-2.tgz'. If either none or more than one valid file is found matching the pattern, an exception will be thrown. +If a 'run_label=foobar' is provided, {app-name} will look up for the 'tgz' in +exactly the same way, but this time in 'inst/foobar/' directory instead of +'inst/'. diff --git a/selftest/Makefile b/selftest/Makefile index fb8618c..53d882c 100644 --- a/selftest/Makefile +++ b/selftest/Makefile @@ -12,6 +12,7 @@ clean: @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf @find . -name "*test_work" -type d -print0 | xargs -0 rm -rvf + @rm -rfv ./trial_test/run_label/inst @rm -fv ./set_pythonpath # vim: noexpandtab tabstop=8 shiftwidth=8 diff --git a/selftest/trial_test/run_label/checksums.md5 b/selftest/trial_test/run_label/checksums.md5 new file mode 100644 index 0000000..a162c56 --- /dev/null +++ b/selftest/trial_test/run_label/checksums.md5 @@ -0,0 +1,2 @@ +b13c9c94d41c45caaa08ad9ad3ee0f11 sample.tar.gz +430ec62329747b5f15fe6e2cb141b909 foobar/sample.tar.gz diff --git a/selftest/trial_test/run_label/foobar/sample.tar.gz b/selftest/trial_test/run_label/foobar/sample.tar.gz new file mode 100644 index 0000000..2c1b029 --- /dev/null +++ b/selftest/trial_test/run_label/foobar/sample.tar.gz Binary files differ diff --git a/selftest/trial_test/run_label/sample.tar.gz b/selftest/trial_test/run_label/sample.tar.gz new file mode 100644 index 0000000..3932964 --- /dev/null +++ b/selftest/trial_test/run_label/sample.tar.gz Binary files differ diff --git a/selftest/trial_test/trial_test.ok b/selftest/trial_test/trial_test.ok index 8c6a567..75bd1a7 100644 --- a/selftest/trial_test/trial_test.ok +++ b/selftest/trial_test/trial_test.ok @@ -14,3 +14,12 @@ ok, got RuntimeError: Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2 - detect missing file ok, got RuntimeError: File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2 +- Verify trials based on run_label +tst run_label: DBG: has bin_tar {bin_name='sample', matches=['sample.tar.gz'], run_label='foobar'} +inst: [PATH]/trial_test/run_label/inst/foobar/sample +content file2: subhello + +tst run_label: DBG: has bin_tar {bin_name='sample', matches=['sample.tar.gz'], run_label=''} +inst: [PATH]/trial_test/run_label/inst/sample +content file1: hello + diff --git a/selftest/trial_test/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign index 1a969de..46c3943 100644 --- a/selftest/trial_test/trial_test.ok.ign +++ b/selftest/trial_test/trial_test.ok.ign @@ -1,3 +1,3 @@ /tmp/[^/]* [TMP] ....-..-.._..-..-.. [TIMESTAMP] -'[^']*/trial_test '[PATH]/trial_test +/[^ ]*/trial_test/ [PATH]/trial_test/ diff --git a/selftest/trial_test/trial_test.py b/selftest/trial_test/trial_test.py index a99428a..cf91a85 100755 --- a/selftest/trial_test/trial_test.py +++ b/selftest/trial_test/trial_test.py @@ -1,8 +1,10 @@ #!/usr/bin/env python3 -import time import _prep + +import time import os + from osmo_gsm_tester.core import util from osmo_gsm_tester.core.trial import Trial @@ -46,4 +48,17 @@ except RuntimeError as e: print('ok, got RuntimeError: %s' % str(e)) +print('- Verify trials based on run_label') +d = util.Dir('trial_test') +t = Trial(d.child('run_label')) +t.verify() +inst = util.Dir(t.get_inst('sample', 'foobar')) +print('inst: ' + str(inst)) +with open(inst.child('file2'), 'r') as f: + print('content file2: %s' % f.read()) +inst = util.Dir( t.get_inst('sample')) +print('inst: ' + str(inst)) +with open(inst.child('file1'), 'r') as f: + print('content file1: %s' % f.read()) + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/trial.py b/src/osmo_gsm_tester/core/trial.py index 83b0f11..eaf18c3 100644 --- a/src/osmo_gsm_tester/core/trial.py +++ b/src/osmo_gsm_tester/core/trial.py @@ -57,7 +57,7 @@ super().__init__(log.C_TST, os.path.basename(self.path)) self.dir = util.Dir(self.path) self.inst_dir = util.Dir(self.dir.child('inst')) - self.bin_tars = [] + self.bin_tars = {} self.suites = [] self.status = Trial.UNKNOWN self._run_dir = None @@ -125,10 +125,10 @@ line_nr += 1 if not line: continue - md5, filename = line.split(' ') - file_path = self.dir.child(filename) + md5, relpath = line.split(' ') + file_path = self.dir.child(relpath) - if not self.dir.isfile(filename): + if not self.dir.isfile(relpath): raise RuntimeError('File listed in checksums file but missing in trials dir:' ' %r vs. %r line %d' % (file_path, checksums, line_nr)) @@ -136,28 +136,34 @@ raise RuntimeError('Checksum mismatch for %r vs. %r line %d' % (file_path, checksums, line_nr)) - if filename.endswith('.tgz'): - self.bin_tars.append(filename) + if relpath.endswith('.tgz') or relpath.endswith('.tar.gz'): + (label, name) = os.path.split(relpath) + #print('label: %s, name: %s' % (label, name)) + li = self.bin_tars.get(label, []) + li.append(name) + self.bin_tars[label] = li - def has_bin_tar(self, bin_name): + def has_bin_tar(self, bin_name, run_label): bin_tar_start = '%s.' % bin_name - matches = [t for t in self.bin_tars if t.startswith(bin_tar_start)] - self.dbg(bin_name=bin_name, matches=matches) + matches = [t for t in self.bin_tars[run_label] if t.startswith(bin_tar_start)] + self.dbg('has bin_tar', run_label=run_label, bin_name=bin_name, matches=matches) if not matches: return None if len(matches) > 1: - raise RuntimeError('More than one match for bin name %r: %r' % (bin_name, matches)) + raise RuntimeError('More than one match for bin name %r on run_label \'%s\': %r' % (bin_name, run_label, matches)) bin_tar = matches[0] - bin_tar_path = self.dir.child(bin_tar) + bin_tar_path = self.dir.child(os.path.join(run_label, bin_tar)) if not os.path.isfile(bin_tar_path): raise RuntimeError('Not a file or missing: %r' % bin_tar_path) return bin_tar_path - def get_inst(self, bin_name): - bin_tar = self.has_bin_tar(bin_name) + def get_inst(self, bin_name, run_label=None): + if run_label is None: + run_label = '' + bin_tar = self.has_bin_tar(bin_name, run_label) if not bin_tar: raise RuntimeError('No such binary available: %r' % bin_name) - inst_dir = self.inst_dir.child(bin_name) + inst_dir = self.inst_dir.child(os.path.join(run_label, bin_name)) if os.path.isdir(inst_dir): # already unpacked diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index 26c85df..53bb3fe 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -35,12 +35,13 @@ T_LOCAL = 'local' T_REM_SSH = 'ssh' - def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None): + def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None): super().__init__(log.C_RUN, 'runnode') self._type = type self._run_addr = run_addr self._ssh_user = ssh_user self._ssh_addr = ssh_addr + self._run_label = run_label if not self._type: raise log.Error('run_type not set') if not self._run_addr: @@ -57,7 +58,9 @@ @classmethod def from_conf(cls, conf): - return cls(conf.get('run_type', None), conf.get('run_addr', None), conf.get('ssh_user', None), conf.get('ssh_addr', None)) + return cls(conf.get('run_type', None), conf.get('run_addr', None), + conf.get('ssh_user', None), conf.get('ssh_addr', None), + conf.get('run_label', None)) def is_local(self): return self._type == RunNode.T_LOCAL @@ -77,4 +80,7 @@ def ssh_addr(self): return self._ssh_addr + def run_label(self): + return self._run_label + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 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: Iaf2e97da3aff693395f44f0e93b184d4846cf6da Gerrit-Change-Number: 18469 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:07:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 25 May 2020 18:07:36 +0000 Subject: Change in osmo-gsm-tester[master]: epc_{amarisoft, srs}: Support selecting tgz based on run_node's run label References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 ) Change subject: epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label ...................................................................... epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label Change-Id: I90b8dab8bdc9980a7d2486d890cff183c07f1809 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/70/18470/1 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index d6cad81..40216f7 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -59,7 +59,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 2ee486f..e1d9f59 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -118,7 +118,7 @@ self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsEPC.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 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: I90b8dab8bdc9980a7d2486d890cff183c07f1809 Gerrit-Change-Number: 18470 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:37:37 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 25 May 2020 18:37:37 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 to look at the new patch set (#3). Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Transceiver: Log when sending of CLK indications begins When the logging category TRXCLK is set to info osmo-trx prints a logline that informs about the sending of clock indications. In practice this those log lines are often used to identify that osmo-trx and osmo-bts are running properly, so it would be helpful, even in productive use, if there would be an information in the log that the sending of clock indications has begun. However, the regular printing of the clock indication log line would soon flood the log. So, lets have an addional log line that logs only once when the transceiver starts and quickly informs at loglevel NOTICE that clock indications are now sent. Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Related: OS#2577 --- M Transceiver52M/Transceiver.cpp 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/95/18395/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 18:51:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 25 May 2020 18:51:54 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/18395/3/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/18395/3/Transceiver52M/Transceiver.cpp at a1169 PS3, Line 1169: FIXME -- This should be adaptive I am still trying to guess the meaning of this comment, but why are you removing it? -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 25 May 2020 18:51:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 20:34:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 25 May 2020 20:34:00 +0000 Subject: Change in osmo-bsc[master]: manuals: generate vty reference xml at build time In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18374 ) Change subject: manuals: generate vty reference xml at build time ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am File doc/manuals/Makefile.am: https://gerrit.osmocom.org/c/osmo-bsc/+/18374/2/doc/manuals/Makefile.am at 24 PS2, Line 24: $(top_builddir)/src/osmo-bsc/osmo-bsc > Then afaiu Make should already handle dependencies correctly and there's no need for this patch? Am not sure I get what you're saying, pespin. The point is to build the bsc_vty_reference.xml, for that we need osmo-bsc. How does that not need this patch? Make's multi-dir support isn't great. Depending on osmo-bsc here is more about re-generating the XML file when the binary has changed (and not every time). We would indeed cause a 'make -C src/osmo-bsc osmo-bsc' but I fear that that fires a separate make process. BTW, this is not a situation specific to this patch, this same thing happens for all of our binaries (e.g. unit tests) requiring lib files from elsewhere in the source tree. So far it seems to work out ok in our builds by naming the subdir that builds the dependencies first. I think this is one reason why so many build systems other than 'make' were written. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I5dc872149154e1a949bb6a2b9bbc1461e0fc51f6 Gerrit-Change-Number: 18374 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 20:34:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 20:39:45 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 25 May 2020 20:39:45 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s before copying back UE metrics References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s before copying back UE metrics ...................................................................... ms_srs: wait 6s before copying back UE metrics we've only waited when running with ZMQ but in fact we need to always wait because the UE may need some time to send the detach request and shut down correctly. Change-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 4 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/18471/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index b494c54..fc60044 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -108,12 +108,7 @@ return if self.setup_runs_locally(): return - # When using zmq, srsUE is known to hang for a few seconds before - # exiting (3 seconds after alarm() watchdog kicks in). We hence need to - # wait to make sure the remote process terminated and the file was - # flushed, since cleanup() triggered means only the local ssh client was killed. - if self._conf and self._conf.get('rf_dev_type', '') == 'zmq': - MainLoop.sleep(self, 3) + # copy back files (may not exist, for instance if there was an early error of process): try: self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) @@ -341,9 +336,9 @@ # file is not properly flushed until the process has stopped. if self.running(): self.stop() - # metrics file is not flushed immediatelly by the OS during process - # tear down, we need to wait some extra time: - MainLoop.sleep(self, 2) + # srsUE at most requires 5s to stop + MainLoop.sleep(self, 6) + if not self.setup_runs_locally(): try: self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 20:39:45 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 25 May 2020 20:39:45 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add max rolling average as metric operation References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 ) Change subject: ms_srs: add max rolling average as metric operation ...................................................................... ms_srs: add max rolling average as metric operation this allows to calculate the rolling average over a specific window in time and take the maximum of that this is useful to get average value for 30s UDP traffic for example from the UE metrics Change-Id: I34bbfe08dbc1f27b86c9805f54649d44d697fa18 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/18472/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index fc60044..571a964 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -332,7 +332,7 @@ return self._get_counter_handover_success() raise log.Error('counter %s not implemented!' % counter_name) - def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): + def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): # file is not properly flushed until the process has stopped. if self.running(): self.stop() @@ -346,13 +346,13 @@ self.err('Failed copying back metrics file from remote host') raise e metrics = srsUEMetrics(self.metrics_file) - return metrics.verify(value, operation, metric, criterion) + return metrics.verify(value, operation, metric, criterion, window) numpy = None class srsUEMetrics(log.Origin): - VALID_OPERATIONS = ['avg', 'sum'] + VALID_OPERATIONS = ['avg', 'sum', 'max_rolling_avg'] VALID_CRITERION = ['eq','gt','lt'] CRITERION_TO_SYM = { 'eq' : '==', 'gt' : '>', 'lt' : '<' } CRYTERION_TO_SYM_OPPOSITE = { 'eq' : '!=', 'gt' : '<=', 'lt' : '>=' } @@ -373,7 +373,7 @@ self.err("Error parsing metrics CSV file %s" % self.metrics_file) raise error - def verify(self, value, operation='avg', metric='dl_brate', criterion='gt'): + def verify(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): if operation not in self.VALID_OPERATIONS: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_OPERATIONS)) if criterion not in self.VALID_CRITERION: @@ -389,6 +389,10 @@ result = numpy.average(sel_data) elif operation == 'sum': result = numpy.sum(sel_data) + elif operation == 'max_rolling_avg': + # calculate rolling average over window and take maximum value + result = numpy.amax(numpy.convolve(sel_data, numpy.ones((window,))/window, mode='valid')) + self.dbg(result=result, value=value) success = False -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 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: I34bbfe08dbc1f27b86c9805f54649d44d697fa18 Gerrit-Change-Number: 18472 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 20:39:46 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Mon, 25 May 2020 20:39:46 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: allow + operator when specifying CSV columns References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 ) Change subject: ms_srs: allow + operator when specifying CSV columns ...................................................................... ms_srs: allow + operator when specifying CSV columns this allows to sum dl_brate and ul_brate and perform the known operations, like max, average, etc. on both UL and DL bitrate combined Change-Id: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/73/18473/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 571a964..dfd03b4 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -373,17 +373,26 @@ self.err("Error parsing metrics CSV file %s" % self.metrics_file) raise error - def verify(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): + def verify(self, value, operation='avg', metric_str='dl_brate', criterion='gt', window=1): if operation not in self.VALID_OPERATIONS: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_OPERATIONS)) if criterion not in self.VALID_CRITERION: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_CRITERION)) # check if given metric exists in data - try: - sel_data = self.raw_data[metric] - except ValueError as err: - print('metric %s not available' % metric) - raise err + sel_data = numpy.array([]) + metrics_list = metric_str.split('+') # allow addition operator for columns + for metric in metrics_list: + try: + vec = numpy.array(self.raw_data[metric]) + except ValueError as err: + print('metric %s not available' % metric) + raise err + if sel_data.size == 0: + # Initialize with dimension of first metric vector + sel_data = vec + else: + # Sum them up assuming same array dimension + sel_data += vec if operation == 'avg': result = numpy.average(sel_data) @@ -402,7 +411,7 @@ success = True # Convert bitrate in Mbit/s: - if metric.find('brate') > 0: + if metric_str.find('brate') > 0: result /= 1e6 value /= 1e6 mbit_str = ' Mbit/s' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 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: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 Gerrit-Change-Number: 18473 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:00:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:00:40 +0000 Subject: Change in simtrace2[master]: Introduce support for asynchronous USB transmission References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/18474 ) Change subject: Introduce support for asynchronous USB transmission ...................................................................... Introduce support for asynchronous USB transmission libosmo-simtrace2 traditionally had only supported blocking, synchronous I/O, while other osmocom programs such as remsim-client used asynchronous USB I/O. Using async USB I/O for IRQ + IN transfers while using blocking I/O for OUT transfers doesn't seem to work reliably, so we have to offer a way to perform the OUT transfers generated within libosmo-simtrace2 in async mode. Change-Id: Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 --- A TODO-RELEASE M host/include/osmocom/simtrace2/simtrace2_api.h M host/lib/simtrace2_api.c 3 files changed, 79 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/74/18474/1 diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..5da461b --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release +# In short: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# If any interfaces have been added since the last public release: c:r:a + 1. +# If any interfaces have been removed or changed since the last public release: c:r:0. +#library what description / commit summary line +simtrace2 API/ABI change osmo_st2_transport new member diff --git a/host/include/osmocom/simtrace2/simtrace2_api.h b/host/include/osmocom/simtrace2/simtrace2_api.h index aa1637d..d658d16 100644 --- a/host/include/osmocom/simtrace2/simtrace2_api.h +++ b/host/include/osmocom/simtrace2/simtrace2_api.h @@ -12,6 +12,8 @@ uint8_t out; uint8_t irq_in; } usb_ep; + /* use non-blocking / asynchronous libusb I/O */ + bool usb_async; /* UDP */ int udp_fd; @@ -39,8 +41,6 @@ void *priv; }; -int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg); - int osmo_st2_slot_tx_msg(struct osmo_st2_slot *slot, struct msgb *msg, uint8_t msg_class, uint8_t msg_type); diff --git a/host/lib/simtrace2_api.c b/host/lib/simtrace2_api.c index b3e4e38..4e16fd1 100644 --- a/host/lib/simtrace2_api.c +++ b/host/lib/simtrace2_api.c @@ -57,24 +57,61 @@ return msgb_alloc_headroom(1024+32, 32, "SIMtrace"); } -/*! \brief Transmit a given command to the SIMtrace2 device */ -int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg) + +static void usb_out_xfer_cb(struct libusb_transfer *xfer) { - int rc; + struct msgb *msg = xfer->user_data; - printf("<- %s\n", msgb_hexdump(msg)); - - if (transp->udp_fd < 0) { - int xfer_len; - - rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.out, - msgb_data(msg), msgb_length(msg), - &xfer_len, 100000); - } else { - rc = write(transp->udp_fd, msgb_data(msg), msgb_length(msg)); + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB OUT transfer failed, status=%u\n", xfer->status); + exit(1); + break; } msgb_free(msg); + libusb_free_transfer(xfer); +} + + +static int st2_transp_tx_msg_usb_async(struct osmo_st2_transport *transp, struct msgb *msg) +{ + struct libusb_transfer *xfer; + int rc; + + xfer = libusb_alloc_transfer(0); + OSMO_ASSERT(xfer); + xfer->dev_handle = transp->usb_devh; + xfer->flags = 0; + xfer->type = LIBUSB_TRANSFER_TYPE_BULK; + xfer->endpoint = transp->usb_ep.out; + xfer->timeout = 100000; + xfer->user_data = msg; + xfer->length = msgb_length(msg); + xfer->buffer = msgb_data(msg); + xfer->callback = usb_out_xfer_cb; + + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); + + return rc; +} + +/*! \brief Transmit a given command to the SIMtrace2 device */ +static int st2_transp_tx_msg_usb_sync(struct osmo_st2_transport *transp, struct msgb *msg) +{ + int rc; + int xfer_len; + rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.out, + msgb_data(msg), msgb_length(msg), + &xfer_len, 100000); + msgb_free(msg); return rc; } @@ -98,9 +135,24 @@ int osmo_st2_slot_tx_msg(struct osmo_st2_slot *slot, struct msgb *msg, uint8_t msg_class, uint8_t msg_type) { - st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); + struct osmo_st2_transport *transp = slot->transp; + int rc; - return osmo_st2_transp_tx_msg(slot->transp, msg); + OSMO_ASSERT(transp); + + st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); + printf("SIMtrace <- %s\n", msgb_hexdump(msg)); + + if (transp->udp_fd < 0) { + if (transp->usb_async) + rc = st2_transp_tx_msg_usb_async(transp, msg); + else + rc = st2_transp_tx_msg_usb_sync(transp, msg); + } else { + rc = write(transp->udp_fd, msgb_data(msg), msgb_length(msg)); + msgb_free(msg); + } + return rc; } /*********************************************************************** -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 Gerrit-Change-Number: 18474 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:01:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:01:13 +0000 Subject: Change in osmo-remsim[master]: simtrace2: use correct event when dispatching modem data to main_fsm References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18475 ) Change subject: simtrace2: use correct event when dispatching modem data to main_fsm ...................................................................... simtrace2: use correct event when dispatching modem data to main_fsm Change-Id: I35e20a577544bde7ad7440a617dc3ed4d2572abf --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/75/18475/1 diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 39e6b32..c66f71e 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -111,7 +111,7 @@ /* send APDU to card */ ftpdu.buf = apdu_command; ftpdu.len = sizeof(ac.hdr) + ac.lc.tot; - osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_TPDU, &ftpdu); + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_TPDU, &ftpdu); } else if (ac.lc.tot > ac.lc.cur) { /* there is pending data from the modem: send procedure byte to get remaining data */ osmo_st2_cardem_request_pb_and_rx(ci, ac.hdr.ins, ac.lc.tot - ac.lc.cur); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I35e20a577544bde7ad7440a617dc3ed4d2572abf Gerrit-Change-Number: 18475 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:01:53 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 25 May 2020 21:01:53 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... Patch Set 2: > Patch Set 2: > > That's what I'm not getting. We either move to generate it from builddir or keep it generated in srcdir, but why checking both? I'm simply asking if you find any reason for that. Obviously, if we change osmo-gsm-manuals.git now to only build the XML ref from binary, we would be forced to change every osmo*.git at the same time. We are not ready to build *every* osmo program's XML ref from built binary: - We first need to introduce --vty-ref-xml cmdline switches in every program. - Switching to generate XML during build also requires individual makefile rules in every git repos -- obviously osmo-gsm-manuals cannot know the name and location of all osmo binaries everywhere. I believe the best way forward is to still find the XML reference in the source tree by default. Each git repos that is ready can switch to generating from binary during build time when it is ready. Then we don't need to do one massive switch that is then backwards incompatible. (Even if we would, in a massive effort, switch all our git repositories to generating XML ref at build time, then we would not be able to build older manuals with osmo-gsm-manuals master. Plus, any repos out there that we forgot about, or that someone else may have created that is depending on osmo-gsm-manuals would stop working all of a sudden.) Hence this patch introduces a BUILT_REFERENCE_XML to add a dependency in case the caller needs it. And also it looks in both srcdir and builddir for the *reference.xml file that would so far always be in srcdir. At first I had this solved by a simple $(ls -1 $(srcdir)/vty/*reference.xml $(builddir)/vty/*reference.xml) but the added script makes sure that we don't barf confusing error output, and that we don't get confused by ls aliases or env config. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 21:01:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:06:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 25 May 2020 21:06:13 +0000 Subject: Change in libosmocore[master]: api doc: clarify 'returns' of gsm48_mi_to_string() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18476 ) Change subject: api doc: clarify 'returns' of gsm48_mi_to_string() ...................................................................... api doc: clarify 'returns' of gsm48_mi_to_string() Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 --- M src/gsm/gsm48.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/76/18476/1 diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 17b0829..43b10b7 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -737,10 +737,12 @@ * \param[in] str_len Length of \a string in bytes * \param[in] mi Mobile Identity to be stringified * \param[in] mi_len Length of \a mi in bytes - * \returns WARNING: the return value of this function is not well implemented. + * \returns Return <= 0 on error, > 0 on success. + * WARNING: the return value of this function is not well implemented. * Depending on the MI type and amount of output buffer, this may return * the nr of written bytes, or the written strlen(), or the snprintf() - * style strlen()-if-the-buffer-were-large-enough. */ + * style strlen()-if-the-buffer-were-large-enough. + */ int gsm48_mi_to_string(char *string, int str_len, const uint8_t *mi, int mi_len) { int rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 Gerrit-Change-Number: 18476 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:06:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:06:31 +0000 Subject: Change in osmo-remsim[master]: simtrace2: use correct event when dispatching modem data to main_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18475 ) Change subject: simtrace2: use correct event when dispatching modem data to main_fsm ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I35e20a577544bde7ad7440a617dc3ed4d2572abf Gerrit-Change-Number: 18475 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 21:06:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:06:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:06:33 +0000 Subject: Change in osmo-remsim[master]: contrib/owhw-event-script.sh: Update to working version for OWHWv5 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18468 ) Change subject: contrib/owhw-event-script.sh: Update to working version for OWHWv5 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I347dc9d3a7a7e762323fff5bf252c27e169ba271 Gerrit-Change-Number: 18468 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 21:06:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:06:38 +0000 Subject: Change in osmo-remsim[master]: contrib/owhw-event-script.sh: Update to working version for OWHWv5 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18468 ) Change subject: contrib/owhw-event-script.sh: Update to working version for OWHWv5 ...................................................................... contrib/owhw-event-script.sh: Update to working version for OWHWv5 Change-Id: I347dc9d3a7a7e762323fff5bf252c27e169ba271 --- M contrib/owhw-event-script.sh 1 file changed, 19 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/owhw-event-script.sh b/contrib/owhw-event-script.sh index 8d4a33f..387d8f4 100755 --- a/contrib/owhw-event-script.sh +++ b/contrib/owhw-event-script.sh @@ -46,17 +46,32 @@ ;; request-card-insert) echo "Enabling Remote SIM for ${MODEM}" - echo "1" > "/dev/gpio/connect_st_usim${MODEM}/value" + echo -n "1" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-card-remove) echo "Disabling Remote SIM for ${MODEM}" - echo "0" > "/dev/gpio/connect_st_usim${MODEM}/value" + echo -n "0" > "/dev/gpio/connect_st_usim${MODEM}/value" ;; request-modem-reset) echo "Resetting Modem ${MODEM}" - echo "1" > "/dev/gpio/mdm${MODEM}_rst/value" + echo -n "1" > "/dev/gpio/mdm${MODEM}_rst/value" sleep 1 - echo "0" > "/dev/gpio/mdm${MODEM}_rst/value" + echo -n "0" > "/dev/gpio/mdm${MODEM}_rst/value" + # for v5 no effect on v4 + case "${MODEM}" in + 1) + gpioset gpiochip6 1=1 + sleep 1 + gpioset gpiochip6 1=0 + ;; + 2) + gpioset gpiochip6 3=1 + sleep 1 + gpioset gpiochip6 3=0 + ;; + esac + ;; + request-sim-remote) ;; *) echo "Unknown CAUSE ${CAUSE}: ignoring" -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I347dc9d3a7a7e762323fff5bf252c27e169ba271 Gerrit-Change-Number: 18468 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:06:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:06:38 +0000 Subject: Change in osmo-remsim[master]: simtrace2: use correct event when dispatching modem data to main_fsm In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18475 ) Change subject: simtrace2: use correct event when dispatching modem data to main_fsm ...................................................................... simtrace2: use correct event when dispatching modem data to main_fsm Change-Id: I35e20a577544bde7ad7440a617dc3ed4d2572abf --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 39e6b32..c66f71e 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -111,7 +111,7 @@ /* send APDU to card */ ftpdu.buf = apdu_command; ftpdu.len = sizeof(ac.hdr) + ac.lc.tot; - osmo_fsm_inst_dispatch(bc->main_fi, MF_E_BANKD_TPDU, &ftpdu); + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_TPDU, &ftpdu); } else if (ac.lc.tot > ac.lc.cur) { /* there is pending data from the modem: send procedure byte to get remaining data */ osmo_st2_cardem_request_pb_and_rx(ci, ac.hdr.ins, ac.lc.tot - ac.lc.cur); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I35e20a577544bde7ad7440a617dc3ed4d2572abf Gerrit-Change-Number: 18475 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:07:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:07:17 +0000 Subject: Change in osmo-remsim[master]: Enable async use of libosmo-simtrace2 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18477 ) Change subject: Enable async use of libosmo-simtrace2 ...................................................................... Enable async use of libosmo-simtrace2 libosmo-simtrace2 traditionally had only supported blocking, synchronous I/O, while remsim-client used asynchronous USB I/O. Using async USB I/O for IRQ + IN transfers while using blocking I/O for OUT transfers doesn't seem to work reliably, so we have to switch OUT also to async. Depends: simtrace2.git Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 Change-Id: I18bf166a95bd4318d700b3e93401b2db5188acfc --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/77/18477/1 diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index c66f71e..5ce034d 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -412,6 +412,7 @@ if (cfg->usb.path) osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); transp->udp_fd = -1; + transp->usb_async = true; transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); if (!transp->usb_devh) { fprintf(stderr, "can't open USB device\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I18bf166a95bd4318d700b3e93401b2db5188acfc Gerrit-Change-Number: 18477 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:07:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:07:18 +0000 Subject: Change in osmo-remsim[master]: user_shell: Dispatch all events via main_fsm.c References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18478 ) Change subject: user_shell: Dispatch all events via main_fsm.c ...................................................................... user_shell: Dispatch all events via main_fsm.c ... avoid calling server_conn_send_rspro() directly from user code. Change-Id: I7f589ea1b1610e6d716ed0d9f4078b185bc6401d --- M src/client/user_shell.c 1 file changed, 20 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/78/18478/1 diff --git a/src/client/user_shell.c b/src/client/user_shell.c index 9c804c6..c8f1b5f 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -74,21 +74,30 @@ static void handle_stdin_command(struct stdin_state *ss, char *cmd) { struct bankd_client *bc = ss->bc; - RsproPDU_t *pdu; - BankSlot_t bslot; - uint8_t buf[1024]; int rc; - bank_slot2rspro(&bslot, &bc->bankd_slot); - OSMO_ASSERT(ss->rx_msg); if (!strcasecmp(cmd, "RESET")) { /* reset the [remote] card */ - pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, - true, false, false, true); - server_conn_send_rspro(&bc->bankd_conn, pdu); + struct frontend_phys_status pstatus = { + .flags = { + .reset_active = true, + .vcc_present = false, + .clk_active = false, + .card_present = true, + }, + .voltage_mv = 0, + .fi = 0, + .di = 0, + .wi = 0, + .waiting_time = 0, + }; + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_STATUS_IND, &pstatus); } else { + struct frontend_tpdu ftpdu; + uint8_t buf[1024]; + /* we assume the user has entered a C-APDU as hex string. parse + send */ rc = osmo_hexparse(cmd, buf, sizeof(buf)); if (rc < 0) { @@ -101,8 +110,9 @@ } /* Send CMD APDU to [remote] card */ - pdu = rspro_gen_TpduModem2Card(bc->srv_conn.clslot, &bslot, buf, rc); - server_conn_send_rspro(&bc->bankd_conn, pdu); + ftpdu.buf = buf; + ftpdu.len = rc; + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_TPDU, &ftpdu); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f589ea1b1610e6d716ed0d9f4078b185bc6401d Gerrit-Change-Number: 18478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:07:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:07:45 +0000 Subject: Change in osmo-remsim[master]: Enable async use of libosmo-simtrace2 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18477 ) Change subject: Enable async use of libosmo-simtrace2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I18bf166a95bd4318d700b3e93401b2db5188acfc Gerrit-Change-Number: 18477 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 25 May 2020 21:07:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:15:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:15:44 +0000 Subject: Change in simtrace2[master]: Introduce support for asynchronous USB transmission In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18474 ) Change subject: Introduce support for asynchronous USB transmission ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 Gerrit-Change-Number: 18474 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 25 May 2020 21:15:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:15:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 25 May 2020 21:15:48 +0000 Subject: Change in simtrace2[master]: Introduce support for asynchronous USB transmission In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/18474 ) Change subject: Introduce support for asynchronous USB transmission ...................................................................... Introduce support for asynchronous USB transmission libosmo-simtrace2 traditionally had only supported blocking, synchronous I/O, while other osmocom programs such as remsim-client used asynchronous USB I/O. Using async USB I/O for IRQ + IN transfers while using blocking I/O for OUT transfers doesn't seem to work reliably, so we have to offer a way to perform the OUT transfers generated within libosmo-simtrace2 in async mode. Change-Id: Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 --- A TODO-RELEASE M host/include/osmocom/simtrace2/simtrace2_api.h M host/lib/simtrace2_api.c 3 files changed, 79 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE new file mode 100644 index 0000000..5da461b --- /dev/null +++ b/TODO-RELEASE @@ -0,0 +1,10 @@ +# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install +# according to https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release +# In short: https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info +# LIBVERSION=c:r:a +# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a. +# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0. +# If any interfaces have been added since the last public release: c:r:a + 1. +# If any interfaces have been removed or changed since the last public release: c:r:0. +#library what description / commit summary line +simtrace2 API/ABI change osmo_st2_transport new member diff --git a/host/include/osmocom/simtrace2/simtrace2_api.h b/host/include/osmocom/simtrace2/simtrace2_api.h index aa1637d..d658d16 100644 --- a/host/include/osmocom/simtrace2/simtrace2_api.h +++ b/host/include/osmocom/simtrace2/simtrace2_api.h @@ -12,6 +12,8 @@ uint8_t out; uint8_t irq_in; } usb_ep; + /* use non-blocking / asynchronous libusb I/O */ + bool usb_async; /* UDP */ int udp_fd; @@ -39,8 +41,6 @@ void *priv; }; -int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg); - int osmo_st2_slot_tx_msg(struct osmo_st2_slot *slot, struct msgb *msg, uint8_t msg_class, uint8_t msg_type); diff --git a/host/lib/simtrace2_api.c b/host/lib/simtrace2_api.c index b3e4e38..4e16fd1 100644 --- a/host/lib/simtrace2_api.c +++ b/host/lib/simtrace2_api.c @@ -57,24 +57,61 @@ return msgb_alloc_headroom(1024+32, 32, "SIMtrace"); } -/*! \brief Transmit a given command to the SIMtrace2 device */ -int osmo_st2_transp_tx_msg(struct osmo_st2_transport *transp, struct msgb *msg) + +static void usb_out_xfer_cb(struct libusb_transfer *xfer) { - int rc; + struct msgb *msg = xfer->user_data; - printf("<- %s\n", msgb_hexdump(msg)); - - if (transp->udp_fd < 0) { - int xfer_len; - - rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.out, - msgb_data(msg), msgb_length(msg), - &xfer_len, 100000); - } else { - rc = write(transp->udp_fd, msgb_data(msg), msgb_length(msg)); + switch (xfer->status) { + case LIBUSB_TRANSFER_COMPLETED: + break; + case LIBUSB_TRANSFER_NO_DEVICE: + fprintf(stderr, "USB device disappeared\n"); + exit(1); + break; + default: + fprintf(stderr, "USB OUT transfer failed, status=%u\n", xfer->status); + exit(1); + break; } msgb_free(msg); + libusb_free_transfer(xfer); +} + + +static int st2_transp_tx_msg_usb_async(struct osmo_st2_transport *transp, struct msgb *msg) +{ + struct libusb_transfer *xfer; + int rc; + + xfer = libusb_alloc_transfer(0); + OSMO_ASSERT(xfer); + xfer->dev_handle = transp->usb_devh; + xfer->flags = 0; + xfer->type = LIBUSB_TRANSFER_TYPE_BULK; + xfer->endpoint = transp->usb_ep.out; + xfer->timeout = 100000; + xfer->user_data = msg; + xfer->length = msgb_length(msg); + xfer->buffer = msgb_data(msg); + xfer->callback = usb_out_xfer_cb; + + rc = libusb_submit_transfer(xfer); + OSMO_ASSERT(rc == 0); + + return rc; +} + +/*! \brief Transmit a given command to the SIMtrace2 device */ +static int st2_transp_tx_msg_usb_sync(struct osmo_st2_transport *transp, struct msgb *msg) +{ + int rc; + int xfer_len; + rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.out, + msgb_data(msg), msgb_length(msg), + &xfer_len, 100000); + msgb_free(msg); return rc; } @@ -98,9 +135,24 @@ int osmo_st2_slot_tx_msg(struct osmo_st2_slot *slot, struct msgb *msg, uint8_t msg_class, uint8_t msg_type) { - st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); + struct osmo_st2_transport *transp = slot->transp; + int rc; - return osmo_st2_transp_tx_msg(slot->transp, msg); + OSMO_ASSERT(transp); + + st_push_hdr(msg, msg_class, msg_type, slot->slot_nr); + printf("SIMtrace <- %s\n", msgb_hexdump(msg)); + + if (transp->udp_fd < 0) { + if (transp->usb_async) + rc = st2_transp_tx_msg_usb_async(transp, msg); + else + rc = st2_transp_tx_msg_usb_sync(transp, msg); + } else { + rc = write(transp->udp_fd, msgb_data(msg), msgb_length(msg)); + msgb_free(msg); + } + return rc; } /*********************************************************************** -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/18474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 Gerrit-Change-Number: 18474 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:16:53 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 25 May 2020 21:16:53 +0000 Subject: Change in libosmo-abis[master]: log: Don't log an ERROR on forwarding message to a closed SCCP link. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18439 ) Change subject: log: Don't log an ERROR on forwarding message to a closed SCCP link. ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > I really think this is the wrong location to fix this problem. > > The code receiving an IPA message (here) has nothing to do with the BSC core functionality, and it shouldn't know anything about MSCs or SCCP. > > IMHO, the "bug" is in the BSC code. It should neve return an error (negative result to sign_link callback function) in a non-error situation. Makes sense. -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec Gerrit-Change-Number: 18439 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 25 May 2020 21:16:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:17:11 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 25 May 2020 21:17:11 +0000 Subject: Change in libosmo-abis[master]: log: Don't log an ERROR on forwarding message to a closed SCCP link. In-Reply-To: References: Message-ID: ipse has abandoned this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/18439 ) Change subject: log: Don't log an ERROR on forwarding message to a closed SCCP link. ...................................................................... Abandoned Wrong place to fix the issue -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I7af0da70185a86e10737d93001fb9352dbd233ec Gerrit-Change-Number: 18439 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon May 25 21:23:04 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Mon, 25 May 2020 21:23:04 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: ipse has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 1: > Patch Set 1: > > I'm happy with returning an error here, but the problem is that abis_rsl_rx_rll() propagates that error to libosmo-abis. It shouldn't. Actually, I think we just should return 0 here instead of an error. Whether to forward the message or not to an SCCP connection is an internal question for the GSM 04.07 code, I would say. And thus should stay within gsm0408_rcvmsg(). abis_rsl_rx_rll() shouldn't know about these decisions and should only care about real errors. If that's an acceptable solution, I'll submit a new version of the patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 25 May 2020 21:23:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 26 01:32:25 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 01:32:25 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <5ecc71ae25411_70d22b1c4b9c85f0348736@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/Debian_9.0/x86_64 Package network:osmocom:nightly/libsmpp34 failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: [ 25s] [132/196] keeping dpkg-1.18.25 [ 25s] [133/196] installing libgssapi-krb5-2-1.15-1+deb9u1 [ 26s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 26s] [134/196] installing gcc-6-6.3.0-18+deb9u1 [ 26s] [135/196] installing readline-common-7.0-3 [ 26s] [136/196] installing gcc-4:6.3.0-4 [ 26s] [137/196] installing gzip-1.6-5+b1 [ 26s] [138/196] installing libgdbm3-1.8.3-14 [ 26s] Processing triggers for libc-bin (2.24-11+deb9u4) ... [ 27s] [139/196] installing libxml2-dev-2.9.4+dfsg1-2.2+deb9u2 [ 27s] [140/196] installing perl-base-5.24.1-3+deb9u6 [ 27s] [141/196] installing dash-0.5.8-2.4 [ 27s] Adding 'diversion of /bin/sh to /bin/sh.distrib by dash' [ 27s] Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' [ 27s] dpkg-query: no packages found matching bash [ 27s] [142/196] installing grep-2.27-2 [ 27s] [ 21.486206] EXT4-fs error (device vda): __ext4_iget:4973: inode #2787377: block 1: comm dpkg: invalid block [ 27s] dpkg: error processing archive .init_b_cache/grep.deb (--install): [ 27s] unable to stat './usr/share/locale/he/LC_MESSAGES/grep.mo' (which I was about to install): Structure needs cleaning [ 27s] Errors were encountered while processing: [ 27s] .init_b_cache/grep.deb [ 27s] exit ... [ 27s] ### VM INTERACTION START ### [ 30s] [ 24.569783] sysrq: SysRq : Power Off [ 30s] [ 24.580466] reboot: Power down [ 30s] ### VM INTERACTION END ### [ 30s] [ 30s] goat11 failed "build libsmpp34_1.14.0.4.ceca.dsc" at Tue May 26 01:32:24 UTC 2020. [ 30s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue May 26 01:35:16 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 01:35:16 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecc725fb9912_70d22b1c4b9c85f0349386@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 73s] libosmo-sccp.src: W: no-changelogname-tag [ 73s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 73s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 73s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 73s] osmo-stp.i586: W: no-changelogname-tag [ 73s] There is no changelog. Please insert a '%changelog' section heading in your [ 73s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 73s] [ 73s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 73s] The package contains an init script or systemd service file but lacks the [ 73s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 73s] [ 73s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 73s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 73s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 73s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 73s] This archive does not contain a non-empty .text section. The archive was not [ 73s] created with -ffat-lto-objects option. [ 73s] [ 73s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 73s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 73s] [ 73s] ### VM INTERACTION START ### [ 76s] [ 69.648264] sysrq: Power Off [ 76s] [ 69.655263] reboot: Power down [ 76s] ### VM INTERACTION END ### [ 76s] [ 76s] lamb65 failed "build libosmo-sccp.spec" at Tue May 26 01:35:03 UTC 2020. [ 76s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue May 26 01:35:16 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 01:35:16 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ecc725f764dd_70d22b1c4b9c85f03492ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 79s] libosmo-sccp.src: W: no-changelogname-tag [ 79s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 79s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 79s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 79s] osmo-stp.aarch64: W: no-changelogname-tag [ 79s] There is no changelog. Please insert a '%changelog' section heading in your [ 79s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 79s] [ 79s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 79s] The package contains an init script or systemd service file but lacks the [ 79s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 79s] [ 79s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 79s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 79s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 79s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 79s] This archive does not contain a non-empty .text section. The archive was not [ 79s] created with -ffat-lto-objects option. [ 79s] [ 79s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 79s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 79s] [ 79s] ### VM INTERACTION START ### [ 82s] [ 73.425994] sysrq: Power Off [ 82s] [ 73.470684] reboot: Power down [ 82s] ### VM INTERACTION END ### [ 82s] [ 82s] obs-arm-8 failed "build libosmo-sccp.spec" at Tue May 26 01:35:00 UTC 2020. [ 82s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue May 26 01:38:42 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 01:38:42 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecc732f4f60f_70d22b1c4b9c85f034989a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 71s] libosmo-sccp.src: W: no-changelogname-tag [ 71s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 71s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 71s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 71s] osmo-stp.x86_64: W: no-changelogname-tag [ 71s] There is no changelog. Please insert a '%changelog' section heading in your [ 71s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 71s] [ 71s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 71s] The package contains an init script or systemd service file but lacks the [ 71s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 71s] [ 71s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 71s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 71s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 71s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 71s] This archive does not contain a non-empty .text section. The archive was not [ 71s] created with -ffat-lto-objects option. [ 71s] [ 71s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 71s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 71s] [ 71s] ### VM INTERACTION START ### [ 74s] [ 67.135737] sysrq: Power Off [ 74s] [ 67.142058] reboot: Power down [ 74s] ### VM INTERACTION END ### [ 74s] [ 74s] lamb01 failed "build libosmo-sccp.spec" at Tue May 26 01:38:41 UTC 2020. [ 74s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue May 26 01:58:25 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 01:58:25 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ecc77df58f3b_70d22b1c4b9c85f03511b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 290s] libosmo-sccp.src: W: no-changelogname-tag [ 290s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 290s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 290s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 290s] osmo-stp.armv7hl: W: no-changelogname-tag [ 290s] There is no changelog. Please insert a '%changelog' section heading in your [ 290s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 290s] [ 290s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 290s] The package contains an init script or systemd service file but lacks the [ 290s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 290s] [ 290s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 290s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 290s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 290s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 290s] This archive does not contain a non-empty .text section. The archive was not [ 290s] created with -ffat-lto-objects option. [ 290s] [ 290s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 290s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 290s] [ 290s] ### VM INTERACTION START ### [ 293s] [ 268.665700] sysrq: Power Off [ 293s] [ 268.682991] reboot: Power down [ 294s] ### VM INTERACTION END ### [ 294s] [ 294s] obs-arm-5 failed "build libosmo-sccp.spec" at Tue May 26 01:58:10 UTC 2020. [ 294s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 26 05:39:06 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 05:39:06 +0000 Subject: Change in libosmocore[master]: api doc: clarify 'returns' of gsm48_mi_to_string() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18476 ) Change subject: api doc: clarify 'returns' of gsm48_mi_to_string() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 Gerrit-Change-Number: 18476 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 26 May 2020 05:39:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:16:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:16:40 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-trx/+/18395/3/Transceiver52M/Transceiver.cpp File Transceiver52M/Transceiver.cpp: https://gerrit.osmocom.org/c/osmo-trx/+/18395/3/Transceiver52M/Transceiver.cpp at a1169 PS3, Line 1169: FIXME -- This should be adaptive > I am still trying to guess the meaning of this comment, but why are you removing it? I'd say this is already adaptative as seen in driveTxFIFO(), but indeed no relation to the commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 26 May 2020 07:16:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:21:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:21:30 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s before copying back UE metrics In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s before copying back UE metrics ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py at 111 PS1, Line 111: AFAIU you are relying on the test to call verify_metrics() before exiting in order to get back the log correctly as well as the pcap file, but that's not necessarily the case. You can add a boolean flag in the class telling you whether it already waited and if not, still wait here before copying back files. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:21:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:22:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:22:41 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add max rolling average as metric operation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 ) Change subject: ms_srs: add max rolling average as metric operation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 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: I34bbfe08dbc1f27b86c9805f54649d44d697fa18 Gerrit-Change-Number: 18472 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:22:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:25:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:25:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: allow + operator when specifying CSV columns In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 ) Change subject: ms_srs: allow + operator when specifying CSV columns ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473/1//COMMIT_MSG at 11 PS1, Line 11: UL and DL bitrate combined a small csv example would be appreticiated here in the description. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 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: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 Gerrit-Change-Number: 18473 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:25:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:28:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:28:26 +0000 Subject: Change in osmo-gsm-manuals[master]: vty reference: allow reference XML generated at build time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 ) Change subject: vty reference: allow reference XML generated at build time ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18362 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: I613d692328050a036d05b49a436ab495fc2087ba Gerrit-Change-Number: 18362 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:28:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:30:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:30:41 +0000 Subject: Change in libosmocore[master]: api doc: clarify 'returns' of gsm48_mi_to_string() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18476 ) Change subject: api doc: clarify 'returns' of gsm48_mi_to_string() ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18476/1/src/gsm/gsm48.c File src/gsm/gsm48.c: https://gerrit.osmocom.org/c/libosmocore/+/18476/1/src/gsm/gsm48.c at 740 PS1, Line 740: * \returns Return <= 0 on error, > 0 on success. Probably worth explaning what the meaning of the value is when >0. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 Gerrit-Change-Number: 18476 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:30:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:38:30 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 07:38:30 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s before copying back UE metrics In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s before copying back UE metrics ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py at 111 PS1, Line 111: > AFAIU you are relying on the test to call verify_metrics() before exiting in order to get back the l [?] Good point. I've moved the sleep() into the stop() function, since this is only called when the process is still running. Let me run a couple of tests over the days to see if that works reliably -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 07:38:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:40:39 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 07:40:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 to look at the new patch set (#2). Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... ms_srs: wait 6s after stopping srsUE we've only waited when running with ZMQ but in fact we need to always wait because the UE may need some time to gracefully exit, i.e. send the detach request and shut down correctly. this is now done in stop() so also before copying back the CSV metrics Change-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 11 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/18471/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:40:39 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 07:40:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: allow + operator when specifying CSV columns In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 to look at the new patch set (#2). Change subject: ms_srs: allow + operator when specifying CSV columns ...................................................................... ms_srs: allow + operator when specifying CSV columns this allows to sum dl_brate and ul_brate and perform the known operations, like max, average, etc. on both UL and DL bitrate combined For examples, with this CSV .. time;cc;pci;earfcn;rsrp;pl;cfo;dl_mcs;dl_snr;dl_turbo;dl_brate;dl_bler;ul_ta;ul_mcs;ul_buff;ul_brate;ul_bler;rf_o;rf_u;rf_l;is_attached 1999;0;1;3400;-67;59;913;27;29;0.50;10432.000000;0;2.6;20;0.0;10848.000000;0;0.0;0.0;0.0;1.0 2998;0;1;3400;-67;59;912;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0 3997;0;1;3400;-69;61;909;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0 .. one could calculate the average of DL and UL bit rate with: ue.verify_metric(1e6, operation='avg', metric='dl_brate+ul_brate', criterion='gt', window=test_duration) and veriy that it's average is greater than 1 Mbit/s Change-Id: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/73/18473/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 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: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 Gerrit-Change-Number: 18473 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:41:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:41:15 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/1/src/osmo_gsm_tester/obj/ms_srs.py at 111 PS1, Line 111: > Good point. [?] Even if the process is not running (this code path), you still need the sleep, because the only process you know for sure is finished is the local ssh client, not the remote srsue process, so you still need to give it a few seconds to avoid copying stuff back before the process is finished. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 07:41:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:44:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 07:44:24 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: allow + operator when specifying CSV columns In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 ) Change subject: ms_srs: allow + operator when specifying CSV columns ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 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: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 Gerrit-Change-Number: 18473 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 07:44:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:51:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 26 May 2020 07:51:15 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 26 May 2020 07:51:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 07:54:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 26 May 2020 07:54:56 +0000 Subject: Change in osmo-remsim[master]: Enable async use of libosmo-simtrace2 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18477 ) Change subject: Enable async use of libosmo-simtrace2 ...................................................................... Enable async use of libosmo-simtrace2 libosmo-simtrace2 traditionally had only supported blocking, synchronous I/O, while remsim-client used asynchronous USB I/O. Using async USB I/O for IRQ + IN transfers while using blocking I/O for OUT transfers doesn't seem to work reliably, so we have to switch OUT also to async. Depends: simtrace2.git Ib8939bdb7f533cd20a34a30a97f12b782b9816c2 Change-Id: I18bf166a95bd4318d700b3e93401b2db5188acfc --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index c66f71e..5ce034d 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -412,6 +412,7 @@ if (cfg->usb.path) osmo_strlcpy(ifm->path, cfg->usb.path, sizeof(ifm->path)); transp->udp_fd = -1; + transp->usb_async = true; transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); if (!transp->usb_devh) { fprintf(stderr, "can't open USB device\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I18bf166a95bd4318d700b3e93401b2db5188acfc Gerrit-Change-Number: 18477 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 09:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 09:39:55 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 to look at the new patch set (#3). Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... ms_srs: wait 6s after stopping srsUE we've only waited when running with ZMQ but in fact we need to always wait because the UE may need some time to gracefully exit, i.e. send the detach request and shut down correctly. this is now done in stop() so also before copying back the CSV metrics Change-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 11 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/18471/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 09:39:55 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 09:39:55 +0000 Subject: Change in osmo-gsm-tester[master]: enb: fix UL max rate calculation References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 ) Change subject: enb: fix UL max rate calculation ...................................................................... enb: fix UL max rate calculation don't double the maximum rate for UL traffic in MIMO since we are only using MIMO in the downlink Change-Id: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/79/18479/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 42ff647..9db0d69 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -238,7 +238,7 @@ return self._addr def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 + # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 max_phy_rate_tm1_dl = { 6 : 3.5e6, 15 : 11e6, 25 : 18e6, @@ -255,12 +255,11 @@ max_rate = max_phy_rate_tm1_dl[self.num_prb()] else: max_rate = max_phy_rate_tm1_ul[self.num_prb()] + #TODO: calculate for non-standard prb numbers. - if self._txmode > 2: + if downlink and self._txmode > 2: max_rate *= 2 - # We use 3 control symbols for 6, 15 and 25 PRBs which results in lower max rate - if self.num_prb() < 50: - max_rate *= 0.9 + return max_rate # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 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: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 Gerrit-Change-Number: 18479 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 09:42:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 09:42:43 +0000 Subject: Change in osmo-gsm-tester[master]: enb: fix UL max rate calculation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 ) Change subject: enb: fix UL max rate calculation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 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: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 Gerrit-Change-Number: 18479 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 09:42:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 09:55:26 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 09:55:26 +0000 Subject: Change in osmo-gsm-tester[master]: enb: fix UL max rate calculation In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 ) Change subject: enb: fix UL max rate calculation ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 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: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 Gerrit-Change-Number: 18479 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 09:55:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 10:38:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 10:38:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/3/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471/3/src/osmo_gsm_tester/obj/ms_srs.py at 132 PS3, Line 132: MainLoop.sleep(self, self.stop_timeout) I'm sorry to tell you that's not the correct approach, since stop() method is only called by tests whilling to stop the object. The usual process tear down is done by testenv from the process registerd in line 170 ( self.testenv.remember_to_stop(self.process)), where the process object is used directly and it will then call cleanup() method in this class. So the fix is not right. As I said, leave this is as it was and add a boolean flag in stop() or verify_metric(), and sleep in cleanup() only if we didn't already sleep. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 10:38:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 11:12:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 May 2020 11:12:05 +0000 Subject: Change in osmo-ci[master]: scripts: source common.sh before cd References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18480 ) Change subject: scripts: source common.sh before cd ...................................................................... scripts: source common.sh before cd common.sh tries to set OSMO_CI_DIR now; however this does not work when common.sh was sourced with ". ./common.sh": realpath: scripts/..: No such file or directory Fixes: 7cb8e2d0 ("OBS: add debian10 specific patch for limesuite") Related: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/455/console Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e --- M scripts/osmocom-build-old-tags-against-master.sh M scripts/osmocom-release-tarballs.sh 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/80/18480/1 diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 58a0009..e7e6bff 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -7,8 +7,8 @@ # Latest result: # https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/lastBuild/console +. "$(dirname "$0")/common.sh" cd "$(dirname "$0")" -. ./common.sh ERROR_LOGS="" PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" diff --git a/scripts/osmocom-release-tarballs.sh b/scripts/osmocom-release-tarballs.sh index b9d21c3..3f8b920 100755 --- a/scripts/osmocom-release-tarballs.sh +++ b/scripts/osmocom-release-tarballs.sh @@ -7,8 +7,8 @@ # * KEEP_TEMP: do not delete cloned repositories (use for development) # * PARALLEL_MAKE: -jN argument for make (default: -j5). +. "$(dirname "$0")/common.sh" cd "$(dirname "$0")" -. ./common.sh PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" OUTPUT="$(cd ..; pwd)/_release_tarballs" TEMP="$(cd ..; pwd)/_temp" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e Gerrit-Change-Number: 18480 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 11:37:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 11:37:31 +0000 Subject: Change in osmo-ci[master]: scripts: source common.sh before cd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18480 ) Change subject: scripts: source common.sh before cd ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e Gerrit-Change-Number: 18480 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 11:37:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 11:41:11 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 26 May 2020 11:41:11 +0000 Subject: Change in libosmo-sccp[master]: RPM spec: fix "E: lto-no-text-in-archive" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 ) Change subject: RPM spec: fix "E: lto-no-text-in-archive" ...................................................................... RPM spec: fix "E: lto-no-text-in-archive" Some opensuse versions failed to build the RPM with: libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a This archive does not contain a non-empty .text section. The archive was not created with -ffat-lto-objects option. Fix it as described here: https://en.opensuse.org/openSUSE:LTO#Static_libraries I've verified in my own OBS namespace, that it works as expected. Related: OS#4550 Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 --- M contrib/libosmo-sccp.spec.in 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/81/18481/1 diff --git a/contrib/libosmo-sccp.spec.in b/contrib/libosmo-sccp.spec.in index b4d7722..b195b1f 100644 --- a/contrib/libosmo-sccp.spec.in +++ b/contrib/libosmo-sccp.spec.in @@ -12,6 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. +# Avoid "E: lto-no-text-in-archive" +# https://en.opensuse.org/openSUSE:LTO#Static_libraries +%if 0%{?suse_version} +%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects +%endif + Name: libosmo-sccp Version: @VERSION@ Release: 0 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 Gerrit-Change-Number: 18481 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 26 11:49:16 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 11:49:16 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecd02561df49_41832b021c1605f09901e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 83s] libosmo-sccp.src: W: no-changelogname-tag [ 83s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 83s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 83s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 83s] osmo-stp.i586: W: no-changelogname-tag [ 83s] There is no changelog. Please insert a '%changelog' section heading in your [ 83s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 83s] [ 83s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 83s] The package contains an init script or systemd service file but lacks the [ 83s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 83s] [ 84s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 84s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 84s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 84s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 84s] This archive does not contain a non-empty .text section. The archive was not [ 84s] created with -ffat-lto-objects option. [ 84s] [ 84s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 84s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 84s] [ 84s] ### VM INTERACTION START ### [ 87s] [ 80.170125] sysrq: Power Off [ 87s] [ 80.174996] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] lamb17 failed "build libosmo-sccp.spec" at Tue May 26 11:49:01 UTC 2020. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 26 11:50:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 11:50:28 +0000 Subject: Change in libosmo-sccp[master]: RPM spec: fix "E: lto-no-text-in-archive" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 ) Change subject: RPM spec: fix "E: lto-no-text-in-archive" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 Gerrit-Change-Number: 18481 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 11:50:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 12:12:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: Support identifying different tgz files based on run_label attribute In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 to look at the new patch set (#2). Change subject: Support identifying different tgz files based on run_label attribute ...................................................................... Support identifying different tgz files based on run_label attribute tgz files in trials can be categorized in subdirectories, allowing to select different bianry files at runtime based on the target run node which is going to run them. This way for instance one can have a binary linked against libs for eg. CentOS under run_label "centos/" or an ARM target under "arm", and then use "run_label: arm" on the resource using it. Change-Id: Iaf2e97da3aff693395f44f0e93b184d4846cf6da --- M .gitignore M doc/manuals/chapters/trial.adoc M selftest/Makefile A selftest/trial_test/run_label/checksums.md5 A selftest/trial_test/run_label/foobar/sample.tar.gz A selftest/trial_test/run_label/sample.tar.gz M selftest/trial_test/trial_test.ok M selftest/trial_test/trial_test.ok.ign M selftest/trial_test/trial_test.py M src/osmo_gsm_tester/core/trial.py M src/osmo_gsm_tester/obj/run_node.py 11 files changed, 76 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/69/18469/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 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: Iaf2e97da3aff693395f44f0e93b184d4846cf6da Gerrit-Change-Number: 18469 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 12:12:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Reuse run_node to hold run info References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 ) Change subject: enb: Reuse run_node to hold run info ...................................................................... enb: Reuse run_node to hold run info Change-Id: If396940f154813d42ff3d3364c44b8979179127f --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/run_node.py M sysmocom/resources.conf.prod 6 files changed, 58 insertions(+), 50 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/18482/1 diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf index a1bdcbc..f0db3c0 100644 --- a/doc/examples/4g_srsLTE/resources.conf +++ b/doc/examples/4g_srsLTE/resources.conf @@ -11,15 +11,21 @@ - label: srsENB-zmq type: srsenb rf_dev_type: zmq - remote_user: jenkins - addr: 172.18.50.101 + run_node: + run_type: ssh + run_addr: 172.18.50.101 + ssh_user: jenkins + ssh_addr: 172.18.50.101 - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: 'type=b200,serial=317B9FE' - remote_user: jenkins - addr: 172.18.50.102 + run_node: + run_type: ssh + run_addr: 172.18.50.102 + ssh_user: jenkins + ssh_addr: 172.18.50.102 modem: - label: srsUE-zmq diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 42ff647..3c4f48f 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -20,13 +20,12 @@ from abc import ABCMeta, abstractmethod from ..core import log, config from ..core import schema +from . import run_node def on_register_schemas(): resource_schema = { 'label': schema.STR, 'type': schema.STR, - 'remote_user': schema.STR, - 'addr': schema.IPV4, 'gtp_bind_addr': schema.IPV4, 'id': schema.UINT, 'num_prb': schema.UINT, @@ -60,6 +59,8 @@ 'cell_list[].dl_rfemu.addr': schema.IPV4, 'cell_list[].dl_rfemu.ports[]': schema.UINT, } + for key, val in run_node.RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val schema.register_resource_schema('enb', resource_schema) class eNodeB(log.Origin, metaclass=ABCMeta): @@ -70,13 +71,11 @@ def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, '%s' % name) self._conf = conf - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') + self._run_node = run_node.RunNode.from_conf(conf.get('run_node', {})) self._gtp_bind_addr = conf.get('gtp_bind_addr', None) if self._gtp_bind_addr is None: - self._gtp_bind_addr = self._addr - self.set_name('%s_%s' % (name, self._addr)) + self._gtp_bind_addr = self._run_node.run_addr() + self.set_name('%s_%s' % (name, self._run_node.run_addr())) self._txmode = 0 self._id = None self._num_prb = 0 @@ -99,6 +98,7 @@ assert self._txmode config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) assert self._epc is not None + config.overlay(values, dict(enb={ 'addr': self.addr() })) config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) self._num_cells = int(values['enb'].get('num_cells', None)) @@ -235,7 +235,7 @@ pass def addr(self): - return self._addr + return self._run_node.run_addr() def ue_max_rate(self, downlink=True): # The max rate for a single UE per PRB configuration in TM1 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index fa79cbf..c331cd8 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -69,7 +69,6 @@ self.remote_log_file = None self.enable_measurements = False self.testenv = testenv - self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -83,7 +82,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -91,10 +90,6 @@ except Exception as e: self.log(repr(e)) - - def setup_runs_locally(self): - return self.remote_user is None - def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc @@ -107,7 +102,7 @@ self.process.stdin_write('t\n') def _start(self): - if self.setup_runs_locally(): + if self._run_node.is_local(): env = { 'LD_LIBRARY_PATH': util.prepend_library_path(self.inst) } binary = self.inst.child('.', AmarisoftENB.BINFILE) self.dbg(run_dir=self.run_dir, binary=binary, env=env) @@ -141,8 +136,8 @@ self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB) self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftENB.BINFILE)) @@ -186,7 +181,7 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) # rf driver is shared between amarisoft enb and ue, so it has a @@ -205,7 +200,7 @@ self.gen_conf_file(self.config_rf_file, AmarisoftENB.CFGFILE_RF, values) self.gen_conf_file(self.config_drb_file, AmarisoftENB.CFGFILE_DRB, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 47b373e..9e93541 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -68,7 +68,6 @@ self.remote_pcap_file = None self.enable_pcap = False self.testenv = testenv - self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -76,7 +75,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -89,18 +88,15 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def start(self, epc): self.log('Starting srsENB') self._epc = epc self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.remote_user: - self.start_remotely() - else: + if self._run_node.is_local(): self.start_locally() + else: + self.start_remotely() # send t+Enter to enable console trace self.dbg('Enabling console trace') @@ -149,8 +145,8 @@ self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) @@ -164,11 +160,11 @@ values = super().configure(['srsenb']) - sibfile = self.config_sib_file if self.setup_runs_locally() else self.remote_config_sib_file - rrfile = self.config_rr_file if self.setup_runs_locally() else self.remote_config_rr_file - drbfile = self.config_drb_file if self.setup_runs_locally() else self.remote_config_drb_file - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + sibfile = self.config_sib_file if self._run_node.is_local() else self.remote_config_sib_file + rrfile = self.config_rr_file if self._run_node.is_local() else self.remote_config_rr_file + drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file config.overlay(values, dict(enb=dict(sib_filename=sibfile, rr_filename=rrfile, drb_filename=drbfile, @@ -209,7 +205,7 @@ self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(self.remote_run_dir) diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index bd502af..6a030ac 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -21,13 +21,7 @@ from ..core import schema def on_register_schemas(): - resource_schema = { - 'run_type': schema.STR, - 'run_addr': schema.IPV4, - 'ssh_user': schema.STR, - 'ssh_addr': schema.IPV4, - 'run_label': schema.STR, - } + resource_schema = RunNode.schema() schema.register_resource_schema('run_node', resource_schema) @@ -63,6 +57,17 @@ conf.get('ssh_user', None), conf.get('ssh_addr', None), conf.get('run_label', None)) + @classmethod + def schema(cls): + resource_schema = { + 'run_type': schema.STR, + 'run_addr': schema.IPV4, + 'ssh_user': schema.STR, + 'ssh_addr': schema.IPV4, + 'run_label': schema.STR, + } + return resource_schema + def is_local(self): return self._type == RunNode.T_LOCAL diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index c66cafa..ec148f3 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -159,15 +159,21 @@ type: srsenb rf_dev_type: zmq rf_dev_args: auto - remote_user: jenkins - addr: 10.42.42.117 + run_node: + run_type: ssh + run_addr: 10.42.42.117 + ssh_user: jenkins + ssh_addr: 10.42.42.117 - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=306BD11" - remote_user: jenkins - addr: 10.42.42.117 + run_node: + run_type: ssh + run_addr: 10.42.42.117 + ssh_user: jenkins + ssh_addr: 10.42.42.117 arfcn: - arfcn: 512 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 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: If396940f154813d42ff3d3364c44b8979179127f Gerrit-Change-Number: 18482 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 12:12:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Reuse run_node to hold run info References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 ) Change subject: ms_{srs,amarisoft}: Reuse run_node to hold run info ...................................................................... ms_{srs,amarisoft}: Reuse run_node to hold run info Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917 --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/resources.conf.prod 4 files changed, 54 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/18483/1 diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf index f0db3c0..cadb1b6 100644 --- a/doc/examples/4g_srsLTE/resources.conf +++ b/doc/examples/4g_srsLTE/resources.conf @@ -31,20 +31,26 @@ - label: srsUE-zmq type: srsue rf_dev_type: zmq - remote_user: jenkins - addr: 172.18.50.100 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 - label: srsUE-B200 type: srsue rf_dev_type: uhd rf_dev_args: 'type=b200,serial=3128FF1' - remote_user: jenkins - addr: 10.12.1.195 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.12.1.195 + ssh_user: jenkins + ssh_addr: 10.12.1.195 diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index d79756b..5067048 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -27,6 +27,10 @@ from .ms import MS def on_register_schemas(): + resource_schema = {} + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val + schema.register_resource_schema('modem', resource_schema) config_schema = { 'license_server_addr': schema.IPV4, } @@ -79,10 +83,8 @@ IFUPFILE = 'ue-ifup' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('amarisoftue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('amarisoftue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.inst = None @@ -99,7 +101,6 @@ self.remote_log_file = None self.remote_ifup_file = None self.testenv = testenv - self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -113,7 +114,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -121,9 +122,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "amarisoftue1" @@ -135,7 +133,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -219,8 +217,8 @@ ''' % (self.netns(), self.netns()) f.write(r) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftUE.BINFILE)) @@ -235,10 +233,11 @@ config.overlay(values, dict(ue=self.testenv.suite().config().get('amarisoft', {}))) config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) - config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + config.overlay(values, dict(ue=dict(addr = self.addr(), + num_antennas = self.enb.num_ports()))) - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - ifupfile = self.ifup_file if self.setup_runs_locally() else self.remote_ifup_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file config.overlay(values, dict(ue=dict(log_filename=logfile, ifup_filename=ifupfile))) @@ -289,7 +288,7 @@ self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) @@ -309,13 +308,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 3fa282e..a9f7282 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -31,8 +31,6 @@ def on_register_schemas(): resource_schema = { - 'remote_user': schema.STR, - 'addr': schema.IPV4, 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, 'num_carriers': schema.UINT, @@ -42,6 +40,8 @@ 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, } + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val schema.register_resource_schema('modem', resource_schema) config_schema = { @@ -78,10 +78,8 @@ METRICSFILE = 'srsue_metrics.csv' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('srsue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('srsue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.config_file = None @@ -99,7 +97,6 @@ self.enable_pcap = False self.num_carriers = 1 self.testenv = testenv - self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -107,7 +104,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # When using zmq, srsUE is known to hang for a few seconds before # exiting (3 seconds after alarm() watchdog kicks in). We hence need to @@ -126,9 +123,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "srsue1" @@ -140,7 +134,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -209,8 +203,8 @@ self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) @@ -224,9 +218,9 @@ config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) - metricsfile = self.metrics_file if self.setup_runs_locally() else self.remote_metrics_file - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + metricsfile = self.metrics_file if self._run_node.is_local() else self.remote_metrics_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file config.overlay(values, dict(ue=dict(metrics_filename=metricsfile, log_filename=logfile, pcap_filename=pcapfile))) @@ -294,7 +288,7 @@ self.dbg(r) f.write(r) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(self.remote_run_dir) @@ -310,13 +304,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) @@ -344,7 +338,7 @@ # metrics file is not flushed immediatelly by the OS during process # tear down, we need to wait some extra time: MainLoop.sleep(self, 2) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): try: self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) except Exception as e: diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index ec148f3..e6429a0 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -258,23 +258,29 @@ type: srsue rf_dev_type: zmq rf_dev_args: auto - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 - label: srsUE-soapy-lms_1 type: srsue rf_dev_type: soapy rf_dev_args: driver=lime,serial=00090706024F0A22,rxant=LNAW,txant=BAND1 - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00897B41-if00-port0' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 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: Ifdea48fed0bfc152131c53b87c34b4514c632917 Gerrit-Change-Number: 18483 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 12:12:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 12:12:57 +0000 Subject: Change in osmo-gsm-tester[master]: enb_{srs, amarisoft}: Support selecting tgz based on run_node's run label References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 ) Change subject: enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label Change-Id: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/18484/1 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index c331cd8..8f624e6 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -76,7 +76,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 9e93541..e192530 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -132,7 +132,7 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsENB.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 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: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b Gerrit-Change-Number: 18484 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 12:12:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 12:12:57 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Support selecting tgz based on run_node's run label References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 ) Change subject: ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label Change-Id: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208 --- M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/18485/1 diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 5067048..e99cca3 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -108,7 +108,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index a9f7282..591dada 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -192,7 +192,7 @@ self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsUE.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 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: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208 Gerrit-Change-Number: 18485 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue May 26 12:16:42 2020 From: admin at opensuse.org (OBS Notification) Date: Tue, 26 May 2020 12:16:42 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecd08b02a435_41832b021c1605f01075de@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 132s] libosmo-sccp.src: W: no-changelogname-tag [ 132s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 132s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 132s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 132s] osmo-stp.x86_64: W: no-changelogname-tag [ 132s] There is no changelog. Please insert a '%changelog' section heading in your [ 132s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 132s] [ 132s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 132s] The package contains an init script or systemd service file but lacks the [ 132s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 132s] [ 132s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 132s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 132s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 132s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 132s] This archive does not contain a non-empty .text section. The archive was not [ 132s] created with -ffat-lto-objects option. [ 132s] [ 132s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 132s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 132s] [ 132s] ### VM INTERACTION START ### [ 135s] [ 118.618183] sysrq: Power Off [ 135s] [ 118.632856] reboot: Power down [ 135s] ### VM INTERACTION END ### [ 135s] [ 135s] cloud124 failed "build libosmo-sccp.spec" at Tue May 26 12:16:24 UTC 2020. [ 135s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue May 26 12:22:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 12:22:59 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 to look at the new patch set (#4). Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... ms_srs: wait 6s after stopping srsUE we've only waited when running with ZMQ but in fact we need to always wait because the UE may need some time to gracefully exit, i.e. send the detach request and shut down correctly. this is checked in cleanup() and verity_metrics(), so also before copying back the CSV metrics. But we only wait once. Change-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 20 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/71/18471/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:00:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 13:00:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn File library/RSL_Emulation.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn at 335 PS1, Line 335: /* Find IPAC_IDTAG_UNITID in the IPA IDENTITY RESPONSE */ : for (var integer i := 0; i < sizeof(id_resp); i := i + 1) { : if (id_resp[i].tag == IPAC_IDTAG_UNITID) { : unit_id := oct2char(id_resp[i].data); : break; : } : : /* If this is the last element, nothing is found */ : if (i + 1 == sizeof(id_resp)) { : testcase.stop("IPA IDENTITY RESPONSE contains no unit-id"); : } : } > could probably be generalized into a function that finds/extracts any TLV/IE. [?] Done https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465/1/library/RSL_Emulation.ttcn at 353 PS1, Line 353: /* Parse transceiver number (site/bts/trx) */ : unit_id := regexp(unit_id, unit_id_fmt, 2); : trx_nr := str2int(unit_id); > probably better to introduce an abstract type that represents the tuple (site_id, bts_id, trx_id)? [?] I'll add a FIXME comment for now, if you don't mind. Draft implementation can be found here: https://git.osmocom.org/osmo-ttcn3-hacks/log/?h=fixeria/ipa_unit_id. Unfortunately TITAN fails to decode a valid unit-id string, so we would probably have to write the codec by hand. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 26 May 2020 13:00:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:27:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 13:27:48 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 13:27:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:28:43 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 26 May 2020 13:28:43 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 26 May 2020 13:28:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:55:39 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 13:55:39 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add max rolling average as metric operation In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 ) Change subject: ms_srs: add max rolling average as metric operation ...................................................................... ms_srs: add max rolling average as metric operation this allows to calculate the rolling average over a specific window in time and take the maximum of that this is useful to get average value for 30s UDP traffic for example from the UE metrics Change-Id: I34bbfe08dbc1f27b86c9805f54649d44d697fa18 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 3fa282e..a147ce6 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -337,7 +337,7 @@ return self._get_counter_handover_success() raise log.Error('counter %s not implemented!' % counter_name) - def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt'): + def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): # file is not properly flushed until the process has stopped. if self.running(): self.stop() @@ -351,13 +351,13 @@ self.err('Failed copying back metrics file from remote host') raise e metrics = srsUEMetrics(self.metrics_file) - return metrics.verify(value, operation, metric, criterion) + return metrics.verify(value, operation, metric, criterion, window) numpy = None class srsUEMetrics(log.Origin): - VALID_OPERATIONS = ['avg', 'sum'] + VALID_OPERATIONS = ['avg', 'sum', 'max_rolling_avg'] VALID_CRITERION = ['eq','gt','lt'] CRITERION_TO_SYM = { 'eq' : '==', 'gt' : '>', 'lt' : '<' } CRYTERION_TO_SYM_OPPOSITE = { 'eq' : '!=', 'gt' : '<=', 'lt' : '>=' } @@ -378,7 +378,7 @@ self.err("Error parsing metrics CSV file %s" % self.metrics_file) raise error - def verify(self, value, operation='avg', metric='dl_brate', criterion='gt'): + def verify(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): if operation not in self.VALID_OPERATIONS: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_OPERATIONS)) if criterion not in self.VALID_CRITERION: @@ -394,6 +394,10 @@ result = numpy.average(sel_data) elif operation == 'sum': result = numpy.sum(sel_data) + elif operation == 'max_rolling_avg': + # calculate rolling average over window and take maximum value + result = numpy.amax(numpy.convolve(sel_data, numpy.ones((window,))/window, mode='valid')) + self.dbg(result=result, value=value) success = False -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18472 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: I34bbfe08dbc1f27b86c9805f54649d44d697fa18 Gerrit-Change-Number: 18472 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:55:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 13:55:40 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: allow + operator when specifying CSV columns In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 ) Change subject: ms_srs: allow + operator when specifying CSV columns ...................................................................... ms_srs: allow + operator when specifying CSV columns this allows to sum dl_brate and ul_brate and perform the known operations, like max, average, etc. on both UL and DL bitrate combined For examples, with this CSV .. time;cc;pci;earfcn;rsrp;pl;cfo;dl_mcs;dl_snr;dl_turbo;dl_brate;dl_bler;ul_ta;ul_mcs;ul_buff;ul_brate;ul_bler;rf_o;rf_u;rf_l;is_attached 1999;0;1;3400;-67;59;913;27;29;0.50;10432.000000;0;2.6;20;0.0;10848.000000;0;0.0;0.0;0.0;1.0 2998;0;1;3400;-67;59;912;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0 3997;0;1;3400;-69;61;909;28;29;0.50;2136.000000;0;2.6;20;0.0;1680.000000;0;0.0;0.0;0.0;1.0 .. one could calculate the average of DL and UL bit rate with: ue.verify_metric(1e6, operation='avg', metric='dl_brate+ul_brate', criterion='gt', window=test_duration) and veriy that it's average is greater than 1 Mbit/s Change-Id: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 16 insertions(+), 7 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index a147ce6..a8e86d3 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -378,17 +378,26 @@ self.err("Error parsing metrics CSV file %s" % self.metrics_file) raise error - def verify(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): + def verify(self, value, operation='avg', metric_str='dl_brate', criterion='gt', window=1): if operation not in self.VALID_OPERATIONS: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_OPERATIONS)) if criterion not in self.VALID_CRITERION: raise log.Error('Unknown operation %s not in %r' % (operation, self.VALID_CRITERION)) # check if given metric exists in data - try: - sel_data = self.raw_data[metric] - except ValueError as err: - print('metric %s not available' % metric) - raise err + sel_data = numpy.array([]) + metrics_list = metric_str.split('+') # allow addition operator for columns + for metric in metrics_list: + try: + vec = numpy.array(self.raw_data[metric]) + except ValueError as err: + print('metric %s not available' % metric) + raise err + if sel_data.size == 0: + # Initialize with dimension of first metric vector + sel_data = vec + else: + # Sum them up assuming same array dimension + sel_data += vec if operation == 'avg': result = numpy.average(sel_data) @@ -407,7 +416,7 @@ success = True # Convert bitrate in Mbit/s: - if metric.find('brate') > 0: + if metric_str.find('brate') > 0: result /= 1e6 value /= 1e6 mbit_str = ' Mbit/s' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18473 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: I5c7c80bb107fa6b93b215176e6ebbb5dc8594860 Gerrit-Change-Number: 18473 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:55:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 13:55:40 +0000 Subject: Change in osmo-gsm-tester[master]: enb: fix UL max rate calculation In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 ) Change subject: enb: fix UL max rate calculation ...................................................................... enb: fix UL max rate calculation don't double the maximum rate for UL traffic in MIMO since we are only using MIMO in the downlink Change-Id: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 4 insertions(+), 5 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 42ff647..9db0d69 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -238,7 +238,7 @@ return self._addr def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 + # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 max_phy_rate_tm1_dl = { 6 : 3.5e6, 15 : 11e6, 25 : 18e6, @@ -255,12 +255,11 @@ max_rate = max_phy_rate_tm1_dl[self.num_prb()] else: max_rate = max_phy_rate_tm1_ul[self.num_prb()] + #TODO: calculate for non-standard prb numbers. - if self._txmode > 2: + if downlink and self._txmode > 2: max_rate *= 2 - # We use 3 control symbols for 6, 15 and 25 PRBs which results in lower max rate - if self.num_prb() < 50: - max_rate *= 0.9 + return max_rate # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18479 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: I018e8ba8cb822a4bd57b8d0e420dd496172ac229 Gerrit-Change-Number: 18479 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:55:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 13:55:40 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: wait 6s after stopping srsUE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 ) Change subject: ms_srs: wait 6s after stopping srsUE ...................................................................... ms_srs: wait 6s after stopping srsUE we've only waited when running with ZMQ but in fact we need to always wait because the UE may need some time to gracefully exit, i.e. send the detach request and shut down correctly. this is checked in cleanup() and verity_metrics(), so also before copying back the CSV metrics. But we only wait once. Change-Id: I47e46b8ccce41c9a62d2d6866260d22c927e710d --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 20 insertions(+), 15 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified srs_andre: Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index a8e86d3..389ed6b 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -96,6 +96,7 @@ self.remote_log_file = None self.remote_pcap_file = None self.remote_metrics_file = None + self.stop_sleep_time = 6 # We require at most 5s to stop self.enable_pcap = False self.num_carriers = 1 self.testenv = testenv @@ -109,12 +110,10 @@ return if self.setup_runs_locally(): return - # When using zmq, srsUE is known to hang for a few seconds before - # exiting (3 seconds after alarm() watchdog kicks in). We hence need to - # wait to make sure the remote process terminated and the file was - # flushed, since cleanup() triggered means only the local ssh client was killed. - if self._conf and self._conf.get('rf_dev_type', '') == 'zmq': - MainLoop.sleep(self, 3) + + # Make sure we give the UE time to tear down + self.sleep_after_stop() + # copy back files (may not exist, for instance if there was an early error of process): try: self.rem_host.scpfrom('scp-back-log', self.remote_log_file, self.log_file) @@ -132,8 +131,15 @@ def netns(self): return "srsue1" + def sleep_after_stop(self): + # Only sleep once + if self.stop_sleep_time > 0: + MainLoop.sleep(self, self.stop_sleep_time) + self.stop_sleep_time = 0 + def stop(self): self.testenv.stop_process(self.process) + self.sleep_after_stop() def connect(self, enb): self.log('Starting srsue') @@ -341,15 +347,14 @@ # file is not properly flushed until the process has stopped. if self.running(): self.stop() - # metrics file is not flushed immediatelly by the OS during process - # tear down, we need to wait some extra time: - MainLoop.sleep(self, 2) - if not self.setup_runs_locally(): - try: - self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) - except Exception as e: - self.err('Failed copying back metrics file from remote host') - raise e + + if not self.setup_runs_locally(): + try: + self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) + except Exception as e: + self.err('Failed copying back metrics file from remote host') + raise e + metrics = srsUEMetrics(self.metrics_file) return metrics.verify(value, operation, metric, criterion, window) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18471 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: I47e46b8ccce41c9a62d2d6866260d22c927e710d Gerrit-Change-Number: 18471 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:57:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 13:57:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 to look at the new patch set (#2). Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata This would allow the RSL Emulation component to maintain several transceiver connections in server mode. In order to send an RSL message to a specific transceiver, its TCP/IP connection ID needs to be included in the ASP_RSL_Unitdata message. Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 19 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/18462/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:57:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 13:57:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 to look at the new patch set (#2). Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... library/RSL_Emulation: server mode: handle multiple transceivers Since change [1], the IPA emulation component allows us to handle multiple IPA connections, thus multiple RSL connections. The idea is to attach a TCP/IP connection identifier to each message. On top of that, this change implements mapping between TCP/IP connection identifiers and RSL stream identifiers, so we can finally talk to any of connected transceivers (up to 4 for now), not only the last connected one (as it was before). The actual mapping is done during the IPA identification procedure. Instead of forwarding ASP_IPA_EVENT_UP to a test case, the RSL emulation component now sends a new event - RSLEM_EV_TRX_UP, with transceiver number (actually, IPA stream-id) attached. [1] I93c58c08cf296e5cea81d811650caa1a09b8a579 Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/IPA_Types.ttcn M library/RSL_Emulation.ttcn 3 files changed, 126 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/18465/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 13:57:11 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 13:57:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fixup: handle RSL messages from any TRX References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 ) Change subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX ...................................................................... library/RSL_Emulation: fixup: handle RSL messages from any TRX As a side effect of change [1], the RSL emulation component has stopped to handle RSL messages from transceivers other than TRX#0. Let's fix this by using template '?' for stream ID. [1] I4c4a98458cfa33512db661b5435f484a38e2ef4f Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea --- M library/RSL_Emulation.ttcn 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/86/18486/1 diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index ffd60a7..bbe5332 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -382,7 +382,7 @@ IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN, sid := ?)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; var GsmFrameNumber fn; @@ -418,7 +418,7 @@ } } } - [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { + [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?), sid := ?)) -> value rx_rsl { var RSL_IE_RequestRef req_ref; req_ref := rx_rsl.rsl.ies[1].body.req_ref; cid := f_cid_by_ra_fn2(req_ref.ra, req_ref.frame_nr); @@ -430,7 +430,7 @@ } } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { + [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)) { @@ -440,24 +440,24 @@ } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* blindly acknowledge all channel activations */ - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV), sid := ?)) -> value rx_rsl { chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } - [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { + [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?), sid := ?)) -> value rx_rsl { /* dispatch to channel based on ChanId */ cid := f_cid_by_chan_nr(f_trx_by_streamId(rx_rsl.streamId), rx_rsl.rsl.ies[0].body.chan_nr); @@ -491,7 +491,7 @@ IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } - [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { + [] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea Gerrit-Change-Number: 18486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 14:04:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 14:04:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: handle multiple client connections In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 ) Change subject: library/IPA_Emulation: server mode: handle multiple client connections ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Gerrit-Change-Number: 18357 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 26 May 2020 14:04:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 14:32:40 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 14:32:40 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... ttcn3-bts-test: enable 3 additional transceivers for BTS#0 This is needed for the forthcoming frequency hopping test cases. Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Depends: I86afb55ecc6703ce7a229aaa626223f9331a4778 Related: OS#4546 --- M ttcn3-bts-test/jenkins.sh M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-bts-test/osmo-bts.cfg 3 files changed, 118 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/87/18487/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 00e8133..83bd165 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -53,7 +53,10 @@ --log-file-level DEBUG \ --log-file-time \ --log-level INFO \ - -R 172.18.9.20 -r 172.18.9.22 + -R 172.18.9.20 -r 172.18.9.22 \ + --trx TRX1 at 172.18.9.20:5700/1 \ + --trx TRX2 at 172.18.9.20:5700/2 \ + --trx TRX3 at 172.18.9.20:5700/3 } start_trxcon() { diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index d25c0fb..d754cb9 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -166,6 +166,96 @@ timeslot 7 phys_chan_config PDCH hopping enabled 0 + trx 1 + rf_locked 0 + arfcn 873 + nominal power 23 + max_power_red 20 + rsl e1 tei 1 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + trx 2 + rf_locked 0 + arfcn 875 + nominal power 23 + max_power_red 20 + rsl e1 tei 2 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + trx 3 + rf_locked 0 + arfcn 877 + nominal power 23 + max_power_red 20 + rsl e1 tei 3 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 msc 0 core-location-area-code 666 core-cell-identity 333 diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index ea04b36..8ada1ba 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -61,6 +61,15 @@ instance 0 osmotrx rx-gain 10 osmotrx tx-attenuation 0 + instance 1 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 + instance 2 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 + instance 3 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 bts 0 band DCS1800 ipa unit-id 1234 0 @@ -84,5 +93,20 @@ power-ramp step-size 2000 mdB power-ramp step-interval 1 phy 0 instance 0 + trx 1 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 1 + trx 2 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 2 + trx 3 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 3 ctrl bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 14:44:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 14:44:42 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Reuse run_node to hold run info In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 to look at the new patch set (#2). Change subject: ms_{srs,amarisoft}: Reuse run_node to hold run info ...................................................................... ms_{srs,amarisoft}: Reuse run_node to hold run info Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917 --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/resources.conf.prod 4 files changed, 54 insertions(+), 49 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/18483/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 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: Ifdea48fed0bfc152131c53b87c34b4514c632917 Gerrit-Change-Number: 18483 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 14:54:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 14:54:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fixup: handle RSL messages from any TRX In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 ) Change subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX ...................................................................... Patch Set 1: Code-Review+1 I wonder whether using ? there should be the default. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea Gerrit-Change-Number: 18486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 14:54:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 14:59:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 14:59:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: handle multiple client connections In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 ) Change subject: library/IPA_Emulation: server mode: handle multiple client connections ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Gerrit-Change-Number: 18357 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 14:59:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 15:01:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 15:01:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 ) Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 15:01:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 15:02:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 15:02:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 15:02:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 15:02:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 15:02:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 ) Change subject: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Gerrit-Change-Number: 18464 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 15:02:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 15:09:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 15:09:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 26 May 2020 15:09:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 15:10:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 15:10:01 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 15:10:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 17:50:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 26 May 2020 17:50:57 +0000 Subject: Change in osmo-bts[master]: WIP: bts-trx: Implement power ramping on power on References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18488 ) Change subject: WIP: bts-trx: Implement power ramping on power on ...................................................................... WIP: bts-trx: Implement power ramping on power on TODO: figure out wheter we send here makes sense, because i think osmo-trx actually expectes "Power Attenuation". TODO2: find some way to overwrite hardcoded nominal value for TRXs in bts_model_init: """ /* FIXME: this needs to be overridden with the real hardrware * value */ bts->c0->nominal_power = 23; """ Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h 4 files changed, 38 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18488/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index b28c894..c4b0915 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -179,6 +179,8 @@ if (rc == 0 && pinst->phy_link->state != PHY_LINK_CONNECTED) { trx_sched_clock_started(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_CONNECTED); + /* Begin to ramp up the power */ + power_ramp_start(pinst->trx, get_p_target_mdBm(pinst->trx, 0), 0); } else if (rc != 0 && pinst->phy_link->state != PHY_LINK_SHUTDOWN) { trx_sched_clock_stopped(pinst->trx->bts); phy_link_state_set(pinst->phy_link, PHY_LINK_SHUTDOWN); @@ -186,6 +188,16 @@ } } +static void l1if_setpower_cb(struct trx_l1h *l1h, int power_db, int rc) +{ + struct phy_instance *pinst = l1h->phy_inst; + + LOGPPHI(pinst, DL1C, LOGL_DEBUG, "l1if_setpower_cb(power_db=%d)", power_db); + + l1h->config.power_sent = 0; + power_trx_change_compl(pinst->trx, power_db * 1000); +} + /* * transceiver provisioning */ @@ -252,7 +264,7 @@ l1h->config.rxgain_sent = 1; } if (l1h->config.power_valid && !l1h->config.power_sent) { - trx_if_cmd_setpower(l1h, l1h->config.power); + trx_if_cmd_setpower(l1h, l1h->config.power, l1if_setpower_cb); l1h->config.power_sent = 1; } if (l1h->config.maxdly_valid && !l1h->config.maxdly_sent) { @@ -420,7 +432,7 @@ } if (l1h->config.power_oml) { - l1h->config.power = trx->max_power_red; + l1h->config.power = power_ramp_initial_power_mdBm(trx); l1h->config.power_valid = 1; l1h->config.power_sent = 0; l1if_provision_transceiver_trx(l1h); @@ -804,9 +816,9 @@ int bts_model_change_power(struct gsm_bts_trx *trx, int p_trxout_mdBm) { -#warning "implement bts_model_change_power\n" - LOGP(DL1C, LOGL_NOTICE, "Setting TRX output power not supported!\n"); - return 0; + struct phy_instance *pinst = trx_phy_instance(trx); + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; + return trx_if_cmd_setpower(l1h, p_trxout_mdBm / 1000, l1if_setpower_cb); } int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index ab0472e..8f89051 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -125,6 +125,7 @@ int bts_model_trx_init(struct gsm_bts_trx *trx) { + trx->power_params.trx_p_max_out_mdBm = to_mdB(trx->bts->c0->nominal_power); return 0; } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index f717a0c..aee9e08 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -302,9 +302,9 @@ } /*! Send "SETPOWER" command to TRX */ -int trx_if_cmd_setpower(struct trx_l1h *l1h, int db) +int trx_if_cmd_setpower(struct trx_l1h *l1h, int power_db, trx_if_cmd_setpower_cb *cb) { - return trx_ctrl_cmd(l1h, 0, "SETPOWER", "%d", db); + return trx_ctrl_cmd(l1h, 0, "SETPOWER", "%d", power_db); } /*! Send "SETMAXDLY" command to TRX, i.e. maximum delay for RACH bursts */ @@ -543,6 +543,20 @@ return 0; } +static int trx_ctrl_rx_rsp_setpower(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) +{ + trx_if_cmd_setpower_cb *cb = (trx_if_cmd_setpower_cb*) rsp->cb; + int power; + + if (!cb) + return 0; + + sscanf(rsp->params, "%d", &power); + if (cb) + cb(l1h, power, rsp->status); + return 0; +} + /* -EINVAL: unrecoverable error, exit BTS * N > 0: try sending originating command again after N seconds * 0: Done with response, get originating command out from send queue @@ -561,6 +575,8 @@ * so that's why we should use tcm instead of rsp. */ } else if (strcmp(tcm->cmd, "SETFORMAT") == 0) { return trx_ctrl_rx_rsp_setformat(l1h, rsp); + } else if (strcmp(tcm->cmd, "SETPOWER") == 0) { + return trx_ctrl_rx_rsp_setpower(l1h, rsp); } if (rsp->status) { diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index fd0077d..44f73c4 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -15,6 +15,7 @@ typedef void trx_if_cmd_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc); typedef void trx_if_cmd_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc); +typedef void trx_if_cmd_setpower_cb(struct trx_l1h *l1h, int power_db, int rc); void trx_if_init(struct trx_l1h *l1h); int trx_if_cmd_poweroff(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb); @@ -22,7 +23,7 @@ int trx_if_cmd_settsc(struct trx_l1h *l1h, uint8_t tsc); int trx_if_cmd_setbsic(struct trx_l1h *l1h, uint8_t bsic); int trx_if_cmd_setrxgain(struct trx_l1h *l1h, int db); -int trx_if_cmd_setpower(struct trx_l1h *l1h, int db); +int trx_if_cmd_setpower(struct trx_l1h *l1h, int power_db, trx_if_cmd_setpower_cb *cb); int trx_if_cmd_setmaxdly(struct trx_l1h *l1h, int dly); int trx_if_cmd_setmaxdlynb(struct trx_l1h *l1h, int dly); int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 Gerrit-Change-Number: 18488 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 17:52:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 17:52:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fixup: handle RSL messages from any TRX In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 ) Change subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > I wonder whether using ? there should be the default. Unfortunately, the other modules using tr_ASP_RSL_UD assume TRX#0... -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea Gerrit-Change-Number: 18486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 17:52:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 17:56:49 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 26 May 2020 17:56:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... Patch Set 2: > Patch Set 1: > > pleaes make sure you run all the various test suites (including e.g. GSUP which uses IPA underneath) to verify this doesn't create unexpected fall-out I run HLR, MSC, and BTS tests - no regressions. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 17:56:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:05:46 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:05:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... mgcp_protocol: Avoid code duplication between virtual + other trunks There were two code paths that were supposed to do exactly the same, but then in Change-Id I3994af016fb96427263edbba05f560743f85fdd4 only one of the two was modified, resulting in OS#4034 Let's * dynamically allocate the virtual trunk * rename mgcp_config.trunk to mgcp_config.virt_trunk to clarify * as a result, abolish copy+pasted code for trunk initialization Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Related: OS#4034 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 8 files changed, 132 insertions(+), 127 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/23/17423/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:09:10 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:09:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 4: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 26 May 2020 20:09:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:26:53 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:26:53 +0000 Subject: Change in libosmocore[master]: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18489 ) Change subject: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature ...................................................................... api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature Change-Id: Ibe722d38d28e5590a35e856dd15c2538e6ee0a3e --- M include/osmocom/core/utils.h 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/18489/1 diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 40f4446..e637786 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -297,7 +297,9 @@ * \param[in] INITIAL_BUFSIZE Which size to first talloc from ctx -- a larger size makes a reallocation less likely, a * smaller size allocates less unused bytes, zero allocates once but still runs the string composition twice. * \param[in] ON_ERROR String constant to copy on error rc returned by FUNC_BUF, or NULL to return NULL. - * \param[in] FUNC_BUF Name of a function with signature foo_buf(char *buf, size_t buflen, ...). + * \param[in] FUNC_BUF Name of a function with signature int foo_buf(char *buf, size_t buflen, ...). + * The function must return the strlen() that it would write to a sufficiently large buffer or + * negative on error, like snprintf(). * \param[in] FUNC_BUF_ARGS Additional arguments to pass to FUNC_BUF after the buf and buflen. */ #define OSMO_NAME_C_IMPL(CTX, INITIAL_BUFSIZE, ON_ERROR, FUNC_BUF, FUNC_BUF_ARGS...) \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe722d38d28e5590a35e856dd15c2538e6ee0a3e Gerrit-Change-Number: 18489 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:26:54 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:26:54 +0000 Subject: Change in libosmocore[master]: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_n... References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18490 ) Change subject: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() ...................................................................... fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() Fix osmo_mi_name_buf() to snprintf() into the buf in *all* cases. osmo_mi_name_c() is implemented via osmo_mi_name_buf(), which returns compile-time string constants in special cases. That means that osmo_mi_name_c() does return non-allocated strings in these special cases. The caller of functions like osmo_mi_name_c() must always be able to rely on getting a talloced string, or run a danger of deallocating const pointers. Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 --- M src/gsm/gsm48.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/18490/1 diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 43b10b7..8d0998b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -479,9 +479,10 @@ if (mi_len == GSM48_TMSI_LEN && mi[0] == (0xf0 | GSM_MI_TYPE_TMSI)) { tmsi = osmo_load32be(&mi[1]); snprintf(buf, buf_len, "TMSI-0x%08" PRIX32, tmsi); - return buf; + } else { + snprintf(buf, buf_len, "TMSI-invalid"); } - return "TMSI-invalid"; + return buf; case GSM_MI_TYPE_IMSI: case GSM_MI_TYPE_IMEI: @@ -491,7 +492,8 @@ return buf; default: - return "unknown"; + snprintf(buf, buf_len, "unknown"); + return buf; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 Gerrit-Change-Number: 18490 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:27:00 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:27:00 +0000 Subject: Change in osmo-mgw[master]: cosmetic: remove excess newlines References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18491 ) Change subject: cosmetic: remove excess newlines ...................................................................... cosmetic: remove excess newlines Change-Id: Idefe3e86d5b659666bf0356991906c9a2f858aae --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/91/18491/1 diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 82c10aa..6b8eae2 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1085,10 +1085,6 @@ return create_err_response(endp, error_code, "CRCX", p->trans); } - - - - /* MDCX command handler, processes the received command */ static struct msgb *handle_modify_con(struct mgcp_parse_data *p) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idefe3e86d5b659666bf0356991906c9a2f858aae Gerrit-Change-Number: 18491 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:27:01 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:27:01 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... mgcp: remove unused callback pointer struct mgcp_config contains a function pointer realloc_cb, which is never popoulated nor used anywhere in the code. Lets remove it Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 --- M include/osmocom/mgcp/mgcp.h 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/92/18492/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 43f480e..8cdff59 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -59,7 +59,6 @@ #define MGCP_POLICY_REJECT 5 #define MGCP_POLICY_DEFER 6 -typedef int (*mgcp_realloc)(struct mgcp_trunk_config *cfg, int endpoint); typedef int (*mgcp_change)(struct mgcp_trunk_config *cfg, int endpoint, int state); typedef int (*mgcp_policy)(struct mgcp_trunk_config *cfg, int endpoint, int state, const char *transactio_id); typedef int (*mgcp_reset)(struct mgcp_trunk_config *cfg); @@ -256,7 +255,6 @@ mgcp_change change_cb; mgcp_policy policy_cb; mgcp_reset reset_cb; - mgcp_realloc realloc_cb; mgcp_rqnt rqnt_cb; void *data; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:29:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:29:09 +0000 Subject: Change in libosmocore[master]: api doc: clarify 'returns' of gsm48_mi_to_string() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18476 ) Change subject: api doc: clarify 'returns' of gsm48_mi_to_string() ...................................................................... Patch Set 2: Code-Review+2 (1 comment) combining +1 x2 https://gerrit.osmocom.org/c/libosmocore/+/18476/1/src/gsm/gsm48.c File src/gsm/gsm48.c: https://gerrit.osmocom.org/c/libosmocore/+/18476/1/src/gsm/gsm48.c at 740 PS1, Line 740: * \returns Return <= 0 on error, > 0 on success. > Probably worth explaning what the meaning of the value is when >0. >0 rc are FUBAR, and that is the entire rest of this 'returns' explanation; don't tell me you missed the "WARNING" text we already had before this patch... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 Gerrit-Change-Number: 18476 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 26 May 2020 20:29:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:31:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:31:00 +0000 Subject: Change in libosmocore[master]: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_n... In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/libosmocore/+/18490 ) Change subject: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() ...................................................................... fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() Fix osmo_mi_name_buf() to snprintf() into the buf in *all* cases. osmo_mi_name_c() is implemented via osmo_mi_name_buf(), which returns compile-time string constants in special cases. That means that osmo_mi_name_c() does return non-allocated strings in these special cases. The caller of functions like osmo_mi_name_c() must always be able to rely on getting a talloced string, or run a danger of deallocating const pointers. Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 --- M src/gsm/gsm48.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/18490/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 Gerrit-Change-Number: 18490 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:37:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:37:05 +0000 Subject: Change in libosmocore[master]: api doc: clarify 'returns' of gsm48_mi_to_string() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18476 ) Change subject: api doc: clarify 'returns' of gsm48_mi_to_string() ...................................................................... api doc: clarify 'returns' of gsm48_mi_to_string() Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 --- M src/gsm/gsm48.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 17b0829..43b10b7 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -737,10 +737,12 @@ * \param[in] str_len Length of \a string in bytes * \param[in] mi Mobile Identity to be stringified * \param[in] mi_len Length of \a mi in bytes - * \returns WARNING: the return value of this function is not well implemented. + * \returns Return <= 0 on error, > 0 on success. + * WARNING: the return value of this function is not well implemented. * Depending on the MI type and amount of output buffer, this may return * the nr of written bytes, or the written strlen(), or the snprintf() - * style strlen()-if-the-buffer-were-large-enough. */ + * style strlen()-if-the-buffer-were-large-enough. + */ int gsm48_mi_to_string(char *string, int str_len, const uint8_t *mi, int mi_len) { int rc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I81646ff8284061a60c208bd8f9233f66c3e410f8 Gerrit-Change-Number: 18476 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:38:18 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:38:18 +0000 Subject: Change in libosmocore[master]: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18489 ) Change subject: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature ...................................................................... Patch Set 2: Code-Review+2 triviality +2 (just a comment) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe722d38d28e5590a35e856dd15c2538e6ee0a3e Gerrit-Change-Number: 18489 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 26 May 2020 20:38:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:38:24 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 20:38:24 +0000 Subject: Change in libosmocore[master]: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18489 ) Change subject: api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature ...................................................................... api doc: clarify OSMO_NAME_C_IMPL() required FUNC_BUF signature Change-Id: Ibe722d38d28e5590a35e856dd15c2538e6ee0a3e --- M include/osmocom/core/utils.h 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/include/osmocom/core/utils.h b/include/osmocom/core/utils.h index 40f4446..e637786 100644 --- a/include/osmocom/core/utils.h +++ b/include/osmocom/core/utils.h @@ -297,7 +297,9 @@ * \param[in] INITIAL_BUFSIZE Which size to first talloc from ctx -- a larger size makes a reallocation less likely, a * smaller size allocates less unused bytes, zero allocates once but still runs the string composition twice. * \param[in] ON_ERROR String constant to copy on error rc returned by FUNC_BUF, or NULL to return NULL. - * \param[in] FUNC_BUF Name of a function with signature foo_buf(char *buf, size_t buflen, ...). + * \param[in] FUNC_BUF Name of a function with signature int foo_buf(char *buf, size_t buflen, ...). + * The function must return the strlen() that it would write to a sufficiently large buffer or + * negative on error, like snprintf(). * \param[in] FUNC_BUF_ARGS Additional arguments to pass to FUNC_BUF after the buf and buflen. */ #define OSMO_NAME_C_IMPL(CTX, INITIAL_BUFSIZE, ON_ERROR, FUNC_BUF, FUNC_BUF_ARGS...) \ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibe722d38d28e5590a35e856dd15c2538e6ee0a3e Gerrit-Change-Number: 18489 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:39:07 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:39:07 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 to look at the new patch set (#2). Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... osmo-mgw: refactor endpoint and trunk handling The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various placed (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various placed (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. - get rid of integers as endpoint identifiers, use strings instead and find the endpoint based on its string name on the trunk. - identify the trunk based on the trunk prefix given in the endpoint name. - rename struct mgcp_trunk_config to mgcp_trunk and "tcfg" to "trunk" in order to better match the reality. - refactor trunk and endpoint allocation. Aggregate functionality in in mgcp_endp.c and mgcp_trunk.c. Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Related: OS#2659 --- M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_sdp.c A src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 19 files changed, 862 insertions(+), 697 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/18372/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 20:49:16 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 20:49:16 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 to look at the new patch set (#4). Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Transceiver: Log when sending of CLK indications begins When the logging category TRXCLK is set to info osmo-trx prints a logline that informs about the sending of clock indications. In practice this those log lines are often used to identify that osmo-trx and osmo-bts are running properly, so it would be helpful, even in productive use, if there would be an information in the log that the sending of clock indications has begun. However, the regular printing of the clock indication log line would soon flood the log. So, lets have an addional log line that logs only once when the transceiver starts and quickly informs at loglevel NOTICE that clock indications are now sent. Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Related: OS#2577 --- M Transceiver52M/Transceiver.cpp 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/95/18395/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 21:08:00 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 21:08:00 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: fix RSSI calculation for SUB frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18035 ) Change subject: scheduler_trx: fix RSSI calculation for SUB frames ...................................................................... Patch Set 1: (4 comments) > Patch Set 1: Code-Review-1 > > (4 comments) > > Would be also nice to have a more universal solution for all kinds of measurements (+ToA256, +C/I), not only RSSI. Do you think doing this in this patch makes sense? I think it would not be difficult to add this. It would be just the same as with the RSSI. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1281 PS1, Line 1281: RSSI_FR_LOWER_FOUR > Why only four bursts? A regular TCH/F or FACCH/F frame is interleaved over 8 bursts, so you need to [?] The problem is that picking the measurement values becomes a lot more difficult when I compute the average over all 8 samples. The problem is with the SID frames, then suddenly only half of the bursts are sent and recognizing this turned out to be difficult. However, the samples are shifted, so the averaging always sees all bursts and they are averaged once more in the higher layers. I think this has no influence on the final result. https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1330 PS1, Line 1330: LOGL_INFO > Unrelated change. Done https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1559 PS1, Line 1559: RSSI_HR_MID_TWO > Same question, why only two bursts? It should be 4 for a regular speech frame. (see above) https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1617 PS1, Line 1617: LOGL_INFO > Unrelated change. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 26 May 2020 21:08:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 21:08:38 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 26 May 2020 21:08:38 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: fix RSSI calculation for SUB frames In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 to look at the new patch set (#2). Change subject: scheduler_trx: fix RSSI calculation for SUB frames ...................................................................... scheduler_trx: fix RSSI calculation for SUB frames Currently the RSSI value of the burst that concludes a block is passed up to the higher layer. However, this also means that the RSSI values of the other bursts are skipped. Lets keep record of all RSSI values and average the values before we pass them up to the higher layers. Also lets make sure that we pick the correct RSSI measurements when we calculate the RSSI values for the AMR SID frames (SUB frames). Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Related: OS#2978 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/scheduler_trx.c 2 files changed, 177 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/18035/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:54:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:54:06 +0000 Subject: Change in osmo-msc[master]: manual: Multiple Instances: tweak MNCC, add missing SGs doc References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/18493 ) Change subject: manual: Multiple Instances: tweak MNCC, add missing SGs doc ...................................................................... manual: Multiple Instances: tweak MNCC, add missing SGs doc Change-Id: Ice610e3db132dc50b7ddc3f3e324e8ad1bba5864 --- M doc/manuals/chapters/running.adoc 1 file changed, 19 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/93/18493/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 4bd3913..e8320a7 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -74,9 +74,25 @@ More on SMPP configuration in <>. -The external MNCC handler is configured by the `--mncc-sock` commandline -argument. Choose a different such socket path for each OsmoMSC instance running -on the same file system. See more in <>. +The external MNCC handler is a UNIX domain socket that is created when external MNCC handling is configured. A separate +path must be used per osmo-msc instance: + +---- +msc + mncc external /tmp/mncc_socket +---- + +More on MNCC in <>. + +The SGs interface by default listens on 0.0.0.0:29118. Configure a different IP and/or port for each osmo-msc instance. +You may also want to configure different VLR names: + +---- +sgs + local-ip 127.0.0.1 + local-port 29118 + vlr-name vlr.example.net +---- For the following links, OsmoMSC acts as a client and does not listen/bind to a specific interface, and will hence not encounter conflicts for multiple instances -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice610e3db132dc50b7ddc3f3e324e8ad1bba5864 Gerrit-Change-Number: 18493 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:06 +0000 Subject: Change in osmo-bsc[master]: cosmetic: put comment back at proper place in bsc_vty.c References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18494 ) Change subject: cosmetic: put comment back at proper place in bsc_vty.c ...................................................................... cosmetic: put comment back at proper place in bsc_vty.c Change-Id: Ie5d44fdb78f3bdabede464d88d493e911512bb35 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/94/18494/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d699cf7..c380a30 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5392,6 +5392,7 @@ install_element(ENABLE_NODE, &handover_any_cmd); install_element(ENABLE_NODE, &assignment_any_cmd); install_element(ENABLE_NODE, &handover_any_to_arfcn_bsic_cmd); + /* See also handover commands added on net level from handover_vty.c */ logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); @@ -5399,7 +5400,6 @@ install_element(GSMNET_NODE, &cfg_net_neci_cmd); install_element(GSMNET_NODE, &cfg_net_dtx_cmd); install_element(GSMNET_NODE, &cfg_net_pag_any_tch_cmd); - /* See also handover commands added on net level from handover_vty.c */ install_element(GSMNET_NODE, &cfg_bts_cmd); install_node(&bts_node, config_write_bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5d44fdb78f3bdabede464d88d493e911512bb35 Gerrit-Change-Number: 18494 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:06 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... drop IMSI filter and libfilter completely Filtering by IMSI in osmo-bsc is a legacy use case with questionable usefulness. Remove. Do not keep deprecated VTY commands: those could be dangerous, since (presumably non-existing) users might assume that the filtering would still be in place. Rather fail to start osmo-bsc for config with an IMSI ACL. The IMSI filtering did, if present, provide the logging with an IMSI to print for the bsc_subscriber. TMSIs should have ended up in logging likewise, which has never been implemented. The proper way to learn the IMSI would be by the Common Id message from the MSC. Furthermore, the upcoming MSC pooling feature will extract the mobile identity again, and will hence make sure that both IMSI and TMSI identities, as available, end up in the bsc_subscriber and will be logged again. So long, IMSI ACL, and thanks for all the fish. Change-Id: I89727af5387e8360362e995fdee959883c37d89a --- M configure.ac M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h D include/osmocom/bsc/bsc_msg_filter.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc.h M src/Makefile.am D src/libfilter/Makefile.am D src/libfilter/bsc_msg_acc.c D src/libfilter/bsc_msg_filter.c D src/libfilter/bsc_msg_vty.c M src/osmo-bsc/Makefile.am M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_vty.c M tests/handover/Makefile.am 17 files changed, 2 insertions(+), 951 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/18495/1 diff --git a/configure.ac b/configure.ac index d96dfb2..6555f87 100644 --- a/configure.ac +++ b/configure.ac @@ -236,7 +236,6 @@ include/osmocom/Makefile include/osmocom/bsc/Makefile src/Makefile - src/libfilter/Makefile src/osmo-bsc/Makefile src/ipaccess/Makefile src/utils/Makefile diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 396604e..509df9a 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -6,7 +6,6 @@ acc_ramp.h \ arfcn_range_encode.h \ assignment_fsm.h \ - bsc_msg_filter.h \ bsc_rll.h \ bsc_subscriber.h \ bsc_subscr_conn_fsm.h \ diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index a97616f..c77c562 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -150,8 +150,6 @@ /* ussd text when MSC has entered the grace period */ char *ussd_grace_txt; - char *acc_lst_name; - /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *msc_ctrs; struct osmo_stat_item_group *msc_statg; @@ -224,8 +222,6 @@ /* ussd text when there is no MSC available */ char *ussd_no_msc_txt; - char *acc_lst_name; - struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/bsc_msg_filter.h b/include/osmocom/bsc/bsc_msg_filter.h deleted file mode 100644 index fe87485..0000000 --- a/include/osmocom/bsc/bsc_msg_filter.h +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -#include - -struct vty; -struct gsm48_hdr; - -struct bsc_filter_reject_cause { - int lu_reject_cause; - int cm_reject_cause; -}; - -struct bsc_filter_barr_entry { - struct rb_node node; - - char *imsi; - int cm_reject_cause; - int lu_reject_cause; -}; - -enum bsc_filter_acc_ctr { - ACC_LIST_LOCAL_FILTER, - ACC_LIST_GLOBAL_FILTER, -}; - -struct bsc_msg_acc_lst { - struct llist_head list; - - /* counter */ - struct rate_ctr_group *stats; - - /* the name of the list */ - const char *name; - struct llist_head fltr_list; -}; - -struct bsc_msg_acc_lst_entry { - struct llist_head list; - - /* the filter */ - char *imsi_allow; - regex_t imsi_allow_re; - char *imsi_deny; - regex_t imsi_deny_re; - - /* reject reasons for the access lists */ - int cm_reject_cause; - int lu_reject_cause; -}; - -enum { - FLT_CON_TYPE_NONE, - FLT_CON_TYPE_LU, - FLT_CON_TYPE_CM_SERV_REQ, - FLT_CON_TYPE_PAG_RESP, - FLT_CON_TYPE_SSA, - FLT_CON_TYPE_LOCAL_REJECT, - FLT_CON_TYPE_OTHER, -}; - - -struct bsc_filter_state { - char *imsi; - int imsi_checked; - int con_type; -}; - -struct bsc_filter_request { - void *ctx; - struct rb_root *black_list; - struct llist_head *access_lists; - const char *local_lst_name; - const char *global_lst_name; - int bsc_nr; -}; - -/** - * Content filtering. - */ -int bsc_msg_filter_initial(struct gsm48_hdr *hdr, size_t size, - struct bsc_filter_request *req, - int *con_type, char **imsi, - struct bsc_filter_reject_cause *cause); -int bsc_msg_filter_data(struct gsm48_hdr *hdr, size_t size, - struct bsc_filter_request *req, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause); - -/* IMSI allow/deny handling */ -struct bsc_msg_acc_lst *bsc_msg_acc_lst_find(struct llist_head *lst, const char *name); -struct bsc_msg_acc_lst *bsc_msg_acc_lst_get(void *ctx, struct llist_head *lst, const char *name); -void bsc_msg_acc_lst_delete(struct bsc_msg_acc_lst *lst); - -struct bsc_msg_acc_lst_entry *bsc_msg_acc_lst_entry_create(struct bsc_msg_acc_lst *); -int bsc_msg_acc_lst_check_allow(struct bsc_msg_acc_lst *lst, const char *imsi); - -void bsc_msg_acc_lst_vty_init(void *ctx, struct llist_head *lst, int node); -void bsc_msg_acc_lst_write(struct vty *vty); diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index f0c0f42..06cefa9 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -1,6 +1,7 @@ #pragma once #include +#include struct amr_mode; struct amr_multirate_conf; @@ -11,7 +12,6 @@ struct gsm_meas_rep; struct gsm_network; struct gsm_subscriber_connection; -struct msgb; void gsm_net_update_ctype(struct gsm_network *network); enum gsm_chan_t get_ctype_by_chreq(struct gsm_network *network, uint8_t ra); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index a2e103d..e6a7708 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -265,9 +264,6 @@ /* state related to welcome USSD */ uint8_t new_subscriber; - /* state related to osmo_bsc_filter.c */ - struct bsc_filter_state filter_state; - /* SCCP connection associatd with this subscriber_connection */ struct { /* for advanced ping/pong */ diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index 163e494..8999a2e 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -2,8 +2,6 @@ #include -#include - #define BSS_SEND_USSD 1 enum bsc_con { @@ -13,6 +11,7 @@ BSC_CON_NO_MEM, }; +struct msgb; struct bsc_msc_data; struct gsm0808_channel_type; struct gsm0808_speech_codec_list; diff --git a/src/Makefile.am b/src/Makefile.am index 62ae4dd..43b00b2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -20,7 +20,6 @@ $(NULL) SUBDIRS = \ - libfilter \ osmo-bsc \ utils \ $(NULL) diff --git a/src/libfilter/Makefile.am b/src/libfilter/Makefile.am deleted file mode 100644 index 8b0597b..0000000 --- a/src/libfilter/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -AM_CPPFLAGS = \ - $(all_includes) \ - -I$(top_srcdir)/include \ - -I$(top_builddir) \ - $(NULL) - -AM_CFLAGS = \ - -Wall \ - $(LIBOSMOCORE_CFLAGS) \ - $(LIBOSMOGSM_CFLAGS) \ - $(LIBOSMOVTY_CFLAGS) \ - $(LIBOSMOABIS_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMOLEGACYMGCP_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - $(NULL) - -noinst_LIBRARIES = \ - libfilter.a \ - $(NULL) - -libfilter_a_SOURCES = \ - bsc_msg_filter.c \ - bsc_msg_acc.c \ - bsc_msg_vty.c \ - $(NULL) - diff --git a/src/libfilter/bsc_msg_acc.c b/src/libfilter/bsc_msg_acc.c deleted file mode 100644 index 8853dbb..0000000 --- a/src/libfilter/bsc_msg_acc.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2011 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include - -#include - -#include -#include - -#include - -static const struct rate_ctr_desc acc_list_ctr_description[] = { - [ACC_LIST_LOCAL_FILTER] = { "access-list:local-filter", "Rejected by rule for local"}, - [ACC_LIST_GLOBAL_FILTER]= { "access-list:global-filter", "Rejected by rule for global"}, -}; - -static const struct rate_ctr_group_desc bsc_cfg_acc_list_desc = { - .group_name_prefix = "nat:filter", - .group_description = "NAT Access-List Statistics", - .num_ctr = ARRAY_SIZE(acc_list_ctr_description), - .ctr_desc = acc_list_ctr_description, - .class_id = OSMO_STATS_CLASS_GLOBAL, -}; - -/*! Find an unused index for this rate counter group. - * \param[in] head List of allocated ctr groups of the same type - * \returns the largest used index number + 1, or 0 if none exist yet. */ -static unsigned int rate_ctr_get_unused_idx(struct llist_head *head) -{ - unsigned int idx = 0; - struct bsc_msg_acc_lst *lst; - - llist_for_each_entry(lst, head, list) { - if (idx <= lst->stats->idx) - idx = lst->stats->idx + 1; - } - return idx; -} - - -int bsc_msg_acc_lst_check_allow(struct bsc_msg_acc_lst *lst, const char *mi_string) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (!entry->imsi_allow) - continue; - if (regexec(&entry->imsi_allow_re, mi_string, 0, NULL, 0) == 0) - return 0; - } - - return 1; -} - -struct bsc_msg_acc_lst *bsc_msg_acc_lst_find(struct llist_head *head, const char *name) -{ - struct bsc_msg_acc_lst *lst; - - if (!name) - return NULL; - - llist_for_each_entry(lst, head, list) - if (strcmp(lst->name, name) == 0) - return lst; - - return NULL; -} - -struct bsc_msg_acc_lst *bsc_msg_acc_lst_get(void *ctx, struct llist_head *head, const char *name) -{ - struct bsc_msg_acc_lst *lst; - unsigned int new_idx; - - lst = bsc_msg_acc_lst_find(head, name); - if (lst) - return lst; - - lst = talloc_zero(ctx, struct bsc_msg_acc_lst); - if (!lst) { - LOGP(DFILTER, LOGL_ERROR, "Failed to allocate access list\n"); - return NULL; - } - - new_idx = rate_ctr_get_unused_idx(head); - lst->stats = rate_ctr_group_alloc(lst, &bsc_cfg_acc_list_desc, new_idx); - if (!lst->stats) { - talloc_free(lst); - return NULL; - } - - INIT_LLIST_HEAD(&lst->fltr_list); - lst->name = talloc_strdup(lst, name); - llist_add_tail(&lst->list, head); - return lst; -} - -void bsc_msg_acc_lst_delete(struct bsc_msg_acc_lst *lst) -{ - llist_del(&lst->list); - rate_ctr_group_free(lst->stats); - talloc_free(lst); -} - -struct bsc_msg_acc_lst_entry *bsc_msg_acc_lst_entry_create(struct bsc_msg_acc_lst *lst) -{ - struct bsc_msg_acc_lst_entry *entry; - - entry = talloc_zero(lst, struct bsc_msg_acc_lst_entry); - if (!entry) - return NULL; - - entry->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - entry->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - llist_add_tail(&entry->list, &lst->fltr_list); - return entry; -} - diff --git a/src/libfilter/bsc_msg_filter.c b/src/libfilter/bsc_msg_filter.c deleted file mode 100644 index 1318689..0000000 --- a/src/libfilter/bsc_msg_filter.c +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Access filtering - */ -/* - * (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2012 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -static int bsc_filter_barr_find(struct rb_root *root, const char *imsi, int *cm, int *lu) -{ - struct bsc_filter_barr_entry *n; - n = rb_entry(root->rb_node, struct bsc_filter_barr_entry, node); - - while (n) { - int rc = strcmp(imsi, n->imsi); - if (rc == 0) { - *cm = n->cm_reject_cause; - *lu = n->lu_reject_cause; - return 1; - } - - n = rb_entry( - (rc < 0) ? n->node.rb_left : n->node.rb_right, - struct bsc_filter_barr_entry, node); - }; - - return 0; -} - - -static int lst_check_deny(struct bsc_msg_acc_lst *lst, const char *mi_string, - int *cm_cause, int *lu_cause) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (!entry->imsi_deny) - continue; - if (regexec(&entry->imsi_deny_re, mi_string, 0, NULL, 0) == 0) { - *cm_cause = entry->cm_reject_cause; - *lu_cause = entry->lu_reject_cause; - return 0; - } - } - - return 1; -} - -/* apply white/black list */ -static int auth_imsi(struct bsc_filter_request *req, - const char *imsi, - struct bsc_filter_reject_cause *cause) -{ - /* - * Now apply blacklist/whitelist of the BSC and the NAT. - * 1.) Check the global IMSI barr list - * 2.) Allow directly if the IMSI is allowed at the BSC - * 3.) Reject if the IMSI is not allowed at the BSC - * 4.) Allow directly if the IMSI is allowed at the global level - * 5.) Reject if the IMSI not allowed at the global level. - */ - int cm, lu; - struct bsc_msg_acc_lst *nat_lst = NULL; - struct bsc_msg_acc_lst *bsc_lst = NULL; - - /* 1. global check for barred imsis */ - if (req->black_list && bsc_filter_barr_find(req->black_list, imsi, &cm, &lu)) { - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - LOGP(DFILTER, LOGL_DEBUG, - "Blocking subscriber IMSI %s with CM: %d LU: %d\n", - imsi, cm, lu); - return -4; - } - - - bsc_lst = bsc_msg_acc_lst_find(req->access_lists, req->local_lst_name); - nat_lst = bsc_msg_acc_lst_find(req->access_lists, req->global_lst_name); - - - if (bsc_lst) { - /* 2. BSC allow */ - if (bsc_msg_acc_lst_check_allow(bsc_lst, imsi) == 0) - return 1; - - /* 3. BSC deny */ - if (lst_check_deny(bsc_lst, imsi, &cm, &lu) == 0) { - LOGP(DFILTER, LOGL_ERROR, - "Filtering %s by imsi_deny on config nr: %d.\n", imsi, req->bsc_nr); - rate_ctr_inc(&bsc_lst->stats->ctr[ACC_LIST_LOCAL_FILTER]); - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - return -2; - } - - } - - if (nat_lst) { - /* 4. global allow */ - if (bsc_msg_acc_lst_check_allow(nat_lst, imsi) == 0) - return 1; - - /* 5. global deny */ - if (lst_check_deny(nat_lst, imsi, &cm, &lu) == 0) { - LOGP(DFILTER, LOGL_ERROR, - "Filtering %s global imsi_deny on bsc nr: %d.\n", imsi, req->bsc_nr); - rate_ctr_inc(&nat_lst->stats->ctr[ACC_LIST_GLOBAL_FILTER]); - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - return -3; - } - } - - return 1; -} - -static int _cr_check_loc_upd(void *ctx, - uint8_t *data, unsigned int length, - char **imsi) -{ - uint8_t mi_type; - struct gsm48_loc_upd_req *lu; - char mi_string[GSM48_MI_SIZE]; - - if (length < sizeof(*lu)) { - LOGP(DFILTER, LOGL_ERROR, - "LU does not fit. Length is %d \n", length); - return -1; - } - - lu = (struct gsm48_loc_upd_req *) data; - mi_type = lu->mi[0] & GSM_MI_TYPE_MASK; - - /* - * We can only deal with the IMSI. This will fail for a phone that - * will send the TMSI of a previous network to us. - */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - gsm48_mi_to_string(mi_string, sizeof(mi_string), lu->mi, lu->mi_len); - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _cr_check_cm_serv_req(void *ctx, - uint8_t *data, unsigned int length, - int *con_type, char **imsi) -{ - static const uint32_t classmark_offset = - offsetof(struct gsm48_service_request, classmark); - - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - int rc; - struct gsm48_service_request *req; - - /* unfortunately in Phase1 the classmark2 length is variable */ - - if (length < sizeof(*req)) { - LOGP(DFILTER, LOGL_ERROR, - "CM Serv Req does not fit. Length is %d\n", length); - return -1; - } - - req = (struct gsm48_service_request *) data; - if (req->cm_service_type == 0x8) - *con_type = FLT_CON_TYPE_SSA; - rc = gsm48_extract_mi((uint8_t *) &req->classmark, - length - classmark_offset, mi_string, &mi_type); - if (rc < 0) { - LOGP(DFILTER, LOGL_ERROR, "Failed to parse the classmark2/mi. error: %d\n", rc); - return -1; - } - - /* we have to let the TMSI or such pass */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _cr_check_pag_resp(void *ctx, - uint8_t *data, unsigned int length, char **imsi) -{ - struct gsm48_pag_resp *resp; - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - - if (length < sizeof(*resp)) { - LOGP(DFILTER, LOGL_ERROR, "PAG RESP does not fit. Length was %d.\n", length); - return -1; - } - - resp = (struct gsm48_pag_resp *) data; - if (gsm48_paging_extract_mi(resp, length, mi_string, &mi_type) < 0) { - LOGP(DFILTER, LOGL_ERROR, "Failed to extract the MI.\n"); - return -1; - } - - /* we need to let it pass for now */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _dt_check_id_resp(struct bsc_filter_request *req, - uint8_t *data, unsigned int length, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause) -{ - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - - if (length < 2) { - LOGP(DFILTER, LOGL_ERROR, "mi does not fit.\n"); - return -1; - } - - if (data[0] < length - 1) { - LOGP(DFILTER, LOGL_ERROR, "mi length too big.\n"); - return -2; - } - - mi_type = data[1] & GSM_MI_TYPE_MASK; - gsm48_mi_to_string(mi_string, sizeof(mi_string), &data[1], data[0]); - - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - state->imsi_checked = 1; - state->imsi = talloc_strdup(req->ctx, mi_string); - return auth_imsi(req, mi_string, cause); -} - - -/* Filter out CR data... */ -int bsc_msg_filter_initial(struct gsm48_hdr *hdr48, size_t hdr48_len, - struct bsc_filter_request *req, - int *con_type, - char **imsi, struct bsc_filter_reject_cause *cause) -{ - int ret = 0; - uint8_t msg_type, proto; - - *con_type = FLT_CON_TYPE_NONE; - cause->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - cause->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - *imsi = NULL; - - proto = gsm48_hdr_pdisc(hdr48); - msg_type = gsm48_hdr_msg_type(hdr48); - if (proto == GSM48_PDISC_MM && - msg_type == GSM48_MT_MM_LOC_UPD_REQUEST) { - *con_type = FLT_CON_TYPE_LU; - ret = _cr_check_loc_upd(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), imsi); - } else if (proto == GSM48_PDISC_MM && - msg_type == GSM48_MT_MM_CM_SERV_REQ) { - *con_type = FLT_CON_TYPE_CM_SERV_REQ; - ret = _cr_check_cm_serv_req(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), - con_type, imsi); - } else if (proto == GSM48_PDISC_RR && - msg_type == GSM48_MT_RR_PAG_RESP) { - *con_type = FLT_CON_TYPE_PAG_RESP; - ret = _cr_check_pag_resp(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), imsi); - } else { - /* We only want to filter the above, let other things pass */ - *con_type = FLT_CON_TYPE_OTHER; - return 0; - } - - /* check if we are done */ - if (ret != 1) - return ret; - - /* the memory allocation failed */ - if (!*imsi) - return -1; - - /* now check the imsi */ - return auth_imsi(req, *imsi, cause); -} - -int bsc_msg_filter_data(struct gsm48_hdr *hdr48, size_t len, - struct bsc_filter_request *req, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause) -{ - uint8_t msg_type, proto; - - cause->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - cause->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - - if (state->imsi_checked) - return 0; - - proto = gsm48_hdr_pdisc(hdr48); - msg_type = gsm48_hdr_msg_type(hdr48); - if (proto != GSM48_PDISC_MM || msg_type != GSM48_MT_MM_ID_RESP) - return 0; - - return _dt_check_id_resp(req, &hdr48->data[0], - len - sizeof(*hdr48), state, cause); -} diff --git a/src/libfilter/bsc_msg_vty.c b/src/libfilter/bsc_msg_vty.c deleted file mode 100644 index b26f4f1..0000000 --- a/src/libfilter/bsc_msg_vty.c +++ /dev/null @@ -1,149 +0,0 @@ -/* (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2013 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#include - -static struct llist_head *_acc_lst; -static void *_ctx; - -static void bsc_msg_acc_lst_write_one(struct vty *vty, struct bsc_msg_acc_lst *lst) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (entry->imsi_allow) - vty_out(vty, " access-list %s imsi-allow %s%s", - lst->name, entry->imsi_allow, VTY_NEWLINE); - if (entry->imsi_deny) - vty_out(vty, " access-list %s imsi-deny %s %d %d%s", - lst->name, entry->imsi_deny, - entry->cm_reject_cause, entry->lu_reject_cause, - VTY_NEWLINE); - } -} - -DEFUN(cfg_lst_no, - cfg_lst_no_cmd, - "no access-list NAME", - NO_STR "Remove an access-list by name\n" - "The access-list to remove\n") -{ - struct bsc_msg_acc_lst *acc; - acc = bsc_msg_acc_lst_find(_acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - bsc_msg_acc_lst_delete(acc); - return CMD_SUCCESS; -} - -DEFUN(show_acc_lst, - show_acc_lst_cmd, - "show access-list NAME", - SHOW_STR "IMSI access list\n" "Name of the access list\n") -{ - struct bsc_msg_acc_lst *acc; - acc = bsc_msg_acc_lst_find(_acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - vty_out(vty, "access-list %s%s", acc->name, VTY_NEWLINE); - bsc_msg_acc_lst_write_one(vty, acc); - vty_out_rate_ctr_group(vty, " ", acc->stats); - - return CMD_SUCCESS; -} - -DEFUN(cfg_lst_imsi_allow, - cfg_lst_imsi_allow_cmd, - "access-list NAME imsi-allow [REGEXP]", - "Access list commands\n" - "Name of the access list\n" - "Add allowed IMSI to the list\n" - "Regexp for IMSIs\n") -{ - struct bsc_msg_acc_lst *acc; - struct bsc_msg_acc_lst_entry *entry; - - acc = bsc_msg_acc_lst_get(_ctx, _acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - entry = bsc_msg_acc_lst_entry_create(acc); - if (!entry) - return CMD_WARNING; - - if (gsm_parse_reg(acc, &entry->imsi_allow_re, &entry->imsi_allow, argc - 1, &argv[1]) != 0) - return CMD_WARNING; - return CMD_SUCCESS; -} - -DEFUN(cfg_lst_imsi_deny, - cfg_lst_imsi_deny_cmd, - "access-list NAME imsi-deny [REGEXP] (<0-256>) (<0-256>)", - "Access list commands\n" - "Name of the access list\n" - "Add denied IMSI to the list\n" - "Regexp for IMSIs\n" - "CM Service Reject reason\n" - "LU Reject reason\n") -{ - struct bsc_msg_acc_lst *acc; - struct bsc_msg_acc_lst_entry *entry; - - acc = bsc_msg_acc_lst_get(_ctx, _acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - entry = bsc_msg_acc_lst_entry_create(acc); - if (!entry) - return CMD_WARNING; - - if (gsm_parse_reg(acc, &entry->imsi_deny_re, &entry->imsi_deny, argc - 1, &argv[1]) != 0) - return CMD_WARNING; - if (argc >= 3) - entry->cm_reject_cause = atoi(argv[2]); - if (argc >= 4) - entry->lu_reject_cause = atoi(argv[3]); - return CMD_SUCCESS; -} - -void bsc_msg_acc_lst_write(struct vty *vty) -{ - struct bsc_msg_acc_lst *lst; - llist_for_each_entry(lst, _acc_lst, list) { - bsc_msg_acc_lst_write_one(vty, lst); - } -} - -void bsc_msg_acc_lst_vty_init(void *ctx, struct llist_head *lst, int node) -{ - _ctx = ctx; - _acc_lst = lst; - install_element_ve(&show_acc_lst_cmd); - - /* access-list */ - install_element(node, &cfg_lst_imsi_allow_cmd); - install_element(node, &cfg_lst_imsi_deny_cmd); - install_element(node, &cfg_lst_no_cmd); -} diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 51d8875..6009e1d 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -94,7 +94,6 @@ $(NULL) osmo_bsc_LDADD = \ - $(top_builddir)/src/libfilter/libfilter.a \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 8a4b1c5..030808b 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -58,70 +58,6 @@ static bool complete_layer3(struct gsm_subscriber_connection *conn, struct msgb *msg, struct bsc_msc_data *msc); -static void bsc_maybe_lu_reject(struct gsm_subscriber_connection *conn, int con_type, int cause) -{ - struct msgb *msg; - - /* ignore cm service request or such */ - if (con_type != FLT_CON_TYPE_LU) - return; - - msg = gsm48_create_loc_upd_rej(cause); - if (!msg) { - LOGP(DMM, LOGL_ERROR, "Failed to create msg for LOCATION UPDATING REJECT.\n"); - return; - } - - msg->lchan = conn->lchan; - gscon_submit_rsl_dtap(conn, msg, 0, 0); -} - -static int bsc_filter_initial(struct osmo_bsc_data *bsc, - struct bsc_msc_data *msc, - struct gsm_subscriber_connection *conn, - struct msgb *msg, char **imsi, int *con_type, - int *lu_cause) -{ - struct bsc_filter_request req; - struct bsc_filter_reject_cause cause; - struct gsm48_hdr *gh = msgb_l3(msg); - int rc; - - req.ctx = conn; - req.black_list = NULL; - req.access_lists = bsc_access_lists(); - req.local_lst_name = msc->acc_lst_name; - req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; - req.bsc_nr = 0; - - rc = bsc_msg_filter_initial(gh, msgb_l3len(msg), &req, - con_type, imsi, &cause); - *lu_cause = cause.lu_reject_cause; - return rc; -} - -static int bsc_filter_data(struct gsm_subscriber_connection *conn, - struct msgb *msg, int *lu_cause) -{ - struct bsc_filter_request req; - struct gsm48_hdr *gh = msgb_l3(msg); - struct bsc_filter_reject_cause cause; - int rc; - - req.ctx = conn; - req.black_list = NULL; - req.access_lists = bsc_access_lists(); - req.local_lst_name = conn->sccp.msc->acc_lst_name; - req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; - req.bsc_nr = 0; - - rc = bsc_msg_filter_data(gh, msgb_l3len(msg), &req, - &conn->filter_state, - &cause); - *lu_cause = cause.lu_reject_cause; - return rc; -} - /*! BTS->MSC: tell MSC a SAPI was not established. */ void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) { @@ -489,22 +425,12 @@ static bool complete_layer3(struct gsm_subscriber_connection *conn, struct msgb *msg, struct bsc_msc_data *msc) { - int con_type, rc, lu_cause; - char *imsi = NULL; struct msgb *resp; enum bsc_con ret; struct gsm0808_speech_codec_list scl; log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - /* Check the filter */ - rc = bsc_filter_initial(msc->network->bsc_data, msc, conn, msg, - &imsi, &con_type, &lu_cause); - if (rc < 0) { - bsc_maybe_lu_reject(conn, con_type, lu_cause); - goto early_fail; - } - /* allocate resource for a new connection */ ret = osmo_bsc_sigtran_new_conn(conn, msc); @@ -517,28 +443,6 @@ goto early_fail; } - /* TODO: also extract TMSI. We get an IMSI only when an initial L3 Complete comes in that - * contains an IMSI. We filter by IMSI. A TMSI identity is never returned here, see e.g. - * _cr_check_loc_upd() and other similar functions called from bsc_msg_filter_initial(). */ - if (imsi) { - conn->filter_state.imsi = talloc_steal(conn, imsi); - if (conn->bsub) { - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - /* Already a subscriber on L3 Complete? Should never happen... */ - if (conn->bsub->imsi[0] - && strcmp(conn->bsub->imsi, imsi)) - LOGP(DMSC, LOGL_ERROR, "Subscriber's IMSI changes from %s to %s\n", - conn->bsub->imsi, imsi); - bsc_subscr_set_imsi(conn->bsub, imsi); - } else { - conn->bsub = bsc_subscr_find_or_create_by_imsi(msc->network->bsc_subscribers, - imsi); - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - } - gscon_update_id(conn); - } - conn->filter_state.con_type = con_type; - /* check return value, if failed check msg for and send USSD */ bsc_scan_bts_msg(conn, msg); @@ -664,8 +568,6 @@ /*! MS->BSC/MSC: Um L3 message. */ void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) { - int lu_cause; - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); if (!msc_connected(conn)) @@ -680,15 +582,6 @@ if (handle_cc_setup(conn, msg) >= 1) goto done; - /* Check the filter */ - if (bsc_filter_data(conn, msg, &lu_cause) < 0) { - bsc_maybe_lu_reject(conn, - conn->filter_state.con_type, - lu_cause); - bsc_clear_request(conn, 0); - goto done; - } - bsc_scan_bts_msg(conn, msg); /* Store link_id in msg->cb */ diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index ad5a3a9..42d05b1 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -84,12 +84,6 @@ static const char *config_file = "osmo-bsc.cfg"; static const char *rf_ctrl = NULL; static int daemonize = 0; -static LLIST_HEAD(access_lists); - -struct llist_head *bsc_access_lists(void) -{ - return &access_lists; -} static void print_usage() { @@ -841,7 +835,6 @@ /* This needs to precede handle_options() */ vty_init(&vty_info); bsc_vty_init(bsc_gsmnet); - bsc_msg_acc_lst_vty_init(tall_bsc_ctx, &access_lists, BSC_NODE); ctrl_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 7174de1..cf995cc 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -161,9 +160,6 @@ if (msc->local_pref) vty_out(vty, " local-prefix %s%s", msc->local_pref, VTY_NEWLINE); - if (msc->acc_lst_name) - vty_out(vty, " access-list-name %s%s", msc->acc_lst_name, VTY_NEWLINE); - /* write amr options */ write_msc_amr_options(vty, msc); @@ -232,10 +228,6 @@ vty_out(vty, " missing-msc-text %s%s", bsc->ussd_no_msc_txt, VTY_NEWLINE); else vty_out(vty, " no missing-msc-text%s", VTY_NEWLINE); - if (bsc->acc_lst_name) - vty_out(vty, " access-list-name %s%s", bsc->acc_lst_name, VTY_NEWLINE); - - bsc_msg_acc_lst_write(vty); return CMD_SUCCESS; } @@ -528,33 +520,6 @@ AMR_COMMAND(5_15) AMR_COMMAND(4_75) -DEFUN(cfg_msc_acc_lst_name, - cfg_msc_acc_lst_name_cmd, - "access-list-name NAME", - "Set the name of the access list to use.\n" - "The name of the to be used access list.\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - osmo_talloc_replace_string(msc, &msc->acc_lst_name, argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_msc_no_acc_lst_name, - cfg_msc_no_acc_lst_name_cmd, - "no access-list-name", - NO_STR "Remove the access list from the NAT.\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - if (msc->acc_lst_name) { - talloc_free(msc->acc_lst_name); - msc->acc_lst_name = NULL; - } - - return CMD_SUCCESS; -} - /* Make sure only standard SSN numbers are used. If no ssn number is * configured, silently apply the default SSN */ static void enforce_standard_ssn(struct vty *vty, struct osmo_sccp_addr *addr) @@ -781,33 +746,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_bsc_acc_lst_name, - cfg_bsc_acc_lst_name_cmd, - "access-list-name NAME", - "Set the name of the access list to use.\n" - "The name of the to be used access list.\n") -{ - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - - osmo_talloc_replace_string(bsc, &bsc->acc_lst_name, argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_bsc_no_acc_lst_name, - cfg_bsc_no_acc_lst_name_cmd, - "no access-list-name", - NO_STR "Remove the access list from the BSC\n") -{ - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - - if (bsc->acc_lst_name) { - talloc_free(bsc->acc_lst_name); - bsc->acc_lst_name = NULL; - } - - return CMD_SUCCESS; -} - DEFUN(show_statistics, show_statistics_cmd, "show statistics", @@ -1005,8 +943,6 @@ install_element(BSC_NODE, &cfg_net_no_rf_off_time_cmd); install_element(BSC_NODE, &cfg_net_bsc_missing_msc_ussd_cmd); install_element(BSC_NODE, &cfg_net_bsc_no_missing_msc_text_cmd); - install_element(BSC_NODE, &cfg_bsc_acc_lst_name_cmd); - install_element(BSC_NODE, &cfg_bsc_no_acc_lst_name_cmd); install_node(&msc_node, config_write_msc); install_element(MSC_NODE, &cfg_net_bsc_ncc_cmd); @@ -1037,8 +973,6 @@ install_element(MSC_NODE, &cfg_net_msc_amr_octet_align_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mode_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mismtch_cmd); - install_element(MSC_NODE, &cfg_msc_acc_lst_name_cmd); - install_element(MSC_NODE, &cfg_msc_no_acc_lst_name_cmd); install_element(MSC_NODE, &cfg_msc_cs7_bsc_addr_cmd); install_element(MSC_NODE, &cfg_msc_cs7_msc_addr_cmd); install_element(MSC_NODE, &cfg_msc_cs7_asp_proto_cmd); diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 8bd0012..901d523 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -41,8 +41,6 @@ $(NULL) handover_test_LDADD = \ - $(top_builddir)/src/libfilter/bsc_msg_acc.o \ - $(top_builddir)/src/libfilter/bsc_msg_vty.o \ $(top_builddir)/src/osmo-bsc/a_reset.o \ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/abis_nm_vty.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89727af5387e8360362e995fdee959883c37d89a Gerrit-Change-Number: 18495 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:06 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:06 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... drop CC 'local-prefix' feature It is not entirely clear to me what this used to do once, but I've stumbled upon this before. By now I am certain that this is a non-standard legacy feature. The BSC does *not* redirect connections during CC transactions. Along with this, a bunch of legacy utility functions can be dropped. All of this is unused code. (Preparing for MSC pooling.) Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_vty.c 5 files changed, 0 insertions(+), 180 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/18496/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index c77c562..27eb75d 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -45,7 +45,6 @@ #include #include -#include #include struct osmo_bsc_rf; @@ -121,11 +120,6 @@ int allow_emerg; int type; - /* local call routing */ - char *local_pref; - regex_t local_pref_reg; - - /* Connection data */ struct osmo_plmn_id core_plmn; int core_lac; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e6a7708..73c0eb3 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -2,7 +2,6 @@ #define _GSM_DATA_H #include -#include #include #include #include @@ -1362,12 +1361,6 @@ /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts); -/* - * help with parsing regexps - */ -int gsm_parse_reg(void *ctx, regex_t *reg, char **str, - int argc, const char **argv) __attribute__ ((warn_unused_result)); - static inline uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) { if (ts->tsc != -1) diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 030808b..e9918ac 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -475,96 +475,6 @@ return false; } -static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause); - -/* - * Plastic surgery... we want to give up the current connection - */ -static int move_to_msc(struct gsm_subscriber_connection *_conn, - struct msgb *msg, struct bsc_msc_data *msc) -{ - /* - * 1. Give up the old connection. - * This happens by sending a clear request to the MSC, - * it should end with the MSC releasing the connection. - */ - bsc_clear_request(_conn, 0); - - /* - * 2. Attempt to create a new connection to the local - * MSC. If it fails the caller will need to handle this - * properly. - */ - if (!complete_layer3(_conn, msg, msc)) { - /* FIXME: I have not the slightest idea what move_to_msc() intends to do; during lchan - * FSM introduction, I changed this and hope it is the appropriate action. I actually - * assume this is unused legacy code for osmo-bsc_nat?? */ - gscon_release_lchans(_conn, false); - return 1; - } - - return 2; -} - -static int handle_cc_setup(struct gsm_subscriber_connection *conn, - struct msgb *msg) -{ - struct gsm48_hdr *gh = msgb_l3(msg); - uint8_t pdisc = gsm48_hdr_pdisc(gh); - uint8_t mtype = gsm48_hdr_msg_type(gh); - - struct bsc_msc_data *msc; - struct gsm_mncc_number called; - struct tlv_parsed tp; - unsigned payload_len; - - char _dest_nr[35]; - - /* - * Do we have a setup message here? if not return fast. - */ - if (pdisc != GSM48_PDISC_CC || mtype != GSM48_MT_CC_SETUP) - return 0; - - payload_len = msgb_l3len(msg) - sizeof(*gh); - - tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0); - if (!TLVP_PRESENT(&tp, GSM48_IE_CALLED_BCD)) { - LOGP(DMSC, LOGL_ERROR, "Called BCD not present in setup.\n"); - return -1; - } - - memset(&called, 0, sizeof(called)); - gsm48_decode_called(&called, - TLVP_VAL(&tp, GSM48_IE_CALLED_BCD) - 1); - - if (called.plan != 1 && called.plan != 0) - return 0; - - if (called.plan == 1 && called.type == 1) { - _dest_nr[0] = _dest_nr[1] = '0'; - memcpy(_dest_nr + 2, called.number, sizeof(called.number)); - } else - memcpy(_dest_nr, called.number, sizeof(called.number)); - - /* - * Check if the connection should be moved... - */ - llist_for_each_entry(msc, &conn_get_bts(conn)->network->bsc_data->mscs, entry) { - if (msc->type != MSC_CON_TYPE_LOCAL) - continue; - if (!msc->local_pref) - continue; - if (regexec(&msc->local_pref_reg, _dest_nr, 0, NULL, 0) != 0) - continue; - - return move_to_msc(conn, msg, msc); - } - - return 0; -} - - /*! MS->BSC/MSC: Um L3 message. */ void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) { @@ -575,13 +485,6 @@ LOGP(DMSC, LOGL_INFO, "Tx MSC DTAP LINK_ID=0x%02x\n", link_id); - /* - * We might want to move this connection to a new MSC. Ask someone - * to handle it. If it was handled we will return. - */ - if (handle_cc_setup(conn, msg) >= 1) - goto done; - bsc_scan_bts_msg(conn, msg); /* Store link_id in msg->cb */ @@ -592,31 +495,6 @@ return; } -/*! BSSMAP Clear Request for legacy code paths, instead see gscon_bssmap_clear(). */ -static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause) -{ - int rc; - struct msgb *resp; - - if (!msc_connected(conn)) - return 1; - - LOGP(DMSC, LOGL_INFO, "Tx MSC CLEAR REQUEST\n"); - - resp = gsm0808_create_clear_rqst(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE); - if (!resp) { - LOGP(DMSC, LOGL_ERROR, "Failed to allocate response.\n"); - return 1; - } - - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); - rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); - if (rc != 0) - msgb_free(resp); - - return 1; -} - /*! BSC->MSC: Classmark Update. */ void bsc_cm_update(struct gsm_subscriber_connection *conn, const uint8_t *cm2, uint8_t cm2_len, diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c34f06c..46e26ac 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -248,31 +248,6 @@ gsm48_encode_ra(buf, &raid); } -int gsm_parse_reg(void *ctx, regex_t *reg, char **str, int argc, const char **argv) -{ - int ret; - - ret = 0; - if (*str) { - talloc_free(*str); - *str = NULL; - } - regfree(reg); - - if (argc > 0) { - *str = talloc_strdup(ctx, argv[0]); - ret = regcomp(reg, argv[0], REG_NOSUB); - - /* handle compilation failures */ - if (ret != 0) { - talloc_free(*str); - *str = NULL; - } - } - - return ret; -} - /* Assume there are only 256 possible bts */ osmo_static_assert(sizeof(((struct gsm_bts *) 0)->nr) == 1, _bts_nr_is_256); static void depends_calc_index_bit(int bts_nr, int *idx, int *bit) diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index cf995cc..7791212 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -157,9 +157,6 @@ vty_out(vty, " allow-emergency %s%s", msc->allow_emerg ? "allow" : "deny", VTY_NEWLINE); - if (msc->local_pref) - vty_out(vty, " local-prefix %s%s", msc->local_pref, VTY_NEWLINE); - /* write amr options */ write_msc_amr_options(vty, msc); @@ -482,22 +479,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_msc_local_prefix, - cfg_net_msc_local_prefix_cmd, - "local-prefix REGEXP", - "Prefix for local numbers\n" "REGEXP used\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - if (gsm_parse_reg(msc, &msc->local_pref_reg, &msc->local_pref, argc, argv) != 0) { - vty_out(vty, "%%Failed to parse the regexp: '%s'%s", - argv[0], VTY_NEWLINE); - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - #define AMR_CONF_STR "AMR Multirate Configuration\n" #define AMR_COMMAND(name) \ DEFUN(cfg_net_msc_amr_##name, \ @@ -961,7 +942,6 @@ install_element(MSC_NODE, &cfg_net_msc_no_grace_ussd_cmd); install_element(MSC_NODE, &cfg_net_msc_type_cmd); install_element(MSC_NODE, &cfg_net_msc_emerg_cmd); - install_element(MSC_NODE, &cfg_net_msc_local_prefix_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_12_2_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_10_2_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_7_95_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:07 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... code cleanup: absorb complete_layer3() into bsc_compl_l3() Tweak return code handling: also return a failure code when dispatching the GSCON_EV_A_CONN_REQ event failed. Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 18 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/18497/1 diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e9918ac..7295f0c 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -55,9 +55,6 @@ return true; } -static bool complete_layer3(struct gsm_subscriber_connection *conn, - struct msgb *msg, struct bsc_msc_data *msc); - /*! BTS->MSC: tell MSC a SAPI was not established. */ void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) { @@ -299,25 +296,6 @@ return NULL; } -/*! MS->MSC: New MM context with L3 payload. */ -int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) -{ - struct bsc_msc_data *msc; - - LOGP(DMSC, LOGL_INFO, "Tx MSC COMPL L3\n"); - - /* find the MSC link we want to use */ - msc = bsc_find_msc(conn, msg); - if (!msc) { - LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); - bsc_send_ussd_no_srv(conn, msg, - conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); - return -1; - } - - return complete_layer3(conn, msg, msc) ? 0 : -2; -} - static int handle_page_resp(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct bsc_subscr *subscr = extract_sub(conn, msg); @@ -422,15 +400,29 @@ return 0; } -static bool complete_layer3(struct gsm_subscriber_connection *conn, - struct msgb *msg, struct bsc_msc_data *msc) +/*! MS->MSC: New MM context with L3 payload. */ +int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { + struct bsc_msc_data *msc; struct msgb *resp; enum bsc_con ret; struct gsm0808_speech_codec_list scl; + int rc = -2; log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); + LOGP(DMSC, LOGL_INFO, "Tx MSC COMPL L3\n"); + + /* find the MSC link we want to use */ + msc = bsc_find_msc(conn, msg); + if (!msc) { + LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); + bsc_send_ussd_no_srv(conn, msg, + conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); + rc = -1; + goto early_fail; + } + /* allocate resource for a new connection */ ret = osmo_bsc_sigtran_new_conn(conn, msc); @@ -464,15 +456,12 @@ resp = gsm0808_create_layer3_2(msg, cgi_for_msc(conn->sccp.msc, conn_get_bts(conn)), NULL); if (resp) - osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_REQ, resp); + rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_REQ, resp); else LOGP(DMSC, LOGL_DEBUG, "Failed to create layer3 message.\n"); - - log_set_context(LOG_CTX_BSC_SUBSCR, NULL); - return !!resp; early_fail: log_set_context(LOG_CTX_BSC_SUBSCR, NULL); - return false; + return rc; } /*! MS->BSC/MSC: Um L3 message. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:07 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... drop all BSC originated USSD notification features The BSC is the wrong network component to originate USSD messaging, as can be seen in the hacks in the USSD code: for example, the BSC would send a CM Service Accept message as if an MSC had accepted the connection, dispatch a USSD and directly send some RR release message (without proper tear down messaging like the lchan_fsm does these days). This made sense in the osmo-nitb world, but by now we are aiming for solid 3GPP compliance. The BSC shall not originate USSD messages. Drop all VTY and CTRL commands related to USSD, i.e. VTY [no] bsc-welcome-text [no] bsc-msc-lost-text [no] bsc-grace-text [no] missing-msc-text CTRL ussd-notify-v1 Drop (already unused) ussd.h. Drop gsm_04_80.h, gsm_04_80_utils.c, and all calling code. Drop "RF grace" notification, where osmo-bsc was able to notify active subscribers that the RF was being turned off. Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h D include/osmocom/bsc/gsm_04_80.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc.h D include/osmocom/bsc/ussd.h M src/osmo-bsc/Makefile.am D src/osmo-bsc/gsm_04_80_utils.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_ctrl.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_grace.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/osmo_bsc_vty.c M tests/bsc/bsc_test.c M tests/codec_pref/codec_pref_test.c M tests/handover/Makefile.am M tests/vty_test_runner.py 20 files changed, 3 insertions(+), 574 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/18498/1 diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 327e5b4..6b1609a 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -25,7 +25,6 @@ |mcc-mnc-apply|WO|No|","|Apply new MCC/MNC values if different from currently used one. |notification|WO|Yes|Arbitrary value| See <> for details. |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. -|ussd-notify-v1|WO|No|",,"| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). @@ -54,12 +53,6 @@ Setting this variable initiate TRAP "inform-msc-v1" to all connected MSCs control interfaces with the value supplied in SET operation. -[[ussdnot]] -=== ussd-notify-v1 - -Setting this variable will send USSD Notify message to subscriber specified in -command parameters with the text specified in command parameters. - [[chanlo]] === channel-load diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 509df9a..7a296e4 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -17,7 +17,6 @@ debug.h \ e1_config.h \ gsm_04_08_rr.h \ - gsm_04_80.h \ gsm_data.h \ handover.h \ handover_cfg.h \ @@ -49,7 +48,6 @@ signal.h \ system_information.h \ timeslot_fsm.h \ - ussd.h \ vty.h \ gsm_08_08.h \ penalty_timers.h \ diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 27eb75d..b497345 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -133,17 +133,8 @@ enum bsc_lcls_mode lcls_mode; bool lcls_codec_mismatch_allow; - /* ussd welcome text */ - char *ussd_welcome_txt; - int nr; - /* ussd msc connection lost text */ - char *ussd_msc_lost_txt; - - /* ussd text when MSC has entered the grace period */ - char *ussd_grace_txt; - /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *msc_ctrs; struct osmo_stat_item_group *msc_statg; @@ -207,15 +198,11 @@ struct llist_head mscs; /* rf ctl related bits */ - char *mid_call_txt; int mid_call_timeout; char *rf_ctrl_name; struct osmo_bsc_rf *rf_ctrl; int auto_off_timeout; - /* ussd text when there is no MSC available */ - char *ussd_no_msc_txt; - struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/gsm_04_80.h b/include/osmocom/bsc/gsm_04_80.h deleted file mode 100644 index 649ffe1..0000000 --- a/include/osmocom/bsc/gsm_04_80.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -struct gsm_subscriber_connection; - -int bsc_send_ussd_notify(struct gsm_subscriber_connection *conn, int level, - const char *text); -int bsc_send_ussd_release_complete(struct gsm_subscriber_connection *conn); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 73c0eb3..829295e 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -260,9 +260,6 @@ /* flag to prevent multiple simultaneous ciphering commands */ int ciphering_handled; - /* state related to welcome USSD */ - uint8_t new_subscriber; - /* SCCP connection associatd with this subscriber_connection */ struct { /* for advanced ping/pong */ diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index 8999a2e..afc319b 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -2,8 +2,6 @@ #include -#define BSS_SEND_USSD 1 - enum bsc_con { BSC_CON_SUCCESS, BSC_CON_REJECT_NO_LINK, @@ -29,7 +27,6 @@ int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); -int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn); int bsc_handle_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length); int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len); diff --git a/include/osmocom/bsc/ussd.h b/include/osmocom/bsc/ussd.h deleted file mode 100644 index 2665468..0000000 --- a/include/osmocom/bsc/ussd.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _USSD_H -#define _USSD_H - -/* Handler function for mobile-originated USSD messages */ - -#include - -int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg); - -#endif diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 6009e1d..51e0e7f9 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -55,7 +55,6 @@ codec_pref.c \ e1_config.c \ gsm_04_08_rr.c \ - gsm_04_80_utils.c \ gsm_data.c \ handover_cfg.c \ handover_decision.c \ diff --git a/src/osmo-bsc/gsm_04_80_utils.c b/src/osmo-bsc/gsm_04_80_utils.c deleted file mode 100644 index 5ac0226..0000000 --- a/src/osmo-bsc/gsm_04_80_utils.c +++ /dev/null @@ -1,43 +0,0 @@ -/* OpenBSC utility functions for 3GPP TS 04.80 */ - -/* (C) 2016 by sysmocom s.m.f.c. GmbH - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include - -int bsc_send_ussd_notify(struct gsm_subscriber_connection *conn, int level, - const char *text) -{ - struct msgb *msg = gsm0480_create_ussd_notify(level, text); - if (!msg) - return -1; - gscon_submit_rsl_dtap(conn, msg, 0, 0); - return 0; -} - -int bsc_send_ussd_release_complete(struct gsm_subscriber_connection *conn) -{ - /* ugly: we obviously don't know if TID 0 is currently in user for the given subscriber... */ - struct msgb *msg = gsm0480_create_release_complete(0); - if (!msg) - return -1; - gscon_submit_rsl_dtap(conn, msg, 0, 0); - return 0; -} diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 7295f0c..70559c0 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -106,50 +105,6 @@ return 0; } -static void bsc_send_ussd_no_srv(struct gsm_subscriber_connection *conn, - struct msgb *msg, const char *text) -{ - struct gsm48_hdr *gh; - int8_t pdisc; - uint8_t mtype; - int drop_message = 1; - - if (!text) - return; - - if (!msg || msgb_l3len(msg) < sizeof(*gh)) - return; - - gh = msgb_l3(msg); - pdisc = gsm48_hdr_pdisc(gh); - mtype = gsm48_hdr_msg_type(gh); - - /* Is CM service request? */ - if (pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_SERV_REQ) { - struct gsm48_service_request *cm; - - cm = (struct gsm48_service_request *) &gh->data[0]; - - /* Is type SMS or call? */ - if (cm->cm_service_type == GSM48_CMSERV_SMS) - drop_message = 0; - else if (cm->cm_service_type == GSM48_CMSERV_MO_CALL_PACKET) - drop_message = 0; - } - - if (drop_message) { - LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n", text); - return; - } - - LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n"); - gsm48_tx_mm_serv_ack(conn); - - LOGP(DMSC, LOGL_INFO, "Sending USSD message: '%s'\n", text); - bsc_send_ussd_notify(conn, 1, text); - bsc_send_ussd_release_complete(conn); -} - static int is_cm_service_for_emerg(struct msgb *msg) { struct gsm48_service_request *cm; @@ -319,7 +274,6 @@ { struct gsm48_hdr *gh; struct gsm48_loc_upd_req *lu; - struct gsm48_loc_area_id lai; int8_t rc8; struct gsm_bts *bts = conn_get_bts(conn); @@ -332,13 +286,6 @@ gh = msgb_l3(msg); lu = (struct gsm48_loc_upd_req *) gh->data; - gsm48_generate_lai2(&lai, bts_lai(conn_get_bts(conn))); - - if (memcmp(&lai, &lu->lai, sizeof(lai)) != 0) { - LOGP(DMSC, LOGL_DEBUG, "Marking con for welcome USSD.\n"); - conn->new_subscriber = 1; - } - rc8 = osmo_gsm48_rfpowercap2powerclass(bts->band, lu->classmark1.pwr_lev); if (rc8 < 0) { LOGP(DMSC, LOGL_NOTICE, @@ -405,7 +352,6 @@ { struct bsc_msc_data *msc; struct msgb *resp; - enum bsc_con ret; struct gsm0808_speech_codec_list scl; int rc = -2; @@ -417,25 +363,13 @@ msc = bsc_find_msc(conn, msg); if (!msc) { LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); - bsc_send_ussd_no_srv(conn, msg, - conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); rc = -1; goto early_fail; } /* allocate resource for a new connection */ - ret = osmo_bsc_sigtran_new_conn(conn, msc); - - if (ret != BSC_CON_SUCCESS) { - /* allocation has failed */ - if (ret == BSC_CON_REJECT_NO_LINK) - bsc_send_ussd_no_srv(conn, msg, msc->ussd_msc_lost_txt); - else if (ret == BSC_CON_REJECT_RF_GRACE) - bsc_send_ussd_no_srv(conn, msg, msc->ussd_grace_txt); + if (osmo_bsc_sigtran_new_conn(conn, msc) != BSC_CON_SUCCESS) goto early_fail; - } - - /* check return value, if failed check msg for and send USSD */ bsc_scan_bts_msg(conn, msg); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 388ad14..e65d0cf 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -1146,21 +1145,13 @@ return ret; } -int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn) -{ - bsc_send_ussd_notify(conn, 1, conn->sccp.msc->ussd_welcome_txt); - bsc_send_ussd_release_complete(conn); - - return 0; -} - static int dtap_rcvmsg(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int length) { struct dtap_header *header; struct msgb *gsm48; uint8_t *data; - int rc, dtap_rc; + int dtap_rc; struct rate_ctr *ctrs; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", @@ -1202,12 +1193,10 @@ memcpy(data, msg->l3h + sizeof(*header), length - sizeof(*header)); /* pass it to the filter for extra actions */ - rc = bsc_scan_msc_msg(conn, gsm48); + bsc_scan_msc_msg(conn, gsm48); /* Store link_id in msgb->cb */ OBSC_LINKID_CB(gsm48) = header->link_id; dtap_rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MT_DTAP, gsm48); - if (rc == BSS_SEND_USSD) - bsc_send_welcome_ussd(conn); return dtap_rc; } diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index afe061e..eb82a7c 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -672,70 +671,6 @@ return CTRL_CMD_HANDLED; } -CTRL_CMD_DEFINE_WO(net_ussd_notify, "ussd-notify-v1"); -static int set_net_ussd_notify(struct ctrl_cmd *cmd, void *data) -{ - struct gsm_subscriber_connection *conn; - struct gsm_network *net; - char *saveptr = NULL; - char *cic_str, *alert_str, *text_str; - int cic, alert; - - /* Verify has done the test for us */ - cic_str = strtok_r(cmd->value, ",", &saveptr); - alert_str = strtok_r(NULL, ",", &saveptr); - text_str = strtok_r(NULL, ",", &saveptr); - - if (!cic_str || !alert_str || !text_str) { - cmd->reply = "Programming issue. How did this pass verify?"; - return CTRL_CMD_ERROR; - } - - cmd->reply = "No connection found"; - - cic = atoi(cic_str); - alert = atoi(alert_str); - - net = cmd->node; - llist_for_each_entry(conn, &net->subscr_conns, entry) { - if (conn->user_plane.msc_assigned_cic != cic) - continue; - - /* - * This is a hack. My E71 does not like to immediately - * receive a release complete on a TCH. So schedule a - * release complete to clear any previous attempt. The - * right thing would be to track invokeId and only send - * the release complete when we get a returnResultLast - * for this invoke id. - */ - bsc_send_ussd_release_complete(conn); - bsc_send_ussd_notify(conn, alert, text_str); - cmd->reply = "Found a connection"; - break; - } - - return CTRL_CMD_REPLY; -} - -static int verify_net_ussd_notify(struct ctrl_cmd *cmd, const char *value, void *data) -{ - char *saveptr = NULL; - char *inp, *cic, *alert, *text; - - OSMO_ASSERT(cmd); - inp = talloc_strdup(cmd, value); - - cic = strtok_r(inp, ",", &saveptr); - alert = strtok_r(NULL, ",", &saveptr); - text = strtok_r(NULL, ",", &saveptr); - - talloc_free(inp); - if (!cic || !alert || !text) - return 1; - return 0; -} - static int msc_signal_handler(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) { @@ -791,9 +726,6 @@ rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_inform_msc); if (rc) goto end; - rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_ussd_notify); - if (rc) - goto end; rc = osmo_signal_register_handler(SS_L_INPUT, &bts_connection_status_trap_cb, net); end: diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index b4985f2..98b5148 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -21,7 +21,6 @@ #include #include -#include #include #include #include @@ -30,16 +29,6 @@ #include -static int send_welcome_ussd(struct gsm_subscriber_connection *conn) -{ - if (!conn->sccp.msc->ussd_welcome_txt) { - LOGP(DMSC, LOGL_DEBUG, "No USSD Welcome text defined.\n"); - return 0; - } - - return BSS_SEND_USSD; -} - static int bsc_patch_mm_info(struct gsm_subscriber_connection *conn, uint8_t *data, unsigned int length) { @@ -150,9 +139,6 @@ gsm48_generate_lai2(lai, bts_lai(conn_get_bts(conn))); } } - - if (conn->new_subscriber) - return send_welcome_ussd(conn); return 0; } else if (mtype == GSM48_MT_MM_INFO) { bsc_patch_mm_info(conn, &gh->data[0], length); diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c index 2cc3d1a..9ee84d4 100644 --- a/src/osmo-bsc/osmo_bsc_grace.c +++ b/src/osmo-bsc/osmo_bsc_grace.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -72,78 +71,3 @@ return paging_request_bts(bts, subscr, chan_needed, msc); return locked_paging_bts(bts, subscr, chan_needed, msc); } - -static int handle_sub(struct gsm_lchan *lchan, const char *text) -{ - struct gsm_subscriber_connection *conn; - - /* only send it to TCH */ - if (lchan->type != GSM_LCHAN_TCH_H && lchan->type != GSM_LCHAN_TCH_F) - return -1; - - /* only send on the primary channel */ - conn = lchan->conn; - if (!conn) - return -1; - - if (conn->lchan != lchan) - return -1; - - /* only when active */ - if (lchan->fi->state != LCHAN_ST_ESTABLISHED) - return -1; - - bsc_send_ussd_notify(conn, 0, text); - bsc_send_ussd_release_complete(conn); - - return 0; -} - -/* - * The place to handle the grace mode. Right now we will send - * USSD messages to the subscriber, in the future we might start - * a timer to have different modes for the grace period. - */ -static int handle_grace(struct gsm_network *network) -{ - int ts_nr, lchan_nr; - struct gsm_bts *bts; - struct gsm_bts_trx *trx; - - if (!network->bsc_data->mid_call_txt) - return 0; - - llist_for_each_entry(bts, &network->bts_list, list) { - llist_for_each_entry(trx, &bts->trx_list, list) { - for (ts_nr = 0; ts_nr < TRX_NR_TS; ++ts_nr) { - struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; - for (lchan_nr = 0; lchan_nr < TS_MAX_LCHAN; ++lchan_nr) { - handle_sub(&ts->lchan[lchan_nr], - network->bsc_data->mid_call_txt); - } - } - } - } - return 0; -} - -static int handle_rf_signal(unsigned int subsys, unsigned int signal, - void *handler_data, void *signal_data) -{ - struct rf_signal_data *sig; - - if (subsys != SS_RF) - return -1; - - sig = signal_data; - - if (signal == S_RF_GRACE) - handle_grace(sig->net); - - return 0; -} - -static __attribute__((constructor)) void on_dso_load_grace(void) -{ - osmo_signal_register_handler(SS_RF, handle_rf_signal, NULL); -} diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index d36c85d..cbf0fec 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -426,24 +425,6 @@ return rc; } -/* Send an USSD notification in case we loose the connection to the MSC */ -static void bsc_notify_msc_lost(struct gsm_subscriber_connection *conn) -{ - /* Check if sccp conn is still present */ - if (!conn) - return; - - /* check for config string */ - if (!conn->sccp.msc->ussd_msc_lost_txt) - return; - if (conn->sccp.msc->ussd_msc_lost_txt[0] == '\0') - return; - - /* send USSD notification */ - bsc_send_ussd_notify(conn, 1, conn->sccp.msc->ussd_msc_lost_txt); - bsc_send_ussd_release_complete(conn); -} - /* Close all open sigtran connections and channels */ void osmo_bsc_sigtran_reset(const struct bsc_msc_data *msc) { @@ -456,9 +437,6 @@ /* We only may close connections which actually belong to this * MSC. All other open connections are left untouched */ if (conn->sccp.msc == msc) { - /* Notify active connection users via USSD that the MSC is down */ - bsc_notify_msc_lost(conn); - /* Take down all occopied RF channels */ /* Disconnect all Sigtran connections */ /* Delete subscriber connection */ diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 7791212..f86da65 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -120,21 +120,6 @@ vty_out(vty, " core-cell-identity %d%s", msc->core_ci, VTY_NEWLINE); - if (msc->ussd_welcome_txt) - vty_out(vty, " bsc-welcome-text %s%s", msc->ussd_welcome_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-welcome-text%s", VTY_NEWLINE); - - if (msc->ussd_msc_lost_txt && msc->ussd_msc_lost_txt[0]) - vty_out(vty, " bsc-msc-lost-text %s%s", msc->ussd_msc_lost_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-msc-lost-text%s", VTY_NEWLINE); - - if (msc->ussd_grace_txt && msc->ussd_grace_txt[0]) - vty_out(vty, " bsc-grace-text %s%s", msc->ussd_grace_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-grace-text%s", VTY_NEWLINE); - if (msc->audio_length != 0) { int i; @@ -210,8 +195,6 @@ struct osmo_bsc_data *bsc = osmo_bsc_data(vty); vty_out(vty, "bsc%s", VTY_NEWLINE); - if (bsc->mid_call_txt) - vty_out(vty, " mid-call-text %s%s", bsc->mid_call_txt, VTY_NEWLINE); vty_out(vty, " mid-call-timeout %d%s", bsc->mid_call_timeout, VTY_NEWLINE); if (bsc->rf_ctrl_name) vty_out(vty, " bsc-rf-socket %s%s", @@ -221,11 +204,6 @@ vty_out(vty, " bsc-auto-rf-off %d%s", bsc->auto_off_timeout, VTY_NEWLINE); - if (bsc->ussd_no_msc_txt && bsc->ussd_no_msc_txt[0]) - vty_out(vty, " missing-msc-text %s%s", bsc->ussd_no_msc_txt, VTY_NEWLINE); - else - vty_out(vty, " no missing-msc-text%s", VTY_NEWLINE); - return CMD_SUCCESS; } @@ -339,119 +317,6 @@ return CMD_ERR_INCOMPLETE; } -DEFUN(cfg_net_msc_welcome_ussd, - cfg_net_msc_welcome_ussd_cmd, - "bsc-welcome-text .TEXT", - "Set the USSD notification to be sent\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; - - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_welcome_txt, str); - talloc_free(str); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_no_welcome_ussd, - cfg_net_msc_no_welcome_ussd_cmd, - "no bsc-welcome-text", - NO_STR "Clear the USSD notification to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - - talloc_free(data->ussd_welcome_txt); - data->ussd_welcome_txt = NULL; - - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_lost_ussd, - cfg_net_msc_lost_ussd_cmd, - "bsc-msc-lost-text .TEXT", - "Set the USSD notification to be sent on MSC connection loss\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; - - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_msc_lost_txt, str); - talloc_free(str); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_no_lost_ussd, - cfg_net_msc_no_lost_ussd_cmd, - "no bsc-msc-lost-text", - NO_STR "Clear the USSD notification to be sent on MSC connection loss\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - - talloc_free(data->ussd_msc_lost_txt); - data->ussd_msc_lost_txt = 0; - - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_grace_ussd, - cfg_net_msc_grace_ussd_cmd, - "bsc-grace-text .TEXT", - "Set the USSD notification to be sent when the MSC has entered the grace period\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; - - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_grace_txt, str); - talloc_free(str); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_no_grace_ussd, - cfg_net_msc_no_grace_ussd_cmd, - "no bsc-grace-text", - NO_STR "Clear the USSD notification to be sent when the MSC has entered the grace period\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - - talloc_free(data->ussd_grace_txt); - data->ussd_grace_txt = NULL; - - return CMD_SUCCESS; -} - -DEFUN(cfg_net_bsc_missing_msc_ussd, - cfg_net_bsc_missing_msc_ussd_cmd, - "missing-msc-text .TEXT", - "Set the USSD notification to be send when a MSC has not been found.\n" "Text to be sent\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - char *txt = argv_concat(argv, argc, 0); - if (!txt) - return CMD_WARNING; - - osmo_talloc_replace_string(data, &data->ussd_no_msc_txt, txt); - talloc_free(txt); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_bsc_no_missing_msc_text, - cfg_net_bsc_no_missing_msc_text_cmd, - "no missing-msc-text", - NO_STR "Clear the USSD notification to be send when a MSC has not been found.\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - - talloc_free(data->ussd_no_msc_txt); - data->ussd_no_msc_txt = 0; - - return CMD_SUCCESS; -} - - DEFUN(cfg_net_msc_type, cfg_net_msc_type_cmd, "type (normal|local)", @@ -670,22 +535,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_bsc_mid_call_text, - cfg_net_bsc_mid_call_text_cmd, - "mid-call-text .TEXT", - "Set the USSD notification sent to running calls when switching from Grace to Off.\n" - "Text to be sent\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - char *txt = argv_concat(argv, argc, 0); - if (!txt) - return CMD_WARNING; - - osmo_talloc_replace_string(data, &data->mid_call_txt, txt); - talloc_free(txt); - return CMD_SUCCESS; -} - DEFUN(cfg_net_bsc_mid_call_timeout, cfg_net_bsc_mid_call_timeout_cmd, "mid-call-timeout NR", @@ -917,13 +766,10 @@ install_element(CONFIG_NODE, &cfg_net_bsc_cmd); install_node(&bsc_node, config_write_bsc); - install_element(BSC_NODE, &cfg_net_bsc_mid_call_text_cmd); install_element(BSC_NODE, &cfg_net_bsc_mid_call_timeout_cmd); install_element(BSC_NODE, &cfg_net_rf_socket_cmd); install_element(BSC_NODE, &cfg_net_rf_off_time_cmd); install_element(BSC_NODE, &cfg_net_no_rf_off_time_cmd); - install_element(BSC_NODE, &cfg_net_bsc_missing_msc_ussd_cmd); - install_element(BSC_NODE, &cfg_net_bsc_no_missing_msc_text_cmd); install_node(&msc_node, config_write_msc); install_element(MSC_NODE, &cfg_net_bsc_ncc_cmd); @@ -934,12 +780,6 @@ install_element(MSC_NODE, &cfg_net_bsc_codec_list_cmd); install_element(MSC_NODE, &cfg_net_msc_dest_cmd); install_element(MSC_NODE, &cfg_net_msc_no_dest_cmd); - install_element(MSC_NODE, &cfg_net_msc_welcome_ussd_cmd); - install_element(MSC_NODE, &cfg_net_msc_no_welcome_ussd_cmd); - install_element(MSC_NODE, &cfg_net_msc_lost_ussd_cmd); - install_element(MSC_NODE, &cfg_net_msc_no_lost_ussd_cmd); - install_element(MSC_NODE, &cfg_net_msc_grace_ussd_cmd); - install_element(MSC_NODE, &cfg_net_msc_no_grace_ussd_cmd); install_element(MSC_NODE, &cfg_net_msc_type_cmd); install_element(MSC_NODE, &cfg_net_msc_emerg_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_12_2_cmd); diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 5d87118..164f78f 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -29,7 +29,6 @@ #include #include -#include #include #include diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index 8bc31cd..f163f35 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 901d523..84865a0 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -63,7 +63,6 @@ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_80_utils.o \ $(top_builddir)/src/osmo-bsc/gsm_data.o \ $(top_builddir)/src/osmo-bsc/handover_cfg.o \ $(top_builddir)/src/osmo-bsc/handover_decision.o \ diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py index a99bf4b..c96965c 100755 --- a/tests/vty_test_runner.py +++ b/tests/vty_test_runner.py @@ -135,68 +135,6 @@ self.assertTrue(self.vty.verify("exit", [''])) self.assertTrue(self.vty.node() is None) - def testUssdNotificationsMsc(self): - self.vty.enable() - self.vty.command("configure terminal") - self.vty.command("msc") - - # Test invalid input - self.vty.verify("bsc-msc-lost-text", ['% Command incomplete.']) - self.vty.verify("bsc-welcome-text", ['% Command incomplete.']) - self.vty.verify("bsc-grace-text", ['% Command incomplete.']) - - # Enable USSD notifications - self.vty.verify("bsc-msc-lost-text MSC disconnected", ['']) - self.vty.verify("bsc-welcome-text Hello MS", ['']) - self.vty.verify("bsc-grace-text In grace period", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertTrue(res.find('bsc-msc-lost-text MSC disconnected') > 0) - self.assertEqual(res.find('no bsc-msc-lost-text'), -1) - self.assertTrue(res.find('bsc-welcome-text Hello MS') > 0) - self.assertEqual(res.find('no bsc-welcome-text'), -1) - self.assertTrue(res.find('bsc-grace-text In grace period') > 0) - self.assertEqual(res.find('no bsc-grace-text'), -1) - - # Now disable it.. - self.vty.verify("no bsc-msc-lost-text", ['']) - self.vty.verify("no bsc-welcome-text", ['']) - self.vty.verify("no bsc-grace-text", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertEqual(res.find('bsc-msc-lost-text MSC disconnected'), -1) - self.assertTrue(res.find('no bsc-msc-lost-text') > 0) - self.assertEqual(res.find('bsc-welcome-text Hello MS'), -1) - self.assertTrue(res.find('no bsc-welcome-text') > 0) - self.assertEqual(res.find('bsc-grace-text In grace period'), -1) - self.assertTrue(res.find('no bsc-grace-text') > 0) - - def testUssdNotificationsBsc(self): - self.vty.enable() - self.vty.command("configure terminal") - self.vty.command("bsc") - - # Test invalid input - self.vty.verify("missing-msc-text", ['% Command incomplete.']) - - # Enable USSD notifications - self.vty.verify("missing-msc-text No MSC found", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertTrue(res.find('missing-msc-text No MSC found') > 0) - self.assertEqual(res.find('no missing-msc-text'), -1) - - # Now disable it.. - self.vty.verify("no missing-msc-text", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertEqual(res.find('missing-msc-text No MSC found'), -1) - self.assertTrue(res.find('no missing-msc-text') > 0) - def testNetworkTimezone(self): self.vty.enable() self.vty.verify("configure terminal", ['']) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:07 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18499 ) Change subject: drop MSC types "local" vs "normal" ...................................................................... drop MSC types "local" vs "normal" Another legacy feature. All that this setting effectively does is prevent MSCs from being contacted for non-emergency calls. To select which MSCs shall handle emergency calls, there is the allow_emerg flag. Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 0 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18499/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index b497345..364fa72 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -50,11 +50,6 @@ struct osmo_bsc_rf; struct gsm_network; -enum { - MSC_CON_TYPE_NORMAL, - MSC_CON_TYPE_LOCAL, -}; - /* Constants for the MSC rate counters */ enum { /* Rx message counters */ @@ -118,7 +113,6 @@ struct gsm_network *network; int allow_emerg; - int type; /* Connection data */ struct osmo_plmn_id core_plmn; diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c index 0aa8e49..73156e6 100644 --- a/src/osmo-bsc/bsc_rf_ctrl.c +++ b/src/osmo-bsc/bsc_rf_ctrl.c @@ -400,7 +400,6 @@ void *handler_data, void *signal_data) { struct gsm_network *net; - struct msc_signal_data *msc; struct osmo_bsc_rf *rf; /* check if we want to handle this signal */ @@ -408,13 +407,10 @@ return 0; net = handler_data; - msc = signal_data; /* check if we have the needed information */ if (!net->bsc_data) return 0; - if (msc->data->type != MSC_CON_TYPE_NORMAL) - return 0; rf = net->bsc_data->rf_ctrl; switch (signal) { diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 70559c0..9ccdb3b 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -197,8 +197,6 @@ round_robin: llist_for_each_entry(msc, &bsc->mscs, entry) { - if (!is_emerg && msc->type != MSC_CON_TYPE_NORMAL) - continue; if (is_emerg && !msc->allow_emerg) continue; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index f86da65..5837316 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -137,8 +137,6 @@ } - vty_out(vty, " type %s%s", msc->type == MSC_CON_TYPE_NORMAL ? - "normal" : "local", VTY_NEWLINE); vty_out(vty, " allow-emergency %s%s", msc->allow_emerg ? "allow" : "deny", VTY_NEWLINE); @@ -317,22 +315,6 @@ return CMD_ERR_INCOMPLETE; } -DEFUN(cfg_net_msc_type, - cfg_net_msc_type_cmd, - "type (normal|local)", - "Select the MSC type\n" - "Plain GSM MSC\n" "Special MSC for local call routing\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - - if (strcmp(argv[0], "normal") == 0) - data->type = MSC_CON_TYPE_NORMAL; - else if (strcmp(argv[0], "local") == 0) - data->type = MSC_CON_TYPE_LOCAL; - - return CMD_SUCCESS; -} - DEFUN(cfg_net_msc_emerg, cfg_net_msc_emerg_cmd, "allow-emergency (allow|deny)", @@ -780,7 +762,6 @@ install_element(MSC_NODE, &cfg_net_bsc_codec_list_cmd); install_element(MSC_NODE, &cfg_net_msc_dest_cmd); install_element(MSC_NODE, &cfg_net_msc_no_dest_cmd); - install_element(MSC_NODE, &cfg_net_msc_type_cmd); install_element(MSC_NODE, &cfg_net_msc_emerg_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_12_2_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_10_2_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:08 +0000 Subject: Change in osmo-bsc[master]: flatten: move network->bsc_data->* to network->* References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18500 ) Change subject: flatten: move network->bsc_data->* to network->* ...................................................................... flatten: move network->bsc_data->* to network->* The separate struct osmo_bsc_data is like another separate struct gsm_network for no reason. It is labeled "per-BSC data". These days, all of this is a single BSC and there will not be different sets of osmo_bsc_data. Drop struct osmo_bsc_data, move its members directly into gsm_network. Some places tested 'if (net->bsc_data)', which is always true. Modify those cases to rather do checks like 'if (net->rf_ctrl)', which are also always true AFAICT, to keep as much unmodified logic as possible in this patch. Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_ctrl_commands.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_ctrl.c M src/osmo-bsc/osmo_bsc_grace.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c 14 files changed, 65 insertions(+), 104 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/00/18500/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 364fa72..43adaec 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -181,26 +181,6 @@ } mgcp_ipa; }; -/* - * Per BSC data. - */ -struct bsc_cbc_link; -struct osmo_bsc_data { - struct gsm_network *network; - - /* msc configuration */ - struct llist_head mscs; - - /* rf ctl related bits */ - int mid_call_timeout; - char *rf_ctrl_name; - struct osmo_bsc_rf *rf_ctrl; - int auto_off_timeout; - - struct bsc_cbc_link *cbc; -}; - - int osmo_bsc_msc_init(struct bsc_msc_data *msc); int osmo_bsc_sccp_init(struct gsm_network *gsmnet); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 829295e..2739606 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1647,8 +1647,16 @@ /* Use a TCH for handling requests of type paging any */ int pag_any_tch; - /* MSC data in case we are a true BSC */ - struct osmo_bsc_data *bsc_data; + /* msc configuration */ + struct llist_head mscs; + + /* rf ctl related bits */ + int mid_call_timeout; + char *rf_ctrl_name; + struct osmo_bsc_rf *rf_ctrl; + int auto_off_timeout; + + struct bsc_cbc_link *cbc; /* control interface */ struct ctrl_handle *ctrl; diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index ca182d7..774ded2 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -349,7 +349,7 @@ struct gsm_bts *bts; const char *policy_name; - policy_name = osmo_bsc_rf_get_policy_name(net->bsc_data->rf_ctrl->policy); + policy_name = osmo_bsc_rf_get_policy_name(net->rf_ctrl->policy); llist_for_each_entry(bts, &net->bts_list, list) { struct gsm_bts_trx *trx; @@ -389,7 +389,7 @@ return CTRL_CMD_ERROR; } - rf = net->bsc_data->rf_ctrl; + rf = net->rf_ctrl; if (!rf) { cmd->reply = "RF Ctrl is not enabled in the BSC Configuration"; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index d08e9c8..7f145ef 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -254,21 +254,15 @@ { struct gsm_network *net = gsm_network_init(ctx); - net->bsc_data = talloc_zero(net, struct osmo_bsc_data); - if (!net->bsc_data) { - talloc_free(net); - return NULL; - } - net->bsc_data->cbc = talloc_zero(net->bsc_data, struct bsc_cbc_link); - if (!net->bsc_data->cbc) { + net->cbc = talloc_zero(net, struct bsc_cbc_link); + if (!net->cbc) { talloc_free(net); return NULL; } /* Init back pointer */ - net->bsc_data->auto_off_timeout = -1; - net->bsc_data->network = net; - INIT_LLIST_HEAD(&net->bsc_data->mscs); + net->auto_off_timeout = -1; + INIT_LLIST_HEAD(&net->mscs); net->ho = ho_cfg_init(net, NULL); net->hodec2.congestion_check_interval_s = HO_CFG_CONGESTION_CHECK_DEFAULT; @@ -298,12 +292,12 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); - net->bsc_data->cbc->net = net; + net->cbc->net = net; /* no cbc_hostname: client not started by default */ - net->bsc_data->cbc->config.cbc_port = CBSP_TCP_PORT; + net->cbc->config.cbc_port = CBSP_TCP_PORT; /* listen_port == -1: server not started by default */ - net->bsc_data->cbc->config.listen_port = -1; - net->bsc_data->cbc->config.listen_hostname = talloc_strdup(net->bsc_data->cbc, "127.0.0.1"); + net->cbc->config.listen_port = -1; + net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); return net; } diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c index 73156e6..11cd224 100644 --- a/src/osmo-bsc/bsc_rf_ctrl.c +++ b/src/osmo-bsc/bsc_rf_ctrl.c @@ -106,12 +106,12 @@ enum osmo_bsc_rf_policy osmo_bsc_rf_get_policy_by_bts(struct gsm_bts *bts) { - struct osmo_bsc_data *bsc_data = bts->network->bsc_data; + struct gsm_network *net = bts->network; - if (!bsc_data) + if (!net || !net->rf_ctrl) return OSMO_BSC_RF_POLICY_UNKNOWN; - switch (bsc_data->rf_ctrl->policy) { + switch (net->rf_ctrl->policy) { case S_RF_ON: return OSMO_BSC_RF_POLICY_ON; case S_RF_OFF: @@ -267,9 +267,9 @@ } osmo_timer_setup(&rf->grace_timeout, grace_timeout, rf); - osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->bsc_data->mid_call_timeout, 0); + osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->mid_call_timeout, 0); LOGP(DLINP, LOGL_NOTICE, "Going to switch RF off in %d seconds.\n", - rf->gsm_network->bsc_data->mid_call_timeout); + rf->gsm_network->mid_call_timeout); send_signal(rf, S_RF_GRACE); return 0; @@ -409,18 +409,18 @@ net = handler_data; /* check if we have the needed information */ - if (!net->bsc_data) + if (!net) return 0; - rf = net->bsc_data->rf_ctrl; + rf = net->rf_ctrl; switch (signal) { case S_MSC_LOST: - if (net->bsc_data->auto_off_timeout < 0) + if (net->auto_off_timeout < 0) return 0; if (osmo_timer_pending(&rf->auto_off_timer)) return 0; osmo_timer_schedule(&rf->auto_off_timer, - net->bsc_data->auto_off_timeout, 0); + net->auto_off_timeout, 0); break; case S_MSC_CONNECTED: osmo_timer_del(&rf->auto_off_timer); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c380a30..80658ec 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -253,13 +253,13 @@ dump_pchan_load_vty(vty, " ", &pl); /* show rf */ - if (net->bsc_data) + if (net->rf_ctrl) vty_out(vty, " Last RF Command: %s%s", - net->bsc_data->rf_ctrl->last_state_command, + net->rf_ctrl->last_state_command, VTY_NEWLINE); - if (net->bsc_data) + if (net->rf_ctrl) vty_out(vty, " Last RF Lock Command: %s%s", - net->bsc_data->rf_ctrl->last_rf_lock_ctrl_command, + net->rf_ctrl->last_rf_lock_ctrl_command, VTY_NEWLINE); } diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index 8840afa..91217ad 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -192,7 +192,7 @@ int bsc_cbc_link_restart(void) { - struct bsc_cbc_link *cbc = bsc_gsmnet->bsc_data->cbc; + struct bsc_cbc_link *cbc = bsc_gsmnet->cbc; /* shut down client, if no longer configured */ if (cbc->client.cli && !cbc->config.cbc_hostname) { @@ -280,7 +280,7 @@ static struct bsc_cbc_link *vty_cbc_data(struct vty *vty) { - return bsc_gsmnet->bsc_data->cbc; + return bsc_gsmnet->cbc; } /********************************************************************************* diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 9ccdb3b..7789d49 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -162,16 +162,14 @@ static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { + struct gsm_network *net = conn->network; struct gsm48_hdr *gh; int8_t pdisc; uint8_t mtype; - struct osmo_bsc_data *bsc; struct bsc_msc_data *msc, *pag_msc; struct bsc_subscr *subscr; int is_emerg = 0; - bsc = conn->network->bsc_data; - if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n"); return NULL; @@ -196,12 +194,12 @@ goto round_robin; round_robin: - llist_for_each_entry(msc, &bsc->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { if (is_emerg && !msc->allow_emerg) continue; /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &bsc->mscs); + llist_move_tail(&msc->entry, &net->mscs); return msc; } @@ -218,7 +216,7 @@ pag_msc = paging_get_msc(conn_get_bts(conn), subscr); bsc_subscr_put(subscr); - llist_for_each_entry(msc, &bsc->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { if (msc != pag_msc) continue; @@ -228,7 +226,7 @@ */ /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &bsc->mscs); + llist_move_tail(&msc->entry, &net->mscs); return msc; } @@ -242,7 +240,7 @@ * know the MSC which is in charge. The only meaningful option we have * is to deliver the paging response to the first configured MSC * blindly. */ - msc = llist_first_entry_or_null(&bsc->mscs, struct bsc_msc_data, entry); + msc = llist_first_entry_or_null(&net->mscs, struct bsc_msc_data, entry); if (msc) return msc; LOGP(DMSC, LOGL_ERROR, "Unable to find any suitable MSC to deliver paging response!\n"); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index e65d0cf..864d96d 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -137,7 +137,7 @@ subscr->lac = lac; subscr->tmsi = tmsi; - ret = bsc_grace_paging_request(msc->network->bsc_data->rf_ctrl->policy, subscr, chan_needed, msc, bts); + ret = bsc_grace_paging_request(msc->network->rf_ctrl->policy, subscr, chan_needed, msc, bts); if (ret == 0) LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", bts->nr, mi_string, tmsi, tmsi, lac); diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index eb82a7c..12b2f4d 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -348,7 +348,7 @@ { struct bsc_msc_data *msc; - llist_for_each_entry(msc, &bts->network->bsc_data->mscs, entry) + llist_for_each_entry(msc, &bts->network->mscs, entry) generate_location_state_trap(bts, msc); } @@ -651,7 +651,7 @@ struct bsc_msc_data *msc; net = cmd->node; - llist_for_each_entry(msc, &net->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { struct ctrl_cmd *trap; trap = ctrl_cmd_create(tall_bsc_ctx, CTRL_TYPE_TRAP); diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c index 9ee84d4..56edee5 100644 --- a/src/osmo-bsc/osmo_bsc_grace.c +++ b/src/osmo-bsc/osmo_bsc_grace.c @@ -30,7 +30,7 @@ { if (bts->excl_from_rf_lock) return 1; - return network->bsc_data->rf_ctrl->policy == S_RF_ON; + return network->rf_ctrl->policy == S_RF_ON; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 42d05b1..9ddbe35 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -651,10 +651,6 @@ talloc_report(tall_vty_ctx, stderr); talloc_report_full(tall_bsc_ctx, stderr); break; - case SIGUSR2: - if (!bsc_gsmnet->bsc_data) - return; - break; default: break; } @@ -797,7 +793,6 @@ int main(int argc, char **argv) { struct bsc_msc_data *msc; - struct osmo_bsc_data *data; int rc; tall_bsc_ctx = talloc_named_const(NULL, 1, "osmo-bsc"); @@ -880,17 +875,16 @@ exit(1); } - data = bsc_gsmnet->bsc_data; if (rf_ctrl) - osmo_talloc_replace_string(data, &data->rf_ctrl_name, rf_ctrl); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, rf_ctrl); - data->rf_ctrl = osmo_bsc_rf_create(data->rf_ctrl_name, bsc_gsmnet); - if (!data->rf_ctrl) { + bsc_gsmnet->rf_ctrl = osmo_bsc_rf_create(bsc_gsmnet->rf_ctrl_name, bsc_gsmnet); + if (!bsc_gsmnet->rf_ctrl) { fprintf(stderr, "Failed to create the RF service.\n"); exit(1); } - rc = check_codec_pref(&bsc_gsmnet->bsc_data->mscs); + rc = check_codec_pref(&bsc_gsmnet->mscs); if (rc < 0) { LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check" " configuration!\n"); @@ -902,7 +896,7 @@ } } - llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { LOGP(DMSC, LOGL_ERROR, "Failed to start up. Exiting.\n"); exit(1); @@ -918,7 +912,7 @@ exit(1); } - if (osmo_bsc_sigtran_init(&bsc_gsmnet->bsc_data->mscs) != 0) { + if (osmo_bsc_sigtran_init(&bsc_gsmnet->mscs) != 0) { LOGP(DNM, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n"); exit(1); } diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index f766f75..30b54f3 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -150,7 +150,7 @@ { struct bsc_msc_data *msc_data; - llist_for_each_entry(msc_data, &net->bsc_data->mscs, entry) + llist_for_each_entry(msc_data, &net->mscs, entry) if (msc_data->nr == nr) return msc_data; return NULL; @@ -183,7 +183,7 @@ return NULL; } - llist_add_tail(&msc_data->entry, &net->bsc_data->mscs); + llist_add_tail(&msc_data->entry, &net->mscs); /* Init back pointer */ msc_data->network = net; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 5837316..12ff770 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -35,11 +35,6 @@ #include -static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty) -{ - return bsc_gsmnet->bsc_data; -} - static struct bsc_msc_data *bsc_msc_data(struct vty *vty) { return vty->index; @@ -180,9 +175,8 @@ static int config_write_msc(struct vty *vty) { struct bsc_msc_data *msc; - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - llist_for_each_entry(msc, &bsc->mscs, entry) + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) write_msc(vty, msc); return CMD_SUCCESS; @@ -190,17 +184,15 @@ static int config_write_bsc(struct vty *vty) { - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - vty_out(vty, "bsc%s", VTY_NEWLINE); - vty_out(vty, " mid-call-timeout %d%s", bsc->mid_call_timeout, VTY_NEWLINE); - if (bsc->rf_ctrl_name) + vty_out(vty, " mid-call-timeout %d%s", bsc_gsmnet->mid_call_timeout, VTY_NEWLINE); + if (bsc_gsmnet->rf_ctrl_name) vty_out(vty, " bsc-rf-socket %s%s", - bsc->rf_ctrl_name, VTY_NEWLINE); + bsc_gsmnet->rf_ctrl_name, VTY_NEWLINE); - if (bsc->auto_off_timeout != -1) + if (bsc_gsmnet->auto_off_timeout != -1) vty_out(vty, " bsc-auto-rf-off %d%s", - bsc->auto_off_timeout, VTY_NEWLINE); + bsc_gsmnet->auto_off_timeout, VTY_NEWLINE); return CMD_SUCCESS; } @@ -285,7 +277,7 @@ /* create a new array */ data->audio_support = - talloc_zero_array(osmo_bsc_data(vty), struct gsm_audio_support *, argc); + talloc_zero_array(bsc_gsmnet, struct gsm_audio_support *, argc); data->audio_length = argc; for (i = 0; i < argc; ++i) { @@ -522,8 +514,7 @@ "mid-call-timeout NR", "Switch from Grace to Off in NR seconds.\n" "Timeout in seconds\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->mid_call_timeout = atoi(argv[0]); + bsc_gsmnet->mid_call_timeout = atoi(argv[0]); return CMD_SUCCESS; } @@ -532,9 +523,7 @@ "bsc-rf-socket PATH", "Set the filename for the RF control interface.\n" "RF Control path\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - - osmo_talloc_replace_string(data, &data->rf_ctrl_name, argv[0]); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, argv[0]); return CMD_SUCCESS; } @@ -543,8 +532,7 @@ "bsc-auto-rf-off <1-65000>", "Disable RF on MSC Connection\n" "Timeout\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->auto_off_timeout = atoi(argv[0]); + bsc_gsmnet->auto_off_timeout = atoi(argv[0]); return CMD_SUCCESS; } @@ -553,8 +541,7 @@ "no bsc-auto-rf-off", NO_STR "Disable RF on MSC Connection\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->auto_off_timeout = -1; + bsc_gsmnet->auto_off_timeout = -1; return CMD_SUCCESS; } @@ -573,7 +560,7 @@ SHOW_STR "MSC Connections and State\n") { struct bsc_msc_data *msc; - llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) { vty_out(vty, "%d %s %s ", msc->a.cs7_instance, osmo_ss7_asp_protocol_name(msc->a.asp_proto), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 Gerrit-Change-Number: 18500 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:08 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:08 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18501 ) Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 --- M src/osmo-bsc/osmo_bsc_ctrl.c 1 file changed, 4 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/18501/1 diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index 12b2f4d..a787962 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -179,24 +180,15 @@ static int get_msc_connection_status(struct ctrl_cmd *cmd, void *data) { struct bsc_msc_data *msc = (struct bsc_msc_data *)cmd->node; - struct osmo_ss7_as *as; - const char *as_state_name; if (msc == NULL) { cmd->reply = "msc not found"; return CTRL_CMD_ERROR; } - as = msc_get_ss7_as(msc); - if (!as) { - cmd->reply = "AS not found for MSC"; - return CTRL_CMD_ERROR; - } - - as_state_name = osmo_fsm_inst_state_name(as->fi); - if (!strcmp(as_state_name, "AS_ACTIVE")) - cmd->reply = "connected"; - else + if (a_reset_conn_ready(msc)) cmd->reply = "disconnected"; + else + cmd->reply = "connected"; return CTRL_CMD_REPLY; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:52 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_user_find() as public API References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 ) Change subject: add osmo_sccp_user_find() as public API ...................................................................... add osmo_sccp_user_find() as public API To allow osmo-bsc to add more than one MSC peer on a single SCCP instance, it must add a local SCCP user only once per SCCP instance. The first configured MSC adds a local user, all subsequent MSC should use the same local SCCP user. So, it is most convenient to provide a public function to return such user if it exists. Add as thin wrapper instead of renaming and moving the internal sccp_user_find(): to keep the patch smaller, and to match the way osmo_sccp_user_bind_pc() is a 1:1 wrapper for sccp_user_bind_pc(). Related: OS#3682 Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_user.c 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/02/18502/1 diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index 9d285eb..e012635 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -261,6 +261,8 @@ struct osmo_sccp_user * osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn); +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc); int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); int osmo_sccp_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); diff --git a/src/sccp_user.c b/src/sccp_user.c index d85fc1d..a36ac93 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -39,6 +39,8 @@ #include "xua_internal.h" /*! \brief Find a SCCP User registered for given PC+SSN or SSN only + * First search all users with a valid PC for a full PC+SSN match. + * If no such match was found, search all users with an invalid PC for an SSN-only match. * \param[in] inst SCCP Instance in which to search * \param[in] ssn Sub-System Number to search for * \param[in] pc Point Code to search for @@ -63,6 +65,20 @@ return NULL; } +/*! Find a SCCP User registered for given PC+SSN or SSN only. + * First search all users with a valid PC for a full PC+SSN match. + * If no match was found, search all users with an invalid PC for an SSN-only match. + * \param[in] inst SCCP Instance in which to search. + * \param[in] ssn Sub-System Number to search for. + * \param[in] pc Point Code to search for. + * \returns Matching SCCP User; NULL if none found. + */ +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) +{ + return sccp_user_find(inst, ssn, pc); +} + /*! \brief Bind a SCCP User to a given Point Code * \param[in] inst SCCP Instance * \param[in] name human-readable name -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 Gerrit-Change-Number: 18502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:57:52 +0000 Subject: Change in libosmo-sccp[master]: sccp_user_find: optimize: search PC only for valid PC arg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 ) Change subject: sccp_user_find: optimize: search PC only for valid PC arg ...................................................................... sccp_user_find: optimize: search PC only for valid PC arg Though, since in current practice, not many users exist, and all incoming messages have a valid PC, this is unlikely to have any noticeable effect. Change-Id: I3533a01e29b97bebe4b8f1f6965444519b3bacfe --- M src/sccp_user.c 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/03/18503/1 diff --git a/src/sccp_user.c b/src/sccp_user.c index a36ac93..d8a7357 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -50,10 +50,12 @@ { struct osmo_sccp_user *scu; - /* First try to find match for PC + SSN */ - llist_for_each_entry(scu, &inst->users, list) { - if (osmo_ss7_pc_is_valid(scu->pc) && scu->pc == pc && scu->ssn == ssn) - return scu; + if (osmo_ss7_pc_is_valid(pc)) { + /* First try to find match for PC + SSN */ + llist_for_each_entry(scu, &inst->users, list) { + if (osmo_ss7_pc_is_valid(scu->pc) && scu->pc == pc && scu->ssn == ssn) + return scu; + } } /* Then try to match on SSN only */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3533a01e29b97bebe4b8f1f6965444519b3bacfe Gerrit-Change-Number: 18503 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:58:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:58:39 +0000 Subject: Change in osmo-bsc[master]: create only one SCCP user per SCCP instance References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18504 ) Change subject: create only one SCCP user per SCCP instance ...................................................................... create only one SCCP user per SCCP instance Depends: I9ecbab16b45268f626950303d6ff8296dd6acda0 (libosmo-sccp) Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e --- M src/osmo-bsc/osmo_bsc_sigtran.c 1 file changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/18504/1 diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index cbf0fec..f5489e4 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -547,8 +547,12 @@ LOGP(DMSC, LOGL_NOTICE, "(%s) A-interface: remote (MSC) SCCP address: %s\n", msc_name, osmo_sccp_inst_addr_name(msc->a.sccp, &msc->a.msc_addr)); - /* Bind SCCP user */ - msc->a.sccp_user = osmo_sccp_user_bind(msc->a.sccp, msc_name, sccp_sap_up, msc->a.bsc_addr.ssn); + /* Bind SCCP user. Bind only one user per sccp_instance. */ + msc->a.sccp_user = osmo_sccp_user_find(msc->a.sccp, msc->a.bsc_addr.ssn, msc->a.bsc_addr.pc); + LOGP(DMSC, LOGL_NOTICE, "(%s) A-interface: %s\n", msc_name, + msc->a.sccp_user ? "user already bound for this SCCP instance" : "binding SCCP user"); + if (!msc->a.sccp_user) + msc->a.sccp_user = osmo_sccp_user_bind(msc->a.sccp, msc_name, sccp_sap_up, msc->a.bsc_addr.ssn); if (!msc->a.sccp_user) return -EINVAL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e Gerrit-Change-Number: 18504 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:58:39 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:58:39 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... refactor bsc_find_msc()'s round-robin Prepare for MSC pooling by NRI. Before introducing actual NRI decoding and MSC matching, fix the bsc_find_msc() implementation. (Indicate the places relevant for NRI by "TODO" comments). bsc_find_msc() puts an MSC to the end of the internal list of MSCs when it was used. This has problems: - Modifying the list affects VTY output, e.g. 'show running-config' and 'show mscs' change their order in which MSCs are shown, depending on how often a round-robin selection has taken place. - Emergency calls and normal calls potentially pick quite different sets of eligible MSCs. When the round-robin choices between these sets affect each other, the choice is not balanced. For example, if only the first MSC is allow_emerg == true, every emergency call would reset the round-robin state to the first MSC in the list, also for normal calls. If there are regular emergency calls, normal calls will then tend to load more onto the first few MSCs after those picked for emergency calls. Fix: Never affect the ordering of MSCs in the internal list of MSCs. Instead, keep a "next_nr" MSC index and determine the next round-robin target like that. Keep a separate "next_emerg_nr" MSC index so that emergency call round-robin does no longer cause normal round-robin to skip MSCs. Further problems in current bsc_find_msc(): - The "blind:" label should also do round-robin. - The "paging:" part should not attempt to use disconnected MSCs. - Both should also heed NRI matches (when they are added). Fix: instead of code dup, determine Paging Response matching with an earlier Paging Request right at the start. If that yields no usable MSC, continue into the normal NRI and round-robin selection. The loop in this patch is inspired by the upcoming implementation of MSC pooling by NRI, as indicated by the two TODO comments. The point is that, in the presence of an NRI from a TMSI identity, we always need to iterate all of the MSCs to find possible NRI matches. The two round-robin sets (Emergency and non-Emergency) are determined in the same loop iteration for cases that have no or match no NRI, or where a matching MSC is currently disconnected. Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c 2 files changed, 68 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/18505/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 2739606..52c69e5 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1649,6 +1649,10 @@ /* msc configuration */ struct llist_head mscs; + uint8_t mscs_round_robin_next_nr; + /* Emergency calls potentially select a different set of MSCs, so to not mess up the normal round-robin + * behavior, emergency calls need a separate round-robin counter. */ + uint8_t mscs_round_robin_next_emerg_nr; /* rf ctl related bits */ int mid_call_timeout; diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 7789d49..33cfc52 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -36,6 +36,9 @@ #include +#define LOG_COMPL_L3(pdisc, mtype, loglevel, format, args...) \ + LOGP(DRSL, loglevel, "%s %s: " format, gsm48_pdisc_name(pdisc), gsm48_pdisc_msgtype_name(pdisc, mtype), ##args) + /* Check if we have a proper connection to the MSC */ static bool msc_connected(struct gsm_subscriber_connection *conn) { @@ -105,7 +108,7 @@ return 0; } -static int is_cm_service_for_emerg(struct msgb *msg) +static bool is_cm_service_for_emerg(struct msgb *msg) { struct gsm48_service_request *cm; struct gsm48_hdr *gh = msgb_l3(msg); @@ -159,6 +162,21 @@ return subscr; } +static bool is_msc_usable(struct bsc_msc_data *msc, bool is_emerg) +{ + if (is_emerg && !msc->allow_emerg) + return false; + if (!a_reset_conn_ready(msc)) + return false; + return true; +} + +/* Decide which MSC to forward this Complete Layer 3 request to. + * a) If the subscriber was previously paged from a particular MSC, that MSC shall receive the Paging Response. + * b) If the message contains an NRI indicating a particular MSC and the MSC is connected, that MSC shall handle this + * conn. + * c) All other cases distribute the messages across connected MSCs in a round-robin fashion. + */ static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { @@ -166,9 +184,13 @@ struct gsm48_hdr *gh; int8_t pdisc; uint8_t mtype; - struct bsc_msc_data *msc, *pag_msc; + struct bsc_msc_data *msc; + struct bsc_msc_data *msc_target = NULL; + struct bsc_msc_data *msc_round_robin_next = NULL; + struct bsc_msc_data *msc_round_robin_first = NULL; + uint8_t round_robin_next_nr; struct bsc_subscr *subscr; - int is_emerg = 0; + bool is_emerg = false; if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n"); @@ -179,72 +201,53 @@ pdisc = gsm48_hdr_pdisc(gh); mtype = gsm48_hdr_msg_type(gh); - /* - * We are asked to select a MSC here but they are not equal. We - * want to respond to a paging request on the MSC where we got the - * request from. This is where we need to decide where this connection - * will go. - */ - if (pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) - goto paging; - else if (pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_SERV_REQ) { - is_emerg = is_cm_service_for_emerg(msg); - goto round_robin; - } else - goto round_robin; + is_emerg = (pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_SERV_REQ) && is_cm_service_for_emerg(msg); -round_robin: + /* Has the subscriber been paged from a connected MSC? */ + if (pdisc == GSM48_PDISC_RR && mtype == GSM48_MT_RR_PAG_RESP) { + subscr = extract_sub(conn, msg); + if (subscr) { + msc_target = paging_get_msc(conn_get_bts(conn), subscr); + bsc_subscr_put(subscr); + if (is_msc_usable(msc_target, is_emerg)) + return msc_target; + msc_target = NULL; + } + } + + /* TODO: extract NRI from MI */ + + /* 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, &net->mscs, entry) { - if (is_emerg && !msc->allow_emerg) + if (!is_msc_usable(msc, is_emerg)) continue; - /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &net->mscs); - return msc; + if (!msc_round_robin_first) + msc_round_robin_first = msc; + if (!msc_round_robin_next && msc->nr >= round_robin_next_nr) + msc_round_robin_next = msc; + + /* TODO: return msc when extracted NRI matches this MSC */ } - return NULL; - -paging: - subscr = extract_sub(conn, msg); - - if (!subscr) { - LOGP(DMSC, LOGL_INFO, "Got paging response but no subscriber found, will now (blindly) deliver the paging response to the first configured MSC!\n"); - goto blind; + /* 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. */ + msc_target = msc_round_robin_next ? : msc_round_robin_first; + if (!msc_target) { + LOG_COMPL_L3(pdisc, mtype, LOGL_ERROR, "%sNo suitable MSC for this Complete Layer 3 request found\n", + is_emerg ? "FOR EMERGENCY CALL: " : ""); + return NULL; } - pag_msc = paging_get_msc(conn_get_bts(conn), subscr); - bsc_subscr_put(subscr); - - llist_for_each_entry(msc, &net->mscs, entry) { - if (msc != pag_msc) - continue; - - /* - * We don't check if the MSC is connected. In case it - * is not the connection will be dropped. - */ - - /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &net->mscs); - return msc; - } - - LOGP(DMSC, LOGL_INFO, "Got paging response but no request found, will now (blindly) deliver the paging response to the first configured MSC!\n"); - -blind: - /* In the case of an MT CSFB call we will get a paging response from - * the BTS without a preceding paging request via A-Interface. In those - * cases the MSC will page the subscriber via SGs interface, so the BSC - * can not know about the paging in advance. In those cases we can not - * know the MSC which is in charge. The only meaningful option we have - * is to deliver the paging response to the first configured MSC - * blindly. */ - msc = llist_first_entry_or_null(&net->mscs, struct bsc_msc_data, entry); - if (msc) - return msc; - LOGP(DMSC, LOGL_ERROR, "Unable to find any suitable MSC to deliver paging response!\n"); - return NULL; + /* 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; } static int handle_page_resp(struct gsm_subscriber_connection *conn, struct msgb *msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:59:29 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:59:29 +0000 Subject: Change in libosmocore[master]: add TMSI and NRI utility functions for MSC pooling References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add TMSI and NRI utility functions for MSC pooling ...................................................................... add TMSI and NRI utility functions for MSC pooling These utilities will be used by osmo-bsc to determine the Network Resource Indicator seen in the TMSI, and by osmo-msc to compose a TMSI with a specific NRI, for osmo-bsc's load balancing between several MSCs. Related: OS#3682 Change-Id: Icb57a2dd9323c7ea11b34003eccc7e68a0247bf5 --- M include/Makefile.am A include/osmocom/gsm/gsm23236.h M src/gsm/Makefile.am A src/gsm/gsm23236.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm23236/gsm23236_test.c A tests/gsm23236/gsm23236_test.ok M tests/testsuite.at 9 files changed, 306 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/18506/1 diff --git a/include/Makefile.am b/include/Makefile.am index 572c880..841e911 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -95,6 +95,7 @@ osmocom/gsm/gsm29205.h \ osmocom/gsm/gsm0808_utils.h \ osmocom/gsm/gsm23003.h \ + osmocom/gsm/gsm23236.h \ osmocom/gsm/gsm29118.h \ osmocom/gsm/gsm48.h \ osmocom/gsm/gsm48_arfcn_range_encode.h \ diff --git a/include/osmocom/gsm/gsm23236.h b/include/osmocom/gsm/gsm23236.h new file mode 100644 index 0000000..8cc58e0 --- /dev/null +++ b/include/osmocom/gsm/gsm23236.h @@ -0,0 +1,10 @@ +/*! \file gsm23236.h */ + +#pragma once + +#include + +#define OSMO_TMSI_UNASSIGNED 0xffffffff + +int16_t osmo_tmsi_nri_get(uint32_t tmsi, uint8_t nri_bitlen); +uint32_t osmo_tmsi_nri_set(uint32_t tmsi, uint8_t nri_bitcount, uint16_t v); diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 6935eab..23d8324 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -31,7 +31,7 @@ milenage/aes-internal.c milenage/aes-internal-enc.c \ milenage/milenage.c gan.c ipa.c gsm0341.c apn.c \ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ - gsm23003.c mncc.c bts_features.c oap_client.c \ + gsm23003.c gsm23236.c mncc.c bts_features.c oap_client.c \ gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la diff --git a/src/gsm/gsm23236.c b/src/gsm/gsm23236.c new file mode 100644 index 0000000..02060a6 --- /dev/null +++ b/src/gsm/gsm23236.c @@ -0,0 +1,63 @@ +/*! \file gsm23236.c + * Utility function implementations related to 3GPP TS 23.236 */ +/* + * (C) 2020 sysmocom - s.f.m.c. GmbH + * Author: Neels Hofmeyr + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include + +/*! Retrieve the Network Resource Indicator bits from a TMSI or p-TMSI. + * Useful for MSC pooling as described by 3GPP TS 23.236. + * \param[in] tmsi TMSI value containing NRI bits. + * \param[in] nri_bitlen Length of the NRI value in number of bits, 1 <= nri_bitlen <= 10. + * \return the nri_v (NRI value) read from tmsi, or -1 if nri_bitlen is not in the range [1..10]. + */ +int16_t osmo_tmsi_nri_get(uint32_t tmsi, uint8_t nri_bitlen) +{ + /* According to 3GPP TS 23.236, the most significant bit of the NRI is always bit 23. + * (So this is not a temporary placeholder 23 we sometimes like to use, it is an actually specified 23!) */ + uint8_t lowest_bit; + if (nri_bitlen < 1 || nri_bitlen > 10) + return -1; + lowest_bit = 23 - (nri_bitlen - 1); + return (tmsi >> lowest_bit) & (0xfff >> (12 - nri_bitlen)); +} + +/*! Write Network Resource Indicator bits into a TMSI or p-TMSI. + * Return a TMSI or p-TMSI with the NRI bits overwritten by the given NRI value. + * Useful for MSC pooling as described by 3GPP TS 23.236. + * \param[in] tmsi A base TMSI or p-TMSI to replace the NRI value in. + * \param[in] nri_bitlen Length of the NRI value in number of bits, 1 <= nri_bitlen <= 10. + * \param[in] nri_v The NRI value to place in the tmsi. + * \return the original TMSI or p-TMSI with NRI bits replaced, or OSMO_TMSI_UNASSIGNED if nri_bitlen is not in the + * range [1..10]. + */ +uint32_t osmo_tmsi_nri_set(uint32_t tmsi, uint8_t nri_bitlen, uint16_t nri_v) +{ + uint8_t lowest_bit; + uint32_t v_mask; + if (nri_bitlen < 1 || nri_bitlen > 10) + return OSMO_TMSI_UNASSIGNED; + lowest_bit = 23 - (nri_bitlen - 1); + v_mask = (0xfff >> (12 - nri_bitlen)) << lowest_bit; + return (tmsi & ~v_mask) | ((((uint32_t)nri_v) << lowest_bit) & v_mask); +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 70b3916..98cdac5 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -667,5 +667,8 @@ osmo_cbsp_recv_buffered; osmo_cbsp_errstr; +osmo_tmsi_nri_get; +osmo_tmsi_nri_set; + local: *; }; diff --git a/tests/Makefile.am b/tests/Makefile.am index 0d0327a..87bea8d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,6 +23,7 @@ coding/coding_test conv/conv_gsm0503_test \ abis/abis_test endian/endian_test sercomm/sercomm_test \ prbs/prbs_test gsm23003/gsm23003_test \ + gsm23236/gsm23236_test \ codec/codec_ecu_fr_test timer/clk_override_test \ oap/oap_client_test gsm29205/gsm29205_test \ logging/logging_vty_test \ @@ -245,6 +246,9 @@ gsm23003_gsm23003_test_SOURCES = gsm23003/gsm23003_test.c gsm23003_gsm23003_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la +gsm23236_gsm23236_test_SOURCES = gsm23236/gsm23236_test.c +gsm23236_gsm23236_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la + tdef_tdef_test_SOURCES = tdef/tdef_test.c tdef_tdef_test_LDADD = $(LDADD) @@ -332,6 +336,7 @@ conv/conv_gsm0503_test.ok endian/endian_test.ok \ sercomm/sercomm_test.ok prbs/prbs_test.ok \ gsm29205/gsm29205_test.ok gsm23003/gsm23003_test.ok \ + gsm23236/gsm23236_test.ok \ timer/clk_override_test.ok \ oap/oap_client_test.ok oap/oap_client_test.err \ vty/vty_transcript_test.vty \ diff --git a/tests/gsm23236/gsm23236_test.c b/tests/gsm23236/gsm23236_test.c new file mode 100644 index 0000000..d6f6286 --- /dev/null +++ b/tests/gsm23236/gsm23236_test.c @@ -0,0 +1,163 @@ +/* + * (C) 2020 by sysmocom s.f.m.c. GmbH + * Author: Neels Hofmeyr + * All Rights Reserved + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#include +#include +#include +#include + +#include +#include + +void bitdump(uint8_t count, uint32_t val) +{ + uint32_t bit; + for (bit = ((uint32_t)1) << (count - 1); bit; bit >>= 1) + printf("%c", (val & bit)? '1' : '0'); +} + +struct nri_get_set_test { + uint32_t tmsi; + uint8_t nri_bitlen; + int16_t expect_get_nri; + int16_t set_nri_v; + uint32_t expect_tmsi; +}; + +struct nri_get_set_test nri_get_set_tests[] = { + { + .tmsi = 0, + .nri_bitlen = 10, + .expect_get_nri = 0, + .set_nri_v = 0, + .expect_tmsi = 0, + }, + { + .tmsi = 0, + .nri_bitlen = 10, + .expect_get_nri = 0, + .set_nri_v = 0x7fff, + .expect_tmsi = 0x00ffc000 + }, + { + .tmsi = 0xffffffff, + .nri_bitlen = 10, + .expect_get_nri = 0x3ff, + .set_nri_v = 0, + .expect_tmsi = 0xff003fff + }, + { + .tmsi = 0xffffffff, + .nri_bitlen = 10, + .expect_get_nri = 0x3ff, + .set_nri_v = 0x7fff, + .expect_tmsi = 0xffffffff + }, + { + .tmsi = 0, + .nri_bitlen = 5, + .expect_get_nri = 0, + .set_nri_v = 0, + .expect_tmsi = 0, + }, + { + .tmsi = 0, + .nri_bitlen = 5, + .expect_get_nri = 0, + .set_nri_v = 0x7fff, + .expect_tmsi = 0x00f80000 + }, + { + .tmsi = 0xffffffff, + .nri_bitlen = 5, + .expect_get_nri = 0x1f, + .set_nri_v = 0, + .expect_tmsi = 0xff07ffff + }, + { + .tmsi = 0xffffffff, + .nri_bitlen = 5, + .expect_get_nri = 0x1f, + .set_nri_v = 0x7fff, + .expect_tmsi = 0xffffffff + }, + { + .tmsi = 0x01234567, + .nri_bitlen = 8, + .expect_get_nri = 0x23, + .set_nri_v = 0x42, + .expect_tmsi = 0x01424567 + }, +}; + +bool test_nri_get_set() +{ + struct nri_get_set_test *t; + bool ok = true; + + for (t = nri_get_set_tests; t < &nri_get_set_tests[ARRAY_SIZE(nri_get_set_tests)]; t++) { + int16_t nri_v; + uint32_t tmsi2; + + printf("........|NRI->..................\n"); + bitdump(32, t->tmsi); + printf(" tmsi nri_bitlen=%u\n", t->nri_bitlen); + + nri_v = osmo_tmsi_nri_get(t->tmsi, t->nri_bitlen); + printf(" "); + bitdump(t->nri_bitlen, nri_v); + printf(" = 0x%x", nri_v); + if (nri_v == t->expect_get_nri) { + printf(" ok\n"); + } else { + printf(" ERROR: expected %x\n", t->expect_get_nri); + ok = false; + } + + tmsi2 = osmo_tmsi_nri_set(t->tmsi, t->nri_bitlen, t->set_nri_v); + printf("osmo_tmsi_nri_set(0x%08x, %u, 0x%x) = 0x%08x\n", t->tmsi, t->nri_bitlen, t->set_nri_v, tmsi2); + printf(" "); + bitdump(t->nri_bitlen, t->set_nri_v); + printf("\n"); + bitdump(32, tmsi2); + if (tmsi2 == t->expect_tmsi) { + printf(" ok\n"); + } else { + printf(" ERROR: expected 0x%08x\n", t->expect_tmsi); + ok = false; + } + } + + return ok; +} + +int main(int argc, char **argv) +{ + bool pass = true; + + pass = pass && test_nri_get_set(); + + OSMO_ASSERT(pass); + + return EXIT_SUCCESS; +} diff --git a/tests/gsm23236/gsm23236_test.ok b/tests/gsm23236/gsm23236_test.ok new file mode 100644 index 0000000..3fb6ce1 --- /dev/null +++ b/tests/gsm23236/gsm23236_test.ok @@ -0,0 +1,54 @@ +........|NRI->.................. +00000000000000000000000000000000 tmsi nri_bitlen=10 + 0000000000 = 0x0 ok +osmo_tmsi_nri_set(0x00000000, 10, 0x0) = 0x00000000 + 0000000000 +00000000000000000000000000000000 ok +........|NRI->.................. +00000000000000000000000000000000 tmsi nri_bitlen=10 + 0000000000 = 0x0 ok +osmo_tmsi_nri_set(0x00000000, 10, 0x7fff) = 0x00ffc000 + 1111111111 +00000000111111111100000000000000 ok +........|NRI->.................. +11111111111111111111111111111111 tmsi nri_bitlen=10 + 1111111111 = 0x3ff ok +osmo_tmsi_nri_set(0xffffffff, 10, 0x0) = 0xff003fff + 0000000000 +11111111000000000011111111111111 ok +........|NRI->.................. +11111111111111111111111111111111 tmsi nri_bitlen=10 + 1111111111 = 0x3ff ok +osmo_tmsi_nri_set(0xffffffff, 10, 0x7fff) = 0xffffffff + 1111111111 +11111111111111111111111111111111 ok +........|NRI->.................. +00000000000000000000000000000000 tmsi nri_bitlen=5 + 00000 = 0x0 ok +osmo_tmsi_nri_set(0x00000000, 5, 0x0) = 0x00000000 + 00000 +00000000000000000000000000000000 ok +........|NRI->.................. +00000000000000000000000000000000 tmsi nri_bitlen=5 + 00000 = 0x0 ok +osmo_tmsi_nri_set(0x00000000, 5, 0x7fff) = 0x00f80000 + 11111 +00000000111110000000000000000000 ok +........|NRI->.................. +11111111111111111111111111111111 tmsi nri_bitlen=5 + 11111 = 0x1f ok +osmo_tmsi_nri_set(0xffffffff, 5, 0x0) = 0xff07ffff + 00000 +11111111000001111111111111111111 ok +........|NRI->.................. +11111111111111111111111111111111 tmsi nri_bitlen=5 + 11111 = 0x1f ok +osmo_tmsi_nri_set(0xffffffff, 5, 0x7fff) = 0xffffffff + 11111 +11111111111111111111111111111111 ok +........|NRI->.................. +00000001001000110100010101100111 tmsi nri_bitlen=8 + 00100011 = 0x23 ok +osmo_tmsi_nri_set(0x01234567, 8, 0x42) = 0x01424567 + 01000010 +00000001010000100100010101100111 ok diff --git a/tests/testsuite.at b/tests/testsuite.at index bab5730..c580578 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -344,6 +344,12 @@ AT_CHECK([$abs_top_builddir/tests/gsm23003/gsm23003_test], [0], [expout], [ignore]) AT_CLEANUP +AT_SETUP([gsm23236]) +AT_KEYWORDS([gsm23236]) +cat $abs_srcdir/gsm23236/gsm23236_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/gsm23236/gsm23236_test], [0], [expout], [ignore]) +AT_CLEANUP + AT_SETUP([tdef]) AT_KEYWORDS([tdef]) cat $abs_srcdir/tdef/tdef_test.ok > expout -- 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: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue May 26 23:59:30 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 26 May 2020 23:59:30 +0000 Subject: Change in libosmocore[master]: add osmo_mobile_identity API References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18507 ) Change subject: add osmo_mobile_identity API ...................................................................... add osmo_mobile_identity API While implementing osmo-bsc's MSC pooling feature, this API will be used to reduce the number of times a Mobile Identity is extracted from a raw RSL message. Rationale: Extracting the Mobile Identity from messages has numerous duplicate implementations across our code with various levels of specialization. https://xkcd.com/927/ To name a few: - libosmocore: gsm48_mi_to_string(), osmo_mi_name_buf() - osmo-bsc: extract_sub() - osmo-msc: mm_rx_loc_upd_req(), cm_serv_reuse_conn(), gsm48_rx_mm_serv_req(), vlr_proc_acc_req() We have existing functions to produce a human readable string from a Mobile Identity, more or less awkward: - gsm48_mi_to_string() decodes a TMSI as a decimal number. These days we use hexadecimal TMSI everywhere. - osmo_mi_name_buf() decodes the BCD digits from a raw MI every time, so we'd need to pass around the raw message bytes. Also, osmo_mi_name_buf() has the wrong signature, it should return a length like snprintf(). - osmo-bsc's extract_sub() first uses gsm48_mi_to_string() which encodes the raw uint32_t TMSI to a string, and then calls strtoul() via tmsi_from_string() to code those back to a raw uint32_t. Each of the above implementations employ their own size overflow checks, each invoke osmo_bcd2str() and implement their own TMSI osmo_load32be() handling. Too much code dup, let's hope that each and every one is correct. In osmo-bsc, I am now implementing MSC pooling, and need to extract NRI bits from a TMSI Mobile Identity. Since none of the above functions are general enough to be re-used, I found myself again copy-pasting Mobile Identity code: locating the MI in a 24.008 message with proper size checks, decoding MI octets. This time I would like it to become a generally re-usable API which might subsequently replace older code dup. struct osmo_mobile_identity is a decoded representation of the raw Mobile Identity, with a string representation as well as dedicated raw uint32_t TMSI. The aim is to remove all uncertainty about decoded buffer sizes / data types. Two API functions provide properly size-checking implementations of: - decoding a raw MI from a bunch of MI octets; - locating and decoding MI from a full 3GPP TS 24.008 Complete Layer 3 msgb. New validity checks so far not implemented anywhere else: - stricter validation of number of digits of IMSI, IMEI, IMEI-SV MI. - stricter on filler nibbles to be 0xf. Change-Id: Ic3f969e739654c1e8c387aedeeba5cce07fe2307 --- M include/osmocom/gsm/gsm48.h M src/gsm/gsm48.c M src/gsm/libosmogsm.map M tests/gsm0408/gsm0408_test.c M tests/gsm0408/gsm0408_test.ok 5 files changed, 706 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/18507/1 diff --git a/include/osmocom/gsm/gsm48.h b/include/osmocom/gsm/gsm48.h index 7c68b1d..15c17e2 100644 --- a/include/osmocom/gsm/gsm48.h +++ b/include/osmocom/gsm/gsm48.h @@ -52,13 +52,31 @@ int gsm48_generate_mid_from_imsi(uint8_t *buf, const char *imsi); uint8_t gsm48_generate_mid(uint8_t *buf, const char *id, uint8_t mi_type); -/* Convert Mobile Identity (10.5.1.4) to string */ +/* Convert encoded Mobile Identity (10.5.1.4) to string */ int gsm48_mi_to_string(char *string, int str_len, const uint8_t *mi, int mi_len); const char *gsm48_mi_type_name(uint8_t mi); const char *osmo_mi_name(const uint8_t *mi, uint8_t mi_len); char *osmo_mi_name_buf(char *buf, size_t buf_len, const uint8_t *mi, uint8_t mi_len); char *osmo_mi_name_c(const void *ctx, const uint8_t *mi, uint8_t mi_len); +/*! Decoded representation of a Mobile Identity (3GPP TS 24.008 10.5.1.4). + * See osmo_mobile_identity_decode() and osmo_mobile_identity_from_compl_l3(). */ +struct osmo_mobile_identity { + /*! A GSM_MI_TYPE_* constant (like GSM_MI_TYPE_IMSI). */ + uint8_t type; + /*! Decoded human readable string of the Mobile Identity digits. IMSI, IMEI and IMEISV as digits like + * "12345678", and TMSI as "0x" and 8 hexadecimal digits like "0x1234ABCD". */ + char string[GSM48_MI_SIZE]; + /*! TMSI / P-TMSI / M-TMSI integer value if type == GSM_MI_TYPE_TMSI, or OSMO_TMSI_UNASSIGNED otherwise. */ + uint32_t tmsi; +}; + +int osmo_mobile_identity_name_buf(char *buf, size_t buflen, const struct osmo_mobile_identity *mi); +char *osmo_mobile_identity_name_c(void *ctx, const struct osmo_mobile_identity *mi); +int osmo_mobile_identity_cmp(const struct osmo_mobile_identity *a, const struct osmo_mobile_identity *b); +int osmo_mobile_identity_decode(struct osmo_mobile_identity *mi, const uint8_t *mi_data, uint8_t mi_len); +int osmo_mobile_identity_from_compl_l3(struct osmo_mobile_identity *mi, struct msgb *msg); + /* Parse Routeing Area Identifier */ void gsm48_parse_ra(struct gprs_ra_id *raid, const uint8_t *buf); void gsm48_encode_ra(struct gsm48_ra_id *out, const struct gprs_ra_id *raid); diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 8d0998b..084d776 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -45,6 +45,7 @@ #include #include #include +#include /*! \addtogroup gsm0408 * @{ @@ -524,6 +525,291 @@ return osmo_mi_name_buf(mi_name, buf_len, mi, mi_len); } +/*! Extract Mobile Identity from encoded bytes (3GPP TS 24.008 10.5.1.4). + * + * On failure (negative return value), mi->type == GSM_MI_TYPE_NONE, mi->string[] is all-zero and mi->tmsi == + * GSM_RESERVED_TMSI. + * + * On success, mi->type reflects the decoded Mobile Identity type (GSM_MI_TYPE_IMSI, GSM_MI_TYPE_TMSI, GSM_MI_TYPE_IMEI + * or GSM_MI_TYPE_IMEISV). + * + * On success, mi->string always contains a human readable representation of the Mobile Identity digits: IMSI, IMEI and + * IMEISV as digits like "12345678", and TMSI as "0x" and 8 hexadecimal digits like "0x1234abcd". + * + * mi->tmsi contains the uint32_t TMSI value iff the extracted Mobile Identity was a TMSI, or GSM_RESERVED_TMSI + * otherwise. + * + * \param[out] mi Return buffer for decoded Mobile Identity. + * \param[in] mi_data The encoded Mobile Identity octets. + * \param[in] mi_len Number of octets in mi_data. + * \returns 0 on success, negative on error: -EBADMSG = invalid length indication or invalid data, + * -EINVAL = unknown Mobile Identity type. + */ +int osmo_mobile_identity_decode(struct osmo_mobile_identity *mi, const uint8_t *mi_data, uint8_t mi_len) +{ + int rc; + int nibbles_len; + + if (!mi_data || mi_len < 1) + return -EBADMSG; + + nibbles_len = (mi_len - 1) * 2 + ((mi_data[0] & GSM_MI_ODD) ? 1 : 0); + + *mi = (struct osmo_mobile_identity){ + .type = mi_data[0] & GSM_MI_TYPE_MASK, + .tmsi = GSM_RESERVED_TMSI, + }; + + switch (mi->type) { + case GSM_MI_TYPE_TMSI: + if (nibbles_len != (GSM23003_TMSI_NUM_BYTES * 2)) { + rc = -EBADMSG; + goto return_error; + } + break; + + case GSM_MI_TYPE_IMSI: + if (nibbles_len < GSM23003_IMSI_MIN_DIGITS || nibbles_len > GSM23003_IMSI_MAX_DIGITS) { + rc = -EBADMSG; + goto return_error; + } + break; + + case GSM_MI_TYPE_IMEI: + if (nibbles_len != GSM23003_IMEI_NUM_DIGITS && nibbles_len != GSM23003_IMEI_NUM_DIGITS_NO_CHK) { + rc = -EBADMSG; + goto return_error; + } + break; + + case GSM_MI_TYPE_IMEISV: + if (nibbles_len != GSM23003_IMEISV_NUM_DIGITS) { + rc = -EBADMSG; + goto return_error; + } + break; + + default: + rc = -EINVAL; + goto return_error; + } + + switch (mi->type) { + case GSM_MI_TYPE_TMSI: + /* MI is a 32bit integer TMSI. Length has been checked above. */ + if ((mi_data[0] & 0xf0) != 0xf0) { + /* A TMSI always has the first nibble == 0xf */ + rc = -EBADMSG; + goto return_error; + } + mi->tmsi = osmo_load32be(&mi_data[1]); + rc = snprintf(mi->string, sizeof(mi->string), "0x%08" PRIX32, mi->tmsi); + /* rc checked below */ + break; + + case GSM_MI_TYPE_IMSI: + case GSM_MI_TYPE_IMEI: + case GSM_MI_TYPE_IMEISV: + /* If the length is even, the last nibble (higher nibble of last octet) must be 0xf */ + if (!(mi_data[0] & GSM_MI_ODD) + && ((mi_data[mi_len - 1] & 0xf0) != 0xf0)) { + rc = -EBADMSG; + goto return_error; + } + rc = osmo_bcd2str(mi->string, sizeof(mi->string), mi_data, 1, 1 + nibbles_len, false); + /* rc checked below */ + break; + + default: + /* Already handled above, but as future bug paranoia: */ + rc = -EINVAL; + goto return_error; + } + + /* check mi->string printing rc */ + if (rc < 1 || rc >= sizeof(mi->string)) { + rc = -EBADMSG; + goto return_error; + } + return 0; + +return_error: + *mi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_NONE, + .tmsi = GSM_RESERVED_TMSI, + }; + return rc; +} + +/*! Extract Mobile Identity from a Complete Layer 3 message. + * + * Determine the Mobile Identity data and call osmo_mobile_identity_decode() to return a decoded struct + * osmo_mobile_identity. + * + * \param[out] mi Return buffer for decoded Mobile Identity. + * \param[in] msg The Complete Layer 3 message to extract from (LU, CM Service Req or Paging Resp). + * \returns 0 on success, negative on error: return codes as defined in osmo_mobile_identity_decode(), or + * -ENOTSUP = not a Complete Layer 3 message, + */ +int osmo_mobile_identity_from_compl_l3(struct osmo_mobile_identity *mi, struct msgb *msg) +{ + const struct gsm48_hdr *gh; + int8_t pdisc = 0; + uint8_t mtype = 0; + const struct gsm48_loc_upd_req *lu; + const uint8_t *cm2_buf; + uint8_t cm2_len; + const uint8_t *mi_start; + const struct gsm48_pag_resp *paging_response; + const uint8_t *mi_data; + uint8_t mi_len; + const struct gsm48_imsi_detach_ind *idi; + + *mi = (struct osmo_mobile_identity){ + .type = GSM_MI_TYPE_NONE, + .tmsi = GSM_RESERVED_TMSI, + }; + + if (msgb_l3len(msg) < sizeof(*gh)) + return -EBADMSG; + + gh = msgb_l3(msg); + pdisc = gsm48_hdr_pdisc(gh); + mtype = gsm48_hdr_msg_type(gh); + + switch (pdisc) { + case GSM48_PDISC_MM: + + switch (mtype) { + case GSM48_MT_MM_LOC_UPD_REQUEST: + /* First make sure that lu-> can be dereferenced */ + if (msgb_l3len(msg) < sizeof(*gh) + sizeof(*lu)) + return -EBADMSG; + + /* Now we know there is enough msgb data to read a lu->mi_len, so also check that */ + lu = (struct gsm48_loc_upd_req*)gh->data; + if (msgb_l3len(msg) < sizeof(*gh) + sizeof(*lu) + lu->mi_len) + return -EBADMSG; + mi_data = lu->mi; + mi_len = lu->mi_len; + goto got_mi; + + case GSM48_MT_MM_CM_SERV_REQ: + /* Unfortunately in Phase1 the Classmark2 length is variable, so we cannot + * just use gsm48_service_request struct, and need to parse it manually. */ + if (msgb_l3len(msg) < sizeof(*gh) + 2) + return -EBADMSG; + + cm2_len = gh->data[1]; + cm2_buf = gh->data + 2; + goto got_cm2; + + case GSM48_MT_MM_IMSI_DETACH_IND: + if (msgb_l3len(msg) < sizeof(*gh) + sizeof(*idi)) + return -EBADMSG; + idi = (struct gsm48_imsi_detach_ind*) gh->data; + mi_data = idi->mi; + mi_len = idi->mi_len; + goto got_mi; + + default: + break; + } + break; + + case GSM48_PDISC_RR: + + switch (mtype) { + case GSM48_MT_RR_PAG_RESP: + if (msgb_l3len(msg) < sizeof(*gh) + sizeof(*paging_response)) + return -EBADMSG; + paging_response = (struct gsm48_pag_resp*)gh->data; + cm2_len = paging_response->cm2_len; + cm2_buf = (uint8_t*)&paging_response->cm2; + goto got_cm2; + + default: + break; + } + break; + } + + return -ENOTSUP; + +got_cm2: + /* MI (Mobile Identity) LV follows the Classmark2 */ + + /* There must be at least a mi_len byte after the CM2 */ + if (cm2_buf + cm2_len + 1 > msg->tail) + return -EBADMSG; + + mi_start = cm2_buf + cm2_len; + mi_len = mi_start[0]; + mi_data = mi_start + 1; + +got_mi: + /* mi_data points at the start of the Mobile Identity coding of mi_len bytes */ + if (mi_data + mi_len > msg->tail) + return -EBADMSG; + + return osmo_mobile_identity_decode(mi, mi_data, mi_len); +} + +/*! Return a human readable representation of a struct osmo_mobile_identity. + * Write a string like "IMSI-1234567", "TMSI-0x1234ABCD" or "NONE", "NULL". + * \param[out] buf String buffer to write to. + * \param[in] buflen sizeof(buf). + * \param[in] mi Decoded Mobile Identity data. + * \return the strlen() of the string written when buflen is sufficiently large, like snprintf(). + */ +int osmo_mobile_identity_name_buf(char *buf, size_t buflen, const struct osmo_mobile_identity *mi) +{ + if (!mi) + return snprintf(buf, buflen, "NULL"); + switch (mi->type) { + case GSM_MI_TYPE_IMSI: + case GSM_MI_TYPE_IMEI: + case GSM_MI_TYPE_IMEISV: + case GSM_MI_TYPE_TMSI: + return snprintf(buf, buflen, "%s-%s", gsm48_mi_type_name(mi->type), mi->string); + default: + return snprintf(buf, buflen, "%s", gsm48_mi_type_name(mi->type)); + } +} + +/*! Like osmo_mobile_identity_name_buf(), but return the string in a talloc buffer. + * \param[in] ctx Talloc context to allocate from. + * \param[in] mi Decoded Mobile Identity data. + * \return a string like "IMSI-1234567", "TMSI-0x1234ABCD" or "NONE", "NULL". + */ +char *osmo_mobile_identity_name_c(void *ctx, const struct osmo_mobile_identity *mi) +{ + OSMO_NAME_C_IMPL(ctx, 32, "ERROR", osmo_mobile_identity_name_buf, mi) +} + +/*! Compare two osmo_mobile_identity structs, returning typical cmp() result. + * \param[in] a Left side osmo_mobile_identity. + * \param[in] b Right side osmo_mobile_identity. + * \returns 0 if both are equal, -1 if a < b, 1 if a > b. + */ +int osmo_mobile_identity_cmp(const struct osmo_mobile_identity *a, const struct osmo_mobile_identity *b) +{ + int cmp; + if (a == b) + return 0; + if (!a) + return -1; + if (!b) + return 1; + cmp = OSMO_CMP(a->type, b->type); + if (cmp) + return cmp; + cmp = OSMO_CMP(a->tmsi, b->tmsi); + if (cmp) + return cmp; + return strncmp(a->string, b->string, sizeof(a->string)); +} + /*! Checks is particular message is cipherable in A/Gb mode according to * 3GPP TS 24.008 ? 4.7.1.2 * \param[in] hdr Message header diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 98cdac5..bf8c384 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -363,6 +363,11 @@ gsm48_generate_mid_from_imsi; gsm48_generate_mid_from_tmsi; gsm48_mi_to_string; +osmo_mobile_identity_name_buf; +osmo_mobile_identity_name_c; +osmo_mobile_identity_cmp; +osmo_mobile_identity_decode; +osmo_mobile_identity_from_compl_l3; gsm48_mm_att_tlvdef; gsm48_number_of_paging_subchannels; gsm48_parse_ra; diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index 9617823..bfc8bd4 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -611,6 +611,354 @@ printf("\n"); } +struct msgb *msgb_from_hex(const char *label, uint16_t size, const char *hex) +{ + struct msgb *msg = msgb_alloc_headroom(size, 4, label); + OSMO_ASSERT(msg); + msg->l3h = msgb_put(msg, osmo_hexparse(hex, msg->data, msgb_tailroom(msg))); + return msg; +} + +struct mobile_identity_tc { + const char *label; + const char *compl_l3_msg; + int expect_rc; + struct osmo_mobile_identity expect_mi; +}; + +/* Some Complete Layer 3 messages copied from real GSM network traces. */ +struct mobile_identity_tc mobile_identity_tests[] = { + { + .label = "LU with IMSI 901700000004620", + .compl_l3_msg = "050802008168000130" "089910070000006402", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "901700000004620", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "LU with TMSI 0x0980ad8a", + .compl_l3_msg = "05084262f224002a50" "05f40980ad8a", + .expect_mi = { + .type = GSM_MI_TYPE_TMSI, + .string = "0x0980AD8A", + .tmsi = 0x0980ad8a, + }, + }, + { + .label = "LU with invalid MI type", + .compl_l3_msg = "050802008168000130" "089d10070000006402", + .expect_rc = -EINVAL, + }, + { + .label = "LU with truncated IMSI MI", + .compl_l3_msg = "050802008168000130" "0899100700000064", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with too short IMSI MI (12345)", + .compl_l3_msg = "050802008168000130" "03193254", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with just long enough IMSI MI 123456", + .compl_l3_msg = "050802008168000130" "04113254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "LU with max length IMSI MI 123456789012345", + .compl_l3_msg = "050802008168000130" "081932547698103254", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456789012345", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "LU with just too long IMSI MI 1234567890123456", + .compl_l3_msg = "050802008168000130" "091132547698103254f6", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with truncated TMSI MI", + .compl_l3_msg = "05084262f224002a50" "05f40980ad", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with odd length TMSI", + .compl_l3_msg = "05084262f224002a50" "05fc0980ad8a", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with too long TMSI MI", + .compl_l3_msg = "05084262f224002a50" "06f40980ad23", + .expect_rc = -EBADMSG, + }, + { + .label = "LU with too short TMSI", + .compl_l3_msg = "05084262f224002a50" "04f480ad8a", + .expect_rc = -EBADMSG, + }, + { + .label = "CM Service Request with IMSI 123456", + .compl_l3_msg = "052401035058a6" "04113254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "CM Service Request with TMSI 0x5a42e404", + .compl_l3_msg = "052401035058a6" "05f45a42e404", + .expect_mi = { + .type = GSM_MI_TYPE_TMSI, + .string = "0x5A42E404", + .tmsi = 0x5a42e404, + }, + }, + { + .label = "CM Service Request with shorter CM2, with IMSI 123456", + .compl_l3_msg = "052401025058" "04113254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "CM Service Request with longer CM2, with IMSI 123456", + .compl_l3_msg = "052401055058a62342" "04113254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "CM Service Request with shorter CM2, with TMSI 0x00000000", + .compl_l3_msg = "052401025058" "05f400000000", + .expect_mi = { + .type = GSM_MI_TYPE_TMSI, + .string = "0x00000000", + .tmsi = 0, + }, + }, + { + .label = "CM Service Request with invalid MI type", + .compl_l3_msg = "052401035058a6" "089d10070000006402", + .expect_rc = -EINVAL, + }, + { + .label = "CM Service Request with truncated IMSI MI", + .compl_l3_msg = "052401035058a6" "0899100700000064", + .expect_rc = -EBADMSG, + }, + { + .label = "CM Service Request with truncated TMSI MI", + .compl_l3_msg = "0524010150" "05f40980ad", + .expect_rc = -EBADMSG, + }, + { + .label = "CM Service Request with odd length TMSI", + .compl_l3_msg = "052401045058a623" "05fc0980ad8a", + .expect_rc = -EBADMSG, + }, + { + .label = "CM Service Request with too long TMSI MI", + .compl_l3_msg = "052401035058a6" "06f40980ad23", + .expect_rc = -EBADMSG, + }, + { + .label = "CM Service Request with too short TMSI", + .compl_l3_msg = "052401035058a6" "04f480ad8a", + .expect_rc = -EBADMSG, + }, + { + .label = "Paging Response with IMSI 1234567", + .compl_l3_msg = "06270003505886" "0419325476", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "1234567", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "Paging Response with TMSI 0xb48883de", + .compl_l3_msg = "06270003505886" "05f4b48883de", + .expect_mi = { + .type = GSM_MI_TYPE_TMSI, + .string = "0xB48883DE", + .tmsi = 0xb48883de, + }, + }, + { + .label = "Paging Response with TMSI, with unused nibble not 0xf", + .compl_l3_msg = "06270003505886" "0504b48883de", + .expect_rc = -EBADMSG, + }, + { + .label = "Paging Response with too short IMEI (1234567)", + .compl_l3_msg = "06270003505886" "041a325476", + .expect_rc = -EBADMSG, + }, + { + .label = "Paging Response with IMEI 123456789012345", + .compl_l3_msg = "06270003505886" "081a32547698103254", + .expect_mi = { + .type = GSM_MI_TYPE_IMEI, + .string = "123456789012345", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "Paging Response with IMEI 12345678901234 (no Luhn checksum)", + .compl_l3_msg = "06270003505886" "0812325476981032f4", + .expect_mi = { + .type = GSM_MI_TYPE_IMEI, + .string = "12345678901234", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "Paging Response with IMEISV 1234567890123456", + .compl_l3_msg = "06270003505886" "091332547698103254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMEISV, + .string = "1234567890123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "Paging Response with too short IMEISV 123456789012345", + .compl_l3_msg = "06270003505886" "081b32547698103254", + .expect_rc = -EBADMSG, + }, + { + .label = "Paging Response with too long IMEISV 12345678901234567", + .compl_l3_msg = "06270003505886" "091b3254769810325476", + .expect_rc = -EBADMSG, + }, + { + .label = "Paging Response with IMSI 123456789012345 and flipped ODD bit", + .compl_l3_msg = "06270003505886" "081132547698103254", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with IMSI 901700000004620", + .compl_l3_msg = "050130" "089910070000006402", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "901700000004620", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "IMSI-Detach with TMSI 0x0980ad8a", + .compl_l3_msg = "050130" "05f40980ad8a", + .expect_mi = { + .type = GSM_MI_TYPE_TMSI, + .string = "0x0980AD8A", + .tmsi = 0x0980ad8a, + }, + }, + { + .label = "IMSI-Detach with invalid MI type", + .compl_l3_msg = "050130" "089d10070000006402", + .expect_rc = -EINVAL, + }, + { + .label = "IMSI-Detach with truncated IMSI MI", + .compl_l3_msg = "050130" "0899100700000064", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with too short IMSI MI (12345)", + .compl_l3_msg = "050130" "03193254", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with just long enough IMSI MI 123456", + .compl_l3_msg = "050130" "04113254f6", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "IMSI-Detach with max length IMSI MI 123456789012345", + .compl_l3_msg = "050130" "081932547698103254", + .expect_mi = { + .type = GSM_MI_TYPE_IMSI, + .string = "123456789012345", + .tmsi = GSM_RESERVED_TMSI, + }, + }, + { + .label = "IMSI-Detach with just too long IMSI MI 1234567890123456", + .compl_l3_msg = "050130" "091132547698103254f6", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with truncated TMSI MI", + .compl_l3_msg = "050130" "05f40980ad", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with odd length TMSI", + .compl_l3_msg = "050130" "05fc0980ad8a", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with too long TMSI MI", + .compl_l3_msg = "050130" "06f40980ad23", + .expect_rc = -EBADMSG, + }, + { + .label = "IMSI-Detach with too short TMSI", + .compl_l3_msg = "050130" "04f480ad8a", + .expect_rc = -EBADMSG, + }, +}; + +void test_struct_mobile_identity() +{ + struct mobile_identity_tc *t; + printf("%s()\n", __func__); + for (t = mobile_identity_tests; (t - mobile_identity_tests) < ARRAY_SIZE(mobile_identity_tests); t++) { + struct osmo_mobile_identity mi; + struct msgb *msg; + int rc; + memset(&mi, 0xff, sizeof(mi)); + + msg = msgb_from_hex(t->label, 1024, t->compl_l3_msg); + rc = osmo_mobile_identity_from_compl_l3(&mi, msg); + msgb_free(msg); + + printf("%s: rc = %d", t->label, rc); + if (!rc) { + printf(", mi = %s", osmo_mobile_identity_name_c(OTC_SELECT, &mi)); + } + + if (rc == t->expect_rc + && ((rc != 0) || !osmo_mobile_identity_cmp(&mi, &t->expect_mi))) { + printf(" ok"); + } else { + printf(" ERROR: Expected rc = %d", t->expect_rc); + if (!t->expect_rc) + printf(", mi = %s", osmo_mobile_identity_name_c(OTC_SELECT, &t->expect_mi)); + } + printf("\n"); + } + printf("\n"); +} + static const struct bcd_number_test { /* Human-readable test name */ const char *test_name; @@ -1182,6 +1530,7 @@ test_mid_from_imsi(); test_mid_encode_decode(); test_mid_decode_zero_length(); + test_struct_mobile_identity(); test_bcd_number_encode_decode(); test_ra_cap(); test_lai_encode_decode(); diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok index d343869..b012cb6 100644 --- a/tests/gsm0408/gsm0408_test.ok +++ b/tests/gsm0408/gsm0408_test.ok @@ -139,6 +139,53 @@ rc=1 returned empty string +test_struct_mobile_identity() +LU with IMSI 901700000004620: rc = 0, mi = IMSI-901700000004620 ok +LU with TMSI 0x0980ad8a: rc = 0, mi = TMSI-0x0980AD8A ok +LU with invalid MI type: rc = -22 ok +LU with truncated IMSI MI: rc = -74 ok +LU with too short IMSI MI (12345): rc = -74 ok +LU with just long enough IMSI MI 123456: rc = 0, mi = IMSI-123456 ok +LU with max length IMSI MI 123456789012345: rc = 0, mi = IMSI-123456789012345 ok +LU with just too long IMSI MI 1234567890123456: rc = -74 ok +LU with truncated TMSI MI: rc = -74 ok +LU with odd length TMSI: rc = -74 ok +LU with too long TMSI MI: rc = -74 ok +LU with too short TMSI: rc = -74 ok +CM Service Request with IMSI 123456: rc = 0, mi = IMSI-123456 ok +CM Service Request with TMSI 0x5a42e404: rc = 0, mi = TMSI-0x5A42E404 ok +CM Service Request with shorter CM2, with IMSI 123456: rc = 0, mi = IMSI-123456 ok +CM Service Request with longer CM2, with IMSI 123456: rc = 0, mi = IMSI-123456 ok +CM Service Request with shorter CM2, with TMSI 0x00000000: rc = 0, mi = TMSI-0x00000000 ok +CM Service Request with invalid MI type: rc = -22 ok +CM Service Request with truncated IMSI MI: rc = -74 ok +CM Service Request with truncated TMSI MI: rc = -74 ok +CM Service Request with odd length TMSI: rc = -74 ok +CM Service Request with too long TMSI MI: rc = -74 ok +CM Service Request with too short TMSI: rc = -74 ok +Paging Response with IMSI 1234567: rc = 0, mi = IMSI-1234567 ok +Paging Response with TMSI 0xb48883de: rc = 0, mi = TMSI-0xB48883DE ok +Paging Response with TMSI, with unused nibble not 0xf: rc = -74 ok +Paging Response with too short IMEI (1234567): rc = -74 ok +Paging Response with IMEI 123456789012345: rc = 0, mi = IMEI-123456789012345 ok +Paging Response with IMEI 12345678901234 (no Luhn checksum): rc = 0, mi = IMEI-12345678901234 ok +Paging Response with IMEISV 1234567890123456: rc = 0, mi = IMEI-SV-1234567890123456 ok +Paging Response with too short IMEISV 123456789012345: rc = -74 ok +Paging Response with too long IMEISV 12345678901234567: rc = -74 ok +Paging Response with IMSI 123456789012345 and flipped ODD bit: rc = -74 ok +IMSI-Detach with IMSI 901700000004620: rc = 0, mi = IMSI-901700000004620 ok +IMSI-Detach with TMSI 0x0980ad8a: rc = 0, mi = TMSI-0x0980AD8A ok +IMSI-Detach with invalid MI type: rc = -22 ok +IMSI-Detach with truncated IMSI MI: rc = -74 ok +IMSI-Detach with too short IMSI MI (12345): rc = -74 ok +IMSI-Detach with just long enough IMSI MI 123456: rc = 0, mi = IMSI-123456 ok +IMSI-Detach with max length IMSI MI 123456789012345: rc = 0, mi = IMSI-123456789012345 ok +IMSI-Detach with just too long IMSI MI 1234567890123456: rc = -74 ok +IMSI-Detach with truncated TMSI MI: rc = -74 ok +IMSI-Detach with odd length TMSI: rc = -74 ok +IMSI-Detach with too long TMSI MI: rc = -74 ok +IMSI-Detach with too short TMSI: rc = -74 ok + BSD number encoding / decoding test - Running test: regular 9-digit MSISDN - Encoding ASCII (buffer limit=0) '123456789'... -- 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: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed May 27 01:35:35 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 27 May 2020 01:35:35 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ecdc400d1ed6_41832b021c1605f0333044@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 80s] libosmo-sccp.src: W: no-changelogname-tag [ 80s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 80s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 80s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 80s] osmo-stp.aarch64: W: no-changelogname-tag [ 80s] There is no changelog. Please insert a '%changelog' section heading in your [ 80s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 80s] [ 80s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 80s] The package contains an init script or systemd service file but lacks the [ 80s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 80s] [ 80s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 80s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 80s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 80s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 80s] This archive does not contain a non-empty .text section. The archive was not [ 80s] created with -ffat-lto-objects option. [ 80s] [ 80s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 80s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 80s] [ 80s] ### VM INTERACTION START ### [ 83s] [ 74.510501] sysrq: Power Off [ 83s] [ 74.511636] reboot: Power down [ 83s] ### VM INTERACTION END ### [ 83s] [ 83s] obs-arm-8 failed "build libosmo-sccp.spec" at Wed May 27 01:35:23 UTC 2020. [ 83s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 27 01:36:27 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 27 May 2020 01:36:27 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecdc43ce8b95_41832b021c1605f0333197@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 77s] libosmo-sccp.src: W: no-changelogname-tag [ 77s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 77s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 77s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 77s] osmo-stp.i586: W: no-changelogname-tag [ 77s] There is no changelog. Please insert a '%changelog' section heading in your [ 77s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 77s] [ 77s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 77s] The package contains an init script or systemd service file but lacks the [ 77s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 77s] [ 77s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 77s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 77s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 77s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 77s] This archive does not contain a non-empty .text section. The archive was not [ 77s] created with -ffat-lto-objects option. [ 77s] [ 77s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 77s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 77s] [ 77s] ### VM INTERACTION START ### [ 80s] [ 72.937395] sysrq: Power Off [ 80s] [ 72.944406] reboot: Power down [ 80s] ### VM INTERACTION END ### [ 80s] [ 80s] lamb68 failed "build libosmo-sccp.spec" at Wed May 27 01:36:10 UTC 2020. [ 80s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 27 01:42:31 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 27 May 2020 01:42:31 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecdc5a4e62a3_41832b021c1605f0334086@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 40s] libosmo-sccp.src: W: no-changelogname-tag [ 40s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 40s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 40s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 40s] osmo-stp.x86_64: W: no-changelogname-tag [ 40s] There is no changelog. Please insert a '%changelog' section heading in your [ 40s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 40s] [ 40s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 40s] The package contains an init script or systemd service file but lacks the [ 40s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 40s] [ 40s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 40s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 40s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 40s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 40s] This archive does not contain a non-empty .text section. The archive was not [ 40s] created with -ffat-lto-objects option. [ 40s] [ 40s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 40s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 40s] [ 40s] ### VM INTERACTION START ### [ 43s] [ 38.837928] sysrq: Power Off [ 43s] [ 38.842486] reboot: Power down [ 43s] ### VM INTERACTION END ### [ 43s] [ 43s] goat15 failed "build libosmo-sccp.spec" at Wed May 27 01:42:16 UTC 2020. [ 43s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed May 27 01:59:06 2020 From: admin at opensuse.org (OBS Notification) Date: Wed, 27 May 2020 01:59:06 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ecdc9836238c_41832b021c1605f0335346@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 251s] libosmo-sccp.src: W: no-changelogname-tag [ 251s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 251s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 251s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 251s] osmo-stp.armv7hl: W: no-changelogname-tag [ 251s] There is no changelog. Please insert a '%changelog' section heading in your [ 251s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 251s] [ 251s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 251s] The package contains an init script or systemd service file but lacks the [ 251s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 251s] [ 251s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 251s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 251s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 251s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 251s] This archive does not contain a non-empty .text section. The archive was not [ 251s] created with -ffat-lto-objects option. [ 251s] [ 251s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 251s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 251s] [ 251s] ### VM INTERACTION START ### [ 254s] [ 232.857863] sysrq: Power Off [ 254s] [ 232.859540] reboot: Power down [ 254s] ### VM INTERACTION END ### [ 254s] [ 254s] armbuild14 failed "build libosmo-sccp.spec" at Wed May 27 01:59:01 UTC 2020. [ 254s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed May 27 05:25:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:25:53 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 05:25:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 05:41:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:41:15 +0000 Subject: Change in libosmocore[master]: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_n... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18490 ) Change subject: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 Gerrit-Change-Number: 18490 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 05:41:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 05:51:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:51:36 +0000 Subject: Change in libosmocore[master]: add TMSI and NRI utility functions for MSC pooling In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add TMSI and NRI utility functions for MSC pooling ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c File src/gsm/gsm23236.c: https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c at 40 PS1, Line 40: return -1; This is a bit inconsistent with what osmo_tmsi_nri_set() would return in case of an error. Why not return 0xffff? Or given that length constraints are clearly described in doxygen header, you can just OSMO_ASSERT here. Using an out of bounds value is a programming error, not something that should normally happen. -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 05:51:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 05:53:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:53:35 +0000 Subject: Change in osmo-bsc[master]: cosmetic: put comment back at proper place in bsc_vty.c In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18494 ) Change subject: cosmetic: put comment back at proper place in bsc_vty.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5d44fdb78f3bdabede464d88d493e911512bb35 Gerrit-Change-Number: 18494 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 05:53:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 05:57:03 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:57:03 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89727af5387e8360362e995fdee959883c37d89a Gerrit-Change-Number: 18495 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 05:57:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 05:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 05:58:38 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 05:58:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 06:08:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 06:08:41 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 1: I was also thinking about removing this NITB-times baggage, but AFAIR, Laf0rge was against this. The problem is that we're loosing a possibility to indicate "no service" to subscribers. I believe there should be a better way, maybe some field in System Information? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 06:08:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 06:58:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 06:58:41 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 5: Code-Review-1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c at 1669 PS5, Line 1669: llist_del(&cfg->virt_trunk->entry); What about simply avoiding doing this inside mgcp_trunk_alloc if type == MGCP_TRUNK_VIRTUAL. https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c at 1703 PS5, Line 1703: llist_add_tail(&trunk->entry, &cfg->trunks); if (ttype != MGCP_TRUNK_VIRTUAL) llist_add_tail(&trunk->entry, &cfg->trunks); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 06:58:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 06:59:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 06:59:02 +0000 Subject: Change in osmo-mgw[master]: cosmetic: remove excess newlines In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18491 ) Change subject: cosmetic: remove excess newlines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idefe3e86d5b659666bf0356991906c9a2f858aae Gerrit-Change-Number: 18491 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 06:59:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 06:59:26 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 06:59:26 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 06:59:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:40:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:40:36 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 2: Code-Review-1 (17 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 10 PS2, Line 10: implemented in various placed (mostly mgcp_protocol.c). Also we use places https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 14 PS2, Line 14: The trunk and endpoint handling in osmo-mgw is still very complex and This paragraph is repeated. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 25 PS2, Line 25: - rename struct mgcp_trunk_config to mgcp_trunk and "tcfg" to "trunk" Having an "mgcp_trunk" structure and a "trunk" one looks confusing to me. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/include/osmocom/mgcp/mgcp_endp.h File include/osmocom/mgcp/mgcp_endp.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/include/osmocom/mgcp/mgcp_endp.h at 81 PS2, Line 81: /*! Backpointer to the related trunk */ "Backpointer to the trunk this endpoint belongs to" would probably be more clear for newcomers to understand relation between objects. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 101 PS2, Line 101: (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, what if len(epname) < prefix_len? Is strncmp safe here? https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 158 PS2, Line 158: * wildarded endpoint searches that picks the next free endpoint on wildcarded https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 183 PS2, Line 183: endp = trunk->endpoints[i]; (We should move to a hashtable with key=str and val=ptr at some point now that we use strings.) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 188 PS2, Line 188: "(trunk:%i) found endpoint: %s\n", %d https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 196 PS2, Line 196: "(trunk:%i) Not able to find specified endpoint: %s\n", %d https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 254 PS2, Line 254: if (trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { (At some point we should have function pointers to do type-specific stuff. Like in here trunk->check_domain_name().) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 285 PS2, Line 285: /* FIXME: We hardcode to pick cfg->virt_trunkl, but trailing whitespace https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 288 PS2, Line 288: struct rate_ctr_group *rate_ctrs = trunk->mgcp_general_ctr_group; The rate_ctrs used below look general and not related to a trunk, so they should mbe moved to be under "mgcp_config cfg" instead of "cfg->virt_trunk". https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 996 PS2, Line 996: struct mgcp_endpoint *endp = p->endp; Swap these two lines: struct mgcp_endpoint *endp = p->endp; struct mgcp_trunk *trunk = endp->trunk; https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 1220 PS2, Line 1220: struct mgcp_endpoint *endp = p->endp; Same, swap these two lines. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_sdp.c File src/libosmo-mgcp/mgcp_sdp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_sdp.c at 386 PS2, Line 386: LOGP(DLMGCP, LOGL_NOTICE, "endpoint:%s, failed to add codec\n", endp->name); I see a lot of endpoint:%s logging, what about introducing LOGPENDP(endp, CAT, "...") at some point? https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_trunk.c at 30 PS2, Line 30: static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { As I said, to me lots of these counters are not per-trunk, but global, so they shouldn't be here. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c File tests/mgcp/mgcp_test.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c at 74 PS2, Line 74: #define AUEP1_RET "500 158663169 FAIL\r\n" What about these changes in behavior? expected? I don't recall seeing any comment in commit deescription. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:40:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:42:02 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:42:02 +0000 Subject: Change in osmo-msc[master]: manual: Multiple Instances: tweak MNCC, add missing SGs doc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/18493 ) Change subject: manual: Multiple Instances: tweak MNCC, add missing SGs doc ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/18493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ice610e3db132dc50b7ddc3f3e324e8ad1bba5864 Gerrit-Change-Number: 18493 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:42:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:45:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:45:15 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h File include/osmocom/bsc/osmo_bsc.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h at 14 PS1, Line 14: struct msgb; I'm pretty sure we don't need this,and we simply need to include -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89727af5387e8360362e995fdee959883c37d89a Gerrit-Change-Number: 18495 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:45:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:48:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:48:01 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... Patch Set 1: Code-Review+1 The patch looks fine, but I'd like laforge to ACK that we want to remove this. IIUC this feature was used by a customer to redirect to different MSCs based on IMSI prefix, but iirc that customer is anyway using osmo-bsc-sccplite, so not affected by this. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:48:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:49:58 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:49:58 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:49:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:50:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:50:03 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:50:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:53:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:53:53 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_user_find() as public API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 ) Change subject: add osmo_sccp_user_find() as public API ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 Gerrit-Change-Number: 18502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:53:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:56:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:56:34 +0000 Subject: Change in libosmo-sccp[master]: sccp_user_find: optimize: search PC only for valid PC arg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 ) Change subject: sccp_user_find: optimize: search PC only for valid PC arg ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c File src/sccp_user.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c at 53 PS1, Line 53: if (osmo_ss7_pc_is_valid(pc)) { So after this change, if an invalid "pc" is passed, and a matching ssn with a valid pc exists, it will still not be returned. Is that expected? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3533a01e29b97bebe4b8f1f6965444519b3bacfe Gerrit-Change-Number: 18503 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:56:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 07:59:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 07:59:56 +0000 Subject: Change in libosmocore[master]: add TMSI and NRI utility functions for MSC pooling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add TMSI and NRI utility functions for MSC pooling ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c File src/gsm/gsm23236.c: https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c at 40 PS1, Line 40: return -1; > This is a bit inconsistent with what osmo_tmsi_nri_set() would return in case of an error. [?] #define NRI_INVALID 0xffff return NRI_INVALID -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 07:59:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:00:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 08:00:13 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:00:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:14:48 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:14:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fixup: handle RSL messages from any TRX In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 ) Change subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea Gerrit-Change-Number: 18486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:14:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:15:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:15:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: handle multiple client connections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 ) Change subject: library/IPA_Emulation: server mode: handle multiple client connections ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Gerrit-Change-Number: 18357 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:15:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:15:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:15:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 ) Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:15:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:16:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:16:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: fixup: handle RSL messages from any TRX In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 ) Change subject: library/RSL_Emulation: fixup: handle RSL messages from any TRX ...................................................................... library/RSL_Emulation: fixup: handle RSL messages from any TRX As a side effect of change [1], the RSL emulation component has stopped to handle RSL messages from transceivers other than TRX#0. Let's fix this by using template '?' for stream ID. [1] I4c4a98458cfa33512db661b5435f484a38e2ef4f Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea --- M library/RSL_Emulation.ttcn 1 file changed, 8 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index ffd60a7..bbe5332 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -382,7 +382,7 @@ IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_PAGING_LOAD_IND(23))); } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN)) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_IMM_ASSIGN, sid := ?)) -> value rx_rsl { var GsmRrMessage rr; var OCT1 ra; var GsmFrameNumber fn; @@ -418,7 +418,7 @@ } } } - [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?))) -> value rx_rsl { + [not bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?), sid := ?)) -> value rx_rsl { var RSL_IE_RequestRef req_ref; req_ref := rx_rsl.rsl.ies[1].body.req_ref; cid := f_cid_by_ra_fn2(req_ref.ra, req_ref.frame_nr); @@ -430,7 +430,7 @@ } } - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_CMD(?, ?))) -> value rx_rsl { + [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)) { @@ -440,24 +440,24 @@ } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeT(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* Forward common channel management to the special port for it */ - [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?))) -> value rx_rsl { + [] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeC(?), sid := ?)) -> value rx_rsl { CCHAN_PT.send(rx_rsl); } /* blindly acknowledge all channel activations */ - [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV))) -> value rx_rsl { + [bts_role] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV), sid := ?)) -> value rx_rsl { chan_nr := rx_rsl.rsl.ies[0].body.chan_nr; trx_nr := f_trx_by_streamId(rx_rsl.streamId); f_store_last_act_data(trx_nr, chan_nr, rx_rsl.rsl); IPA_PT.send(ts_ASP_RSL_UD(ts_RSL_CHAN_ACT_ACK(chan_nr, 23), rx_rsl.streamId)); } - [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?))) -> value rx_rsl { + [not dchan_suspended] IPA_PT.receive(tr_ASP_RSL_UD(tr_RSL_MsgTypeDR(?), sid := ?)) -> value rx_rsl { /* dispatch to channel based on ChanId */ cid := f_cid_by_chan_nr(f_trx_by_streamId(rx_rsl.streamId), rx_rsl.rsl.ies[0].body.chan_nr); @@ -491,7 +491,7 @@ IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } - [] CCHAN_PT.receive(tr_ASP_RSL_UD(?)) -> value rx_rsl { + [] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5ff05bbd985ddc5e39a390e4b775a16f066a53ea Gerrit-Change-Number: 18486 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:16:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:16:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: handle multiple client connections In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 ) Change subject: library/IPA_Emulation: server mode: handle multiple client connections ...................................................................... library/IPA_Emulation: server mode: handle multiple client connections This change basically does two simple things: a) adds TCP connection identifier to ASP_IPA_Event, b) splits g_ipa_conn_id into g_self_conn_id and g_last_conn_id. Change a) would let the upper layers of code (based on the IPA emulation component) know which TCP/IP connection a given event belongs/relates to. Change b) solves the problem, happening in server mode when a new client connects, and TCP/IP connection identifier of another previously connected client gets overwritten. With this change applied, g_self_conn_id holds TCP/IP connection identifier of the client or server itself (depending on g_mode), while g_last_conn_id is only used in server mode and holds connection identifier of the last connected client. Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 74 insertions(+), 41 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 0125c3a..1833a89 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -84,16 +84,20 @@ /* an event indicating us whether or not a connection is physically up or down, * and whether we have received an ID_ACK */ -type union ASP_IPA_Event { - ASP_IPA_EventType up_down +type record ASP_IPA_Event { + ASP_IPA_EventType ev_type, + integer conn_id } -template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ud) := { - up_down := ud +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, integer conn_id) := { + ev_type := ev_type, + conn_id := conn_id } -template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ud) := { - up_down := ud +template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ev_type, + template integer conn_id := ?) := { + ev_type := ev_type, + conn_id := conn_id } template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl, @@ -212,10 +216,14 @@ port IPA_SP_PT IPA_SP_PORT; var boolean g_initialized := false; - var IPL4asp_Types.ConnectionId g_ipa_conn_id := -1; /* Are we a BSC/MGW (truel) or MSC (false) */ var boolean g_is_bsc_mgw; + /* Connection identifier of the client / server itself */ + var IPL4asp_Types.ConnectionId g_self_conn_id := -1; + /* Connection identifier of the last connected client (server only) */ + var IPL4asp_Types.ConnectionId g_last_conn_id := -1; + var IpaMode g_mode; var boolean g_ccm_enabled; var IpaInitBehavior g_init_behavior; @@ -260,7 +268,7 @@ " to ", remote_host, " port ", remote_port, "; check your configuration"); mtc.stop; } - g_ipa_conn_id := res.connId; + g_self_conn_id := res.connId; g_ccm_pars := ccm_pars; g_is_bsc_mgw := true; } @@ -275,7 +283,7 @@ setverdict(fail, "Could not listen IPA socket ", local_host, ":", local_port, ", check your configuration"); mtc.stop; } - g_ipa_conn_id := res.connId; + g_self_conn_id := res.connId; g_ccm_pars := ccm_pars; g_is_bsc_mgw := false; } @@ -384,8 +392,9 @@ } /* transmit IPA CCM message */ -private function f_ccm_tx(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { - var IPA_Send ipa_tx := valueof(t_IPA_Send(g_ipa_conn_id, IPAC_PROTO_CCM, enc_PDU_IPA_CCM(ccm))); +private function f_ccm_tx(PDU_IPA_CCM ccm, IPL4asp_Types.ConnectionId conn_id) +runs on IPA_Emulation_CT { + var IPA_Send ipa_tx := valueof(t_IPA_Send(conn_id, IPAC_PROTO_CCM, enc_PDU_IPA_CCM(ccm))); log("CCM Tx:", ccm); IPA_PORT.send(ipa_tx); } @@ -413,13 +422,13 @@ private function f_ccm_rx_client(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { select (ccm.msg_type) { case (IPAC_MSGT_PING) { - f_ccm_tx(valueof(ts_IPA_PONG)); + f_ccm_tx(valueof(ts_IPA_PONG), g_self_conn_id); } case (IPAC_MSGT_ID_ACK) { - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK, g_self_conn_id)); } case (IPAC_MSGT_ID_GET) { - f_ccm_tx(f_ccm_make_id_resp(ccm)); + f_ccm_tx(f_ccm_make_id_resp(ccm), g_self_conn_id); } case else { log("Unknown/unsupported IPA CCM message type", ccm); @@ -427,10 +436,11 @@ } } -private function f_ccm_rx_server(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { +private function f_ccm_rx_server(PDU_IPA_CCM ccm, IPL4asp_Types.ConnectionId conn_id) +runs on IPA_Emulation_CT { select (ccm.msg_type) { case (IPAC_MSGT_PING) { - f_ccm_tx(valueof(ts_IPA_PONG)); + f_ccm_tx(valueof(ts_IPA_PONG), conn_id); } case (IPAC_MSGT_ID_ACK) { /* the IPA server should at some point receive an ID_ACK from the client, @@ -438,12 +448,12 @@ * the TCP connection is established. Other implementations may differ. * We currently ignore it completely - but actually we should make sure that * one ID_ACK is received by the server at some point */ - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK, conn_id)); } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); /* acknowledge any identity that the client may have sent */ - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), conn_id); } case else { log("Unknown/unsupported IPA CCM message type", ccm); @@ -492,9 +502,9 @@ f_connect(remote_host, remote_port, local_host, local_port, ccm_pars); if (g_ccm_enabled) { /* we're a client: Send ID_ACK immediately after connect */ - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), g_self_conn_id); } - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP, g_self_conn_id)); ScanEvents(); } @@ -553,6 +563,28 @@ } #endif +/* Resolve TCP/IP connection identifier depending on g_mode */ +private function f_ipa_conn_id() runs on IPA_Emulation_CT +return IPL4asp_Types.ConnectionId { + var IPL4asp_Types.ConnectionId conn_id; + + select (g_mode) { + case (IPA_MODE_CLIENT) { conn_id := g_self_conn_id; } + case (IPA_MODE_SERVER) { conn_id := g_last_conn_id; } + case else { + setverdict(fail, "Unknown mode"); + mtc.stop; + } + } + + if (conn_id == -1) { /* Just to be sure */ + setverdict(fail, "Connection is not established"); + mtc.stop; + } + + return conn_id; +} + /* main loop function for both client and server. 'thread' of the component */ private function ScanEvents() runs on IPA_Emulation_CT { var IPA_RecvFrom ipa_rx; @@ -585,7 +617,7 @@ /* Set function for dissecting the binary */ var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen); - IPA_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(IPA_PORT, g_ipa_conn_id, vl_f, {0, 2, 3, 1, 0}); + IPA_CodecPort_CtrlFunct.f_IPL4_setGetMsgLen(IPA_PORT, g_self_conn_id, vl_f, {0, 2, 3, 1, 0}); while (true) { alt { @@ -598,7 +630,7 @@ f_ccm_rx_client(ccm); } case (IPA_MODE_SERVER) { - f_ccm_rx_server(ccm); + f_ccm_rx_server(ccm, ipa_rx.connId); } case else { setverdict(fail, "Unknown mode"); @@ -670,16 +702,17 @@ /* server only */ [] IPA_PORT.receive(ASP_Event:{connOpened:=?}) -> value asp_evt { - log("IPA: Connected"); - g_ipa_conn_id := asp_evt.connOpened.connId; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + g_last_conn_id := asp_evt.connOpened.connId; + log("Established a new IPA connection (conn_id=", g_last_conn_id, ")"); + + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP, g_last_conn_id)); if (g_mode == IPA_MODE_SERVER and g_ccm_enabled) { select (g_init_behavior) { case (IPA_INIT_SEND_IPA_ID_GET) { - f_ccm_tx(valueof(ts_IPA_ID_GET)); + f_ccm_tx(valueof(ts_IPA_ID_GET), g_last_conn_id); } case (IPA_INIT_SEND_IPA_ID_ACK) { - f_ccm_tx(valueof(ts_IPA_ACK)); + f_ccm_tx(valueof(ts_IPA_ACK), g_last_conn_id); } } } @@ -687,22 +720,22 @@ [] IPA_PORT.receive(ASP_Event:{connClosed:=?}) -> value asp_evt { log("IPA: Closed"); - g_ipa_conn_id := -1; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); + g_self_conn_id := -1; + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN, asp_evt.connClosed.connId)); self.stop; } [] IPA_PORT.receive(Socket_API_Definitions.PortEvent:{result:={errorCode:=ERROR_SOCKET, connId:=?, os_error_code:=?, os_error_text:=?}}) -> value port_evt { log("PortEvent: ERROR_SOCKET: ", port_evt); - g_ipa_conn_id := -1; - f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)); + g_self_conn_id := -1; + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN, port_evt.result.connId)); self.stop; } #ifdef IPA_EMULATION_SCCP /* Received SCCP -> down into IPA */ [] MTP3_SP_PORT.receive(ASP_MTP3_TRANSFERreq: ?) -> value mtp_req { - var IPA_Send ipa_tx := valueof(t_IPA_Send(g_ipa_conn_id, IPAC_PROTO_SCCP, + var IPA_Send ipa_tx := valueof(t_IPA_Send(f_ipa_conn_id(), IPAC_PROTO_SCCP, mtp_req.data)); IPA_PORT.send(ipa_tx); } @@ -713,12 +746,12 @@ [] IPA_MGCP_PORT.receive(MgcpCommand:?) -> value mgcp_cmd { payload := char2oct(enc_MgcpCommand(mgcp_cmd)); ipa_ud := f_mgcp_to_ud(payload); - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } [] IPA_MGCP_PORT.receive(MgcpResponse:?) -> value mgcp_rsp { payload := char2oct(enc_MgcpResponse(mgcp_rsp)); ipa_ud := f_mgcp_to_ud(payload); - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } #endif @@ -726,7 +759,7 @@ [] IPA_CTRL_PORT.receive(CtrlMessage:?) -> value ctrl_msg { payload := char2oct(enc_CtrlMessage(ctrl_msg)); ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_CTRL)); - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } #endif @@ -735,7 +768,7 @@ f_gsup_preprocess_encoded(gsup_msg); payload := enc_GSUP_PDU(gsup_msg); ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_GSUP)); - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } #endif @@ -743,28 +776,28 @@ [] IPA_RSPRO_PORT.receive(RsproPDU:?) -> value rspro { payload := enc_RsproPDU(rspro); ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_RSPRO)); - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } #endif #ifdef IPA_EMULATION_RSL /* Received RSL -> down into IPA */ [] IPA_RSL_PORT.receive(ASP_RSL_Unitdata:?) -> value rsl { - IPA_PORT.send(f_from_rsl(g_ipa_conn_id, rsl)); + IPA_PORT.send(f_from_rsl(f_ipa_conn_id(), rsl)); } #endif #ifdef IPA_EMULATION_OML /* Received OML -> down into IPA */ [] IPA_OML_PORT.receive(OML_PDU:?) -> value oml { - IPA_PORT.send(f_from_oml(g_ipa_conn_id, oml)); + IPA_PORT.send(f_from_oml(f_ipa_conn_id(), oml)); } [] IPA_OML_PORT.receive(octetstring:?) -> value payload { - IPA_PORT.send(t_IPA_Send(g_ipa_conn_id, IPAC_PROTO_OML, payload)); + IPA_PORT.send(t_IPA_Send(f_ipa_conn_id(), IPAC_PROTO_OML, payload)); } #endif /* Received MISC (OML/CTRL) -> down into IPA */ [] IPA_SP_PORT.receive(ASP_IPA_Unitdata: ?) -> value ipa_ud { - IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud)); + IPA_PORT.send(f_from_asp(f_ipa_conn_id(), ipa_ud)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I93c58c08cf296e5cea81d811650caa1a09b8a579 Gerrit-Change-Number: 18357 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:16:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:16:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 ) Change subject: library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata ...................................................................... library/IPA_Emulation: handle optional conn_id in ASP_RSL_Unitdata This would allow the RSL Emulation component to maintain several transceiver connections in server mode. In order to send an RSL message to a specific transceiver, its TCP/IP connection ID needs to be included in the ASP_RSL_Unitdata message. Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 19 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 1833a89..2148392 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -110,18 +110,23 @@ #ifdef IPA_EMULATION_RSL /* like ASP_IPA_Unitdata, but with RSL_Message abstract type instead of octetstring */ type record ASP_RSL_Unitdata { + integer conn_id optional, IpaStreamId streamId, RSL_Message rsl }; template (value) ASP_RSL_Unitdata ts_ASP_RSL_UD(template (value) RSL_Message rsl, - IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { + IpaStreamId sid := IPAC_PROTO_RSL_TRX0, + template (omit) integer conn_id := omit) := { + conn_id := conn_id, streamId := sid, rsl := rsl } template ASP_RSL_Unitdata tr_ASP_RSL_UD(template (present) RSL_Message rsl, - template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := { + template IpaStreamId sid := IPAC_PROTO_RSL_TRX0, + template integer conn_id := *) := { + conn_id := conn_id, streamId := sid, rsl := rsl } @@ -479,8 +484,13 @@ #ifdef IPA_EMULATION_RSL private function f_from_rsl(IPL4asp_Types.ConnectionId connId, ASP_RSL_Unitdata rsl_tx) return IPA_Send { var octetstring payload := enc_RSL_Message(rsl_tx.rsl); - var IPA_Send ret := valueof(t_IPA_Send(connId, rsl_tx.streamId, payload)); - return ret; + + /* ASP_RSL_Unitdata may (optionally) contain TCP/IP connection ID */ + if (rsl_tx.conn_id != omit) { + connId := rsl_tx.conn_id; + } + + return valueof(t_IPA_Send(connId, rsl_tx.streamId, payload)); } #endif @@ -654,10 +664,11 @@ #endif #ifdef IPA_EMULATION_RSL case (t_IpaSidRSL) { - rsl := { - streamId := ipa_rx.streamId, - rsl := dec_RSL_Message(ipa_rx.msg) - }; + rsl := valueof(ts_ASP_RSL_UD( + rsl := dec_RSL_Message(ipa_rx.msg), + sid := ipa_rx.streamId, + conn_id := ipa_rx.connId + )); IPA_RSL_PORT.send(rsl); } #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5c48d043cd746aad03e4329d9ffd2a627b640f64 Gerrit-Change-Number: 18462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:16:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: also request IPA UnitID In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 ) Change subject: library/IPA_Emulation: server mode: also request IPA UnitID ...................................................................... library/IPA_Emulation: server mode: also request IPA UnitID Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 2148392..3762449 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -418,7 +418,8 @@ msg_type := IPAC_MSGT_ID_GET, u := { get := { - { 1, IPAC_IDTAG_UNITNAME } + { 1, IPAC_IDTAG_UNITNAME }, + { 1, IPAC_IDTAG_UNITID } } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I195894d72cf40f081d286a6c0a6d2531e3d0a45c Gerrit-Change-Number: 18463 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:16:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 ) Change subject: library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE ...................................................................... library/IPA_Emulation: server mode: expose IPA IDENTITY RESPONSE Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Related: OS#4546 --- M library/IPA_Emulation.ttcnpp 1 file changed, 33 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/library/IPA_Emulation.ttcnpp b/library/IPA_Emulation.ttcnpp index 3762449..60c6061 100644 --- a/library/IPA_Emulation.ttcnpp +++ b/library/IPA_Emulation.ttcnpp @@ -79,25 +79,33 @@ type enumerated ASP_IPA_EventType { ASP_IPA_EVENT_DOWN, ASP_IPA_EVENT_UP, + ASP_IPA_EVENT_ID_RESP, ASP_IPA_EVENT_ID_ACK } /* an event indicating us whether or not a connection is physically up or down, - * and whether we have received an ID_ACK */ + * and whether we have received an ID_RESP or ID_ACK */ type record ASP_IPA_Event { ASP_IPA_EventType ev_type, - integer conn_id + integer conn_id, + + /* Presence of these fields depends on event type */ + IpaCcmIdResp id_resp optional // ASP_IPA_EVENT_ID_RESP } -template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, integer conn_id) := { +template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ev_type, integer conn_id, + template (omit) IpaCcmIdResp id_resp := omit) := { ev_type := ev_type, - conn_id := conn_id + conn_id := conn_id, + id_resp := id_resp } template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ev_type, - template integer conn_id := ?) := { + template integer conn_id := ?, + template IpaCcmIdResp id_resp := *) := { ev_type := ev_type, - conn_id := conn_id + conn_id := conn_id, + id_resp := id_resp } template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl, @@ -424,6 +432,16 @@ } } +template PDU_IPA_CCM tr_IPA_ID_RESP := { + msg_type := IPAC_MSGT_ID_RESP, + u := { + resp := { + { ?, IPAC_IDTAG_UNITNAME, ? }, + { ?, IPAC_IDTAG_UNITID, ? } + } + } +} + /* receive IPA CCM message */ private function f_ccm_rx_client(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT { select (ccm.msg_type) { @@ -458,6 +476,15 @@ } case (IPAC_MSGT_ID_RESP) { log("IPA ID RESP: ", ccm.u.resp); + + /* make sure that the response contains all fields we requested */ + if (not match(ccm, tr_IPA_ID_RESP)) { + log("IPA identity response ", ccm.u.resp, " mismatch"); + return; + } + + /* forward to the upper layers, so they can map conn_id with unit_id */ + f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP, conn_id, ccm.u.resp)); /* acknowledge any identity that the client may have sent */ f_ccm_tx(valueof(ts_IPA_ACK), conn_id); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I685c2697cdbe932572e1839420d0c74c8fa94ee2 Gerrit-Change-Number: 18464 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:17:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:17:02 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_user_find() as public API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 ) Change subject: add osmo_sccp_user_find() as public API ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 Gerrit-Change-Number: 18502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:17:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:17:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:17:32 +0000 Subject: Change in libosmo-sccp[master]: add osmo_sccp_user_find() as public API In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 ) Change subject: add osmo_sccp_user_find() as public API ...................................................................... add osmo_sccp_user_find() as public API To allow osmo-bsc to add more than one MSC peer on a single SCCP instance, it must add a local SCCP user only once per SCCP instance. The first configured MSC adds a local user, all subsequent MSC should use the same local SCCP user. So, it is most convenient to provide a public function to return such user if it exists. Add as thin wrapper instead of renaming and moving the internal sccp_user_find(): to keep the patch smaller, and to match the way osmo_sccp_user_bind_pc() is a 1:1 wrapper for sccp_user_bind_pc(). Related: OS#3682 Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 --- M include/osmocom/sigtran/sccp_sap.h M src/sccp_user.c 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index 9d285eb..e012635 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -261,6 +261,8 @@ struct osmo_sccp_user * osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn); +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc); int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); int osmo_sccp_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); diff --git a/src/sccp_user.c b/src/sccp_user.c index d85fc1d..a36ac93 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -39,6 +39,8 @@ #include "xua_internal.h" /*! \brief Find a SCCP User registered for given PC+SSN or SSN only + * First search all users with a valid PC for a full PC+SSN match. + * If no such match was found, search all users with an invalid PC for an SSN-only match. * \param[in] inst SCCP Instance in which to search * \param[in] ssn Sub-System Number to search for * \param[in] pc Point Code to search for @@ -63,6 +65,20 @@ return NULL; } +/*! Find a SCCP User registered for given PC+SSN or SSN only. + * First search all users with a valid PC for a full PC+SSN match. + * If no match was found, search all users with an invalid PC for an SSN-only match. + * \param[in] inst SCCP Instance in which to search. + * \param[in] ssn Sub-System Number to search for. + * \param[in] pc Point Code to search for. + * \returns Matching SCCP User; NULL if none found. + */ +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) +{ + return sccp_user_find(inst, ssn, pc); +} + /*! \brief Bind a SCCP User to a given Point Code * \param[in] inst SCCP Instance * \param[in] name human-readable name -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I9ecbab16b45268f626950303d6ff8296dd6acda0 Gerrit-Change-Number: 18502 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:18:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:18:36 +0000 Subject: Change in libosmocore[master]: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_n... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18490 ) Change subject: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 Gerrit-Change-Number: 18490 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 08:18:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:18:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:18:47 +0000 Subject: Change in libosmocore[master]: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_n... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18490 ) Change subject: fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() ...................................................................... fix osmo_mi_name_c() to always return talloced strings, via osmo_mi_name_buf() Fix osmo_mi_name_buf() to snprintf() into the buf in *all* cases. osmo_mi_name_c() is implemented via osmo_mi_name_buf(), which returns compile-time string constants in special cases. That means that osmo_mi_name_c() does return non-allocated strings in these special cases. The caller of functions like osmo_mi_name_c() must always be able to rely on getting a talloced string, or run a danger of deallocating const pointers. Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 --- M src/gsm/gsm48.c 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c index 43b10b7..8d0998b 100644 --- a/src/gsm/gsm48.c +++ b/src/gsm/gsm48.c @@ -479,9 +479,10 @@ if (mi_len == GSM48_TMSI_LEN && mi[0] == (0xf0 | GSM_MI_TYPE_TMSI)) { tmsi = osmo_load32be(&mi[1]); snprintf(buf, buf_len, "TMSI-0x%08" PRIX32, tmsi); - return buf; + } else { + snprintf(buf, buf_len, "TMSI-invalid"); } - return "TMSI-invalid"; + return buf; case GSM_MI_TYPE_IMSI: case GSM_MI_TYPE_IMEI: @@ -491,7 +492,8 @@ return buf; default: - return "unknown"; + snprintf(buf, buf_len, "unknown"); + return buf; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I623959f01b72642bcdd18508097c5c405c59f6f1 Gerrit-Change-Number: 18490 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:20:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:20:15 +0000 Subject: Change in libosmocore[master]: add TMSI and NRI utility functions for MSC pooling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add TMSI and NRI utility functions for MSC pooling ...................................................................... Patch Set 1: Code-Review+1 -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:20:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:26:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:26:00 +0000 Subject: Change in libosmocore[master]: add osmo_mobile_identity API In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18507 ) Change subject: add osmo_mobile_identity API ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG at 27 PS1, Line 27: gsm48_mi_to_string() decodes a TMSI as a decimal number. These days we use : hexadecimal TMSI everywhere. we could simply change the implementation to generate a hex string instead of a decimal number in the output string. https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG at 32 PS1, Line 32: osmo-bsc's extract_sub() first uses gsm48_mi_to_string() which encodes the : raw uint32_t TMSI to a string, and then calls strtoul() via : tmsi_from_string() to code those back to a raw uint32_t. that's of course ugly and should be changed. https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG at 44 PS1, Line 44: which : might subsequently replace older code dup. I think if we don'd to this right now after merging this code, the duplication will stay. So if we agree this new decoder is what we want, I would like to request conversion of the existing users (I guess directly the users/applications, while marking the old library code as DEPRECATED?) -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 08:26:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 08:27:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 08:27:10 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 1: Code-Review-1 this changes the ABI of libosmo-mgcp and hence must be marked in TODO-RELEASE. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 08:27:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 09:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 09:10:41 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 1: libosmo-mgcp is a static library only used in osmo-mgw? That's not in libosmo-mgcp-client right? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 09:10:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 09:10:53 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 09:10:53 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 09:10:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:16:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 10:16:42 +0000 Subject: Change in osmo-gsm-tester[master]: Fix processes run with RemoteProcessSafeExit not receiving stdin References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 ) Change subject: Fix processes run with RemoteProcessSafeExit not receiving stdin ...................................................................... Fix processes run with RemoteProcessSafeExit not receiving stdin Since the process is run in the background through the wrapper bash script, stdin was disabled there. By explicitly redirecting the bash process stdin we make sure it is always able to read from it. Change-Id: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 --- M src/osmo_gsm_tester/core/remote.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/08/18508/1 diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index 29eea30..8deb25d 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -100,7 +100,7 @@ echo "process ${term_child_pid} finished" >>$LOGFILE } prep_sighandler - $@ & + $@ <&0 & wait_sighandler """ % (wait_time_sec, wait_time_sec) f.write(r) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 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: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 Gerrit-Change-Number: 18508 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:16:55 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 10:16:55 +0000 Subject: Change in libosmo-sccp[master]: sccp_user_find: optimize: search PC only for valid PC arg In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 ) Change subject: sccp_user_find: optimize: search PC only for valid PC arg ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c File src/sccp_user.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c at 53 PS1, Line 53: if (osmo_ss7_pc_is_valid(pc)) { > So after this change, if an invalid "pc" is passed, and a matching ssn with a valid pc exists, it wi [?] the logic here got me confused at first, but see: in this loop it says osmo_ss7_pc_is_valid(scu->pc) && scu->pc == pc which implies osmo_ss7_pc_is_valid(pc) This patch simply puts that condition above the loop because if the pc is invalid, there is no point in looping. We are still going to match with ssn-only scus below. There should be no functional change. -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3533a01e29b97bebe4b8f1f6965444519b3bacfe Gerrit-Change-Number: 18503 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 10:16:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:24:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 10:24:21 +0000 Subject: Change in libosmo-sccp[master]: sccp_user_find: optimize: search PC only for valid PC arg In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 ) Change subject: sccp_user_find: optimize: search PC only for valid PC arg ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c File src/sccp_user.c: https://gerrit.osmocom.org/c/libosmo-sccp/+/18503/1/src/sccp_user.c at 53 PS1, Line 53: if (osmo_ss7_pc_is_valid(pc)) { > the logic here got me confused at first, but see: [?] Ah I see now, good point. However, after having a look at osmo_ss7_pc_is_valid(), I think it makes more sense to simply OSMO_ASSERT(osmo_ss7_pc_is_valid(pc)) or return NULL since it makes no sense to pass an invalid pc imho. Agree? -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I3533a01e29b97bebe4b8f1f6965444519b3bacfe Gerrit-Change-Number: 18503 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 10:24:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:05 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:05 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... repo-install-test: move from docker-playground Prepare the repo-install-test to be extended to cover centos8 as well. Move the scripts to osmo-ci.git first, so we can mount them as shared files into the docker containers from here. Move files without any changes. Integration will be done in a follow-up commit, so we have a clean git log. debian-repo-install-test/jenkins.sh => scripts/repo-install-test.sh debian-repo-install-test/testdata/blacklist.txt => scripts/repo-install-test/blacklist.txt debian-repo-install-test/testdata/repo-install-test.sh => scripts/repo-install-test/run-inside-docker.sh Related: OS#4563 Related: If93f37e8d46597a9abc67a4529be9addd65780f5 (docker-playground) Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c --- A scripts/repo-install-test.sh A scripts/repo-install-test/blacklist.txt A scripts/repo-install-test/run-inside-docker.sh 3 files changed, 231 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/09/18509/1 diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh new file mode 100755 index 0000000..c0c38c5 --- /dev/null +++ b/scripts/repo-install-test.sh @@ -0,0 +1,58 @@ +#!/bin/sh +. ../jenkins-common.sh +docker_images_require "debian-repo-install-test" + +[ -z "$FEED" ] && FEED="nightly" +CONTAINER="repo-install-test-$FEED" + +# Try to run "systemctl status" 10 times, kill the container on failure +check_if_systemd_is_running() { + for i in $(seq 1 10); do + sleep 1 + if docker exec "$CONTAINER" systemctl status; then + return + fi + done + + echo "ERROR: systemd is not running properly." + docker container kill "$CONTAINER" + exit 1 +} + +# Kill already running container +if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then + docker container kill "$CONTAINER" + sleep 1 +fi + +# Run the container +# * This does not output anything, for debugging add -it and remove &. +# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd +# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) +docker run --rm \ + -v "$PWD/testdata:/testdata:ro" \ + -v "$VOL_BASE_DIR:/data" \ + --name "$CONTAINER" \ + -e FEED="$FEED" \ + -e container=docker \ + --tmpfs /run \ + --tmpfs /tmp \ + -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ + --cap-add SYS_ADMIN \ + --cap-add SYS_NICE \ + "$REPO_USER/debian-repo-install-test" \ + /lib/systemd/systemd & +check_if_systemd_is_running + +# Run the test script +docker exec "$CONTAINER" /testdata/repo-install-test.sh +ret="$?" + +# Interactive shell +if [ -n "$INTERACTIVE" ]; then + docker exec -it "$CONTAINER" bash +fi + +docker container kill "$CONTAINER" + +exit $ret diff --git a/scripts/repo-install-test/blacklist.txt b/scripts/repo-install-test/blacklist.txt new file mode 100644 index 0000000..cb7db6a --- /dev/null +++ b/scripts/repo-install-test/blacklist.txt @@ -0,0 +1,27 @@ +# These packages will not get explicitly installed in this test. +# Package lines must have nothing but the package (no comment, +# no additional space etc). + +# OpenBSC +# This is legacy, we aren't really interested in testing openbsc.git +# derived packages. Packages are found in openbsc/debian/control. +openbsc-dev +osmo-bsc-mgcp +osmo-bsc-mgcp-dbg +osmocom-bs11-utils +osmocom-bs11-utils-dbg +osmocom-bsc-nat +osmocom-bsc-nat-dbg +osmocom-bsc-sccplite +osmocom-bsc-sccplite-dbg +osmocom-ipaccess-utils +osmocom-ipaccess-utils-dbg +osmocom-nitb +osmocom-nitb-dbg + +# SoapySDR is not used anymore (see OS#3542) +soapysdr-module-lms7 +soapysdr0.6-module-lms7 +soapysdr0.6-module-lms7-dbgsym +soapysdr0.7-module-lms7 +soapysdr0.7-module-lms7-dbgsym diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh new file mode 100755 index 0000000..63e1819 --- /dev/null +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -0,0 +1,146 @@ +#!/bin/sh -ex + +# Systemd services that must start up successfully after installing all packages (OS#3369) +# Disabled services: +# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) +# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) +# * osmo-ggsn (no tun device in docker) +SERVICES=" + osmo-bsc + osmo-gbproxy + osmo-gtphub + osmo-hlr + osmo-mgw + osmo-msc + osmo-pcap-client + osmo-sip-connector + osmo-stp +" +# Services working in nightly, but not yet in latest +# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 +# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 +# * osmo-pcu: needs osmo-bts-virtual to start up properly +# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 +# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 +SERVICES_NIGHTLY=" + osmo-pcap-server + osmo-sgsn + osmo-pcu + osmo-hnbgw + osmo-bts-virtual +" + +HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/" +OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0" + +check_env() { + if [ -n "$FEED" ]; then + echo "Checking feed: $FEED" + else + echo "ERROR: missing environment variable \$FEED!" + exit 1 + fi +} + +configure_osmocom_repo() { + echo "Configuring Osmocom repository" + echo "deb $HTTP ./" \ + > /etc/apt/sources.list.d/osmocom-latest.list + apt-get update +} + +install_repo_packages() { + echo "Installing all repository packages" + + # Get a list of all packages from the repository. Reference: + # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html + aptitude search -F%p \ + "?origin($OBS) ?architecture(native)" | sort \ + > /data/osmocom_packages_all.txt + + # Remove comments from blacklist.txt (and sort it) + grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt + + # Install all repo packages which are not on the blacklist + comm -23 /data/osmocom_packages_all.txt \ + /data/blacklist.txt > /data/osmocom_packages.txt + apt install -y $(cat /data/osmocom_packages.txt) +} + +test_binaries_version() { + # Make sure --version runs and does not output UNKNOWN + failed="" + for program in $@; do + # Make sure it runs at all + $program --version + + # Check for UNKNOWN + if $program --version | grep -q UNKNOWN; then + failed="$failed $program" + echo "ERROR: this program prints UNKNOWN in --version!" + fi + done + + if [ -n "$failed" ]; then + echo "ERROR: the following program(s) print UNKNOWN in --version:" + echo "$failed" + return 1 + fi +} + +test_binaries() { + # Make sure that binares run at all and output a proper version + test_binaries_version \ + osmo-bsc \ + osmo-bts-trx \ + osmo-bts-virtual \ + osmo-gbproxy \ + osmo-gtphub \ + osmo-ggsn \ + osmo-hlr \ + osmo-hlr-db-tool \ + osmo-hnbgw \ + osmo-mgw \ + osmo-msc \ + osmo-pcu \ + osmo-sgsn \ + osmo-sip-connector \ + osmo-stp \ + osmo-trx-uhd \ + osmo-trx-usrp1 +} + +services_check() { + local service + local services_feed="$SERVICES" + local failed="" + + if [ "$FEED" = "nightly" ]; then + services_feed="$services_feed $SERVICES_NIGHTLY" + fi + + systemctl start $services_feed + sleep 2 + + for service in $services_feed; do + if ! systemctl --no-pager -l -n 200 status $service; then + failed="$failed $service" + fi + done + + systemctl stop $services_feed + + if [ -n "$failed" ]; then + set +x + echo + echo "ERROR: services failed to start: $failed" + echo + exit 1 + fi +} + +check_env +configure_osmocom_repo +install_repo_packages +test_binaries +services_check -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:06 +0000 Subject: Change in osmo-ci[master]: repo-install-test: integrate References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18510 ) Change subject: repo-install-test: integrate ...................................................................... repo-install-test: integrate Make the script run from its new location. Related: OS#4563 Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 --- M .gitignore M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 3 files changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/10/18510/1 diff --git a/.gitignore b/.gitignore index 459f2c9..d6be3b5 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ _deps/ _release_tarballs/ _docker_playground +_repo_install_test_data/ # osmocom-nightly-packages.sh nightly-3g_* diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index c0c38c5..a93fb23 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,5 +1,5 @@ #!/bin/sh -. ../jenkins-common.sh +. "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" [ -z "$FEED" ] && FEED="nightly" @@ -30,8 +30,8 @@ # * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd # * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) docker run --rm \ - -v "$PWD/testdata:/testdata:ro" \ - -v "$VOL_BASE_DIR:/data" \ + -v "$OSMO_CI_DIR/scripts/repo-install-test:/repo-install-test:ro" \ + -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ -e container=docker \ @@ -40,12 +40,12 @@ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ - "$REPO_USER/debian-repo-install-test" \ + "$USER/debian-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running # Run the test script -docker exec "$CONTAINER" /testdata/repo-install-test.sh +docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh ret="$?" # Interactive shell diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 63e1819..135d2d6 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -59,7 +59,7 @@ > /data/osmocom_packages_all.txt # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt + grep -v "^#" /repo-install-test/blacklist.txt | sort -u > /data/blacklist.txt # Install all repo packages which are not on the blacklist comm -23 /data/osmocom_packages_all.txt \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 Gerrit-Change-Number: 18510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:06 +0000 Subject: Change in osmo-ci[master]: repo-install-test: docker: add --tmpfs /run/lock References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18511 ) Change subject: repo-install-test: docker: add --tmpfs /run/lock ...................................................................... repo-install-test: docker: add --tmpfs /run/lock Make the script work on a debian10 host. I had developed it initially on debian9, where this was not necessary, and the Jenkins servers are also running debian9. Fixes: Failed to mount tmpfs at /run/lock: Permission denied [!!!!!!] Failed to mount API filesystems, freezing. Freezing execution. Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f --- M scripts/repo-install-test.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/11/18511/1 diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index a93fb23..d3ce8d6 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -36,6 +36,7 @@ -e FEED="$FEED" \ -e container=docker \ --tmpfs /run \ + --tmpfs /run/lock \ --tmpfs /tmp \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f Gerrit-Change-Number: 18511 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:06 +0000 Subject: Change in osmo-ci[master]: repo-install-test: use sh -ex References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18512 ) Change subject: repo-install-test: use sh -ex ...................................................................... repo-install-test: use sh -ex Make it consistent with run-inside-docker.sh by also using -e and -x. This makes development easier. Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc --- M scripts/repo-install-test.sh 1 file changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/12/18512/1 diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index d3ce8d6..0a19b04 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -ex . "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" @@ -46,12 +46,14 @@ check_if_systemd_is_running # Run the test script -docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh -ret="$?" +ret=0 +if ! docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh; then + ret=1 +fi # Interactive shell if [ -n "$INTERACTIVE" ]; then - docker exec -it "$CONTAINER" bash + docker exec -it "$CONTAINER" bash || true fi docker container kill "$CONTAINER" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc Gerrit-Change-Number: 18512 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:07 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:07 +0000 Subject: Change in osmo-ci[master]: repo-install-test: add KEEP_CACHE env var References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18513 ) Change subject: repo-install-test: add KEEP_CACHE env var ...................................................................... repo-install-test: add KEEP_CACHE env var Keep downloaded binary packages to make test cycles shorter during development. While at it, also document all environment variables. Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd --- M .gitignore M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 3 files changed, 30 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/18513/1 diff --git a/.gitignore b/.gitignore index d6be3b5..78e48b5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ _release_tarballs/ _docker_playground _repo_install_test_data/ +_repo_install_test_cache/ # osmocom-nightly-packages.sh nightly-3g_* diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index 0a19b04..e0367ec 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,4 +1,8 @@ #!/bin/sh -ex +# Environment variables: +# * INTERACTIVE: set to 1 to keep an interactive shell open after the script ran (for debugging) +# * FEED: binary package feed (e.g. "latest", "nightly") +# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) . "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" @@ -25,6 +29,13 @@ sleep 1 fi +# Additional docker run arguments +args="" +if [ -n "$KEEP_CACHE" ]; then + args="$args -e KEEP_CACHE=1" + args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/debian/apt:/var/cache/apt" +fi + # Run the container # * This does not output anything, for debugging add -it and remove &. # * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd @@ -41,6 +52,7 @@ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ + $args \ "$USER/debian-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 135d2d6..eed33d2 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -1,4 +1,7 @@ #!/bin/sh -ex +# Environment variables: +# * FEED: binary package feed (e.g. "latest", "nightly") +# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) # Systemd services that must start up successfully after installing all packages (OS#3369) # Disabled services: @@ -49,6 +52,19 @@ apt-get update } +configure_keep_cache() { + if [ -z "$KEEP_CACHE" ]; then + return + fi + + rm /etc/apt/apt.conf.d/docker-clean + + # "apt" will actually remove the cache by default, even if "apt-get" keeps it. + # https://unix.stackexchange.com/a/447607 + echo "Binary::apt::APT::Keep-Downloaded-Packages "true";" \ + > /etc/apt/apt.conf.d/01keep-debs +} + install_repo_packages() { echo "Installing all repository packages" @@ -140,6 +156,7 @@ } check_env +configure_keep_cache configure_osmocom_repo install_repo_packages test_binaries -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd Gerrit-Change-Number: 18513 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:07 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:07 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... repo-install-test: support centos Related: OS#4563 Depends: I50743c304728444ede8e0d40b8abef9d17c44d8d (docker-playground) Change-Id: I399360ee6389591180859b52f0ef08883447b90b --- M scripts/repo-install-test.sh A scripts/repo-install-test/blacklist_centos.txt R scripts/repo-install-test/blacklist_debian.txt M scripts/repo-install-test/run-inside-docker.sh 4 files changed, 107 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/14/18514/1 diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index e0367ec..4bc0fab 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -4,10 +4,19 @@ # * FEED: binary package feed (e.g. "latest", "nightly") # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) . "$(dirname "$0")/common.sh" -docker_images_require "debian-repo-install-test" + +# Show usage +if [ "$#" -ne 1 ]; then + echo "usage: repo-install-test.sh DISTRO" + echo "DISTRO: debian or centos" + exit 1 +fi + +DISTRO="$1" +docker_images_require "$DISTRO-repo-install-test" [ -z "$FEED" ] && FEED="nightly" -CONTAINER="repo-install-test-$FEED" +CONTAINER="$DISTRO-repo-install-test-$FEED" # Try to run "systemctl status" 10 times, kill the container on failure check_if_systemd_is_running() { @@ -34,6 +43,7 @@ if [ -n "$KEEP_CACHE" ]; then args="$args -e KEEP_CACHE=1" args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/debian/apt:/var/cache/apt" + args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/centos/dnf:/var/cache/dnf" fi # Run the container @@ -45,6 +55,7 @@ -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ + -e DISTRO="$DISTRO" \ -e container=docker \ --tmpfs /run \ --tmpfs /run/lock \ @@ -53,7 +64,7 @@ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ $args \ - "$USER/debian-repo-install-test" \ + "$USER/$DISTRO-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running diff --git a/scripts/repo-install-test/blacklist_centos.txt b/scripts/repo-install-test/blacklist_centos.txt new file mode 100644 index 0000000..83d2cbd --- /dev/null +++ b/scripts/repo-install-test/blacklist_centos.txt @@ -0,0 +1,11 @@ +# These packages will not get explicitly installed in this test. +# Package lines must have nothing but the package (no comment, +# no additional space etc). + +# The ulfius package in network:osmocom:* is linked to the opensuse version, +# which has dependencies that exist under another name in centos +# (libgnutls-devel, libjansson-devel). Linking to the opensuse version has the +# advantage that we don't need to worry about updating the package. However, +# the dependency problem means that we can't simply install the package in +# centos. In OBS we work around this in the project config. +ulfius-devel diff --git a/scripts/repo-install-test/blacklist.txt b/scripts/repo-install-test/blacklist_debian.txt similarity index 100% rename from scripts/repo-install-test/blacklist.txt rename to scripts/repo-install-test/blacklist_debian.txt diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index eed33d2..4265180 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -2,6 +2,7 @@ # Environment variables: # * FEED: binary package feed (e.g. "latest", "nightly") # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) +# * DISTRO: linux distribution name (e.g. "debian", "centos") # Systemd services that must start up successfully after installing all packages (OS#3369) # Disabled services: @@ -43,16 +44,37 @@ echo "ERROR: missing environment variable \$FEED!" exit 1 fi + if [ -n "$DISTRO" ]; then + echo "Linux distribution: $DISTRO" + else + echo "ERROR: missing environment variable \$DISTRO!" + exit 1 + fi } -configure_osmocom_repo() { +configure_osmocom_repo_debian() { echo "Configuring Osmocom repository" echo "deb $HTTP ./" \ > /etc/apt/sources.list.d/osmocom-latest.list apt-get update } -configure_keep_cache() { +configure_osmocom_repo_centos() { + echo "Configuring Osmocom repository" + # Generate this file, based on the feed: + # https://download.opensuse.org/repositories/network:osmocom:latest/CentOS_8_Stream/network:osmocom:latest.repo + cat << EOF > /etc/yum.repos.d/network:osmocom:$FEED.repo +[network_osmocom_$FEED] +name=$FEED packages of the Osmocom project (CentOS_8_Stream) +type=rpm-md +baseurl=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8_Stream/ +gpgcheck=1 +gpgkey=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8_Stream/repodata/repomd.xml.key +enabled=1 +EOF +} + +configure_keep_cache_debian() { if [ -z "$KEEP_CACHE" ]; then return fi @@ -65,7 +87,25 @@ > /etc/apt/apt.conf.d/01keep-debs } -install_repo_packages() { +configure_keep_cache_centos() { + if [ -z "$KEEP_CACHE" ]; then + return + fi + echo "keepcache=1" >> /etc/dnf/dnf.conf +} + +# Filter /data/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in +# /data/osmocom_packages.txt. +filter_packages_txt() { + # Copy distro specific blacklist file, remove comments and sort it + grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > /data/blacklist.txt + + # Generate list of pkgs to be installed from available pkgs minus the ones blacklisted + comm -23 /data/osmocom_packages_all.txt \ + /data/blacklist.txt > /data/osmocom_packages.txt +} + +install_repo_packages_debian() { echo "Installing all repository packages" # Get a list of all packages from the repository. Reference: @@ -74,15 +114,25 @@ "?origin($OBS) ?architecture(native)" | sort \ > /data/osmocom_packages_all.txt - # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /repo-install-test/blacklist.txt | sort -u > /data/blacklist.txt - - # Install all repo packages which are not on the blacklist - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt + filter_packages_txt apt install -y $(cat /data/osmocom_packages.txt) } +install_repo_packages_centos() { + echo "Installing all repository packages" + + # Get a list of all packages from the repository + LANG=C.UTF-8 repoquery \ + --quiet \ + --repoid="network_osmocom_$FEED" \ + --archlist="x86_64,noarch" \ + --qf="%{name}" \ + > /data/osmocom_packages_all.txt + + filter_packages_txt + dnf install -y $(cat /data/osmocom_packages.txt) +} + test_binaries_version() { # Make sure --version runs and does not output UNKNOWN failed="" @@ -122,8 +172,12 @@ osmo-sgsn \ osmo-sip-connector \ osmo-stp \ - osmo-trx-uhd \ - osmo-trx-usrp1 + osmo-trx-uhd + + if [ "$DISTRO" = "debian" ]; then + test_binaries_version \ + osmo-trx-usrp1 + fi } services_check() { @@ -156,8 +210,22 @@ } check_env -configure_keep_cache -configure_osmocom_repo -install_repo_packages + +case "$DISTRO" in +debian) + configure_keep_cache_debian + configure_osmocom_repo_debian + install_repo_packages_debian + ;; +centos) + configure_keep_cache_centos + configure_osmocom_repo_centos + install_repo_packages_centos + ;; +*) + echo "ERROR: unknown DISTRO=$DISTRO" + exit 1 +esac + test_binaries services_check -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:07 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:07 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... repo-install-test: update jenkins job Rename osmocom-debian-install.yml to repo-install-test.yml to get debian out of the name. Extend it with a new distro parameter and update the description. Adjust the shell section to run the script from its new location (in osmo-ci.git, not docker-playground.git). Turn it into a matrix job, so we can have two parameters (distro, feed) for each job. Related: OS#4563 Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 --- D jobs/osmocom-debian-install.yml A jobs/repo-install-test.yml 2 files changed, 68 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/18515/1 diff --git a/jobs/osmocom-debian-install.yml b/jobs/osmocom-debian-install.yml deleted file mode 100644 index 26b7fa0..0000000 --- a/jobs/osmocom-debian-install.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -- project: - name: Osmocom-Debian-install - jobs: - - Osmocom-Debian-install-{type} - type: - - nightly - - latest - -- job-template: - name: 'Osmocom-Debian-install-{type}' - - project-type: freestyle - defaults: global - description: | -
    -
  • Install all Osmocom debian packages (OS#3176) -
  • Check if Osmocom systemd services start properly (OS#3369) -
- node: osmocom-master-debian9 - parameters: - - string: - name: BRANCH - description: | - docker-playground.git branch - default: '*/master' - builders: - - shell: - cd debian-repo-install-test && FEED={type} ./jenkins.sh - scm: - - git: - branches: - - '$BRANCH' - url: git://git.osmocom.org/docker-playground - git-config-name: 'Jenkins Builder' - git-config-email: 'jenkins at osmocom.org' - triggers: - - timed: "H 04 * * *" # run after osmocom-obs.yml - publishers: - - email: - notify-every-unstable-build: true - recipients: 'jenkins-notifications at lists.osmocom.org' - -# vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/repo-install-test.yml b/jobs/repo-install-test.yml new file mode 100644 index 0000000..19a0b5f --- /dev/null +++ b/jobs/repo-install-test.yml @@ -0,0 +1,68 @@ +--- +- project: + name: Osmocom-repo-install + jobs: + - Osmocom-repo-install-{distro} + distro: + - debian: + feeds: !!python/tuple [nightly, latest] + - centos: + feeds: !!python/tuple [next, nightly] + +- job-template: + name: Osmocom-repo-install-{distro} + project-type: matrix + defaults: global + description: | + Install {distro} packages from the + + Osmocom binary packages repositories, test if binaries and systemd services can be started.
+
+ Related:
+
    +
  • OS#3176: install all Osmocom debian packages +
  • OS#3369: check if systemd services start properly +
  • OS#4563: extend for centos +
+ node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH_CI + description: | + osmo-ci.git branch + default: 'master' + - string: + name: BRANCH_DP + description: | + docker-playground.git branch + default: 'master' + axes: + - axis: + type: slave + name: label + values: !!python/tuple [osmocom-master-debian9] + - axis: + type: user-defined + name: feed + values: '{obj:feeds}' + builders: + - shell: | + export OSMO_BRANCH_DOCKER_PLAYGROUND="$BRANCH_DP" + export FEED="$feed" + scripts/repo-install-test.sh "{distro}" + scm: + - git: + branches: + - '$BRANCH_CI' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "H 04 * * *" # run after osmocom-obs.yml + + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:17 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:17 +0000 Subject: Change in docker-playground[master]: centos-repo-install-test: new image References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18516 ) Change subject: centos-repo-install-test: new image ...................................................................... centos-repo-install-test: new image Prepare the repo-install-test to be extended to cover centos8 as well. The scripts from docker-repo-install-test will be moved to osmo-ci.git as shared code, and extended to work with centos8 too (using this new image) in I399360ee6389591180859b52f0ef08883447b90b (osmo-ci). Related: OS#4563 Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d --- A centos-repo-install-test/Dockerfile A centos-repo-install-test/Makefile 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/18516/1 diff --git a/centos-repo-install-test/Dockerfile b/centos-repo-install-test/Dockerfile new file mode 100644 index 0000000..45f0ba4 --- /dev/null +++ b/centos-repo-install-test/Dockerfile @@ -0,0 +1,11 @@ +ARG USER +FROM centos:centos8 + +# dnf-utils: for repoquery +RUN dnf install -y \ + systemd \ + dnf-utils + +# Make additional development libraries available +RUN yum config-manager --set-enabled PowerTools + diff --git a/centos-repo-install-test/Makefile b/centos-repo-install-test/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/centos-repo-install-test/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d Gerrit-Change-Number: 18516 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 10:35:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 10:35:18 +0000 Subject: Change in docker-playground[master]: debian-repo-install-test: move scripts to osmo-ci References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18517 ) Change subject: debian-repo-install-test: move scripts to osmo-ci ...................................................................... debian-repo-install-test: move scripts to osmo-ci Related: OS#4563 Depends: I777098f19d75f7efbd68b837ccdcd83309429c39 (osmo-ci) Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 --- D debian-repo-install-test/jenkins.sh D debian-repo-install-test/testdata/blacklist.txt D debian-repo-install-test/testdata/repo-install-test.sh 3 files changed, 0 insertions(+), 231 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/17/18517/1 diff --git a/debian-repo-install-test/jenkins.sh b/debian-repo-install-test/jenkins.sh deleted file mode 100755 index c0c38c5..0000000 --- a/debian-repo-install-test/jenkins.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -. ../jenkins-common.sh -docker_images_require "debian-repo-install-test" - -[ -z "$FEED" ] && FEED="nightly" -CONTAINER="repo-install-test-$FEED" - -# Try to run "systemctl status" 10 times, kill the container on failure -check_if_systemd_is_running() { - for i in $(seq 1 10); do - sleep 1 - if docker exec "$CONTAINER" systemctl status; then - return - fi - done - - echo "ERROR: systemd is not running properly." - docker container kill "$CONTAINER" - exit 1 -} - -# Kill already running container -if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then - docker container kill "$CONTAINER" - sleep 1 -fi - -# Run the container -# * This does not output anything, for debugging add -it and remove &. -# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd -# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) -docker run --rm \ - -v "$PWD/testdata:/testdata:ro" \ - -v "$VOL_BASE_DIR:/data" \ - --name "$CONTAINER" \ - -e FEED="$FEED" \ - -e container=docker \ - --tmpfs /run \ - --tmpfs /tmp \ - -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ - --cap-add SYS_ADMIN \ - --cap-add SYS_NICE \ - "$REPO_USER/debian-repo-install-test" \ - /lib/systemd/systemd & -check_if_systemd_is_running - -# Run the test script -docker exec "$CONTAINER" /testdata/repo-install-test.sh -ret="$?" - -# Interactive shell -if [ -n "$INTERACTIVE" ]; then - docker exec -it "$CONTAINER" bash -fi - -docker container kill "$CONTAINER" - -exit $ret diff --git a/debian-repo-install-test/testdata/blacklist.txt b/debian-repo-install-test/testdata/blacklist.txt deleted file mode 100644 index cb7db6a..0000000 --- a/debian-repo-install-test/testdata/blacklist.txt +++ /dev/null @@ -1,27 +0,0 @@ -# These packages will not get explicitly installed in this test. -# Package lines must have nothing but the package (no comment, -# no additional space etc). - -# OpenBSC -# This is legacy, we aren't really interested in testing openbsc.git -# derived packages. Packages are found in openbsc/debian/control. -openbsc-dev -osmo-bsc-mgcp -osmo-bsc-mgcp-dbg -osmocom-bs11-utils -osmocom-bs11-utils-dbg -osmocom-bsc-nat -osmocom-bsc-nat-dbg -osmocom-bsc-sccplite -osmocom-bsc-sccplite-dbg -osmocom-ipaccess-utils -osmocom-ipaccess-utils-dbg -osmocom-nitb -osmocom-nitb-dbg - -# SoapySDR is not used anymore (see OS#3542) -soapysdr-module-lms7 -soapysdr0.6-module-lms7 -soapysdr0.6-module-lms7-dbgsym -soapysdr0.7-module-lms7 -soapysdr0.7-module-lms7-dbgsym diff --git a/debian-repo-install-test/testdata/repo-install-test.sh b/debian-repo-install-test/testdata/repo-install-test.sh deleted file mode 100755 index 63e1819..0000000 --- a/debian-repo-install-test/testdata/repo-install-test.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -ex - -# Systemd services that must start up successfully after installing all packages (OS#3369) -# Disabled services: -# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) -# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) -# * osmo-ggsn (no tun device in docker) -SERVICES=" - osmo-bsc - osmo-gbproxy - osmo-gtphub - osmo-hlr - osmo-mgw - osmo-msc - osmo-pcap-client - osmo-sip-connector - osmo-stp -" -# Services working in nightly, but not yet in latest -# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 -# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 -# * osmo-pcu: needs osmo-bts-virtual to start up properly -# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 -# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 -SERVICES_NIGHTLY=" - osmo-pcap-server - osmo-sgsn - osmo-pcu - osmo-hnbgw - osmo-bts-virtual -" - -HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/" -OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0" - -check_env() { - if [ -n "$FEED" ]; then - echo "Checking feed: $FEED" - else - echo "ERROR: missing environment variable \$FEED!" - exit 1 - fi -} - -configure_osmocom_repo() { - echo "Configuring Osmocom repository" - echo "deb $HTTP ./" \ - > /etc/apt/sources.list.d/osmocom-latest.list - apt-get update -} - -install_repo_packages() { - echo "Installing all repository packages" - - # Get a list of all packages from the repository. Reference: - # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html - aptitude search -F%p \ - "?origin($OBS) ?architecture(native)" | sort \ - > /data/osmocom_packages_all.txt - - # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt - - # Install all repo packages which are not on the blacklist - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt - apt install -y $(cat /data/osmocom_packages.txt) -} - -test_binaries_version() { - # Make sure --version runs and does not output UNKNOWN - failed="" - for program in $@; do - # Make sure it runs at all - $program --version - - # Check for UNKNOWN - if $program --version | grep -q UNKNOWN; then - failed="$failed $program" - echo "ERROR: this program prints UNKNOWN in --version!" - fi - done - - if [ -n "$failed" ]; then - echo "ERROR: the following program(s) print UNKNOWN in --version:" - echo "$failed" - return 1 - fi -} - -test_binaries() { - # Make sure that binares run at all and output a proper version - test_binaries_version \ - osmo-bsc \ - osmo-bts-trx \ - osmo-bts-virtual \ - osmo-gbproxy \ - osmo-gtphub \ - osmo-ggsn \ - osmo-hlr \ - osmo-hlr-db-tool \ - osmo-hnbgw \ - osmo-mgw \ - osmo-msc \ - osmo-pcu \ - osmo-sgsn \ - osmo-sip-connector \ - osmo-stp \ - osmo-trx-uhd \ - osmo-trx-usrp1 -} - -services_check() { - local service - local services_feed="$SERVICES" - local failed="" - - if [ "$FEED" = "nightly" ]; then - services_feed="$services_feed $SERVICES_NIGHTLY" - fi - - systemctl start $services_feed - sleep 2 - - for service in $services_feed; do - if ! systemctl --no-pager -l -n 200 status $service; then - failed="$failed $service" - fi - done - - systemctl stop $services_feed - - if [ -n "$failed" ]; then - set +x - echo - echo "ERROR: services failed to start: $failed" - echo - exit 1 - fi -} - -check_env -configure_osmocom_repo -install_repo_packages -test_binaries -services_check -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 Gerrit-Change-Number: 18517 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:46:17 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 11:46:17 +0000 Subject: Change in osmo-mgw[master]: cosmetic: remove excess newlines In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18491 ) Change subject: cosmetic: remove excess newlines ...................................................................... cosmetic: remove excess newlines Change-Id: Idefe3e86d5b659666bf0356991906c9a2f858aae --- M src/libosmo-mgcp/mgcp_protocol.c 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 82c10aa..6b8eae2 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1085,10 +1085,6 @@ return create_err_response(endp, error_code, "CRCX", p->trans); } - - - - /* MDCX command handler, processes the received command */ static struct msgb *handle_modify_con(struct mgcp_parse_data *p) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Idefe3e86d5b659666bf0356991906c9a2f858aae Gerrit-Change-Number: 18491 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:49:06 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 11:49:06 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 to look at the new patch set (#2). Change subject: mgcp: remove unused callback pointer ...................................................................... mgcp: remove unused callback pointer struct mgcp_config contains a function pointer realloc_cb, which is never popoulated nor used anywhere in the code. Lets remove it Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 --- M TODO-RELEASE M include/osmocom/mgcp/mgcp.h 2 files changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/92/18492/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:50:36 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 11:50:36 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 2: > Patch Set 1: > > libosmo-mgcp is a static library only used in osmo-mgw? That's not in libosmo-mgcp-client right? Yes, thats correct, libosmo-mgcp basically is osmo-mgw and not used outside. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 11:50:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:56:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 11:56:16 +0000 Subject: Change in osmo-ci[master]: repo-install-test: don't mount /data References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18518 ) Change subject: repo-install-test: don't mount /data ...................................................................... repo-install-test: don't mount /data The "run-inside-docker.sh" script is running as root (in order to be able to install packages). Do not mount an outside directory as /data inside the image anymore, where the script would write temporary data. This causes problems on jenkins, as the temporary files are written as root and jenkins is then unable to wipe the workspace. I had used this for debugging when I wrote the script initially, but almost the same can be done now with INTERACTIVE=1 and cat on the temporary files. Related: OS#4563 Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b --- M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 2 files changed, 9 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/18/18518/1 diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index 4bc0fab..ac8242d 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -52,7 +52,6 @@ # * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) docker run --rm \ -v "$OSMO_CI_DIR/scripts/repo-install-test:/repo-install-test:ro" \ - -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ -e DISTRO="$DISTRO" \ diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 4265180..c8a28fe 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -94,15 +94,15 @@ echo "keepcache=1" >> /etc/dnf/dnf.conf } -# Filter /data/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in -# /data/osmocom_packages.txt. +# Filter $PWD/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in +# $PWD/osmocom_packages.txt. filter_packages_txt() { # Copy distro specific blacklist file, remove comments and sort it - grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > /data/blacklist.txt + grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > blacklist.txt # Generate list of pkgs to be installed from available pkgs minus the ones blacklisted - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt + comm -23 osmocom_packages_all.txt \ + blacklist.txt > osmocom_packages.txt } install_repo_packages_debian() { @@ -112,10 +112,10 @@ # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html aptitude search -F%p \ "?origin($OBS) ?architecture(native)" | sort \ - > /data/osmocom_packages_all.txt + > osmocom_packages_all.txt filter_packages_txt - apt install -y $(cat /data/osmocom_packages.txt) + apt install -y $(cat osmocom_packages.txt) } install_repo_packages_centos() { @@ -127,10 +127,10 @@ --repoid="network_osmocom_$FEED" \ --archlist="x86_64,noarch" \ --qf="%{name}" \ - > /data/osmocom_packages_all.txt + > osmocom_packages_all.txt filter_packages_txt - dnf install -y $(cat /data/osmocom_packages.txt) + dnf install -y $(cat osmocom_packages.txt) } test_binaries_version() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b Gerrit-Change-Number: 18518 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:56:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 11:56:53 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 27 May 2020 11:56:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 11:58:15 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 11:58:15 +0000 Subject: Change in osmo-trx[master]: Transceiver: Log when sending of CLK indications begins In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18395 ) Change subject: Transceiver: Log when sending of CLK indications begins ...................................................................... Transceiver: Log when sending of CLK indications begins When the logging category TRXCLK is set to info osmo-trx prints a logline that informs about the sending of clock indications. In practice this those log lines are often used to identify that osmo-trx and osmo-bts are running properly, so it would be helpful, even in productive use, if there would be an information in the log that the sending of clock indications has begun. However, the regular printing of the clock indication log line would soon flood the log. So, lets have an addional log line that logs only once when the transceiver starts and quickly informs at loglevel NOTICE that clock indications are now sent. Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Related: OS#2577 --- M Transceiver52M/Transceiver.cpp 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index d9bda1d..1b9c5d4 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -1053,6 +1053,8 @@ return false; if (mForceClockInterface || mTransmitDeadlineClock > mLastClockUpdateTime + GSM::Time(216,0)) { + if (mForceClockInterface) + LOGC(DTRXCLK, NOTICE) << "Sending CLOCK indications"; mForceClockInterface = false; return writeClockInterface(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I6aa88943b76c9a2bf7aed60d6a3d325c1f27820a Gerrit-Change-Number: 18395 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:05:56 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 12:05:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 5: (2 comments) > Patch Set 5: Code-Review-1 > > (2 comments) I have left some comments, the problems you address will get fixed in the following patch. https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c at 1669 PS5, Line 1669: llist_del(&cfg->virt_trunk->entry); > What about simply avoiding doing this inside mgcp_trunk_alloc if type == MGCP_TRUNK_VIRTUAL. I agree, but i would argue to keep it like this for now since in patch #18372 I have already addressed this. Also we have decided to get rid of this separate trunk model so this will vanish very soon anyway. https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c at 1703 PS5, Line 1703: llist_add_tail(&trunk->entry, &cfg->trunks); > if (ttype != MGCP_TRUNK_VIRTUAL) [?] (see comment above) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:05:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:26:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:26:42 +0000 Subject: Change in osmo-ci[master]: repo-install-test: don't mount /data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18518 ) Change subject: repo-install-test: don't mount /data ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b Gerrit-Change-Number: 18518 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:26:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:29:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:29:18 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... Patch Set 1: Code-Review+1 What's the benefit moving it here? to be able to test it without docker? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:29:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:29:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:29:54 +0000 Subject: Change in osmo-ci[master]: repo-install-test: integrate In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18510 ) Change subject: repo-install-test: integrate ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 Gerrit-Change-Number: 18510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:29:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:30:32 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:30:32 +0000 Subject: Change in osmo-ci[master]: repo-install-test: docker: add --tmpfs /run/lock In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18511 ) Change subject: repo-install-test: docker: add --tmpfs /run/lock ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f Gerrit-Change-Number: 18511 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:30:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:30:48 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:30:48 +0000 Subject: Change in osmo-ci[master]: repo-install-test: use sh -ex In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18512 ) Change subject: repo-install-test: use sh -ex ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc Gerrit-Change-Number: 18512 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:30:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:31:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:31:59 +0000 Subject: Change in osmo-ci[master]: repo-install-test: add KEEP_CACHE env var In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18513 ) Change subject: repo-install-test: add KEEP_CACHE env var ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd Gerrit-Change-Number: 18513 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:31:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:33:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 12:33:01 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > What's the benefit moving it here? to be able to test it without docker? No, they are still using docker. But in docker-playground.git, we typically just have the docker containers and no shared scripts between the docker containers. So it fits better in osmo-ci.git together with the jenkins job yml and other CI scripts. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:33:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:34:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:34:40 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18514/1/scripts/repo-install-test/run-inside-docker.sh File scripts/repo-install-test/run-inside-docker.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18514/1/scripts/repo-install-test/run-inside-docker.sh at 214 PS1, Line 214: case "$DISTRO" in Simply do: configure_keep_cache_${DISTRO} configure_osmocom_repo_${DISTRO} install_repo_packages_${DISTRO} -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:34:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:35:38 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:35:38 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:35:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 12:36:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 12:36:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/17423/5/src/libosmo-mgcp/mgcp_protocol.c at 1669 PS5, Line 1669: llist_del(&cfg->virt_trunk->entry); > I agree, but i would argue to keep it like this for now since in patch #18372 I have already address [?] ACK, fine then if it's fixed soon. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 12:36:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 13:04:09 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 to look at the new patch set (#2). Change subject: repo-install-test: support centos ...................................................................... repo-install-test: support centos Related: OS#4563 Depends: I50743c304728444ede8e0d40b8abef9d17c44d8d (docker-playground) Change-Id: I399360ee6389591180859b52f0ef08883447b90b --- M scripts/repo-install-test.sh A scripts/repo-install-test/blacklist_centos.txt R scripts/repo-install-test/blacklist_debian.txt M scripts/repo-install-test/run-inside-docker.sh 4 files changed, 93 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/14/18514/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:04:09 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 13:04:09 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 to look at the new patch set (#3). Change subject: repo-install-test: update jenkins job ...................................................................... repo-install-test: update jenkins job Rename osmocom-debian-install.yml to repo-install-test.yml to get debian out of the name. Extend it with a new distro parameter and update the description. Adjust the shell section to run the script from its new location (in osmo-ci.git, not docker-playground.git). Turn it into a matrix job, so we can have two parameters (distro, feed) for each job. Related: OS#4563 Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 --- D jobs/osmocom-debian-install.yml A jobs/repo-install-test.yml 2 files changed, 69 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/18515/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:04:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 27 May 2020 13:04:36 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/18514/1/scripts/repo-install-test/run-inside-docker.sh File scripts/repo-install-test/run-inside-docker.sh: https://gerrit.osmocom.org/c/osmo-ci/+/18514/1/scripts/repo-install-test/run-inside-docker.sh at 214 PS1, Line 214: case "$DISTRO" in > Simply do: [?] Much better, thanks :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 13:04:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:14:48 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 13:14:48 +0000 Subject: Change in osmo-gsm-tester[master]: Fix processes run with RemoteProcessSafeExit not receiving stdin In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 ) Change subject: Fix processes run with RemoteProcessSafeExit not receiving stdin ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 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: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 Gerrit-Change-Number: 18508 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 27 May 2020 13:14:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 13:15:15 +0000 Subject: Change in osmo-gsm-tester[master]: Fix processes run with RemoteProcessSafeExit not receiving stdin In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 ) Change subject: Fix processes run with RemoteProcessSafeExit not receiving stdin ...................................................................... Patch Set 1: Confirmed to fix regression as expected. Thanks -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 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: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 Gerrit-Change-Number: 18508 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Wed, 27 May 2020 13:15:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:47:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 13:47:43 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18519 ) Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Related: OS#4546 --- M src/host/trxcon/l1ctl.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18519/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index e722624..84e1ec6 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -595,7 +595,8 @@ static int l1ctl_proc_est_req_h1(struct trx_instance *trx, struct l1ctl_h1 *h) { - int rc; + uint16_t ma[64]; + int i, rc; LOGP(DL1C, LOGL_NOTICE, "L1CTL_DM_EST_REQ indicates a Frequency " "Hopping (hsn=%u, maio=%u, chans=%u) channel\n", @@ -607,8 +608,12 @@ return -EINVAL; } + /* Convert from network to host byte order */ + for (i = 0; i < h->n; i++) + ma[i] = ntohs(h->ma[i]); + /* Forward hopping parameters to TRX */ - rc = trx_if_cmd_setfh(trx, h->hsn, h->maio, h->ma, h->n); + rc = trx_if_cmd_setfh(trx, h->hsn, h->maio, ma, h->n); if (rc) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:56:35 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 13:56:35 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 13:56:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 13:57:37 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 13:57:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 13:57:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 13:57:54 +0000 Subject: Change in osmo-gsm-tester[master]: Fix processes run with RemoteProcessSafeExit not receiving stdin In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 ) Change subject: Fix processes run with RemoteProcessSafeExit not receiving stdin ...................................................................... Fix processes run with RemoteProcessSafeExit not receiving stdin Since the process is run in the background through the wrapper bash script, stdin was disabled there. By explicitly redirecting the bash process stdin we make sure it is always able to read from it. Change-Id: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 --- M src/osmo_gsm_tester/core/remote.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified srs_andre: Looks good to me, approved diff --git a/src/osmo_gsm_tester/core/remote.py b/src/osmo_gsm_tester/core/remote.py index 29eea30..8deb25d 100644 --- a/src/osmo_gsm_tester/core/remote.py +++ b/src/osmo_gsm_tester/core/remote.py @@ -100,7 +100,7 @@ echo "process ${term_child_pid} finished" >>$LOGFILE } prep_sighandler - $@ & + $@ <&0 & wait_sighandler """ % (wait_time_sec, wait_time_sec) f.write(r) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18508 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: I6cb7979aae0a7457919f353cbeb4c3b78cdd4919 Gerrit-Change-Number: 18508 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:17:37 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:17:37 +0000 Subject: Change in libosmocore[master]: add osmo_mobile_identity API In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18507 ) Change subject: add osmo_mobile_identity API ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/18507/1//COMMIT_MSG at 44 PS1, Line 44: which : might subsequently replace older code dup. > I think if we don'd to this right now after merging this code, the duplication will stay. [?] sure, I can do that, shouldn't take too long, either. To deprecate the older functions, I'd also add encoding from struct osmo_mobile_identity, so far this patch only decodes. -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Wed, 27 May 2020 14:17:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:21:24 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:21:24 +0000 Subject: Change in libosmocore[master]: add TMSI and NRI utility functions for MSC pooling In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18506 ) Change subject: add TMSI and NRI utility functions for MSC pooling ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c File src/gsm/gsm23236.c: https://gerrit.osmocom.org/c/libosmocore/+/18506/1/src/gsm/gsm23236.c at 40 PS1, Line 40: return -1; > #define NRI_INVALID 0xffff [?] Ok, the signatures need refactoring. While implementing I also forgot to actually use the returned TMSI from osmo_tsmi_nri_set(). -- 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: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 14:21:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:26:59 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:26:59 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > The patch looks fine, but I'd like laforge to ACK that we want to remove this. > IIUC this feature was used by a customer to redirect to different MSCs based on IMSI prefix, but iirc that customer is anyway using osmo-bsc-sccplite, so not affected by this. I think that was actually an osmo-bsc_nat feature. It redirects based on *MSISDN*! IIUC, the weirdest part of this code is that it would redirect to another MSC *in the middle of an active connection*, as soon as a CC transaction is started. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 14:26:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:32:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:32:14 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h File include/osmocom/bsc/osmo_bsc.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h at 14 PS1, Line 14: struct msgb; > I'm pretty sure we don't need this,and we simply need to include Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 14:32:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:32:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:32:27 +0000 Subject: Change in osmo-bsc[master]: cosmetic: put comment back at proper place in bsc_vty.c In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18494 ) Change subject: cosmetic: put comment back at proper place in bsc_vty.c ...................................................................... cosmetic: put comment back at proper place in bsc_vty.c Change-Id: Ie5d44fdb78f3bdabede464d88d493e911512bb35 --- M src/osmo-bsc/bsc_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index d699cf7..c380a30 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -5392,6 +5392,7 @@ install_element(ENABLE_NODE, &handover_any_cmd); install_element(ENABLE_NODE, &assignment_any_cmd); install_element(ENABLE_NODE, &handover_any_to_arfcn_bsic_cmd); + /* See also handover commands added on net level from handover_vty.c */ logging_vty_add_cmds(); osmo_talloc_vty_add_cmds(); @@ -5399,7 +5400,6 @@ install_element(GSMNET_NODE, &cfg_net_neci_cmd); install_element(GSMNET_NODE, &cfg_net_dtx_cmd); install_element(GSMNET_NODE, &cfg_net_pag_any_tch_cmd); - /* See also handover commands added on net level from handover_vty.c */ install_element(GSMNET_NODE, &cfg_bts_cmd); install_node(&bts_node, config_write_bts); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie5d44fdb78f3bdabede464d88d493e911512bb35 Gerrit-Change-Number: 18494 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:32:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:32:28 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... drop IMSI filter and libfilter completely Filtering by IMSI in osmo-bsc is a legacy use case with questionable usefulness. Remove. Do not keep deprecated VTY commands: those could be dangerous, since (presumably non-existing) users might assume that the filtering would still be in place. Rather fail to start osmo-bsc for config with an IMSI ACL. The IMSI filtering did, if present, provide the logging with an IMSI to print for the bsc_subscriber. TMSIs should have ended up in logging likewise, which has never been implemented. The proper way to learn the IMSI would be by the Common Id message from the MSC. Furthermore, the upcoming MSC pooling feature will extract the mobile identity again, and will hence make sure that both IMSI and TMSI identities, as available, end up in the bsc_subscriber and will be logged again. So long, IMSI ACL, and thanks for all the fish. Change-Id: I89727af5387e8360362e995fdee959883c37d89a --- M configure.ac M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h D include/osmocom/bsc/bsc_msg_filter.h M include/osmocom/bsc/gsm_04_08_rr.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc.h M src/Makefile.am D src/libfilter/Makefile.am D src/libfilter/bsc_msg_acc.c D src/libfilter/bsc_msg_filter.c D src/libfilter/bsc_msg_vty.c M src/osmo-bsc/Makefile.am M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_vty.c M tests/handover/Makefile.am 17 files changed, 2 insertions(+), 951 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/configure.ac b/configure.ac index d96dfb2..6555f87 100644 --- a/configure.ac +++ b/configure.ac @@ -236,7 +236,6 @@ include/osmocom/Makefile include/osmocom/bsc/Makefile src/Makefile - src/libfilter/Makefile src/osmo-bsc/Makefile src/ipaccess/Makefile src/utils/Makefile diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 396604e..509df9a 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -6,7 +6,6 @@ acc_ramp.h \ arfcn_range_encode.h \ assignment_fsm.h \ - bsc_msg_filter.h \ bsc_rll.h \ bsc_subscriber.h \ bsc_subscr_conn_fsm.h \ diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index a97616f..c77c562 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -150,8 +150,6 @@ /* ussd text when MSC has entered the grace period */ char *ussd_grace_txt; - char *acc_lst_name; - /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *msc_ctrs; struct osmo_stat_item_group *msc_statg; @@ -224,8 +222,6 @@ /* ussd text when there is no MSC available */ char *ussd_no_msc_txt; - char *acc_lst_name; - struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/bsc_msg_filter.h b/include/osmocom/bsc/bsc_msg_filter.h deleted file mode 100644 index fe87485..0000000 --- a/include/osmocom/bsc/bsc_msg_filter.h +++ /dev/null @@ -1,103 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -#include - -struct vty; -struct gsm48_hdr; - -struct bsc_filter_reject_cause { - int lu_reject_cause; - int cm_reject_cause; -}; - -struct bsc_filter_barr_entry { - struct rb_node node; - - char *imsi; - int cm_reject_cause; - int lu_reject_cause; -}; - -enum bsc_filter_acc_ctr { - ACC_LIST_LOCAL_FILTER, - ACC_LIST_GLOBAL_FILTER, -}; - -struct bsc_msg_acc_lst { - struct llist_head list; - - /* counter */ - struct rate_ctr_group *stats; - - /* the name of the list */ - const char *name; - struct llist_head fltr_list; -}; - -struct bsc_msg_acc_lst_entry { - struct llist_head list; - - /* the filter */ - char *imsi_allow; - regex_t imsi_allow_re; - char *imsi_deny; - regex_t imsi_deny_re; - - /* reject reasons for the access lists */ - int cm_reject_cause; - int lu_reject_cause; -}; - -enum { - FLT_CON_TYPE_NONE, - FLT_CON_TYPE_LU, - FLT_CON_TYPE_CM_SERV_REQ, - FLT_CON_TYPE_PAG_RESP, - FLT_CON_TYPE_SSA, - FLT_CON_TYPE_LOCAL_REJECT, - FLT_CON_TYPE_OTHER, -}; - - -struct bsc_filter_state { - char *imsi; - int imsi_checked; - int con_type; -}; - -struct bsc_filter_request { - void *ctx; - struct rb_root *black_list; - struct llist_head *access_lists; - const char *local_lst_name; - const char *global_lst_name; - int bsc_nr; -}; - -/** - * Content filtering. - */ -int bsc_msg_filter_initial(struct gsm48_hdr *hdr, size_t size, - struct bsc_filter_request *req, - int *con_type, char **imsi, - struct bsc_filter_reject_cause *cause); -int bsc_msg_filter_data(struct gsm48_hdr *hdr, size_t size, - struct bsc_filter_request *req, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause); - -/* IMSI allow/deny handling */ -struct bsc_msg_acc_lst *bsc_msg_acc_lst_find(struct llist_head *lst, const char *name); -struct bsc_msg_acc_lst *bsc_msg_acc_lst_get(void *ctx, struct llist_head *lst, const char *name); -void bsc_msg_acc_lst_delete(struct bsc_msg_acc_lst *lst); - -struct bsc_msg_acc_lst_entry *bsc_msg_acc_lst_entry_create(struct bsc_msg_acc_lst *); -int bsc_msg_acc_lst_check_allow(struct bsc_msg_acc_lst *lst, const char *imsi); - -void bsc_msg_acc_lst_vty_init(void *ctx, struct llist_head *lst, int node); -void bsc_msg_acc_lst_write(struct vty *vty); diff --git a/include/osmocom/bsc/gsm_04_08_rr.h b/include/osmocom/bsc/gsm_04_08_rr.h index f0c0f42..06cefa9 100644 --- a/include/osmocom/bsc/gsm_04_08_rr.h +++ b/include/osmocom/bsc/gsm_04_08_rr.h @@ -1,6 +1,7 @@ #pragma once #include +#include struct amr_mode; struct amr_multirate_conf; @@ -11,7 +12,6 @@ struct gsm_meas_rep; struct gsm_network; struct gsm_subscriber_connection; -struct msgb; void gsm_net_update_ctype(struct gsm_network *network); enum gsm_chan_t get_ctype_by_chreq(struct gsm_network *network, uint8_t ra); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index a2e103d..e6a7708 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -265,9 +264,6 @@ /* state related to welcome USSD */ uint8_t new_subscriber; - /* state related to osmo_bsc_filter.c */ - struct bsc_filter_state filter_state; - /* SCCP connection associatd with this subscriber_connection */ struct { /* for advanced ping/pong */ diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index 163e494..8999a2e 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -2,8 +2,6 @@ #include -#include - #define BSS_SEND_USSD 1 enum bsc_con { @@ -13,6 +11,7 @@ BSC_CON_NO_MEM, }; +struct msgb; struct bsc_msc_data; struct gsm0808_channel_type; struct gsm0808_speech_codec_list; diff --git a/src/Makefile.am b/src/Makefile.am index 62ae4dd..43b00b2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -20,7 +20,6 @@ $(NULL) SUBDIRS = \ - libfilter \ osmo-bsc \ utils \ $(NULL) diff --git a/src/libfilter/Makefile.am b/src/libfilter/Makefile.am deleted file mode 100644 index 8b0597b..0000000 --- a/src/libfilter/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -AM_CPPFLAGS = \ - $(all_includes) \ - -I$(top_srcdir)/include \ - -I$(top_builddir) \ - $(NULL) - -AM_CFLAGS = \ - -Wall \ - $(LIBOSMOCORE_CFLAGS) \ - $(LIBOSMOGSM_CFLAGS) \ - $(LIBOSMOVTY_CFLAGS) \ - $(LIBOSMOABIS_CFLAGS) \ - $(LIBOSMOSIGTRAN_CFLAGS) \ - $(LIBOSMOLEGACYMGCP_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - $(NULL) - -noinst_LIBRARIES = \ - libfilter.a \ - $(NULL) - -libfilter_a_SOURCES = \ - bsc_msg_filter.c \ - bsc_msg_acc.c \ - bsc_msg_vty.c \ - $(NULL) - diff --git a/src/libfilter/bsc_msg_acc.c b/src/libfilter/bsc_msg_acc.c deleted file mode 100644 index 8853dbb..0000000 --- a/src/libfilter/bsc_msg_acc.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2011 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include - -#include - -#include -#include - -#include - -static const struct rate_ctr_desc acc_list_ctr_description[] = { - [ACC_LIST_LOCAL_FILTER] = { "access-list:local-filter", "Rejected by rule for local"}, - [ACC_LIST_GLOBAL_FILTER]= { "access-list:global-filter", "Rejected by rule for global"}, -}; - -static const struct rate_ctr_group_desc bsc_cfg_acc_list_desc = { - .group_name_prefix = "nat:filter", - .group_description = "NAT Access-List Statistics", - .num_ctr = ARRAY_SIZE(acc_list_ctr_description), - .ctr_desc = acc_list_ctr_description, - .class_id = OSMO_STATS_CLASS_GLOBAL, -}; - -/*! Find an unused index for this rate counter group. - * \param[in] head List of allocated ctr groups of the same type - * \returns the largest used index number + 1, or 0 if none exist yet. */ -static unsigned int rate_ctr_get_unused_idx(struct llist_head *head) -{ - unsigned int idx = 0; - struct bsc_msg_acc_lst *lst; - - llist_for_each_entry(lst, head, list) { - if (idx <= lst->stats->idx) - idx = lst->stats->idx + 1; - } - return idx; -} - - -int bsc_msg_acc_lst_check_allow(struct bsc_msg_acc_lst *lst, const char *mi_string) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (!entry->imsi_allow) - continue; - if (regexec(&entry->imsi_allow_re, mi_string, 0, NULL, 0) == 0) - return 0; - } - - return 1; -} - -struct bsc_msg_acc_lst *bsc_msg_acc_lst_find(struct llist_head *head, const char *name) -{ - struct bsc_msg_acc_lst *lst; - - if (!name) - return NULL; - - llist_for_each_entry(lst, head, list) - if (strcmp(lst->name, name) == 0) - return lst; - - return NULL; -} - -struct bsc_msg_acc_lst *bsc_msg_acc_lst_get(void *ctx, struct llist_head *head, const char *name) -{ - struct bsc_msg_acc_lst *lst; - unsigned int new_idx; - - lst = bsc_msg_acc_lst_find(head, name); - if (lst) - return lst; - - lst = talloc_zero(ctx, struct bsc_msg_acc_lst); - if (!lst) { - LOGP(DFILTER, LOGL_ERROR, "Failed to allocate access list\n"); - return NULL; - } - - new_idx = rate_ctr_get_unused_idx(head); - lst->stats = rate_ctr_group_alloc(lst, &bsc_cfg_acc_list_desc, new_idx); - if (!lst->stats) { - talloc_free(lst); - return NULL; - } - - INIT_LLIST_HEAD(&lst->fltr_list); - lst->name = talloc_strdup(lst, name); - llist_add_tail(&lst->list, head); - return lst; -} - -void bsc_msg_acc_lst_delete(struct bsc_msg_acc_lst *lst) -{ - llist_del(&lst->list); - rate_ctr_group_free(lst->stats); - talloc_free(lst); -} - -struct bsc_msg_acc_lst_entry *bsc_msg_acc_lst_entry_create(struct bsc_msg_acc_lst *lst) -{ - struct bsc_msg_acc_lst_entry *entry; - - entry = talloc_zero(lst, struct bsc_msg_acc_lst_entry); - if (!entry) - return NULL; - - entry->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - entry->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - llist_add_tail(&entry->list, &lst->fltr_list); - return entry; -} - diff --git a/src/libfilter/bsc_msg_filter.c b/src/libfilter/bsc_msg_filter.c deleted file mode 100644 index 1318689..0000000 --- a/src/libfilter/bsc_msg_filter.c +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Access filtering - */ -/* - * (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2012 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -static int bsc_filter_barr_find(struct rb_root *root, const char *imsi, int *cm, int *lu) -{ - struct bsc_filter_barr_entry *n; - n = rb_entry(root->rb_node, struct bsc_filter_barr_entry, node); - - while (n) { - int rc = strcmp(imsi, n->imsi); - if (rc == 0) { - *cm = n->cm_reject_cause; - *lu = n->lu_reject_cause; - return 1; - } - - n = rb_entry( - (rc < 0) ? n->node.rb_left : n->node.rb_right, - struct bsc_filter_barr_entry, node); - }; - - return 0; -} - - -static int lst_check_deny(struct bsc_msg_acc_lst *lst, const char *mi_string, - int *cm_cause, int *lu_cause) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (!entry->imsi_deny) - continue; - if (regexec(&entry->imsi_deny_re, mi_string, 0, NULL, 0) == 0) { - *cm_cause = entry->cm_reject_cause; - *lu_cause = entry->lu_reject_cause; - return 0; - } - } - - return 1; -} - -/* apply white/black list */ -static int auth_imsi(struct bsc_filter_request *req, - const char *imsi, - struct bsc_filter_reject_cause *cause) -{ - /* - * Now apply blacklist/whitelist of the BSC and the NAT. - * 1.) Check the global IMSI barr list - * 2.) Allow directly if the IMSI is allowed at the BSC - * 3.) Reject if the IMSI is not allowed at the BSC - * 4.) Allow directly if the IMSI is allowed at the global level - * 5.) Reject if the IMSI not allowed at the global level. - */ - int cm, lu; - struct bsc_msg_acc_lst *nat_lst = NULL; - struct bsc_msg_acc_lst *bsc_lst = NULL; - - /* 1. global check for barred imsis */ - if (req->black_list && bsc_filter_barr_find(req->black_list, imsi, &cm, &lu)) { - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - LOGP(DFILTER, LOGL_DEBUG, - "Blocking subscriber IMSI %s with CM: %d LU: %d\n", - imsi, cm, lu); - return -4; - } - - - bsc_lst = bsc_msg_acc_lst_find(req->access_lists, req->local_lst_name); - nat_lst = bsc_msg_acc_lst_find(req->access_lists, req->global_lst_name); - - - if (bsc_lst) { - /* 2. BSC allow */ - if (bsc_msg_acc_lst_check_allow(bsc_lst, imsi) == 0) - return 1; - - /* 3. BSC deny */ - if (lst_check_deny(bsc_lst, imsi, &cm, &lu) == 0) { - LOGP(DFILTER, LOGL_ERROR, - "Filtering %s by imsi_deny on config nr: %d.\n", imsi, req->bsc_nr); - rate_ctr_inc(&bsc_lst->stats->ctr[ACC_LIST_LOCAL_FILTER]); - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - return -2; - } - - } - - if (nat_lst) { - /* 4. global allow */ - if (bsc_msg_acc_lst_check_allow(nat_lst, imsi) == 0) - return 1; - - /* 5. global deny */ - if (lst_check_deny(nat_lst, imsi, &cm, &lu) == 0) { - LOGP(DFILTER, LOGL_ERROR, - "Filtering %s global imsi_deny on bsc nr: %d.\n", imsi, req->bsc_nr); - rate_ctr_inc(&nat_lst->stats->ctr[ACC_LIST_GLOBAL_FILTER]); - cause->cm_reject_cause = cm; - cause->lu_reject_cause = lu; - return -3; - } - } - - return 1; -} - -static int _cr_check_loc_upd(void *ctx, - uint8_t *data, unsigned int length, - char **imsi) -{ - uint8_t mi_type; - struct gsm48_loc_upd_req *lu; - char mi_string[GSM48_MI_SIZE]; - - if (length < sizeof(*lu)) { - LOGP(DFILTER, LOGL_ERROR, - "LU does not fit. Length is %d \n", length); - return -1; - } - - lu = (struct gsm48_loc_upd_req *) data; - mi_type = lu->mi[0] & GSM_MI_TYPE_MASK; - - /* - * We can only deal with the IMSI. This will fail for a phone that - * will send the TMSI of a previous network to us. - */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - gsm48_mi_to_string(mi_string, sizeof(mi_string), lu->mi, lu->mi_len); - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _cr_check_cm_serv_req(void *ctx, - uint8_t *data, unsigned int length, - int *con_type, char **imsi) -{ - static const uint32_t classmark_offset = - offsetof(struct gsm48_service_request, classmark); - - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - int rc; - struct gsm48_service_request *req; - - /* unfortunately in Phase1 the classmark2 length is variable */ - - if (length < sizeof(*req)) { - LOGP(DFILTER, LOGL_ERROR, - "CM Serv Req does not fit. Length is %d\n", length); - return -1; - } - - req = (struct gsm48_service_request *) data; - if (req->cm_service_type == 0x8) - *con_type = FLT_CON_TYPE_SSA; - rc = gsm48_extract_mi((uint8_t *) &req->classmark, - length - classmark_offset, mi_string, &mi_type); - if (rc < 0) { - LOGP(DFILTER, LOGL_ERROR, "Failed to parse the classmark2/mi. error: %d\n", rc); - return -1; - } - - /* we have to let the TMSI or such pass */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _cr_check_pag_resp(void *ctx, - uint8_t *data, unsigned int length, char **imsi) -{ - struct gsm48_pag_resp *resp; - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - - if (length < sizeof(*resp)) { - LOGP(DFILTER, LOGL_ERROR, "PAG RESP does not fit. Length was %d.\n", length); - return -1; - } - - resp = (struct gsm48_pag_resp *) data; - if (gsm48_paging_extract_mi(resp, length, mi_string, &mi_type) < 0) { - LOGP(DFILTER, LOGL_ERROR, "Failed to extract the MI.\n"); - return -1; - } - - /* we need to let it pass for now */ - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - *imsi = talloc_strdup(ctx, mi_string); - return 1; -} - -static int _dt_check_id_resp(struct bsc_filter_request *req, - uint8_t *data, unsigned int length, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause) -{ - char mi_string[GSM48_MI_SIZE]; - uint8_t mi_type; - - if (length < 2) { - LOGP(DFILTER, LOGL_ERROR, "mi does not fit.\n"); - return -1; - } - - if (data[0] < length - 1) { - LOGP(DFILTER, LOGL_ERROR, "mi length too big.\n"); - return -2; - } - - mi_type = data[1] & GSM_MI_TYPE_MASK; - gsm48_mi_to_string(mi_string, sizeof(mi_string), &data[1], data[0]); - - if (mi_type != GSM_MI_TYPE_IMSI) - return 0; - - state->imsi_checked = 1; - state->imsi = talloc_strdup(req->ctx, mi_string); - return auth_imsi(req, mi_string, cause); -} - - -/* Filter out CR data... */ -int bsc_msg_filter_initial(struct gsm48_hdr *hdr48, size_t hdr48_len, - struct bsc_filter_request *req, - int *con_type, - char **imsi, struct bsc_filter_reject_cause *cause) -{ - int ret = 0; - uint8_t msg_type, proto; - - *con_type = FLT_CON_TYPE_NONE; - cause->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - cause->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - *imsi = NULL; - - proto = gsm48_hdr_pdisc(hdr48); - msg_type = gsm48_hdr_msg_type(hdr48); - if (proto == GSM48_PDISC_MM && - msg_type == GSM48_MT_MM_LOC_UPD_REQUEST) { - *con_type = FLT_CON_TYPE_LU; - ret = _cr_check_loc_upd(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), imsi); - } else if (proto == GSM48_PDISC_MM && - msg_type == GSM48_MT_MM_CM_SERV_REQ) { - *con_type = FLT_CON_TYPE_CM_SERV_REQ; - ret = _cr_check_cm_serv_req(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), - con_type, imsi); - } else if (proto == GSM48_PDISC_RR && - msg_type == GSM48_MT_RR_PAG_RESP) { - *con_type = FLT_CON_TYPE_PAG_RESP; - ret = _cr_check_pag_resp(req->ctx, &hdr48->data[0], - hdr48_len - sizeof(*hdr48), imsi); - } else { - /* We only want to filter the above, let other things pass */ - *con_type = FLT_CON_TYPE_OTHER; - return 0; - } - - /* check if we are done */ - if (ret != 1) - return ret; - - /* the memory allocation failed */ - if (!*imsi) - return -1; - - /* now check the imsi */ - return auth_imsi(req, *imsi, cause); -} - -int bsc_msg_filter_data(struct gsm48_hdr *hdr48, size_t len, - struct bsc_filter_request *req, - struct bsc_filter_state *state, - struct bsc_filter_reject_cause *cause) -{ - uint8_t msg_type, proto; - - cause->cm_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - cause->lu_reject_cause = GSM48_REJECT_PLMN_NOT_ALLOWED; - - if (state->imsi_checked) - return 0; - - proto = gsm48_hdr_pdisc(hdr48); - msg_type = gsm48_hdr_msg_type(hdr48); - if (proto != GSM48_PDISC_MM || msg_type != GSM48_MT_MM_ID_RESP) - return 0; - - return _dt_check_id_resp(req, &hdr48->data[0], - len - sizeof(*hdr48), state, cause); -} diff --git a/src/libfilter/bsc_msg_vty.c b/src/libfilter/bsc_msg_vty.c deleted file mode 100644 index b26f4f1..0000000 --- a/src/libfilter/bsc_msg_vty.c +++ /dev/null @@ -1,149 +0,0 @@ -/* (C) 2010-2015 by Holger Hans Peter Freyther - * (C) 2010-2013 by On-Waves - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#include - -static struct llist_head *_acc_lst; -static void *_ctx; - -static void bsc_msg_acc_lst_write_one(struct vty *vty, struct bsc_msg_acc_lst *lst) -{ - struct bsc_msg_acc_lst_entry *entry; - - llist_for_each_entry(entry, &lst->fltr_list, list) { - if (entry->imsi_allow) - vty_out(vty, " access-list %s imsi-allow %s%s", - lst->name, entry->imsi_allow, VTY_NEWLINE); - if (entry->imsi_deny) - vty_out(vty, " access-list %s imsi-deny %s %d %d%s", - lst->name, entry->imsi_deny, - entry->cm_reject_cause, entry->lu_reject_cause, - VTY_NEWLINE); - } -} - -DEFUN(cfg_lst_no, - cfg_lst_no_cmd, - "no access-list NAME", - NO_STR "Remove an access-list by name\n" - "The access-list to remove\n") -{ - struct bsc_msg_acc_lst *acc; - acc = bsc_msg_acc_lst_find(_acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - bsc_msg_acc_lst_delete(acc); - return CMD_SUCCESS; -} - -DEFUN(show_acc_lst, - show_acc_lst_cmd, - "show access-list NAME", - SHOW_STR "IMSI access list\n" "Name of the access list\n") -{ - struct bsc_msg_acc_lst *acc; - acc = bsc_msg_acc_lst_find(_acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - vty_out(vty, "access-list %s%s", acc->name, VTY_NEWLINE); - bsc_msg_acc_lst_write_one(vty, acc); - vty_out_rate_ctr_group(vty, " ", acc->stats); - - return CMD_SUCCESS; -} - -DEFUN(cfg_lst_imsi_allow, - cfg_lst_imsi_allow_cmd, - "access-list NAME imsi-allow [REGEXP]", - "Access list commands\n" - "Name of the access list\n" - "Add allowed IMSI to the list\n" - "Regexp for IMSIs\n") -{ - struct bsc_msg_acc_lst *acc; - struct bsc_msg_acc_lst_entry *entry; - - acc = bsc_msg_acc_lst_get(_ctx, _acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - entry = bsc_msg_acc_lst_entry_create(acc); - if (!entry) - return CMD_WARNING; - - if (gsm_parse_reg(acc, &entry->imsi_allow_re, &entry->imsi_allow, argc - 1, &argv[1]) != 0) - return CMD_WARNING; - return CMD_SUCCESS; -} - -DEFUN(cfg_lst_imsi_deny, - cfg_lst_imsi_deny_cmd, - "access-list NAME imsi-deny [REGEXP] (<0-256>) (<0-256>)", - "Access list commands\n" - "Name of the access list\n" - "Add denied IMSI to the list\n" - "Regexp for IMSIs\n" - "CM Service Reject reason\n" - "LU Reject reason\n") -{ - struct bsc_msg_acc_lst *acc; - struct bsc_msg_acc_lst_entry *entry; - - acc = bsc_msg_acc_lst_get(_ctx, _acc_lst, argv[0]); - if (!acc) - return CMD_WARNING; - - entry = bsc_msg_acc_lst_entry_create(acc); - if (!entry) - return CMD_WARNING; - - if (gsm_parse_reg(acc, &entry->imsi_deny_re, &entry->imsi_deny, argc - 1, &argv[1]) != 0) - return CMD_WARNING; - if (argc >= 3) - entry->cm_reject_cause = atoi(argv[2]); - if (argc >= 4) - entry->lu_reject_cause = atoi(argv[3]); - return CMD_SUCCESS; -} - -void bsc_msg_acc_lst_write(struct vty *vty) -{ - struct bsc_msg_acc_lst *lst; - llist_for_each_entry(lst, _acc_lst, list) { - bsc_msg_acc_lst_write_one(vty, lst); - } -} - -void bsc_msg_acc_lst_vty_init(void *ctx, struct llist_head *lst, int node) -{ - _ctx = ctx; - _acc_lst = lst; - install_element_ve(&show_acc_lst_cmd); - - /* access-list */ - install_element(node, &cfg_lst_imsi_allow_cmd); - install_element(node, &cfg_lst_imsi_deny_cmd); - install_element(node, &cfg_lst_no_cmd); -} diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 51d8875..6009e1d 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -94,7 +94,6 @@ $(NULL) osmo_bsc_LDADD = \ - $(top_builddir)/src/libfilter/libfilter.a \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOVTY_LIBS) \ diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 8a4b1c5..030808b 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -58,70 +58,6 @@ static bool complete_layer3(struct gsm_subscriber_connection *conn, struct msgb *msg, struct bsc_msc_data *msc); -static void bsc_maybe_lu_reject(struct gsm_subscriber_connection *conn, int con_type, int cause) -{ - struct msgb *msg; - - /* ignore cm service request or such */ - if (con_type != FLT_CON_TYPE_LU) - return; - - msg = gsm48_create_loc_upd_rej(cause); - if (!msg) { - LOGP(DMM, LOGL_ERROR, "Failed to create msg for LOCATION UPDATING REJECT.\n"); - return; - } - - msg->lchan = conn->lchan; - gscon_submit_rsl_dtap(conn, msg, 0, 0); -} - -static int bsc_filter_initial(struct osmo_bsc_data *bsc, - struct bsc_msc_data *msc, - struct gsm_subscriber_connection *conn, - struct msgb *msg, char **imsi, int *con_type, - int *lu_cause) -{ - struct bsc_filter_request req; - struct bsc_filter_reject_cause cause; - struct gsm48_hdr *gh = msgb_l3(msg); - int rc; - - req.ctx = conn; - req.black_list = NULL; - req.access_lists = bsc_access_lists(); - req.local_lst_name = msc->acc_lst_name; - req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; - req.bsc_nr = 0; - - rc = bsc_msg_filter_initial(gh, msgb_l3len(msg), &req, - con_type, imsi, &cause); - *lu_cause = cause.lu_reject_cause; - return rc; -} - -static int bsc_filter_data(struct gsm_subscriber_connection *conn, - struct msgb *msg, int *lu_cause) -{ - struct bsc_filter_request req; - struct gsm48_hdr *gh = msgb_l3(msg); - struct bsc_filter_reject_cause cause; - int rc; - - req.ctx = conn; - req.black_list = NULL; - req.access_lists = bsc_access_lists(); - req.local_lst_name = conn->sccp.msc->acc_lst_name; - req.global_lst_name = conn_get_bts(conn)->network->bsc_data->acc_lst_name; - req.bsc_nr = 0; - - rc = bsc_msg_filter_data(gh, msgb_l3len(msg), &req, - &conn->filter_state, - &cause); - *lu_cause = cause.lu_reject_cause; - return rc; -} - /*! BTS->MSC: tell MSC a SAPI was not established. */ void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) { @@ -489,22 +425,12 @@ static bool complete_layer3(struct gsm_subscriber_connection *conn, struct msgb *msg, struct bsc_msc_data *msc) { - int con_type, rc, lu_cause; - char *imsi = NULL; struct msgb *resp; enum bsc_con ret; struct gsm0808_speech_codec_list scl; log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - /* Check the filter */ - rc = bsc_filter_initial(msc->network->bsc_data, msc, conn, msg, - &imsi, &con_type, &lu_cause); - if (rc < 0) { - bsc_maybe_lu_reject(conn, con_type, lu_cause); - goto early_fail; - } - /* allocate resource for a new connection */ ret = osmo_bsc_sigtran_new_conn(conn, msc); @@ -517,28 +443,6 @@ goto early_fail; } - /* TODO: also extract TMSI. We get an IMSI only when an initial L3 Complete comes in that - * contains an IMSI. We filter by IMSI. A TMSI identity is never returned here, see e.g. - * _cr_check_loc_upd() and other similar functions called from bsc_msg_filter_initial(). */ - if (imsi) { - conn->filter_state.imsi = talloc_steal(conn, imsi); - if (conn->bsub) { - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - /* Already a subscriber on L3 Complete? Should never happen... */ - if (conn->bsub->imsi[0] - && strcmp(conn->bsub->imsi, imsi)) - LOGP(DMSC, LOGL_ERROR, "Subscriber's IMSI changes from %s to %s\n", - conn->bsub->imsi, imsi); - bsc_subscr_set_imsi(conn->bsub, imsi); - } else { - conn->bsub = bsc_subscr_find_or_create_by_imsi(msc->network->bsc_subscribers, - imsi); - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); - } - gscon_update_id(conn); - } - conn->filter_state.con_type = con_type; - /* check return value, if failed check msg for and send USSD */ bsc_scan_bts_msg(conn, msg); @@ -664,8 +568,6 @@ /*! MS->BSC/MSC: Um L3 message. */ void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) { - int lu_cause; - log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); if (!msc_connected(conn)) @@ -680,15 +582,6 @@ if (handle_cc_setup(conn, msg) >= 1) goto done; - /* Check the filter */ - if (bsc_filter_data(conn, msg, &lu_cause) < 0) { - bsc_maybe_lu_reject(conn, - conn->filter_state.con_type, - lu_cause); - bsc_clear_request(conn, 0); - goto done; - } - bsc_scan_bts_msg(conn, msg); /* Store link_id in msg->cb */ diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index ad5a3a9..42d05b1 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -84,12 +84,6 @@ static const char *config_file = "osmo-bsc.cfg"; static const char *rf_ctrl = NULL; static int daemonize = 0; -static LLIST_HEAD(access_lists); - -struct llist_head *bsc_access_lists(void) -{ - return &access_lists; -} static void print_usage() { @@ -841,7 +835,6 @@ /* This needs to precede handle_options() */ vty_init(&vty_info); bsc_vty_init(bsc_gsmnet); - bsc_msg_acc_lst_vty_init(tall_bsc_ctx, &access_lists, BSC_NODE); ctrl_vty_init(tall_bsc_ctx); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "cc"); logging_vty_add_deprecated_subsys(tall_bsc_ctx, "mgcp"); diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 7174de1..cf995cc 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include @@ -161,9 +160,6 @@ if (msc->local_pref) vty_out(vty, " local-prefix %s%s", msc->local_pref, VTY_NEWLINE); - if (msc->acc_lst_name) - vty_out(vty, " access-list-name %s%s", msc->acc_lst_name, VTY_NEWLINE); - /* write amr options */ write_msc_amr_options(vty, msc); @@ -232,10 +228,6 @@ vty_out(vty, " missing-msc-text %s%s", bsc->ussd_no_msc_txt, VTY_NEWLINE); else vty_out(vty, " no missing-msc-text%s", VTY_NEWLINE); - if (bsc->acc_lst_name) - vty_out(vty, " access-list-name %s%s", bsc->acc_lst_name, VTY_NEWLINE); - - bsc_msg_acc_lst_write(vty); return CMD_SUCCESS; } @@ -528,33 +520,6 @@ AMR_COMMAND(5_15) AMR_COMMAND(4_75) -DEFUN(cfg_msc_acc_lst_name, - cfg_msc_acc_lst_name_cmd, - "access-list-name NAME", - "Set the name of the access list to use.\n" - "The name of the to be used access list.\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - osmo_talloc_replace_string(msc, &msc->acc_lst_name, argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_msc_no_acc_lst_name, - cfg_msc_no_acc_lst_name_cmd, - "no access-list-name", - NO_STR "Remove the access list from the NAT.\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - if (msc->acc_lst_name) { - talloc_free(msc->acc_lst_name); - msc->acc_lst_name = NULL; - } - - return CMD_SUCCESS; -} - /* Make sure only standard SSN numbers are used. If no ssn number is * configured, silently apply the default SSN */ static void enforce_standard_ssn(struct vty *vty, struct osmo_sccp_addr *addr) @@ -781,33 +746,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_bsc_acc_lst_name, - cfg_bsc_acc_lst_name_cmd, - "access-list-name NAME", - "Set the name of the access list to use.\n" - "The name of the to be used access list.\n") -{ - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - - osmo_talloc_replace_string(bsc, &bsc->acc_lst_name, argv[0]); - return CMD_SUCCESS; -} - -DEFUN(cfg_bsc_no_acc_lst_name, - cfg_bsc_no_acc_lst_name_cmd, - "no access-list-name", - NO_STR "Remove the access list from the BSC\n") -{ - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - - if (bsc->acc_lst_name) { - talloc_free(bsc->acc_lst_name); - bsc->acc_lst_name = NULL; - } - - return CMD_SUCCESS; -} - DEFUN(show_statistics, show_statistics_cmd, "show statistics", @@ -1005,8 +943,6 @@ install_element(BSC_NODE, &cfg_net_no_rf_off_time_cmd); install_element(BSC_NODE, &cfg_net_bsc_missing_msc_ussd_cmd); install_element(BSC_NODE, &cfg_net_bsc_no_missing_msc_text_cmd); - install_element(BSC_NODE, &cfg_bsc_acc_lst_name_cmd); - install_element(BSC_NODE, &cfg_bsc_no_acc_lst_name_cmd); install_node(&msc_node, config_write_msc); install_element(MSC_NODE, &cfg_net_bsc_ncc_cmd); @@ -1037,8 +973,6 @@ install_element(MSC_NODE, &cfg_net_msc_amr_octet_align_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mode_cmd); install_element(MSC_NODE, &cfg_net_msc_lcls_mismtch_cmd); - install_element(MSC_NODE, &cfg_msc_acc_lst_name_cmd); - install_element(MSC_NODE, &cfg_msc_no_acc_lst_name_cmd); install_element(MSC_NODE, &cfg_msc_cs7_bsc_addr_cmd); install_element(MSC_NODE, &cfg_msc_cs7_msc_addr_cmd); install_element(MSC_NODE, &cfg_msc_cs7_asp_proto_cmd); diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 8bd0012..901d523 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -41,8 +41,6 @@ $(NULL) handover_test_LDADD = \ - $(top_builddir)/src/libfilter/bsc_msg_acc.o \ - $(top_builddir)/src/libfilter/bsc_msg_vty.o \ $(top_builddir)/src/osmo-bsc/a_reset.o \ $(top_builddir)/src/osmo-bsc/abis_nm.o \ $(top_builddir)/src/osmo-bsc/abis_nm_vty.o \ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89727af5387e8360362e995fdee959883c37d89a Gerrit-Change-Number: 18495 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 14:40:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 14:40:43 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 1: I'm also curious about laforge's opinion here. This code does MSC tasks in the BSC, and I fail to see how it is useful. If no MSC is connected, the MS will not be able to attach, and will report that to the user in the phone OS specific way / try another PLMN. If we accept service and send USSD, the phone is tricked into thinking that it got accepted and will no longer cycle other operators. I consider that a bad anti feature. If an MS is attached and the MSC then drops away after that, this feature doesn't help either, since the BSC does not track who is attached. MS will notice only with their next Complete Layer 3, with or without this code. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 14:40:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 15:28:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 15:28:25 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 to look at the new patch set (#2). Change subject: drop all BSC originated USSD notification features ...................................................................... drop all BSC originated USSD notification features The BSC is the wrong network component to originate USSD messaging, as can be seen in the hacks in the USSD code: for example, the BSC would send a CM Service Accept message as if an MSC had accepted the connection, dispatch a USSD and directly send some RR release message (without proper tear down messaging like the lchan_fsm does these days). This made sense in the osmo-nitb world, but by now we are aiming for solid 3GPP compliance. The BSC shall not originate USSD messages. Deprecate all VTY and CTRL commands related to USSD: VTY [no] bsc-welcome-text [no] bsc-msc-lost-text [no] bsc-grace-text [no] missing-msc-text (the commands with 'no' are ignored, without 'no' lead to an error) CTRL ussd-notify-v1 Drop (already unused) ussd.h. Drop gsm_04_80.h, gsm_04_80_utils.c, and all calling code. Drop "RF grace" notification, where osmo-bsc was able to notify active subscribers that the RF was being turned off. Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h D include/osmocom/bsc/gsm_04_80.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc.h D include/osmocom/bsc/ussd.h M src/osmo-bsc/Makefile.am D src/osmo-bsc/gsm_04_80_utils.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_ctrl.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_grace.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/osmo_bsc_vty.c M tests/bsc/bsc_test.c M tests/codec_pref/codec_pref_test.c M tests/handover/Makefile.am M tests/vty_test_runner.py 20 files changed, 28 insertions(+), 543 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/18498/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 15:28:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 15:28:25 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 to look at the new patch set (#2). Change subject: drop MSC types "local" vs "normal" ...................................................................... drop MSC types "local" vs "normal" Another legacy feature. All that this setting effectively does is prevent MSCs from being contacted for non-emergency calls. To select which MSCs shall handle emergency calls, there is the allow_emerg flag. Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 5 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18499/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 15:28:27 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 27 May 2020 15:28:27 +0000 Subject: Change in osmo-bsc[master]: doc/examples: remove deprecated ussd text config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18520 ) Change subject: doc/examples: remove deprecated ussd text config ...................................................................... doc/examples: remove deprecated ussd text config Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 --- M doc/examples/osmo-bsc/osmo-bsc.cfg 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/20/18520/1 diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg index f814788..57000ae 100644 --- a/doc/examples/osmo-bsc/osmo-bsc.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc.cfg @@ -72,9 +72,6 @@ phys_chan_config TCH/F hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text type normal allow-emergency allow amr-config 12_2k forbidden @@ -91,4 +88,3 @@ mgw endpoint-range 1 31 bsc mid-call-timeout 0 - no missing-msc-text -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 Gerrit-Change-Number: 18520 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 ) Change subject: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields ...................................................................... library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Related: OS#4546 --- M library/GSM_RR_Types.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/21/18521/1 diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index ec9b3cc..4b460b1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -182,6 +182,8 @@ }; type record MaioHsn { + uint6_t maio, + uint6_t hsn } with { variant "" }; /* TS 24.008 10.5.1.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Gerrit-Change-Number: 18521 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: mark c_MA_null as private References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 ) Change subject: bts/BTS_Tests: cosmetic: mark c_MA_null as private ...................................................................... bts/BTS_Tests: cosmetic: mark c_MA_null as private Change-Id: I49d231395a6ae3a582c9719eaa5244daac32e020 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/22/18522/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 7d211de..aefab09 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3152,7 +3152,7 @@ /*********************************************************************** * Immediate Assignment / AGCH ***********************************************************************/ -const MobileAllocation c_MA_null := { +private const MobileAllocation c_MA_null := { len := 0, ma := ''B } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I49d231395a6ae3a582c9719eaa5244daac32e020 Gerrit-Change-Number: 18522 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: derive ts_ChanDesc{H0, H1} from ts_ChanDesc References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 ) Change subject: bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc ...................................................................... bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Related: OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 12 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/23/18523/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index aefab09..f20a29b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3157,8 +3157,8 @@ ma := ''B } -template (value) ChannelDescription ts_ChanDesc(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, - uint12_t arfcn := 871) := { +template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, + uint12_t arfcn := 871) := { chan_nr := chan_nr, tsc := tsc, h := false, @@ -3166,6 +3166,15 @@ maio_hsn := omit } +template (value) ChannelDescription ts_ChanDescH1(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, + template (value) MaioHsn maio_hsn) := { + chan_nr := chan_nr, + tsc := tsc, + h := true, + arfcn := omit, + maio_hsn := maio_hsn +} + private function f_fmt_ia_stats(integer num_tx, integer num_rx, integer num_del) return charstring { return int2str(num_tx) & " sent, " & int2str(num_rx) & " received, " @@ -3186,7 +3195,7 @@ f_l1_tune(L1CTL); for (var integer i := 0; i < num_total; i := i+1) { - var ChannelDescription ch_desc := valueof(ts_ChanDesc(valueof(t_RslChanNr_SDCCH4(0, 0)))); + var ChannelDescription ch_desc := valueof(ts_ChanDescH0(valueof(t_RslChanNr_SDCCH4(0, 0)))); var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null)); var octetstring ia_enc := enc_GsmRrMessage(ia); RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Gerrit-Change-Number: 18523 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 ) Change subject: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 ...................................................................... bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 Change-Id: I07a91b6517d2f19e127d36d79e6d2136bd2c29bb --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/18524/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index f20a29b..6811e38 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3158,7 +3158,7 @@ } template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, - uint12_t arfcn := 871) := { + uint12_t arfcn := mp_trx0_arfcn) := { chan_nr := chan_nr, tsc := tsc, h := false, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07a91b6517d2f19e127d36d79e6d2136bd2c29bb Gerrit-Change-Number: 18524 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 ) Change subject: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter ...................................................................... library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter Change-Id: I8aa7e41ab55af6be07e6926bf0a063418796bd1b --- M library/L1CTL_PortType.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/18525/1 diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index c595b03..e36ccab 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -206,7 +206,7 @@ } /* Send DM_EST_REQ from parameters derived from IMM ASS */ - function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass) { + function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, in ImmediateAssignment imm_ass) { f_L1CTL_DM_EST_REQ(pt, { false, imm_ass.chan_desc.arfcn }, imm_ass.chan_desc.chan_nr, imm_ass.chan_desc.tsc); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8aa7e41ab55af6be07e6926bf0a063418796bd1b Gerrit-Change-Number: 18525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 ) Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... library/L1CTL_PortType: refactor L1CTL channel establishment - Get rid of f_L1CTL_DM_EST_REQ, it's not really needed. - Derive ts_L1CTL_DM_EST_REQ_H0 from ts_L1CTL_DM_EST_REQ. - Pass GsmArfcn directly to ts_L1CTL_DM_EST_REQ_H0. Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn M library/LAPDm_RAW_PT.ttcn 4 files changed, 26 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/18526/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6811e38..4c1c70c 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1093,7 +1093,7 @@ f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_ASYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1111,7 +1111,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_ASYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that DL SACCH is being received */ f_sacch_present(si5); @@ -1149,7 +1149,7 @@ f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1167,7 +1167,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1185,7 +1185,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1204,7 +1204,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that DL SACCH is being received */ f_sacch_present(si5); @@ -1538,7 +1538,7 @@ /* Switch the MS side (e.g. trxcon) to a dedicated channel without * waiting for Immediate Assignment and sending Access Burst */ - f_L1CTL_DM_EST_REQ(L1CTL, { false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Send handover Access Burst */ fn := f_L1CTL_RACH(L1CTL, ho_ref, chan_nr := g_pars.chan_nr); @@ -4312,9 +4312,7 @@ f_TC_pcu_act_req(0, 0, 7, true); /* Tune trxcon to that PDCH channel */ - L1CTL.send(ts_L1CTL_DM_EST_REQ(arfcn := { false, mp_trx0_arfcn }, - chan_nr := valueof(ts_RslChanNr_PDCH(7)), - tsc := 7)); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(valueof(ts_RslChanNr_PDCH(7)), 7, mp_trx0_arfcn)); /* Verify PTCCH/U: send several access bursts, make sure they're received */ for (var integer i := 0; i < 16; i := i + 1) { @@ -4575,8 +4573,7 @@ f_TC_pcu_act_req(0, 0, 7, true); /* Tune trxcon to that PDCH channel on TS7 */ - f_L1CTL_DM_EST_REQ(L1CTL, { false, mp_trx0_arfcn }, - valueof(ts_RslChanNr_PDCH(7)), 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(valueof(ts_RslChanNr_PDCH(7)), 7, mp_trx0_arfcn)); /* C/I in centiBels, test range: -256 .. +1280, step 128 */ for (var int16_t i := -256; i <= 1280; i := i + 128) { diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index e36ccab..69346c0 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -201,14 +201,11 @@ } T.stop; } - function f_L1CTL_DM_EST_REQ(L1CTL_PT pt, Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) { - pt.send(ts_L1CTL_DM_EST_REQ(arfcn, chan_nr, tsc)); - } /* Send DM_EST_REQ from parameters derived from IMM ASS */ function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, in ImmediateAssignment imm_ass) { - f_L1CTL_DM_EST_REQ(pt, { false, imm_ass.chan_desc.arfcn }, imm_ass.chan_desc.chan_nr, - imm_ass.chan_desc.tsc); + pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, imm_ass.chan_desc.tsc, + imm_ass.chan_desc.arfcn)); } /* Send DM_REL_REQ from parameters derived from IMM ASS */ diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index e939f72..fc58652 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -548,7 +548,8 @@ } } - template L1ctlUlMessage ts_L1CTL_DM_EST_REQ(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) := { + /* Base template to be inherited by ts_L1CTL_DM_EST_REQ_H0 and ts_L1CTL_DM_EST_REQ_H1 */ + private template L1ctlUlMessage ts_L1CTL_DM_EST_REQ(RslChannelNr chan_nr, GsmTsc tsc) := { header := ts_L1ctlHeader(L1CTL_DM_EST_REQ), ul_info := { chan_nr := chan_nr, @@ -560,15 +561,24 @@ payload := { dm_est_req := { tsc := tsc, - h := 0, - arfcn := arfcn, - hopping := omit, tch_mode := 0, audio_mode := t_L1CTL_AudioModeNone } } } + template L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H0(RslChannelNr chan_nr, GsmTsc tsc, + GsmArfcn arfcn) + modifies ts_L1CTL_DM_EST_REQ := { + payload := { + dm_est_req := { + h := 0, + arfcn := { false, arfcn }, + hopping := omit + } + } + } + template L1ctlUlMessage ts_L1CTL_DM_REL_REQ(RslChannelNr chan_nr) := { header := ts_L1ctlHeader(L1CTL_DM_REL_REQ), ul_info := { diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 75d18d9..394deab 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -246,7 +246,7 @@ set_ph_state(PH_STATE_TUNING_DCH); /* store/save channel description */ chan_desc.chan_nr := chan_nr; - f_L1CTL_DM_EST_REQ(L1CTL,arfcn, chan_nr, tsc); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(chan_nr, tsc, arfcn.arfcn)); set_ph_state(PH_STATE_DCH); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 ) Change subject: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) ...................................................................... library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16 Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 13 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/18527/1 diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index fc58652..83892fd 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -290,13 +290,23 @@ octetstring l2_payload } with { variant "" }; + type record length(0..64) of Arfcn L1ctlMA; type record L1ctlH1 { uint8_t hsn, uint8_t maio, uint8_t n, - OCT1 padding, - bitstring ma length(64) - } with { variant "" }; + OCT1 spare, + L1ctlMA ma, + octetstring padding + } with { + variant (n) "LENGTHTO(ma)" + variant (n) "UNIT(elements)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849. + * TL;DR The reference point of the PADDING attribute is the beginning + * of the message, not the beginning of the type/field it's applied on. + * Therefore we cannot use it here, and have to add padding manually. + * variant (ma) "PADDING(128)" */ + }; type record L1ctlDmEstReq { GsmTsc tsc, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16 Gerrit-Change-Number: 18527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 ) Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/18528/1 diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 83892fd..ba033dc 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -589,6 +589,26 @@ } } + template L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H1(RslChannelNr chan_nr, GsmTsc tsc, + uint6_t hsn, uint6_t maio, L1ctlMA ma) + modifies ts_L1CTL_DM_EST_REQ := { + payload := { + dm_est_req := { + h := 1, + arfcn := omit, + hopping := { + hsn := hsn, + maio := maio, + n := sizeof(ma), + spare := '00'O, + ma := ma, + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849 */ + padding := f_pad_oct(''O, (64 - sizeof(ma)) * 2, '00'O) + } + } + } + } + template L1ctlUlMessage ts_L1CTL_DM_REL_REQ(RslChannelNr chan_nr) := { header := ts_L1ctlHeader(L1CTL_DM_REL_REQ), ul_info := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 ) Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Related: OS#4546 --- M library/L1CTL_PortType.ttcn 1 file changed, 20 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18529/1 diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 69346c0..dba6042 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -203,9 +203,26 @@ } /* Send DM_EST_REQ from parameters derived from IMM ASS */ - function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, in ImmediateAssignment imm_ass) { - pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, imm_ass.chan_desc.tsc, - imm_ass.chan_desc.arfcn)); + function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, in ImmediateAssignment imm_ass, in L1ctlMA ma := {}) { + /* FIXME: handle Packet Channel Description */ + if (imm_ass.ded_or_tbf.tbf == true) { + setverdict(fail, "TBF assignment is not handled by ", __SCOPE__); + mtc.stop; + } + + /* Single channel or frequency hopping? */ + if (not imm_ass.chan_desc.h) { + pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.arfcn)); + } else { + /* TODO: handle Mobile Allocation IE */ + pt.send(ts_L1CTL_DM_EST_REQ_H1(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.maio_hsn.hsn, + imm_ass.chan_desc.maio_hsn.maio, + ma)); + } } /* Send DM_REL_REQ from parameters derived from IMM ASS */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: add frequency hopping parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 ) Change subject: bts/BTS_Tests: add frequency hopping parameters ...................................................................... bts/BTS_Tests: add frequency hopping parameters Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Related: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Related: OS#4546 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_perf.ttcn 2 files changed, 38 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/18530/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 4c1c70c..603d2e2 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -84,6 +84,9 @@ charstring mp_rsl_ip := "127.0.0.2"; integer mp_rsl_port := 3003; integer mp_trx0_arfcn := 871; + integer mp_trx1_arfcn := 873; + integer mp_trx2_arfcn := 875; + integer mp_trx3_arfcn := 877; charstring mp_bts_trxc_ip := "127.0.0.1"; integer mp_bts_trxc_port := 5701; charstring mp_pcu_socket := PCU_SOCK_DEFAULT; @@ -207,7 +210,14 @@ ConnL1Pars l1_pars, TestSpecUnion spec optional, RSL_IE_EncryptionInfo encr optional, - BtsBand bts0_band optional + BtsBand bts0_band optional, + + /* Frequency hopping parameters (disabled if absent) */ + MaioHsn maio_hsn optional, + /* MA bitmap to be indicated in RR Immediate Assignment */ + MobileAllocation ma_map, + /* The actual Mobile Allocation (ARFCN list) to be used */ + L1ctlMA ma } /* Test-specific parameters */ @@ -587,8 +597,13 @@ "RF CHAN REL", true); } +/* Default Mobile Allocation to be used for frequency hopping */ +private const L1ctlMA l1ctl_ma_def := { { false, mp_trx0_arfcn }, { false, mp_trx1_arfcn }, + { false, mp_trx2_arfcn }, { false, mp_trx3_arfcn } }; + friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, template RSL_IE_ChannelMode chan_mode, + template (omit) MaioHsn maio_hsn := omit, float t_guard := 20.0) := { chan_nr := valueof(chan_nr), chan_mode := valueof(chan_mode), @@ -613,7 +628,10 @@ }, spec := omit, encr := omit, - bts0_band := omit + bts0_band := omit, + maio_hsn := maio_hsn, + ma_map := c_MA_null, + ma := l1ctl_ma_def } /*********************************************************************** @@ -1906,6 +1924,7 @@ private function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies := {}) runs on ConnHdlr { var GsmFrameNumber fn; var ImmediateAssignment imm_ass; + var ChannelDescription ch_desc; var integer ra := 23; /* Send RACH request and wait for ChanReq */ @@ -1914,26 +1933,28 @@ /* Activate channel on BTS side */ f_rsl_chan_act(g_pars.chan_mode, encr_enable, more_ies); + /* Craft channel description (with or without frequency hopping parameters) */ + if (ispresent(g_pars.maio_hsn)) { + ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, maio_hsn := g_pars.maio_hsn)); + } else { + ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr)); + } + /* Send IMM.ASS via CCHAN */ - var ChannelDescription ch_desc := { - chan_nr := g_pars.chan_nr, - tsc := 7, - h := false, - arfcn := mp_trx0_arfcn, - maio_hsn := omit - }; - var MobileAllocation ma := { - len := 0, - ma := ''B - }; - var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, ma)); + var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.ma_map)); RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg))); /* receive IMM.ASS on MS side */ var ImmediateAssignment ia_um; ia_um := f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, fn); + + /* Make sure that IMM.ASS contains hopping parameters (if enabled) */ + if (ch_desc.h != ia_um.chan_desc.h) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Hopping parameters mismatch"); + } + /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ_IA(L1CTL, ia_um); + f_L1CTL_DM_EST_REQ_IA(L1CTL, ia_um, ma := g_pars.ma); /* enable encryption, if requested */ if (encr_enable) { var uint8_t alg_id := f_alg_id_to_l1ctl(g_pars.encr.alg_id); diff --git a/bts/BTS_Tests_perf.ttcn b/bts/BTS_Tests_perf.ttcn index 1e70bc8..5b3b672 100644 --- a/bts/BTS_Tests_perf.ttcn +++ b/bts/BTS_Tests_perf.ttcn @@ -86,7 +86,8 @@ } testcase TC_highchanload_tchh() runs on test_CT { var ConnHdlr vc_conn; /* 1..7 * 2 */ - var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, 60.0 + mp_wait_time)); + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, + t_guard := 60.0 + mp_wait_time)); f_init(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Gerrit-Change-Number: 18530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:12:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 16:12:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: WIP: bts/BTS_Tests: add sample test case using frequency hopping References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18531 ) Change subject: WIP: bts/BTS_Tests: add sample test case using frequency hopping ...................................................................... WIP: bts/BTS_Tests: add sample test case using frequency hopping Change-Id: I6f0e8c78710f8b31689217ef31d7b4c1646bdf28 --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/31/18531/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 603d2e2..188d3f0 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6375,6 +6375,41 @@ /* repetition of SABM or DISC N200 times without ACK */ /* receptiom of SABM in multi-frame established state */ +function f_TC_fh_uplink_sacch(charstring id) runs on ConnHdlr { + var L1ctlDlMessage l1_dl; + var uint5_t ta_to_test := 16; + + f_l1_tune(L1CTL); + RSL.clear; + + f_est_dchan(); + L1CTL.clear; + + /* Expect 8 consequent SACCH blocks */ + for (var integer i := 0; i < 8; i := i + 1) { + f_exp_sacch(true); + } + + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); + + setverdict(pass); +} + +testcase TC_fh_uplink_sacch() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars; + + f_init(); + + pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0, 0), ts_RSL_ChanMode_SIGN, + maio_hsn := { maio := 8, hsn := 0 })); + vc_conn := f_start_handler(refers(f_TC_fh_uplink_sacch), pars); + vc_conn.done; + + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* TODO Areas: -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f0e8c78710f8b31689217ef31d7b4c1646bdf28 Gerrit-Change-Number: 18531 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:53:16 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 16:53:16 +0000 Subject: Change in osmo-gsm-tester[master]: enb: remove freq config for zmq operation References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 ) Change subject: enb: remove freq config for zmq operation ...................................................................... enb: remove freq config for zmq operation specifiying the rx/tx_freq for the eNB is optional. But when it's done it needs to be correct. There seems to be an issue when mapping the freq[0-3] between srsENB and Amarisoft eNB. So it's safe to just drop the config here altogether. Change-Id: I70f5776173c2df5894031f68df2f6c3a900b79f8 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 0 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/32/18532/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 9db0d69..f0047e7 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -172,23 +172,6 @@ + ',rx_port2=tcp://' + self.ue.addr() + ':2005' \ + ',rx_port3=tcp://' + self.ue.addr() + ':2007' - if self._num_cells == 1: - # Single carrier - if self.num_ports() == 1: - # SISO - rf_dev_args += ',tx_freq0=2630e6,rx_freq0=2510e6' - elif self.num_ports() == 2: - # MIMO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,rx_freq0=2510e6,rx_freq1=2510e6' - elif self._num_cells == 2: - # 2x class - if self.num_ports() == 1: - # SISO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2650e6,rx_freq0=2510e6,rx_freq1=2530e6' - elif self.num_ports() == 2: - # MIMO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,tx_freq2=2650e6,tx_freq3=2650e6,rx_freq0=2510e6,rx_freq1=2510e6,rx_freq2=2530e6,rx_freq3=2530e6' - rf_dev_args += ',id=enb,base_srate=' + str(base_srate) return rf_dev_args -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 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: I70f5776173c2df5894031f68df2f6c3a900b79f8 Gerrit-Change-Number: 18532 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:53:17 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 16:53:17 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: sum bitrates for all component carrier References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 ) Change subject: ms_srs: sum bitrates for all component carrier ...................................................................... ms_srs: sum bitrates for all component carrier when calculating the dl and ul bitrate, it is required to take the sum of all active component carriers since they are reported seperately inside the CSV file Change-Id: If30ec3f22ce5871f911433e6a6997e9c6e7ca210 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/18533/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 389ed6b..409021e 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -404,6 +404,15 @@ # Sum them up assuming same array dimension sel_data += vec + # Sum up all component carriers for rate metrics + if metric_str.find('brate'): + # Determine number of component carriers + num_cc = numpy.amax(numpy.array(self.raw_data['cc'])) + 1 # account for zero index + tmp_values = sel_data + sel_data = numpy.array(tmp_values[::num_cc]) # first carrier, every num_cc'th item in list + for cc in range(1, num_cc): + sel_data += numpy.array(tmp_values[cc::num_cc]) # all other carriers, start at cc index + if operation == 'avg': result = numpy.average(sel_data) elif operation == 'sum': -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 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: If30ec3f22ce5871f911433e6a6997e9c6e7ca210 Gerrit-Change-Number: 18533 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 16:53:18 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactor ue_max_rate() and move helper function back to sub classes References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 ) Change subject: enb: refactor ue_max_rate() and move helper function back to sub classes ...................................................................... enb: refactor ue_max_rate() and move helper function back to sub classes It turned out that the Amarisoft and SRS eNB scheduler produces slightly different maximum data rates for both UL and DL. Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 3 files changed, 53 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/34/18534/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index f0047e7..2b91ece 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -82,6 +82,7 @@ self._num_prb = 0 self._num_cells = None self._epc = None + self._type = None def configure(self, config_specifics_li): values = dict(enb=config.get_defaults('enb')) @@ -103,6 +104,8 @@ config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) self._num_cells = int(values['enb'].get('num_cells', None)) assert self._num_cells + self._type = values['enb'].get('type') + assert self._type # adjust cell_list to num_cells length: len_cell_list = len(values['enb']['cell_list']) @@ -220,29 +223,4 @@ def addr(self): return self._addr - def ue_max_rate(self, downlink=True): - # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 - max_phy_rate_tm1_dl = { 6 : 3.5e6, - 15 : 11e6, - 25 : 18e6, - 50 : 36e6, - 75 : 55e6, - 100 : 75e6 } - max_phy_rate_tm1_ul = { 6 : 0.9e6, - 15 : 4.7e6, - 25 : 10e6, - 50 : 23e6, - 75 : 34e6, - 100 : 51e6 } - if downlink: - max_rate = max_phy_rate_tm1_dl[self.num_prb()] - else: - max_rate = max_phy_rate_tm1_ul[self.num_prb()] - - #TODO: calculate for non-standard prb numbers. - if downlink and self._txmode > 2: - max_rate *= 2 - - return max_rate - # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index fa79cbf..4fec6e2 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -238,4 +238,29 @@ rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) return rfemu_obj + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 + max_phy_rate_tm1_dl = { 6 : 3.2e6, + 15 : 9.2e6, + 25 : 18e6, + 50 : 36e6, + 75 : 55e6, + 100 : 75e6 } + max_phy_rate_tm1_ul = { 6 : 2.0e6, + 15 : 5.1e6, + 25 : 10e6, + 50 : 21e6, + 75 : 32e6, + 100 : 51e6 } + if downlink: + max_rate = max_phy_rate_tm1_dl[self.num_prb()] + else: + max_rate = max_phy_rate_tm1_ul[self.num_prb()] + + # MIMO only supported for Downlink + if downlink and self._txmode > 2: + max_rate *= 2 + + return max_rate + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 47b373e..5cd379c 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -236,4 +236,29 @@ rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg) return rfemu_obj + def ue_max_rate(self, downlink=True): + # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 + max_phy_rate_tm1_dl = { 6 : 3.5e6, + 15 : 11e6, + 25 : 18e6, + 50 : 36e6, + 75 : 55e6, + 100 : 75e6 } + max_phy_rate_tm1_ul = { 6 : 1.7e6, + 15 : 4.7e6, + 25 : 10e6, + 50 : 23e6, + 75 : 34e6, + 100 : 51e6 } + if downlink: + max_rate = max_phy_rate_tm1_dl[self.num_prb()] + else: + max_rate = max_phy_rate_tm1_ul[self.num_prb()] + + # MIMO only supported for Downlink + if downlink and self._txmode > 2: + max_rate *= 2 + + return max_rate + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 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: I30fa7006906d101c53ba586fb06bced3945aa960 Gerrit-Change-Number: 18534 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:53:18 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 16:53:18 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions References: Message-ID: srs_andre has uploaded this change for review. ( 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_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 5 files changed, 23 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/18535/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 409021e..af26011 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -306,11 +306,27 @@ 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') + pos_released = (self.process.get_stdout() or '').rfind('RRC IDLE') + # return true if RRC + return pos_connected > pos_released + + def is_rrc_idle(self): + return not self.is_rrc_connected() + + def is_emm_registered(self): return 'Network attach successful.' in (self.process.get_stdout() or '') - def is_attached(self): - return self.is_connected() + def get_ipv4_addr(self): + ''' Return last assigned IP address ''' + import re + stdout_lines = (self.process.get_stdout() or '').splitlines() + for line in reversed(stdout_lines): + if line.find('Network attach successful. IP: ') != -1: + ipv4_addr = re.findall( r'[0-9]+(?:\.[0-9]+){3}', line) + return ipv4_addr[0] def running(self): return not self.process.terminated() diff --git a/sysmocom/suites/4g/handover.py b/sysmocom/suites/4g/handover.py index b0837d8..6bb6456 100755 --- a/sysmocom/suites/4g/handover.py +++ b/sysmocom/suites/4g/handover.py @@ -46,7 +46,7 @@ proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_UL, ue.netns(), duration + 30) print('waiting for UE to attach...') -wait(ue.is_connected, None) +wait(ue.is_rrc_connected) print('UE is attached') rfemu_cell1 = enb.get_rfemu(0) diff --git a/sysmocom/suites/4g/iperf3_dl.py b/sysmocom/suites/4g/iperf3_dl.py index d90c80b..055ce97 100755 --- a/sysmocom/suites/4g/iperf3_dl.py +++ b/sysmocom/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_rrc_connected) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/sysmocom/suites/4g/iperf3_ul.py b/sysmocom/suites/4g/iperf3_ul.py index 453cdfa..6e24070 100755 --- a/sysmocom/suites/4g/iperf3_ul.py +++ b/sysmocom/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_rrc_connected) print('UE is attached') print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) diff --git a/sysmocom/suites/4g/ping.py b/sysmocom/suites/4g/ping.py index c81a35d..0fb2edb 100755 --- a/sysmocom/suites/4g/ping.py +++ b/sysmocom/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_rrc_connected) print('UE is attached') proc = ue.run_netns_wait('ping', ('ping', '-c', '10', epc.tun_addr())) -- 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: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 16:53:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 16:53:19 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs: add run function to EPC References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 ) Change subject: epc_srs: add run function to EPC ...................................................................... epc_srs: add run function to EPC this allows, for example, to run a ping originating from the core to the UE Change-Id: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 --- M src/osmo_gsm_tester/obj/epc_srs.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/18536/1 diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 2ee486f..4c6ae72 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -210,4 +210,12 @@ def tun_addr(self): return '172.16.0.1' + def run_wait(self, name, popen_args): + if self._run_node.is_local(): + proc = process.Process(name, self.run_dir, popen_args) + else: + proc = self.rem_host.RemoteProcess(name, popen_args) + proc.launch_sync() + return proc + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 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: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 Gerrit-Change-Number: 18536 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 19:44:30 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 19:44:30 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 to look at the new patch set (#3). Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... osmo-mgw: refactor endpoint and trunk handling The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various places (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. - get rid of integers as endpoint identifiers, use strings instead and find the endpoint based on its string name on the trunk. - identify the trunk based on the trunk prefix given in the endpoint name. - rename struct mgcp_trunk_config to struct mgcp_trunk and the related symbol name "tcfg" to "trunk" in order to better match the reality. - refactor trunk and endpoint allocation. Aggregate functionality in in mgcp_endp.c and mgcp_trunk.c. Also remove non-reusable code that relates to the still exisiting, but unfinished E1 trunk support. - refactor rate counters, put them into a separate module and do no longer allocate them per trunk. Allocate them globally instead. - get rid of deprecated trunk parameters (leftorvers from the osmo-bsc_mgcp implementation) Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Related: OS#2659 --- M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_ratectr.h A include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c A src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c A src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 21 files changed, 964 insertions(+), 774 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/18372/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 19:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 27 May 2020 19:44:31 +0000 Subject: Change in osmo-mgw[master]: mgcp: find better locations for LOGPCONN and LOGPENDP References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18537 ) Change subject: mgcp: find better locations for LOGPCONN and LOGPENDP ...................................................................... mgcp: find better locations for LOGPCONN and LOGPENDP The logging defines LOGPCONN and LOGPENDP are currently located in mgcp_internal.h. However, there are specific header files for conn (mgcp_conn.h) and endpoint (mgcp_endp.h) related stuff. Lets put LOGPCON into mgcp_conn.h and LOGPENDP in mgcp_endp.h Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 --- M include/osmocom/mgcp/mgcp_conn.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h 3 files changed, 10 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/37/18537/1 diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index b0978a6..f4e89f2 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -28,6 +28,11 @@ #include #include +#define LOGPCONN(conn, cat, level, fmt, args...) \ +LOGPENDP((conn)->endp, cat, level, "CI:%s " fmt, \ + (conn)->id, \ + ## args) + /* RTP connection related counters */ enum { IN_STREAM_ERR_TSTMP_CTR, diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index 75f093d..4c2caad 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -27,6 +27,11 @@ struct mgcp_conn; struct mgcp_endpoint; +#define LOGPENDP(endp, cat, level, fmt, args...) \ +LOGP(cat, level, "endpoint:0x%x " fmt, \ + endp ? ENDPOINT_NUMBER(endp) : -1, \ + ## args) + /* Callback type for RTP dispatcher functions (e.g mgcp_dispatch_rtp_bridge_cb, see below) */ typedef int (*mgcp_dispatch_rtp_cb) (int proto, struct sockaddr_in *addr, diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index e9d5d2d..cbf533f 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -340,13 +340,3 @@ void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); - -#define LOGPENDP(endp, cat, level, fmt, args...) \ -LOGP(cat, level, "endpoint:0x%x " fmt, \ - endp ? ENDPOINT_NUMBER(endp) : -1, \ - ## args) - -#define LOGPCONN(conn, cat, level, fmt, args...) \ -LOGPENDP((conn)->endp, cat, level, "CI:%s " fmt, \ - (conn)->id, \ - ## args) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 Gerrit-Change-Number: 18537 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 19:47:15 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 19:47:15 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add PRACH and paging counter References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 ) Change subject: ms_srs: add PRACH and paging counter ...................................................................... ms_srs: add PRACH and paging counter this allows to query the number of PRACH attempts and paging messages received during a test Change-Id: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 16 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/18538/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index af26011..9cc3e7a 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -345,18 +345,31 @@ proc.launch_sync() return proc - def _get_counter_handover_success(self): - # Match against sample line: "HO success" + def _get_counter_stdout(self, keyword): + # Match stdout against keyword n = 0 stdout_lines = (self.process.get_stdout() or '').splitlines() for l in stdout_lines: - if l == 'HO successful': + if keyword in l: n += 1 return n + def _get_counter_handover_success(self): + return self._get_counter_stdout('HO successful') + + def _get_counter_prach_sent(self): + return self._get_counter_stdout('Random Access Transmission') + + def _get_counter_paging_received(self): + return self._get_counter_stdout('S-TMSI match in paging message') + def get_counter(self, counter_name): if counter_name == 'handover_success': return self._get_counter_handover_success() + if counter_name == 'prach_sent': + return self._get_counter_prach_sent() + if counter_name == 'paging_received': + return self._get_counter_paging_received() raise log.Error('counter %s not implemented!' % counter_name) def verify_metric(self, value, operation='avg', metric='dl_brate', criterion='gt', window=1): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 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: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f Gerrit-Change-Number: 18538 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 19:47:16 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Wed, 27 May 2020 19:47:16 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases References: Message-ID: srs_andre has uploaded this change for review. ( 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/mobile_originated_traffic.py A sysmocom/suites/4g/mobile_terminated_traffic.py 2 files changed, 83 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/18539/1 diff --git a/sysmocom/suites/4g/mobile_originated_traffic.py b/sysmocom/suites/4g/mobile_originated_traffic.py new file mode 100755 index 0000000..a30fd87 --- /dev/null +++ b/sysmocom/suites/4g/mobile_originated_traffic.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(ue.is_rrc_idle) +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/mobile_terminated_traffic.py b/sysmocom/suites/4g/mobile_terminated_traffic.py new file mode 100755 index 0000000..7c04e77 --- /dev/null +++ b/sysmocom/suites/4g/mobile_terminated_traffic.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(ue.is_rrc_idle) +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_ipv4_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: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:20:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 20:20:44 +0000 Subject: Change in osmo-bsc[master]: drop IMSI filter and libfilter completely In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18495 ) Change subject: drop IMSI filter and libfilter completely ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h File include/osmocom/bsc/osmo_bsc.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18495/1/include/osmocom/bsc/osmo_bsc.h at 14 PS1, Line 14: struct msgb; > as long as we're using only struct foo* pointers, it is better to declare the struct opaquely than i [?] I disagree with this rationale. And if most people agreed on it then I'm pretty sure we'd see this kind of stuff everywhere, which is not the case. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I89727af5387e8360362e995fdee959883c37d89a Gerrit-Change-Number: 18495 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:20:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:22:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 20:22:08 +0000 Subject: Change in osmo-bsc[master]: doc/examples: remove deprecated ussd text config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18520 ) Change subject: doc/examples: remove deprecated ussd text config ...................................................................... Patch Set 1: Are these options deprecated in previous commit? then it belongs to that same commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 Gerrit-Change-Number: 18520 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:22:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:23:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 27 May 2020 20:23:09 +0000 Subject: Change in osmo-mgw[master]: mgcp: find better locations for LOGPCONN and LOGPENDP In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18537 ) Change subject: mgcp: find better locations for LOGPCONN and LOGPENDP ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 Gerrit-Change-Number: 18537 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:23:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:43:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:43:05 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 2: Code-Review+1 > Patch Set 2: > > > Patch Set 1: > > > > libosmo-mgcp is a static library only used in osmo-mgw? That's not in libosmo-mgcp-client right? > > Yes, thats correct, libosmo-mgcp basically is osmo-mgw and not used outside. nevermind, my bad. I somehow thought we also used this library in some other place. Either we did that but discontinued it, or I'm getting old. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:43:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:47:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:47:22 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 2: Code-Review+1 > Patch Set 1: > > I'm also curious about laforge's opinion here. > > This code does MSC tasks in the BSC, and I fail to see how it is useful. It was used by one former (long-time, large) sysmocom customer who operates a production network with relatively unreliable A interface connections. The BTS+BSC are "remote" and if the A interface is disconnected, there was some requirement to notify the subscrbers via USSD. This is no longer maintained and can be removed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 20:47:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:50:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:50:57 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... Patch Set 1: Code-Review+1 > Patch Set 1: Code-Review+1 > > The patch looks fine, but I'd like laforge to ACK that we want to remove this. > IIUC this feature was used by a customer to redirect to different MSCs based on IMSI prefix, but iirc that customer is anyway using osmo-bsc-sccplite, so not affected by this.\ Yes. The use case was as follows: * BTS+BSC are on a remote site, with A/SCCPlite backhaul to the normal public network MSC * for some internal MSISDNs (think of a "PBX use case"), the connections would be transferred to a local MSC next to the BSC. In fact, there actually was an (ISDN) PBX next to the BSC which would connect to local phones. The reason was to reduce load on the backhaul and the public network, which also meant significant economic savings. Can all be removed. I'm happy to reduce such non-standard complexity. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:50:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:51:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:51:16 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:51:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:51:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:51:22 +0000 Subject: Change in osmo-bsc[master]: doc/examples: remove deprecated ussd text config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18520 ) Change subject: doc/examples: remove deprecated ussd text config ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 Gerrit-Change-Number: 18520 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 27 May 2020 20:51:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:51:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:51:43 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18499 ) Change subject: drop MSC types "local" vs "normal" ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 20:51:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:52:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:52:57 +0000 Subject: Change in osmo-bsc[master]: flatten: move network->bsc_data->* to network->* In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18500 ) Change subject: flatten: move network->bsc_data->* to network->* ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 Gerrit-Change-Number: 18500 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 20:52:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:53:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:53:29 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18501 ) Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... Patch Set 2: Code-Review+1 oh yes, the old code was actually broken. The M3UA AS/ASP state has nothing to do with a MSC. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 20:53:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:53:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:53:49 +0000 Subject: Change in osmo-bsc[master]: create only one SCCP user per SCCP instance In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18504 ) Change subject: create only one SCCP user per SCCP instance ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e Gerrit-Change-Number: 18504 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 20:53:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 20:55:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 27 May 2020 20:55:18 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 27 May 2020 20:55:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed May 27 22:53:24 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 27 May 2020 22:53:24 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18505/2/src/osmo-bsc/gsm_08_08.c File src/osmo-bsc/gsm_08_08.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18505/2/src/osmo-bsc/gsm_08_08.c at 118 PS2, Line 118: 0 Should be false since you're changing return type to boolean. Not critical, rather cosmetic. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 27 May 2020 22:53:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 00:47:48 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 00:47:48 +0000 Subject: Change in libosmocore[master]: gsm23236: add NRI range utility functions References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18540 ) Change subject: gsm23236: add NRI range utility functions ...................................................................... gsm23236: add NRI range utility functions osmo-bsc (and potentially also osmo-msc) need to manage ranges of NRI values. In osmo-bsc, the NRI value ranges per-MSC amount to one implementation. Then, osmo-bsc also needs to list NULL-NRI, which amounts to another implementation. If we add NRI capabilities to osmo-msc, that too needs NRI ranges managed by VTY config. Add utility functions to: - add NRI value ranges to a list. - remove them from a list. - match NRI value (range) to a list. - parse NRI values from string. - common VTY functionality of adding/removing NRI values from argv. - limit a random NRI in a TMSI to a given list of ranges. Add C tests for the above. Change-Id: I68e4156824032772f460042499bbc693380186dc --- M include/osmocom/gsm/gsm23236.h M src/gsm/gsm23236.c M src/gsm/libosmogsm.map M tests/gsm23236/gsm23236_test.c M tests/gsm23236/gsm23236_test.ok 5 files changed, 1,342 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/18540/1 diff --git a/include/osmocom/gsm/gsm23236.h b/include/osmocom/gsm/gsm23236.h index 53f3d3a..57156b1 100644 --- a/include/osmocom/gsm/gsm23236.h +++ b/include/osmocom/gsm/gsm23236.h @@ -5,6 +5,9 @@ #pragma once #include +#include + +#include #define OSMO_NRI_BITLEN_MIN 1 #define OSMO_NRI_BITLEN_MAX 15 @@ -12,3 +15,28 @@ int osmo_tmsi_nri_get(int16_t *nri_v, uint32_t tmsi, uint8_t nri_bitlen); int osmo_tmsi_nri_set(uint32_t *tmsi, int16_t nri_v, uint8_t nri_bitlen); + +struct osmo_nri_range { + struct llist_head entry; + + int16_t first; + int16_t last; +}; + +int osmo_nri_validate(int16_t nri, uint8_t nri_bitlen); +int osmo_nri_range_validate(const struct osmo_nri_range *range, uint8_t nri_bitlen); +bool osmo_nri_matches_list(struct llist_head *nri_ranges, int16_t nri); +bool osmo_nri_range_overlaps_list(struct llist_head *nri_ranges, const struct osmo_nri_range *range); +int osmo_nri_add(void *ctx, struct llist_head *nri_ranges, const struct osmo_nri_range *add); +int osmo_nri_del(void *ctx, struct llist_head *nri_ranges, const struct osmo_nri_range *del); + +int osmo_nri_limit_by_ranges(int16_t *nri_v, struct llist_head *nri_ranges, uint32_t nri_bitlen); +int osmo_tmsi_nri_limit_by_ranges(uint32_t *tmsi, struct llist_head *nri_ranges, uint8_t nri_bitlen); + +int osmo_nri_vty_add(const char **message, struct osmo_nri_range *added_range, + void *ctx, struct llist_head *nri_ranges, int argc, const char **argv, uint8_t nri_bitlen); +int osmo_nri_vty_del(const char **message, struct osmo_nri_range *removed_range, + void *ctx, struct llist_head *nri_ranges, int argc, const char **argv); + +int osmo_nri_ranges_to_str_buf(char *buf, size_t buflen, struct llist_head *nri_ranges); +char *osmo_nri_ranges_to_str_c(void *ctx, struct llist_head *nri_ranges); diff --git a/src/gsm/gsm23236.c b/src/gsm/gsm23236.c index ffeed55..2b071b7 100644 --- a/src/gsm/gsm23236.c +++ b/src/gsm/gsm23236.c @@ -23,6 +23,10 @@ * */ +#include +#include + +#include #include /*! Retrieve the Network Resource Indicator bits from a TMSI or p-TMSI. @@ -75,3 +79,444 @@ *tmsi = ((*tmsi) & ~v_mask) | ((((uint32_t)nri_v) << lowest_bit) & v_mask); return 0; } + +/*! Validate that the given NRI is valid for a given nri_bitlen range. + * \param[in] nri_v NRI value to validate. + * \param[in] nri_bitlen Valid NRI range in nr of bits used. + * \returns 0 if valid, <0 if the NRI is <0, >0 if the NRI surpasses the range. + */ +int osmo_nri_validate(int16_t nri_v, uint8_t nri_bitlen) +{ + if (nri_v < 0) + return -1; + if (!nri_bitlen) + return 1; + if (nri_bitlen < 16 && (nri_v >> nri_bitlen)) + return 1; + return 0; +} + +/*! Validate that the given NRI range is valid for a given nri_bitlen range. + * \param[in] nri_range NRI value range to validate. + * \param[in] nri_bitlen Valid NRI range in nr of bits used. + * \returns 0 if valid, -1 or 1 if range->first is invalid, -2 or 2 if range->last is invalid, -3 if first > last. + */ +int osmo_nri_range_validate(const struct osmo_nri_range *range, uint8_t nri_bitlen) +{ + int rc; + rc = osmo_nri_validate(range->first, nri_bitlen); + if (rc) + return rc; + rc = osmo_nri_validate(range->last, nri_bitlen); + if (rc) + return 2 * rc; + if (range->first > range->last) + return -3; + return 0; +} + +/*! Match NRI value against a list of struct osmo_nri_range. */ +static bool nri_matches_range(const struct osmo_nri_range *range, int16_t nri_v) +{ + return range && nri_v >= range->first && nri_v <= range->last; +} + +/*! Return true if the ranges overlap, i.e. one or more NRI values appear in both ranges. */ +static bool nri_overlap(const struct osmo_nri_range *a, const struct osmo_nri_range *b) +{ + return nri_matches_range(b, a->first) || nri_matches_range(b, a->last) + || nri_matches_range(a, b->first) || nri_matches_range(a, b->last); +} + +/*! Return true if the ranges overlap or are directly adjacent to each other. */ +static bool nri_touch(const struct osmo_nri_range *a, const struct osmo_nri_range *b) +{ + return nri_overlap(a, b) + || (a->first > b->last && a->first == b->last + 1) + || (b->first > a->last && b->first == a->last + 1); +} + +/*! Grow target range to also include add range. Only useful for touching ranges. */ +static void nri_extend(struct osmo_nri_range *target, const struct osmo_nri_range *add) +{ + target->first = OSMO_MIN(target->first, add->first); + target->last = OSMO_MAX(target->last, add->last); +} + +/*! Return true when the given NRI value appears in the list of NRI ranges. + * \param[in] nri_ranges List of struct osmo_nri_range. + * \param[in] nri_v NRI value to look for. + * \returns true iff nri_v appears anywhere in nri_ranges. + */ +bool osmo_nri_matches_list(struct llist_head *nri_ranges, int16_t nri_v) +{ + struct osmo_nri_range *range; + llist_for_each_entry(range, nri_ranges, entry) { + if (nri_matches_range(range, nri_v)) + return true; + } + return false; +} + +/*! Return true when the given NRI range has at least one NRI value that appears in a list of other NRI ranges. + * \param[in] nri_ranges List of struct osmo_nri_range. + * \param[in] range NRI range to look for. + * \returns true iff any NRI value from 'range' appears anywhere in nri_ranges. + */ +bool osmo_nri_range_overlaps_list(struct llist_head *nri_ranges, const struct osmo_nri_range *range) +{ + struct osmo_nri_range *i; + llist_for_each_entry(i, nri_ranges, entry) { + if (nri_overlap(i, range)) + return true; + } + return false; +} + +/*! Insert a new struct osmo_nri_range in a list of nri_ranges, so that it remains sorted by 'first' values. */ +static void nri_add_entry_sorted(struct llist_head *nri_ranges, struct osmo_nri_range *add) +{ + struct osmo_nri_range *r; + struct llist_head *at_pos = nri_ranges->prev; + llist_for_each_entry(r, nri_ranges, entry) { + if (r->first <= add->first) + continue; + at_pos = r->entry.prev; + break; + } + llist_add(&add->entry, at_pos); +} + +/*! Add a range of NRI values to a list of nri_range structs. + * Intelligently add and/or combine the entries in a list of NRI ranges to also include the NRI range given in 'add'. + * \param[in] ctx Talloc context to allocate new list entries from. + * \param[inout] nri_ranges List of talloc allocated struct osmo_nri_range entries to add the new range to. + * \param[in] add NRI range to add to 'nri_ranges'. + * \returns 0 on success, negative on error (if the range in 'add' is invalid). + */ +int osmo_nri_add(void *ctx, struct llist_head *nri_ranges, const struct osmo_nri_range *add) +{ + struct osmo_nri_range *range; + struct osmo_nri_range *range_next; + struct osmo_nri_range *target = NULL; + + if (osmo_nri_range_validate(add, 255)) + return -1; + + /* Is there an entry overlapping this range? */ + llist_for_each_entry(range, nri_ranges, entry) { + if (!nri_touch(range, add)) + continue; + target = range; + } + + if (!target) { + /* No overlaps with existing ranges, create a new one. */ + target = talloc_zero(ctx, struct osmo_nri_range); + OSMO_ASSERT(target); + *target = *add; + nri_add_entry_sorted(nri_ranges, target); + return 0; + } + + /* Overlap found, join into existing entry */ + nri_extend(target, add); + + /* Remove redundant entries */ + llist_for_each_entry_safe(range, range_next, nri_ranges, entry) { + if (range == target) + continue; + if (!nri_touch(target, range)) + continue; + nri_extend(target, range); + llist_del(&range->entry); + talloc_free(range); + } + return 0; +} + +/*! Remove a range of NRI values from a list of nri_range structs. + * Intelligently drop, cut and/or combine the entries in a list of NRI ranges to no longer include the NRI range given + * in 'del'. + * \param[in] ctx Talloc context to allocate new list entries from (if an existing entry is split in two). + * \param[inout] nri_ranges List of talloc allocated struct osmo_nri_range entries to remove values from. + * \param[in] del NRI range to remove from 'nri_ranges'. + * \returns 0 on success, negative on error (if the range in 'add' is invalid). + */ +int osmo_nri_del(void *ctx, struct llist_head *nri_ranges, const struct osmo_nri_range *del) +{ + struct osmo_nri_range *range; + struct osmo_nri_range *range_next; + + if (osmo_nri_range_validate(del, 255)) + return -1; + + llist_for_each_entry_safe(range, range_next, nri_ranges, entry) { + bool head; + bool tail; + if (!nri_overlap(range, del)) + continue; + + head = nri_matches_range(range, del->first) && (del->first > range->first); + tail = nri_matches_range(range, del->last) && (del->last < range->last); + + if (head && tail) { + /* Range cut in two */ + struct osmo_nri_range *new_tail; + + /* Add a new entry for the tail section */ + new_tail = talloc_zero(ctx, struct osmo_nri_range); + OSMO_ASSERT(new_tail); + *new_tail = (struct osmo_nri_range){ + .first = del->last + 1, + .last = range->last, + }; + llist_add(&new_tail->entry, &range->entry); + + /* Existing entry becomes the head section */ + range->last = del->first - 1; + } else if (head) { + /* Range reduced, a head remains */ + range->last = del->first - 1; + } else if (tail) { + /* Range reduced, a tail remains */ + range->first = del->last + 1; + } else { + /* nothing remains */ + llist_del(&range->entry); + talloc_free(range); + } + } + return 0; +} + +/*! Modulo and shift the given NRI value so that it becomes a value present in a list of NRI ranges. + * Only range values within nri_bitlen are used. + * \param[inout] nri_v The NRI value to limit, e.g. random bits or an increment counter value. + * \param[in] nri_ranges List of struct osmo_nri_range entries indicating valid NRI values, where no entries may + * overlap in range values, and all entries must be valid (first <= last). + * \returns 0 on success, negative on error. + */ +int osmo_nri_limit_by_ranges(int16_t *nri_v, struct llist_head *nri_ranges, uint32_t nri_bitlen) +{ + struct osmo_nri_range *range; + uint32_t total_values = 0; + int16_t v = *nri_v; + int16_t range_max = (((int16_t)1) << nri_bitlen) - 1; + + if (v < 0) + return -1; + + /* Sum up total amount of range values */ + llist_for_each_entry(range, nri_ranges, entry) { + if (osmo_nri_range_validate(range, 255)) + return -1; + if (range->first > range_max) + continue; + total_values += OSMO_MIN(range_max, range->last) - range->first + 1; + } + + /* Modulo the given NRI value by that, and pick that nth value from the given ranges. + * (nri_ranges is pretty much guaranteed to be sorted and range_max checks thus would no longer be needed, but + * just check them anyway.) */ + v %= total_values; + llist_for_each_entry(range, nri_ranges, entry) { + uint32_t len; + if (range->first > range_max) + continue; + len = OSMO_MIN(range_max, range->last) - range->first + 1; + if (v < len) { + *nri_v = range->first + v; + return 0; + } + v -= len; + } + + /* Nothing found -- there are no entires or my math is off. */ + return -1; +} + +/*! Apply osmo_nri_limit_by_ranges() in-place on the NRI value included in a TMSI. + * Extract the NRI value from the TMSI, limit that to be part of the ranges given in 'nri_ranges', and place the + * resulting NRI value back in the TMSI. + * \param[inout] tmsi TMSI value to modify the NRI value in, e.g. fresh randomized bits. + * \param[in] nri_ranges List of struct osmo_nri_range entries indicating valid NRI values, where no entries may + * overlap in range values, and all entries must be valid (first <= last). + * \param[in] nri_bitlen Valid NRI range in nr of bits used. + * \returns 0 on success, negative on error. + */ +int osmo_tmsi_nri_limit_by_ranges(uint32_t *tmsi, struct llist_head *nri_ranges, uint8_t nri_bitlen) +{ + int rc; + int16_t nri_v; + rc = osmo_tmsi_nri_get(&nri_v, *tmsi, nri_bitlen); + if (rc) + return rc; + rc = osmo_nri_limit_by_ranges(&nri_v, nri_ranges, nri_bitlen); + if (rc) + return rc; + return osmo_tmsi_nri_set(tmsi, nri_v, nri_bitlen); +} + +/*! Compose a human readable representation of a list of NRI ranges in a buffer, like "23..42,123..142". + * \param[out] buf Target buffer. + * \param[in] buflen sizeof(buf). + * \param[in] nri_ranges List of struct osmo_nri_range entries indicating NRI values. + * \returns strlen() of string that would be written if the buffer is large enough, like snprintf(). + */ +int osmo_nri_ranges_to_str_buf(char *buf, size_t buflen, struct llist_head *nri_ranges) +{ + struct osmo_nri_range *range; + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + bool first = true; + if (!nri_ranges || llist_empty(nri_ranges)) { + OSMO_STRBUF_PRINTF(sb, "empty"); + return sb.chars_needed; + } + llist_for_each_entry(range, nri_ranges, entry) { + OSMO_STRBUF_PRINTF(sb, "%s%d..%d", first ? "" : ",", range->first, range->last); + } + return sb.chars_needed; +} + +/*! Compose a human readable representation of a list of NRI ranges in a talloc buffer, like "23..42,123..142". + * \param[in] ctx Talloc context. + * \param[in] nri_ranges List of struct osmo_nri_range entries indicating NRI values. + * \returns a talloc allocated string. + */ +char *osmo_nri_ranges_to_str_c(void *ctx, struct llist_head *nri_ranges) +{ + OSMO_NAME_C_IMPL(ctx, 16, "ERROR", osmo_nri_ranges_to_str_buf, nri_ranges); +} + +/*! Parse a string to an NRI value, allowing both decimal and hexadecimal formats; useful for VTY config + * implementations. + * \param[out] dst Write the resulting NRI value to this location. + * \param[in] str Decimal "511" or hex "0x1ff" string to parse. + * \returns 0 on success, negative on error. + */ +static int osmo_nri_parse(int16_t *dst, const char *str) +{ + char *endp; + int64_t val; + int base = 10; + + if (osmo_str_startswith(str, "0x")) { + str += 2; + base = 16; + } + + if (!str || !str[0]) + return -1; + + errno = 0; + val = strtoull(str, &endp, base); + if (errno || *endp != '\0') + return -1; + + if (val < 0 || val > INT16_MAX) + return -1; + + *dst = val; + return 0; +} + +/*! Parse string arguments to a struct osmo_nri_range; useful for VTY config implementations. + * Validate and parse 'first' and optional 'last' string arguments into struct osmo_nri_range values. + * The strings may be in decimal format ("511") or hexadecimal with leading "0x" ("0x1ff"). + * If only one of 'first'/'last' is provided, the resulting range will have only that value (first == last). + * \param[out] nri_range Target for parsed values. + * \param[in] first_str Decimal or hex string, representing the first value in the range, or NULL if omitted. + * \param[in] last_str Decimal or hex string, representing the last value in the range, or NULL if omitted. + * \returns 0 on success, negative on error. + */ +static int osmo_nri_parse_range(struct osmo_nri_range *nri_range, const char *first_str, const char *last_str) +{ + if (!first_str) { + first_str = last_str; + last_str = NULL; + if (!first_str) + return -1; + } + if (osmo_nri_parse(&nri_range->first, first_str)) + return -1; + nri_range->last = nri_range->first; + if (last_str) { + if (osmo_nri_parse(&nri_range->last, last_str)) + return -1; + } + return 0; +} + +/*! VTY implementation for adding an NRI range to a list of ranges. + * Parse one or, if present, two argv arguments, which must be numbers representing the first and last value to add to + * the list of nri_ranges, in decimal format ("511") or hexadecimal with leading "0x" ("0x1ff"). If the range values + * surpass the nri_bitlen, print a warning, but still add the values to the list. + * \param[out] message String constant to alert the user with. + * \param[out] added_range If not NULL, write the range parsing result to this location. + * \param[in] ctx Talloc context to allocate new list entries from. + * \param[in] nri_ranges List of struct osmo_nri_range, to add to. + * \param[in] argc Argument count. + * \param[in] argv Argument list. + * \ + * \param[in] nri_bitlen Valid NRI range in nr of bits used. + * \returns 0 on success, -1 on error, 1 for a warning (if adding was successful but the added range surpasses + * nri_bitlen). + */ +int osmo_nri_vty_add(const char **message, struct osmo_nri_range *added_range, + void *ctx, struct llist_head *nri_ranges, int argc, const char **argv, uint8_t nri_bitlen) +{ + struct osmo_nri_range add_range; + if (osmo_nri_parse_range(&add_range, argv[0], argc > 1 ? argv[1] : NULL)) { + *message = "Error: cannot parse NRI range"; + return -1; + } + + if (added_range) + *added_range = add_range; + + if (osmo_nri_add(ctx, nri_ranges, &add_range)) { + *message = "Error: failed to add NRI range"; + return -1; + } + + if (nri_bitlen <= OSMO_NRI_BITLEN_MAX && osmo_nri_range_validate(&add_range, nri_bitlen)) { + *message = "Warning: NRI range surpasses current NRI bitlen"; + return 1; + } + + *message = NULL; + return 0; +} + +/*! VTY implementation for removing an NRI range from a list of ranges. + * Parse one or, if present, two argv arguments, which must be numbers representing the first and last value to add to + * the list of nri_ranges, in decimal format ("511") or hexadecimal with leading "0x" ("0x1ff"). + * \param[out] message String constant to alert the user with. + * \param[out] removed_range If not NULL, write the range parsing result to this location. + * \param[in] ctx Talloc context to allocate new list entries from. + * \param[in] nri_ranges List of struct osmo_nri_range, to remove from. + * \param[in] argc Argument count. + * \param[in] argv Argument list. + * \returns 0 on success, -1 on error, 1 for a warning. + */ +int osmo_nri_vty_del(const char **message, struct osmo_nri_range *removed_range, + void *ctx, struct llist_head *nri_ranges, int argc, const char **argv) +{ + struct osmo_nri_range del_range; + if (osmo_nri_parse_range(&del_range, argv[0], argc > 1 ? argv[1] : NULL)) { + *message = "Error: cannot parse NRI range"; + return -1; + } + + if (removed_range) + *removed_range = del_range; + + if (osmo_nri_del(ctx, nri_ranges, &del_range)) { + *message = "Error: failed to remove NRI range"; + return -1; + } + + *message = NULL; + return 0; +} diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 98cdac5..6760991 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -669,6 +669,18 @@ osmo_tmsi_nri_get; osmo_tmsi_nri_set; +osmo_nri_validate; +osmo_nri_range_validate; +osmo_nri_matches_list; +osmo_nri_range_overlaps_list; +osmo_nri_add; +osmo_nri_del; +osmo_nri_limit_by_ranges; +osmo_tmsi_nri_limit_by_ranges; +osmo_nri_ranges_to_str_buf; +osmo_nri_ranges_to_str_c; +osmo_nri_vty_add; +osmo_nri_vty_del; local: *; }; diff --git a/tests/gsm23236/gsm23236_test.c b/tests/gsm23236/gsm23236_test.c index b005a21..be986f9 100644 --- a/tests/gsm23236/gsm23236_test.c +++ b/tests/gsm23236/gsm23236_test.c @@ -29,6 +29,9 @@ #include #include +void *ctx; +bool ok = true; + void bitdump(uint8_t count, uint32_t val) { uint32_t bit; @@ -137,10 +140,9 @@ }, }; -bool test_nri_get_set() +void test_nri_get_set() { struct nri_get_set_test *t; - bool ok = true; for (t = nri_get_set_tests; t < &nri_get_set_tests[ARRAY_SIZE(nri_get_set_tests)]; t++) { int16_t nri_v = 0; @@ -181,17 +183,436 @@ ok = false; } } - - return ok; } -int main(int argc, char **argv) +struct nri_validate_tc { + int16_t nri; + uint8_t nri_bitlen; + int expect_rc; +}; + +struct nri_validate_tc nri_validate_tests[] = { + { .nri = INT16_MIN, .nri_bitlen = 10, .expect_rc = -1 }, + { .nri = -23, .nri_bitlen = 10, .expect_rc = -1 }, + { .nri = -1, .nri_bitlen = 10, .expect_rc = -1 }, + { .nri = 0, .nri_bitlen = 10, .expect_rc = 0 }, + { .nri = (1 << 10) - 1, .nri_bitlen = 10, .expect_rc = 0 }, + { .nri = (1 << 10), .nri_bitlen = 10, .expect_rc = 1 }, + { .nri = INT16_MAX, .nri_bitlen = 10, .expect_rc = 1 }, + + { .nri = INT16_MIN, .nri_bitlen = 5, .expect_rc = -1 }, + { .nri = -23, .nri_bitlen = 5, .expect_rc = -1 }, + { .nri = -1, .nri_bitlen = 5, .expect_rc = -1 }, + { .nri = 0, .nri_bitlen = 5, .expect_rc = 0 }, + { .nri = (1 << 5) - 1, .nri_bitlen = 5, .expect_rc = 0 }, + { .nri = (1 << 5), .nri_bitlen = 5, .expect_rc = 1 }, + { .nri = INT16_MAX, .nri_bitlen = 5, .expect_rc = 1 }, + + { .nri = INT16_MIN, .nri_bitlen = 1, .expect_rc = -1 }, + { .nri = -23, .nri_bitlen = 1, .expect_rc = -1 }, + { .nri = -1, .nri_bitlen = 1, .expect_rc = -1 }, + { .nri = 0, .nri_bitlen = 1, .expect_rc = 0 }, + { .nri = 1, .nri_bitlen = 1, .expect_rc = 0 }, + { .nri = 2, .nri_bitlen = 1, .expect_rc = 1 }, + { .nri = INT16_MAX, .nri_bitlen = 1, .expect_rc = 1 }, + + { .nri = INT16_MIN, .nri_bitlen = 0, .expect_rc = -1 }, + { .nri = -23, .nri_bitlen = 0, .expect_rc = -1 }, + { .nri = -1, .nri_bitlen = 0, .expect_rc = -1 }, + { .nri = 0, .nri_bitlen = 0, .expect_rc = 1 }, + { .nri = 1, .nri_bitlen = 0, .expect_rc = 1 }, + { .nri = INT16_MAX, .nri_bitlen = 0, .expect_rc = 1 }, +}; + +void test_nri_validate() { - bool pass = true; - - pass = pass && test_nri_get_set(); - - OSMO_ASSERT(pass); - - return EXIT_SUCCESS; + struct nri_validate_tc *t; + printf("\n%s()\n", __func__); + for (t = nri_validate_tests; (t - nri_validate_tests) < ARRAY_SIZE(nri_validate_tests); t++) { + int rc = osmo_nri_validate(t->nri, t->nri_bitlen); + printf("osmo_nri_validate(%d, %u) = %d ", t->nri, t->nri_bitlen, rc); + if (rc == t->expect_rc) { + printf("ok\n"); + } else { + printf("ERROR, expected rc = %d\n", t->expect_rc); + ok = false; + } + } } + +struct nri_range_validate_tc { + struct osmo_nri_range range; + uint8_t nri_bitlen; + int expect_rc; +}; + +struct nri_range_validate_tc nri_range_validate_tests[] = { + { .range = { .first = INT16_MIN, .last = INT16_MIN }, .nri_bitlen = 10, .expect_rc = -1 }, + { .range = { .first = -23, .last = -23 }, .nri_bitlen = 10, .expect_rc = -1 }, + { .range = { .first = -1, .last = -1 }, .nri_bitlen = 10, .expect_rc = -1 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = (1 << 10) - 1, .last = (1 << 10) - 1 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = (1 << 10), .last = (1 << 10) }, .nri_bitlen = 10, .expect_rc = 1 }, + { .range = { .first = INT16_MAX, .last = INT16_MAX }, .nri_bitlen = 10, .expect_rc = 1 }, + + { .range = { .first = INT16_MIN, .last = INT16_MIN }, .nri_bitlen = 5, .expect_rc = -1 }, + { .range = { .first = -23, .last = -23 }, .nri_bitlen = 5, .expect_rc = -1 }, + { .range = { .first = -1, .last = -1 }, .nri_bitlen = 5, .expect_rc = -1 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = (1 << 5) - 1, .last = (1 << 5) - 1 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = (1 << 5), .last = (1 << 5) }, .nri_bitlen = 5, .expect_rc = 1 }, + { .range = { .first = INT16_MAX, .last = INT16_MAX }, .nri_bitlen = 5, .expect_rc = 1 }, + + { .range = { .first = INT16_MIN, .last = INT16_MIN }, .nri_bitlen = 1, .expect_rc = -1 }, + { .range = { .first = -23, .last = -23 }, .nri_bitlen = 1, .expect_rc = -1 }, + { .range = { .first = -1, .last = -1 }, .nri_bitlen = 1, .expect_rc = -1 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 1, .last = 1 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 2, .last = 2 }, .nri_bitlen = 1, .expect_rc = 1 }, + { .range = { .first = INT16_MAX, .last = INT16_MAX }, .nri_bitlen = 1, .expect_rc = 1 }, + + { .range = { .first = INT16_MIN, .last = INT16_MIN }, .nri_bitlen = 0, .expect_rc = -1 }, + { .range = { .first = -23, .last = -23 }, .nri_bitlen = 0, .expect_rc = -1 }, + { .range = { .first = -1, .last = -1 }, .nri_bitlen = 0, .expect_rc = -1 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 1, .last = 1 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = INT16_MAX, .last = INT16_MAX }, .nri_bitlen = 0, .expect_rc = 1 }, + + + { .range = { .first = 0, .last = INT16_MIN }, .nri_bitlen = 10, .expect_rc = -2 }, + { .range = { .first = 0, .last = -23 }, .nri_bitlen = 10, .expect_rc = -2 }, + { .range = { .first = 0, .last = -1 }, .nri_bitlen = 10, .expect_rc = -2 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = 0, .last = (1 << 10) - 1 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = 0, .last = (1 << 10) }, .nri_bitlen = 10, .expect_rc = 2 }, + { .range = { .first = 0, .last = INT16_MAX }, .nri_bitlen = 10, .expect_rc = 2 }, + + { .range = { .first = 0, .last = INT16_MIN }, .nri_bitlen = 5, .expect_rc = -2 }, + { .range = { .first = 0, .last = -23 }, .nri_bitlen = 5, .expect_rc = -2 }, + { .range = { .first = 0, .last = -1 }, .nri_bitlen = 5, .expect_rc = -2 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = 0, .last = (1 << 5) - 1 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = 0, .last = (1 << 5) }, .nri_bitlen = 5, .expect_rc = 2 }, + { .range = { .first = 0, .last = INT16_MAX }, .nri_bitlen = 5, .expect_rc = 2 }, + + { .range = { .first = 0, .last = INT16_MIN }, .nri_bitlen = 1, .expect_rc = -2 }, + { .range = { .first = 0, .last = -23 }, .nri_bitlen = 1, .expect_rc = -2 }, + { .range = { .first = 0, .last = -1 }, .nri_bitlen = 1, .expect_rc = -2 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 0, .last = 1 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 0, .last = 2 }, .nri_bitlen = 1, .expect_rc = 2 }, + { .range = { .first = 0, .last = INT16_MAX }, .nri_bitlen = 1, .expect_rc = 2 }, + + { .range = { .first = 0, .last = INT16_MIN }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 0, .last = -23 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 0, .last = -1 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 0, .last = 1 }, .nri_bitlen = 0, .expect_rc = 1 }, + { .range = { .first = 0, .last = INT16_MAX }, .nri_bitlen = 0, .expect_rc = 1 }, + + + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = 1, .last = 0 }, .nri_bitlen = 10, .expect_rc = -3 }, + { .range = { .first = (1 << 10) - 1, .last = (1 << 10) - 1 }, .nri_bitlen = 10, .expect_rc = 0 }, + { .range = { .first = (1 << 10) - 1, .last = (1 << 10) - 2 }, .nri_bitlen = 10, .expect_rc = -3 }, + { .range = { .first = (1 << 10) - 1, .last = 0 }, .nri_bitlen = 10, .expect_rc = -3 }, + + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = 1, .last = 0 }, .nri_bitlen = 5, .expect_rc = -3 }, + { .range = { .first = (1 << 5) - 1, .last = (1 << 5) - 1 }, .nri_bitlen = 5, .expect_rc = 0 }, + { .range = { .first = (1 << 5) - 1, .last = (1 << 5) - 2 }, .nri_bitlen = 5, .expect_rc = -3 }, + { .range = { .first = (1 << 5) - 1, .last = 0 }, .nri_bitlen = 5, .expect_rc = -3 }, + + { .range = { .first = 0, .last = 0 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 1, .last = 1 }, .nri_bitlen = 1, .expect_rc = 0 }, + { .range = { .first = 1, .last = 0 }, .nri_bitlen = 1, .expect_rc = -3 }, + +}; + +void test_nri_range_validate() +{ + struct nri_range_validate_tc *t; + printf("\n%s()\n", __func__); + for (t = nri_range_validate_tests; (t - nri_range_validate_tests) < ARRAY_SIZE(nri_range_validate_tests); t++) { + int rc = osmo_nri_range_validate(&t->range, t->nri_bitlen); + printf("osmo_nri_range_validate({%d,%d}, %u) = %d ", t->range.first, t->range.last, t->nri_bitlen, rc); + if (rc == t->expect_rc) { + printf("ok\n"); + } else { + printf("ERROR, expected rc = %d\n", t->expect_rc); + ok = false; + } + } +} + +void dump_list(struct llist_head *nri_ranges) +{ + struct osmo_nri_range *r; + printf("nri_ranges = {\n"); + llist_for_each_entry(r, nri_ranges, entry) { + printf(" { %d, %d },\n", r->first, r->last); + if (osmo_nri_range_validate(r, 255)) { + ok = false; + printf(" ^^^^^ ERROR: invalid range\n"); + } + } + printf("};\n"); +} + +void test_nri_list() +{ + LLIST_HEAD(nri_ranges); + printf("\n%s()\n", __func__); + +#define ADD(FIRST, LAST) do { \ + struct osmo_nri_range r = { .first = FIRST, .last = LAST }; \ + int rc; \ + rc = osmo_nri_add(ctx, &nri_ranges, &r); \ + printf("osmo_nri_add(%d, %d) -> %d\n", r.first, r.last, rc); \ + dump_list(&nri_ranges); \ + } while(0) + +#define DEL(FIRST, LAST) do { \ + struct osmo_nri_range r = { .first = FIRST, .last = LAST }; \ + int rc; \ + rc = osmo_nri_del(ctx, &nri_ranges, &r); \ + printf("osmo_nri_del(%d, %d) -> %d\n", r.first, r.last, rc); \ + dump_list(&nri_ranges); \ + } while(0) + +#define MATCHES(NRI, EXPECT_MATCH) do { \ + bool matches = osmo_nri_matches_list(&nri_ranges, NRI); \ + printf("osmo_nri_matches_list(%d) -> %s\n", NRI, matches ? "true" : "false"); \ + if (matches != EXPECT_MATCH) { \ + ok = false; \ + printf(" ^ ERROR: expected " #EXPECT_MATCH "\n"); \ + } \ + } while(0) + +#define OVERLAPS(FIRST, LAST, EXPECT_OVERLAP) do { \ + struct osmo_nri_range r = { .first = FIRST, .last = LAST }; \ + bool overlaps = osmo_nri_range_overlaps_list(&nri_ranges, &r); \ + printf("osmo_nri_range_overlaps_list(%d, %d) -> %s\n", r.first, r.last, overlaps ? "true" : "false"); \ + if (overlaps != EXPECT_OVERLAP) { \ + ok = false; \ + printf(" ^ ERROR: expected " #EXPECT_OVERLAP "\n"); \ + } \ + } while(0) + + dump_list(&nri_ranges); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, false); + MATCHES(INT16_MAX, false); + MATCHES(100, false); + OVERLAPS(INT16_MIN, -1, false); + OVERLAPS(-100, 100, false); + OVERLAPS(10, 20, false); + + ADD(100, 200); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, false); + MATCHES(INT16_MAX, false); + MATCHES(99, false); + MATCHES(100, true); + MATCHES(101, true); + MATCHES(199, true); + MATCHES(200, true); + MATCHES(201, false); + OVERLAPS(INT16_MIN, -1, false); + OVERLAPS(-100, 100, true); + OVERLAPS(10, 20, false); + OVERLAPS(10, 99, false); + OVERLAPS(10, 100, true); + OVERLAPS(10, 150, true); + OVERLAPS(99, 99, false); + OVERLAPS(100, 100, true); + OVERLAPS(150, 300, true); + OVERLAPS(200, 300, true); + OVERLAPS(201, 300, false); + + printf("\ndel from start:\n"); + DEL(0, 110); + DEL(111, 111); + DEL(112, 199); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, false); + MATCHES(INT16_MAX, false); + MATCHES(199, false); + MATCHES(200, true); + MATCHES(201, false); + OVERLAPS(INT16_MIN, -1, false); + OVERLAPS(-1000, 1000, true); + OVERLAPS(0, 199, false); + OVERLAPS(0, 200, true); + OVERLAPS(0, 201, true); + OVERLAPS(0, 1000, true); + OVERLAPS(199, 199, false); + OVERLAPS(200, 200, true); + OVERLAPS(201, 201, false); + + printf("\ndel from end:\n"); + ADD(100, 200); + DEL(190, INT16_MAX); + DEL(189, 189); + DEL(101, 188); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, false); + MATCHES(INT16_MAX, false); + MATCHES(99, false); + MATCHES(100, true); + MATCHES(101, false); + + printf("\ndel from middle:\n"); + ADD(100, 200); + DEL(150, 160); + DEL(110, 120); + DEL(130, 130); + DEL(180, 190); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, false); + MATCHES(INT16_MAX, false); + MATCHES(99, false); + MATCHES(100, true); + MATCHES(109, true); + MATCHES(110, false); + MATCHES(120, false); + MATCHES(121, true); + MATCHES(129, true); + MATCHES(130, false); + MATCHES(131, true); + MATCHES(148, true); + MATCHES(149, true); + MATCHES(150, false); + MATCHES(160, false); + MATCHES(161, true); + MATCHES(170, true); + MATCHES(179, true); + MATCHES(180, false); + MATCHES(185, false); + MATCHES(190, false); + MATCHES(191, true); + MATCHES(195, true); + MATCHES(200, true); + MATCHES(201, false); + MATCHES(1000, false); + OVERLAPS(110, 120, false); + OVERLAPS(110, 130, true); + OVERLAPS(100, 200, true); + + printf("\ndel across whole chunks:\n"); + DEL(115, 185); + DEL(105, 195); + DEL(0, 1000); + + printf("\nadd to join chunks:\n"); + ADD(0, 100); + DEL(11, 19); + DEL(23, 23); + DEL(30, 41); + ADD(23, 23); + ADD(11, 41); + MATCHES(0, true); + MATCHES(10, true); + MATCHES(11, true); + MATCHES(24, true); + MATCHES(41, true); + MATCHES(42, true); + MATCHES(100, true); + MATCHES(101, false); + + printf("\nborder cases:\n"); + ADD(0, 0); + ADD(INT16_MAX, INT16_MAX); + ADD(1, INT16_MAX - 1); + MATCHES(INT16_MIN, false); + MATCHES(-1, false); + MATCHES(0, true); + MATCHES(INT16_MAX, true); + DEL(0, 0); + DEL(INT16_MAX, INT16_MAX); + DEL(1, INT16_MAX - 1); + + printf("\nrange errors:\n"); + ADD(-1, -1); + ADD(-20, -10); + ADD(100, 1); + ADD(0, INT16_MAX); + DEL(-1, -1); + DEL(-20, -10); + DEL(100, 1); +} + +void test_nri_limit_by_ranges() +{ + const uint8_t nri_bitlen = 8; + const int16_t expect_nri_vals[] = { 10, 20, 21, 30, 31, 32 }; + int i; + LLIST_HEAD(nri_ranges); + printf("\n%s()\n", __func__); + + ADD(10, 10); + ADD(20, 21); + ADD(30, 32); + + for (i = 0; i < 19; i++) { + int rc; + int16_t nri_v; + int16_t expect_nri_v = expect_nri_vals[i % ARRAY_SIZE(expect_nri_vals)]; + + nri_v = i; + rc = osmo_nri_limit_by_ranges(&nri_v, &nri_ranges, nri_bitlen); + printf("osmo_nri_limit_by_ranges(%d) -> nri_v=%d rc=%d", i, nri_v, rc); + if (!rc && nri_v == expect_nri_v) { + printf(" ok\n"); + } else { + printf(" ERROR: expected nri_v=%d rc=0\n", expect_nri_v); + ok = false; + } + } + for (i = 0; i < 19; i++) { + int rc; + int16_t nri_v; + uint32_t tmsi, tmsi2; + int16_t expect_nri_v = expect_nri_vals[i % ARRAY_SIZE(expect_nri_vals)]; + + tmsi = 0; + osmo_tmsi_nri_set(&tmsi, i, nri_bitlen); + tmsi2 = tmsi; + rc = osmo_tmsi_nri_limit_by_ranges(&tmsi2, &nri_ranges, nri_bitlen); + osmo_tmsi_nri_get(&nri_v, tmsi2, nri_bitlen); + printf("osmo_tmsi_nri_limit_by_ranges(0x%08x, %u) -> tmsi=0x%08x nri_v=%d rc=%d", + tmsi, nri_bitlen, tmsi2, nri_v, rc); + if (!rc && nri_v == expect_nri_v) { + printf(" ok\n"); + } else { + printf(" ERROR: expected nri_v=%d rc=0\n", expect_nri_v); + ok = false; + } + } +} + +int main() +{ + ctx = talloc_named_const(NULL, 0, "nri_test"); + + test_nri_get_set(); + test_nri_validate(); + test_nri_range_validate(); + test_nri_list(); + test_nri_limit_by_ranges(); + + talloc_free(ctx); + if (!ok) { + printf("\nFAIL\n"); + return -1; + } + + printf("\npass\n"); + return 0; +} + diff --git a/tests/gsm23236/gsm23236_test.ok b/tests/gsm23236/gsm23236_test.ok index 7de324c..5bdc3f3 100644 --- a/tests/gsm23236/gsm23236_test.ok +++ b/tests/gsm23236/gsm23236_test.ok @@ -88,3 +88,427 @@ ok osmo_tmsi_nri_set(0x01234567, 0x7fff, 0) -> tmsi=0x01234567 rc=-1 ok + +test_nri_validate() +osmo_nri_validate(-32768, 10) = -1 ok +osmo_nri_validate(-23, 10) = -1 ok +osmo_nri_validate(-1, 10) = -1 ok +osmo_nri_validate(0, 10) = 0 ok +osmo_nri_validate(1023, 10) = 0 ok +osmo_nri_validate(1024, 10) = 1 ok +osmo_nri_validate(32767, 10) = 1 ok +osmo_nri_validate(-32768, 5) = -1 ok +osmo_nri_validate(-23, 5) = -1 ok +osmo_nri_validate(-1, 5) = -1 ok +osmo_nri_validate(0, 5) = 0 ok +osmo_nri_validate(31, 5) = 0 ok +osmo_nri_validate(32, 5) = 1 ok +osmo_nri_validate(32767, 5) = 1 ok +osmo_nri_validate(-32768, 1) = -1 ok +osmo_nri_validate(-23, 1) = -1 ok +osmo_nri_validate(-1, 1) = -1 ok +osmo_nri_validate(0, 1) = 0 ok +osmo_nri_validate(1, 1) = 0 ok +osmo_nri_validate(2, 1) = 1 ok +osmo_nri_validate(32767, 1) = 1 ok +osmo_nri_validate(-32768, 0) = -1 ok +osmo_nri_validate(-23, 0) = -1 ok +osmo_nri_validate(-1, 0) = -1 ok +osmo_nri_validate(0, 0) = 1 ok +osmo_nri_validate(1, 0) = 1 ok +osmo_nri_validate(32767, 0) = 1 ok + +test_nri_range_validate() +osmo_nri_range_validate({-32768,-32768}, 10) = -1 ok +osmo_nri_range_validate({-23,-23}, 10) = -1 ok +osmo_nri_range_validate({-1,-1}, 10) = -1 ok +osmo_nri_range_validate({0,0}, 10) = 0 ok +osmo_nri_range_validate({1023,1023}, 10) = 0 ok +osmo_nri_range_validate({1024,1024}, 10) = 1 ok +osmo_nri_range_validate({32767,32767}, 10) = 1 ok +osmo_nri_range_validate({-32768,-32768}, 5) = -1 ok +osmo_nri_range_validate({-23,-23}, 5) = -1 ok +osmo_nri_range_validate({-1,-1}, 5) = -1 ok +osmo_nri_range_validate({0,0}, 5) = 0 ok +osmo_nri_range_validate({31,31}, 5) = 0 ok +osmo_nri_range_validate({32,32}, 5) = 1 ok +osmo_nri_range_validate({32767,32767}, 5) = 1 ok +osmo_nri_range_validate({-32768,-32768}, 1) = -1 ok +osmo_nri_range_validate({-23,-23}, 1) = -1 ok +osmo_nri_range_validate({-1,-1}, 1) = -1 ok +osmo_nri_range_validate({0,0}, 1) = 0 ok +osmo_nri_range_validate({1,1}, 1) = 0 ok +osmo_nri_range_validate({2,2}, 1) = 1 ok +osmo_nri_range_validate({32767,32767}, 1) = 1 ok +osmo_nri_range_validate({-32768,-32768}, 0) = -1 ok +osmo_nri_range_validate({-23,-23}, 0) = -1 ok +osmo_nri_range_validate({-1,-1}, 0) = -1 ok +osmo_nri_range_validate({0,0}, 0) = 1 ok +osmo_nri_range_validate({1,1}, 0) = 1 ok +osmo_nri_range_validate({32767,32767}, 0) = 1 ok +osmo_nri_range_validate({0,-32768}, 10) = -2 ok +osmo_nri_range_validate({0,-23}, 10) = -2 ok +osmo_nri_range_validate({0,-1}, 10) = -2 ok +osmo_nri_range_validate({0,0}, 10) = 0 ok +osmo_nri_range_validate({0,1023}, 10) = 0 ok +osmo_nri_range_validate({0,1024}, 10) = 2 ok +osmo_nri_range_validate({0,32767}, 10) = 2 ok +osmo_nri_range_validate({0,-32768}, 5) = -2 ok +osmo_nri_range_validate({0,-23}, 5) = -2 ok +osmo_nri_range_validate({0,-1}, 5) = -2 ok +osmo_nri_range_validate({0,0}, 5) = 0 ok +osmo_nri_range_validate({0,31}, 5) = 0 ok +osmo_nri_range_validate({0,32}, 5) = 2 ok +osmo_nri_range_validate({0,32767}, 5) = 2 ok +osmo_nri_range_validate({0,-32768}, 1) = -2 ok +osmo_nri_range_validate({0,-23}, 1) = -2 ok +osmo_nri_range_validate({0,-1}, 1) = -2 ok +osmo_nri_range_validate({0,0}, 1) = 0 ok +osmo_nri_range_validate({0,1}, 1) = 0 ok +osmo_nri_range_validate({0,2}, 1) = 2 ok +osmo_nri_range_validate({0,32767}, 1) = 2 ok +osmo_nri_range_validate({0,-32768}, 0) = 1 ok +osmo_nri_range_validate({0,-23}, 0) = 1 ok +osmo_nri_range_validate({0,-1}, 0) = 1 ok +osmo_nri_range_validate({0,0}, 0) = 1 ok +osmo_nri_range_validate({0,1}, 0) = 1 ok +osmo_nri_range_validate({0,32767}, 0) = 1 ok +osmo_nri_range_validate({0,0}, 10) = 0 ok +osmo_nri_range_validate({1,0}, 10) = -3 ok +osmo_nri_range_validate({1023,1023}, 10) = 0 ok +osmo_nri_range_validate({1023,1022}, 10) = -3 ok +osmo_nri_range_validate({1023,0}, 10) = -3 ok +osmo_nri_range_validate({0,0}, 5) = 0 ok +osmo_nri_range_validate({1,0}, 5) = -3 ok +osmo_nri_range_validate({31,31}, 5) = 0 ok +osmo_nri_range_validate({31,30}, 5) = -3 ok +osmo_nri_range_validate({31,0}, 5) = -3 ok +osmo_nri_range_validate({0,0}, 1) = 0 ok +osmo_nri_range_validate({1,1}, 1) = 0 ok +osmo_nri_range_validate({1,0}, 1) = -3 ok + +test_nri_list() +nri_ranges = { +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> false +osmo_nri_matches_list(32767) -> false +osmo_nri_matches_list(100) -> false +osmo_nri_range_overlaps_list(-32768, -1) -> false +osmo_nri_range_overlaps_list(-100, 100) -> false +osmo_nri_range_overlaps_list(10, 20) -> false +osmo_nri_add(100, 200) -> 0 +nri_ranges = { + { 100, 200 }, +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> false +osmo_nri_matches_list(32767) -> false +osmo_nri_matches_list(99) -> false +osmo_nri_matches_list(100) -> true +osmo_nri_matches_list(101) -> true +osmo_nri_matches_list(199) -> true +osmo_nri_matches_list(200) -> true +osmo_nri_matches_list(201) -> false +osmo_nri_range_overlaps_list(-32768, -1) -> false +osmo_nri_range_overlaps_list(-100, 100) -> true +osmo_nri_range_overlaps_list(10, 20) -> false +osmo_nri_range_overlaps_list(10, 99) -> false +osmo_nri_range_overlaps_list(10, 100) -> true +osmo_nri_range_overlaps_list(10, 150) -> true +osmo_nri_range_overlaps_list(99, 99) -> false +osmo_nri_range_overlaps_list(100, 100) -> true +osmo_nri_range_overlaps_list(150, 300) -> true +osmo_nri_range_overlaps_list(200, 300) -> true +osmo_nri_range_overlaps_list(201, 300) -> false + +del from start: +osmo_nri_del(0, 110) -> 0 +nri_ranges = { + { 111, 200 }, +}; +osmo_nri_del(111, 111) -> 0 +nri_ranges = { + { 112, 200 }, +}; +osmo_nri_del(112, 199) -> 0 +nri_ranges = { + { 200, 200 }, +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> false +osmo_nri_matches_list(32767) -> false +osmo_nri_matches_list(199) -> false +osmo_nri_matches_list(200) -> true +osmo_nri_matches_list(201) -> false +osmo_nri_range_overlaps_list(-32768, -1) -> false +osmo_nri_range_overlaps_list(-1000, 1000) -> true +osmo_nri_range_overlaps_list(0, 199) -> false +osmo_nri_range_overlaps_list(0, 200) -> true +osmo_nri_range_overlaps_list(0, 201) -> true +osmo_nri_range_overlaps_list(0, 1000) -> true +osmo_nri_range_overlaps_list(199, 199) -> false +osmo_nri_range_overlaps_list(200, 200) -> true +osmo_nri_range_overlaps_list(201, 201) -> false + +del from end: +osmo_nri_add(100, 200) -> 0 +nri_ranges = { + { 100, 200 }, +}; +osmo_nri_del(190, 32767) -> 0 +nri_ranges = { + { 100, 189 }, +}; +osmo_nri_del(189, 189) -> 0 +nri_ranges = { + { 100, 188 }, +}; +osmo_nri_del(101, 188) -> 0 +nri_ranges = { + { 100, 100 }, +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> false +osmo_nri_matches_list(32767) -> false +osmo_nri_matches_list(99) -> false +osmo_nri_matches_list(100) -> true +osmo_nri_matches_list(101) -> false + +del from middle: +osmo_nri_add(100, 200) -> 0 +nri_ranges = { + { 100, 200 }, +}; +osmo_nri_del(150, 160) -> 0 +nri_ranges = { + { 100, 149 }, + { 161, 200 }, +}; +osmo_nri_del(110, 120) -> 0 +nri_ranges = { + { 100, 109 }, + { 121, 149 }, + { 161, 200 }, +}; +osmo_nri_del(130, 130) -> 0 +nri_ranges = { + { 100, 109 }, + { 121, 129 }, + { 131, 149 }, + { 161, 200 }, +}; +osmo_nri_del(180, 190) -> 0 +nri_ranges = { + { 100, 109 }, + { 121, 129 }, + { 131, 149 }, + { 161, 179 }, + { 191, 200 }, +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> false +osmo_nri_matches_list(32767) -> false +osmo_nri_matches_list(99) -> false +osmo_nri_matches_list(100) -> true +osmo_nri_matches_list(109) -> true +osmo_nri_matches_list(110) -> false +osmo_nri_matches_list(120) -> false +osmo_nri_matches_list(121) -> true +osmo_nri_matches_list(129) -> true +osmo_nri_matches_list(130) -> false +osmo_nri_matches_list(131) -> true +osmo_nri_matches_list(148) -> true +osmo_nri_matches_list(149) -> true +osmo_nri_matches_list(150) -> false +osmo_nri_matches_list(160) -> false +osmo_nri_matches_list(161) -> true +osmo_nri_matches_list(170) -> true +osmo_nri_matches_list(179) -> true +osmo_nri_matches_list(180) -> false +osmo_nri_matches_list(185) -> false +osmo_nri_matches_list(190) -> false +osmo_nri_matches_list(191) -> true +osmo_nri_matches_list(195) -> true +osmo_nri_matches_list(200) -> true +osmo_nri_matches_list(201) -> false +osmo_nri_matches_list(1000) -> false +osmo_nri_range_overlaps_list(110, 120) -> false +osmo_nri_range_overlaps_list(110, 130) -> true +osmo_nri_range_overlaps_list(100, 200) -> true + +del across whole chunks: +osmo_nri_del(115, 185) -> 0 +nri_ranges = { + { 100, 109 }, + { 191, 200 }, +}; +osmo_nri_del(105, 195) -> 0 +nri_ranges = { + { 100, 104 }, + { 196, 200 }, +}; +osmo_nri_del(0, 1000) -> 0 +nri_ranges = { +}; + +add to join chunks: +osmo_nri_add(0, 100) -> 0 +nri_ranges = { + { 0, 100 }, +}; +osmo_nri_del(11, 19) -> 0 +nri_ranges = { + { 0, 10 }, + { 20, 100 }, +}; +osmo_nri_del(23, 23) -> 0 +nri_ranges = { + { 0, 10 }, + { 20, 22 }, + { 24, 100 }, +}; +osmo_nri_del(30, 41) -> 0 +nri_ranges = { + { 0, 10 }, + { 20, 22 }, + { 24, 29 }, + { 42, 100 }, +}; +osmo_nri_add(23, 23) -> 0 +nri_ranges = { + { 0, 10 }, + { 20, 29 }, + { 42, 100 }, +}; +osmo_nri_add(11, 41) -> 0 +nri_ranges = { + { 0, 100 }, +}; +osmo_nri_matches_list(0) -> true +osmo_nri_matches_list(10) -> true +osmo_nri_matches_list(11) -> true +osmo_nri_matches_list(24) -> true +osmo_nri_matches_list(41) -> true +osmo_nri_matches_list(42) -> true +osmo_nri_matches_list(100) -> true +osmo_nri_matches_list(101) -> false + +border cases: +osmo_nri_add(0, 0) -> 0 +nri_ranges = { + { 0, 100 }, +}; +osmo_nri_add(32767, 32767) -> 0 +nri_ranges = { + { 0, 100 }, + { 32767, 32767 }, +}; +osmo_nri_add(1, 32766) -> 0 +nri_ranges = { + { 0, 32767 }, +}; +osmo_nri_matches_list(-32768) -> false +osmo_nri_matches_list(-1) -> false +osmo_nri_matches_list(0) -> true +osmo_nri_matches_list(32767) -> true +osmo_nri_del(0, 0) -> 0 +nri_ranges = { + { 1, 32767 }, +}; +osmo_nri_del(32767, 32767) -> 0 +nri_ranges = { + { 1, 32766 }, +}; +osmo_nri_del(1, 32766) -> 0 +nri_ranges = { +}; + +range errors: +osmo_nri_add(-1, -1) -> -1 +nri_ranges = { +}; +osmo_nri_add(-20, -10) -> -1 +nri_ranges = { +}; +osmo_nri_add(100, 1) -> -1 +nri_ranges = { +}; +osmo_nri_add(0, 32767) -> 0 +nri_ranges = { + { 0, 32767 }, +}; +osmo_nri_del(-1, -1) -> -1 +nri_ranges = { + { 0, 32767 }, +}; +osmo_nri_del(-20, -10) -> -1 +nri_ranges = { + { 0, 32767 }, +}; +osmo_nri_del(100, 1) -> -1 +nri_ranges = { + { 0, 32767 }, +}; + +test_nri_limit_by_ranges() +osmo_nri_add(10, 10) -> 0 +nri_ranges = { + { 10, 10 }, +}; +osmo_nri_add(20, 21) -> 0 +nri_ranges = { + { 10, 10 }, + { 20, 21 }, +}; +osmo_nri_add(30, 32) -> 0 +nri_ranges = { + { 10, 10 }, + { 20, 21 }, + { 30, 32 }, +}; +osmo_nri_limit_by_ranges(0) -> nri_v=10 rc=0 ok +osmo_nri_limit_by_ranges(1) -> nri_v=20 rc=0 ok +osmo_nri_limit_by_ranges(2) -> nri_v=21 rc=0 ok +osmo_nri_limit_by_ranges(3) -> nri_v=30 rc=0 ok +osmo_nri_limit_by_ranges(4) -> nri_v=31 rc=0 ok +osmo_nri_limit_by_ranges(5) -> nri_v=32 rc=0 ok +osmo_nri_limit_by_ranges(6) -> nri_v=10 rc=0 ok +osmo_nri_limit_by_ranges(7) -> nri_v=20 rc=0 ok +osmo_nri_limit_by_ranges(8) -> nri_v=21 rc=0 ok +osmo_nri_limit_by_ranges(9) -> nri_v=30 rc=0 ok +osmo_nri_limit_by_ranges(10) -> nri_v=31 rc=0 ok +osmo_nri_limit_by_ranges(11) -> nri_v=32 rc=0 ok +osmo_nri_limit_by_ranges(12) -> nri_v=10 rc=0 ok +osmo_nri_limit_by_ranges(13) -> nri_v=20 rc=0 ok +osmo_nri_limit_by_ranges(14) -> nri_v=21 rc=0 ok +osmo_nri_limit_by_ranges(15) -> nri_v=30 rc=0 ok +osmo_nri_limit_by_ranges(16) -> nri_v=31 rc=0 ok +osmo_nri_limit_by_ranges(17) -> nri_v=32 rc=0 ok +osmo_nri_limit_by_ranges(18) -> nri_v=10 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00000000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00010000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00020000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00030000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00040000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00050000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00060000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00070000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00080000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00090000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000a0000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000b0000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000c0000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000d0000, 8) -> tmsi=0x00140000 nri_v=20 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000e0000, 8) -> tmsi=0x00150000 nri_v=21 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x000f0000, 8) -> tmsi=0x001e0000 nri_v=30 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00100000, 8) -> tmsi=0x001f0000 nri_v=31 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00110000, 8) -> tmsi=0x00200000 nri_v=32 rc=0 ok +osmo_tmsi_nri_limit_by_ranges(0x00120000, 8) -> tmsi=0x000a0000 nri_v=10 rc=0 ok + +pass -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68e4156824032772f460042499bbc693380186dc Gerrit-Change-Number: 18540 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 00:53:25 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 00:53:25 +0000 Subject: Change in osmo-bsc[master]: doc/examples: remove deprecated ussd text config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18520 ) Change subject: doc/examples: remove deprecated ussd text config ...................................................................... Patch Set 1: > Patch Set 1: > > Are these options deprecated in previous commit? then it belongs to that same commit. I want to test / show that osmo-bsc still launches with those 'no welcome-message' configurations in the config file. Keeping them in the first patch shows that the vty tests pass, and osmo-bsc will still launch if legacy configs have a 'no foo-text'. Once that is shown, then rather drop them from doc/examples in this patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 Gerrit-Change-Number: 18520 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 00:53:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 01:13:40 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 01:13:40 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 to look at the new patch set (#3). Change subject: drop MSC types "local" vs "normal" ...................................................................... drop MSC types "local" vs "normal" Another legacy feature. All that this setting effectively does is prevent MSCs from being contacted for non-emergency calls. To select which MSCs shall handle emergency calls, there is the allow_emerg flag. Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 4 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18499/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu May 28 01:41:02 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 28 May 2020 01:41:02 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <5ecf16c244943_41832b021c1605f07479d3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 167s] libosmo-sccp.src: W: no-changelogname-tag [ 167s] libosmo-sigtran-devel.aarch64: W: no-changelogname-tag [ 167s] libosmo-sigtran5.aarch64: W: no-changelogname-tag [ 167s] libosmo-xua-devel.aarch64: W: no-changelogname-tag [ 167s] osmo-stp.aarch64: W: no-changelogname-tag [ 167s] There is no changelog. Please insert a '%changelog' section heading in your [ 167s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 167s] [ 167s] osmo-stp.aarch64: W: suse-missing-rclink osmo-stp [ 167s] The package contains an init script or systemd service file but lacks the [ 167s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 167s] [ 167s] libosmo-mtp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 167s] libosmo-sigtran-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 167s] libosmo-sccp-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 167s] libosmo-xua-devel.aarch64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 167s] This archive does not contain a non-empty .text section. The archive was not [ 167s] created with -ffat-lto-objects option. [ 167s] [ 167s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 167s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 167s] [ 167s] ### VM INTERACTION START ### [ 170s] [ 154.488002] sysrq: Power Off [ 170s] [ 154.506040] reboot: Power down [ 171s] ### VM INTERACTION END ### [ 171s] [ 171s] obs-arm-4 failed "build libosmo-sccp.spec" at Thu May 28 01:40:59 UTC 2020. [ 171s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 28 01:42:11 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 28 May 2020 01:42:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <5ecf1700cbf1b_41832b021c1605f07482a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 91s] libosmo-sccp.src: W: no-changelogname-tag [ 91s] libosmo-sigtran-devel.i586: W: no-changelogname-tag [ 91s] libosmo-sigtran5.i586: W: no-changelogname-tag [ 91s] libosmo-xua-devel.i586: W: no-changelogname-tag [ 91s] osmo-stp.i586: W: no-changelogname-tag [ 91s] There is no changelog. Please insert a '%changelog' section heading in your [ 91s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 91s] [ 91s] osmo-stp.i586: W: suse-missing-rclink osmo-stp [ 91s] The package contains an init script or systemd service file but lacks the [ 91s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 91s] [ 91s] libosmo-mtp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 91s] libosmo-sigtran-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 91s] libosmo-sccp-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 91s] libosmo-xua-devel.i586: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 91s] This archive does not contain a non-empty .text section. The archive was not [ 91s] created with -ffat-lto-objects option. [ 91s] [ 91s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 91s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 91s] [ 91s] ### VM INTERACTION START ### [ 94s] [ 86.687737] sysrq: Power Off [ 94s] [ 86.692360] reboot: Power down [ 94s] ### VM INTERACTION END ### [ 94s] [ 94s] lamb58 failed "build libosmo-sccp.spec" at Thu May 28 01:42:00 UTC 2020. [ 94s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 28 01:44:45 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 28 May 2020 01:44:45 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <5ecf1797cca67_41832b021c1605f0748536@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 54s] libosmo-sccp.src: W: no-changelogname-tag [ 54s] libosmo-sigtran-devel.x86_64: W: no-changelogname-tag [ 54s] libosmo-sigtran5.x86_64: W: no-changelogname-tag [ 54s] libosmo-xua-devel.x86_64: W: no-changelogname-tag [ 54s] osmo-stp.x86_64: W: no-changelogname-tag [ 54s] There is no changelog. Please insert a '%changelog' section heading in your [ 54s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 54s] [ 54s] osmo-stp.x86_64: W: suse-missing-rclink osmo-stp [ 54s] The package contains an init script or systemd service file but lacks the [ 54s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 54s] [ 54s] libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a [ 54s] libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a [ 54s] libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a [ 54s] libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a [ 54s] This archive does not contain a non-empty .text section. The archive was not [ 54s] created with -ffat-lto-objects option. [ 54s] [ 54s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 54s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 54s] [ 54s] ### VM INTERACTION START ### [ 57s] [ 51.941733] sysrq: Power Off [ 57s] [ 51.951535] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] sheep81 failed "build libosmo-sccp.spec" at Thu May 28 01:44:41 UTC 2020. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu May 28 01:48:11 2020 From: admin at opensuse.org (OBS Notification) Date: Thu, 28 May 2020 01:48:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <5ecf18681fef5_41832b021c1605f074904e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: [ 216s] libosmo-sccp.src: W: no-changelogname-tag [ 216s] libosmo-sigtran-devel.armv7hl: W: no-changelogname-tag [ 216s] libosmo-sigtran5.armv7hl: W: no-changelogname-tag [ 216s] libosmo-xua-devel.armv7hl: W: no-changelogname-tag [ 216s] osmo-stp.armv7hl: W: no-changelogname-tag [ 216s] There is no changelog. Please insert a '%changelog' section heading in your [ 216s] spec file and prepare your changes file using e.g. the 'osc vc' command. [ 216s] [ 216s] osmo-stp.armv7hl: W: suse-missing-rclink osmo-stp [ 216s] The package contains an init script or systemd service file but lacks the [ 216s] symlink /usr/sbin/rcFOO -> /usr/sbin/service [ 216s] [ 216s] libosmo-mtp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libmtp.a [ 216s] libosmo-sigtran-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libosmo-sigtran.a [ 216s] libosmo-sccp-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libsccp.a [ 216s] libosmo-xua-devel.armv7hl: E: lto-no-text-in-archive (Badness: 10000) /usr/lib/libxua.a [ 216s] This archive does not contain a non-empty .text section. The archive was not [ 216s] created with -ffat-lto-objects option. [ 216s] [ 216s] (none): E: badness 40000 exceeds threshold 1000, aborting. [ 216s] 7 packages and 0 specfiles checked; 4 errors, 8 warnings. [ 216s] [ 216s] ### VM INTERACTION START ### [ 219s] [ 204.369598] sysrq: Power Off [ 219s] [ 204.371616] reboot: Power down [ 220s] ### VM INTERACTION END ### [ 220s] [ 220s] obs-arm-6 failed "build libosmo-sccp.spec" at Thu May 28 01:48:00 UTC 2020. [ 220s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu May 28 07:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 07:54:03 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 to look at the new patch set (#3). Change subject: OBS: support more than one conflicting package ...................................................................... OBS: support more than one conflicting package For the upcoming network:osmocom:next repository, it would be inconsistent to have the debian package conflict mechanism only support latest and nightly, even if the next repository is currently not built for debian. Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 --- M scripts/common-obs.sh 1 file changed, 22 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/41/18441/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 07:54:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 07:54:03 +0000 Subject: Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh In-Reply-To: References: Message-ID: Hello pespin, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 to look at the new patch set (#3). Change subject: OBS: add osmocom-next-packages.sh ...................................................................... OBS: add osmocom-next-packages.sh Fill the "next" feed with source packages generated from the "next" branch of each Osmocom project, if it exists, with fallback to the "master" branch. Implement as wrapper around osmocom-nightly-packages.sh, so we don't duplicate code and don't need to add more logic to the jenkins job. Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of each osmocom-*-packages.sh script stating the feed they can be used with. Related: SYS#4887 Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce --- M scripts/osmocom-latest-packages.sh A scripts/osmocom-next-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 45 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/42/18442/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 07:54:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 07:54:28 +0000 Subject: Change in osmo-ci[master]: Cosmetic: OBS: remove comments for requirements In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18440 ) Change subject: Cosmetic: OBS: remove comments for requirements ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f Gerrit-Change-Number: 18440 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 07:54:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 07:54:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 07:54:30 +0000 Subject: Change in osmo-ci[master]: Cosmetic: OBS: remove comments for requirements In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18440 ) Change subject: Cosmetic: OBS: remove comments for requirements ...................................................................... Cosmetic: OBS: remove comments for requirements The list is incomplete, and we have a programmatic check for required binaries in common-obs.sh now. The next patch will add a new one of these scripts, so let's clean it up a bit. Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f --- M scripts/osmocom-latest-packages.sh M scripts/osmocom-nightly-packages.sh 2 files changed, 0 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index d836af2..4d5b3f3 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -2,9 +2,6 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" -# requirements -# apt install git-buildpackage osc git - set -e set -x diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index f6bd4e6..40f2a6c 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -2,9 +2,6 @@ . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" -# requirements -# apt install devscripts git-buildpackage osc git - set -e set -x -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f Gerrit-Change-Number: 18440 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 07:59:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 07:59:47 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 3: Updated, the conflicts are in one line now - as they need to be. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 07:59:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:00:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 08:00:19 +0000 Subject: Change in osmo-ci[master]: OBS: next: adjust to push to network:osmocom:next In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18443 ) Change subject: OBS: next: adjust to push to network:osmocom:next ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-ci/+/18442 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18443 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7274e9c4c889c1d5af9b566b81b0fb8267db08d8 Gerrit-Change-Number: 18443 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:00:27 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 08:00:27 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-ci/+/18442 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:00:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 08:00:47 +0000 Subject: Change in osmo-ci[master]: OBS: next: osmo-trx: use branch osmith/ipc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18444 ) Change subject: OBS: next: osmo-trx: use branch osmith/ipc ...................................................................... Patch Set 2: > Patch Set 2: > > this works for now. Maybe we should simply introduce some automatic mechanism where the "next" builds will use a "next" branch in every repository, or fall back to "master" if there is no "next" branch? This way, all a developer has to do to make a change visible in "next" is to push it there and wait for the OBS rebuild (or manually trigger it via jenkins web interface")? Done in https://gerrit.osmocom.org/c/osmo-ci/+/18442 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If35ccddf72a6ce835dc29deea45def7a790e85a7 Gerrit-Change-Number: 18444 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:00:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:02:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 08:02:18 +0000 Subject: Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: add osmocom-next-packages.sh ...................................................................... Patch Set 3: > Patch Set 2: Code-Review-1 > > I would appreciate less copy+pasting between nightly + next and more factoring to common shell functions which then are used by both nightly and next scripts. Rewrote it accordingly, please take another look. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:02:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:57:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 08:57:33 +0000 Subject: Change in osmo-bsc[master]: stats: Count paging requests flushed due to MSC Reset. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18427 ) Change subject: stats: Count paging requests flushed due to MSC Reset. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b Gerrit-Change-Number: 18427 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 08:57:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:58:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 08:58:09 +0000 Subject: Change in docker-playground[master]: centos-repo-install-test: new image In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18516 ) Change subject: centos-repo-install-test: new image ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d Gerrit-Change-Number: 18516 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:58:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:59:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 08:59:04 +0000 Subject: Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: add osmocom-next-packages.sh ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:59:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:59:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 08:59:22 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:59:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 08:59:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 08:59:42 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 08:59:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:00:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:00:21 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18436 ) Change subject: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2427266ef4660935cde899462fa6df8d785c420e Gerrit-Change-Number: 18436 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:00:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:00:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:00:23 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18436 ) Change subject: bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() ...................................................................... bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan() conn->fi might be NULL and thus can't be safely dereferenced. E.g. we're checking if it's NULL or not just a few lines above. so we should here as well. Here is a backtrace for the crash: (gdb) bt 0 0x000055b948002772 in gscon_forget_lchan (conn=0x55b949c6b870, lchan=lchan at entry=0x7f00ae9ade68) at bsc_subscr_conn_fsm.c:718 1 0x000055b948036c84 in lchan_fsm_wait_rf_release_ack_onenter (fi=, prev_state=) at lchan_fsm.c:1040 2 0x00007f00afc6a599 in state_chg (fi=fi at entry=0x55b949bcfe10, new_state=new_state at entry=8, keep_timer=keep_timer at entry=false, timeout_ms=2000, T=3111, file=, line=1344) at fsm.c:699 3 0x00007f00afc6aa5d in _osmo_fsm_inst_state_chg (fi=fi at entry=0x55b949bcfe10, new_state=new_state at entry=8, timeout_secs=, T=, file=, line=) at fsm.c:748 4 0x00007f00afc78e62 in _osmo_tdef_fsm_inst_state_chg (fi=fi at entry=0x55b949bcfe10, state=state at entry=8, timeouts_array=timeouts_array at entry=0x55b9482b56a0 , tdefs=, default_timeout=140730455622800, default_timeout at entry=5, file=file at entry=0x55b948079d39 "lchan_fsm.c", line=1344) at tdef.c:346 5 0x000055b9480341eb in lchan_fsm_timer_cb (fi=0x55b949bcfe10) at lchan_fsm.c:1344 6 0x00007f00afc6b84a in fsm_tmr_cb (data=0x55b949bcfe10) at fsm.c:325 7 0x00007f00afc65926 in osmo_timers_update () at timer.c:257 8 0x00007f00afc65cda in _osmo_select_main (polling=0) at select.c:260 9 0x00007f00afc66526 in osmo_select_main_ctx (polling=) at select.c:291 10 0x000055b947fdcadf in main (argc=, argv=) at osmo_bsc_main.c:953 (gdb) p conn->fi $1 = (struct osmo_fsm_inst *) 0x0 Change-Id: I2427266ef4660935cde899462fa6df8d785c420e --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 0b475ff..3da9d66 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -715,7 +715,7 @@ osmo_fsm_inst_name(conn->fi), detach_label); } - if (conn->fi->state != ST_CLEARING + if ((conn->fi && conn->fi->state != ST_CLEARING) && !conn->lchan && !conn->ho.new_lchan && !conn->assignment.new_lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18436 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2427266ef4660935cde899462fa6df8d785c420e Gerrit-Change-Number: 18436 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:01:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:01:01 +0000 Subject: Change in osmo-bsc[master]: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return -ENOTCONN from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: > > > > I'm happy with returning an error here, but the problem is that abis_rsl_rx_rll() propagates that error to libosmo-abis. It shouldn't. > > Actually, I think we just should return 0 here instead of an error. works for me. > Whether to forward the message or not to an SCCP connection is an internal question for the GSM 04.07 code, I would say. And thus should stay within gsm0408_rcvmsg(). ack. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 1 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:01:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:08:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:08:42 +0000 Subject: Change in libosmocore[master]: gsm23236: add NRI range utility functions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18540 ) Change subject: gsm23236: add NRI range utility functions ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/libosmocore/+/18540/1/include/osmocom/gsm/gsm23236.h File include/osmocom/gsm/gsm23236.h: https://gerrit.osmocom.org/c/libosmocore/+/18540/1/include/osmocom/gsm/gsm23236.h at 28 PS1, Line 28: struct llist_head *nri_ranges can probably be 'const' as the nri_ranges list is iterated only for reading? https://gerrit.osmocom.org/c/libosmocore/+/18540/1/include/osmocom/gsm/gsm23236.h at 29 PS1, Line 29: struct llist_head *nri_ranges same here, shouldn't it also be const? https://gerrit.osmocom.org/c/libosmocore/+/18540/1/include/osmocom/gsm/gsm23236.h at 30 PS1, Line 30: (void *ctx, struct llist_head *nri_range one *could* (not saying you must if you don't like it) create a 'osmo_nri_range_list' or 'osmo_nri_ranges' struct which stores the master llist_head, the nri_bitlen and which also serves as talloc context for any osmo_nri_range allocations. This way the function signatures (and hence usage) would be simplified without having to manually specify ctx and/or nri_bitlen. If the osmo_nri_range had a back-pointer to the ramnge_list/ranges "parent", then even functions only receiving a single osmo_nri_range as argument can get to the nri_Bitlen. https://gerrit.osmocom.org/c/libosmocore/+/18540/1/include/osmocom/gsm/gsm23236.h at 42 PS1, Line 42: struct const again? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I68e4156824032772f460042499bbc693380186dc Gerrit-Change-Number: 18540 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:08:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:08:52 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18499 ) Change subject: drop MSC types "local" vs "normal" ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:08:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:08:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:08:54 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18519 ) Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18519/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/18519/1//COMMIT_MSG at 7 PS1, Line 7: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order I'm lacking some context here on why we need to it convert it, and why is it now in network byte order. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:08:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:09:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:09:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: mark c_MA_null as private In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 ) Change subject: bts/BTS_Tests: cosmetic: mark c_MA_null as private ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I49d231395a6ae3a582c9719eaa5244daac32e020 Gerrit-Change-Number: 18522 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:09:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:09:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:09:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 ) Change subject: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521/1/library/GSM_RR_Types.ttcn File library/GSM_RR_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521/1/library/GSM_RR_Types.ttcn at a184 PS1, Line 184: type record MaioHsn { oh an empty record how cool! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Gerrit-Change-Number: 18521 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:09:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:09:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:09:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 ) Change subject: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Gerrit-Change-Number: 18521 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:09:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:10:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:10:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: derive ts_ChanDesc{H0, H1} from ts_ChanDesc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 ) Change subject: bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Gerrit-Change-Number: 18523 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:10:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:10:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:10:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 ) Change subject: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07a91b6517d2f19e127d36d79e6d2136bd2c29bb Gerrit-Change-Number: 18524 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:10:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:10:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:10:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 ) Change subject: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter ...................................................................... Patch Set 1: Code-Review+1 isn't anything an "in" unless automatically marked as inout or out? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8aa7e41ab55af6be07e6926bf0a063418796bd1b Gerrit-Change-Number: 18525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:10:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:11:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:11:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: derive ts_ChanDesc{H0, H1} from ts_ChanDesc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 ) Change subject: bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523/1/bts/BTS_Tests.ttcn at 3160 PS1, Line 3160: template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, What does H0 and H1 mean? Hopping enabled and disabled? Why simply not keeping this one as it is and add ts_ChanDescFreqHopping? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Gerrit-Change-Number: 18523 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:11:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:12:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:12:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 ) Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526/1/library/L1CTL_Types.ttcn File library/L1CTL_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526/1/library/L1CTL_Types.ttcn at 570 PS1, Line 570: template L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H0(RslChannelNr chan_nr, GsmTsc tsc, could be a template (value) - yes, other code fails to do so in this file, but doesn' mean we can add new templates with proper annotation. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:12:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:12:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:12:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 ) Change subject: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16 Gerrit-Change-Number: 18527 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:12:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:13:45 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:13:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 ) Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528/1/library/L1CTL_Types.ttcn File library/L1CTL_Types.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528/1/library/L1CTL_Types.ttcn at 592 PS1, Line 592: template L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H1(RslChannelNr chan_nr, GsmTsc tsc, again (value). I guess you could convert all of the template as an additional patch at the end of the series, if you don't want to touch each commit again here. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:13:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:14:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:14:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 ) Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529/1/library/L1CTL_PortType.ttcn File library/L1CTL_PortType.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529/1/library/L1CTL_PortType.ttcn at 219 PS1, Line 219: TODO: handle Mobile Allocation IE handle in which way? Doesn't this function simply pass it through? Either expand on TODO or implement the required handling right away? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:14:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:15:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:15:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:15:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:15:46 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:15:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 ) Change subject: bts/BTS_Tests: add frequency hopping parameters ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530/1/bts/BTS_Tests_perf.ttcn File bts/BTS_Tests_perf.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530/1/bts/BTS_Tests_perf.ttcn at 89 PS1, Line 89: var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, unrelated change? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Gerrit-Change-Number: 18530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:15:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:16:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:16:21 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 2: So as we indicated, the TODO-RELEASE change is not needed. Please remove it. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:16:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:15 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:17:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:40 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 ) Change subject: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Gerrit-Change-Number: 18521 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:17:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/RSL_Emulation: server mode: handle multiple transceivers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 ) Change subject: library/RSL_Emulation: server mode: handle multiple transceivers ...................................................................... library/RSL_Emulation: server mode: handle multiple transceivers Since change [1], the IPA emulation component allows us to handle multiple IPA connections, thus multiple RSL connections. The idea is to attach a TCP/IP connection identifier to each message. On top of that, this change implements mapping between TCP/IP connection identifiers and RSL stream identifiers, so we can finally talk to any of connected transceivers (up to 4 for now), not only the last connected one (as it was before). The actual mapping is done during the IPA identification procedure. Instead of forwarding ASP_IPA_EVENT_UP to a test case, the RSL emulation component now sends a new event - RSLEM_EV_TRX_UP, with transceiver number (actually, IPA stream-id) attached. [1] I93c58c08cf296e5cea81d811650caa1a09b8a579 Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/IPA_Types.ttcn M library/RSL_Emulation.ttcn 3 files changed, 126 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 99a8ef9..7d211de 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -192,7 +192,8 @@ T.start; alt { - [] RSL_CCHAN.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)); + /* TODO: handle connection events from multiple transceivers */ + [] RSL_CCHAN.receive(tr_RSLEm_EV(RSLEM_EV_TRX_UP)); [] T.timeout { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for ASP_IPA_EVENT_UP"); } diff --git a/library/IPA_Types.ttcn b/library/IPA_Types.ttcn index ce6f9b6..110e5b1 100644 --- a/library/IPA_Types.ttcn +++ b/library/IPA_Types.ttcn @@ -131,5 +131,18 @@ extension "decode(RAW)" } +/* Finds an IE with the given tag in IPA IDENTITY RESPONSE. + * Returns index of an IE if found, -1 otherwise. */ +function f_ipa_id_resp_find_ie(in IpaCcmIdResp resp, IpaCcmIdTag tag) +return integer { + for (var integer i := 0; i < sizeof(resp); i := i + 1) { + if (resp[i].tag == tag) { + return i; + } + } + + return -1; +} + } with { encode "RAW" } diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index bbe5332..eeb5ed5 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -64,12 +64,33 @@ fn := omit } +type enumerated RSLEm_EventType { + RSLEM_EV_TRX_UP, + RSLEM_EV_TRX_DOWN +}; + +type record RSLEm_Event { + RSLEm_EventType ev_type, + IpaStreamId sid +}; + +template (value) RSLEm_Event ts_RSLEm_EV(RSLEm_EventType ev_type, + IpaStreamId sid) := { + ev_type := ev_type, + sid := sid +}; +template RSLEm_Event tr_RSLEm_EV(template RSLEm_EventType ev_type, + template IpaStreamId sid := ?) := { + ev_type := ev_type, + sid := sid +}; + type port RSL_DCHAN_PT message { inout RSLDC_ChanRqd, RSL_Message; } with { extension "internal" }; type port RSL_CCHAN_PT message { - inout ASP_RSL_Unitdata, ASP_IPA_Event; + inout ASP_RSL_Unitdata, RSLEm_Event; } with { extension "internal" }; @@ -314,6 +335,67 @@ } } +private function f_trx_conn_map_init() +runs on RSL_Emulation_CT { + for (var integer i := 0; i < sizeof(TrxConnMap); i := i + 1) { + TrxConnMap[i] := -1; + } +} + +private function f_trx_conn_map_register(integer conn_id, in IpaCcmIdResp id_resp) +runs on RSL_Emulation_CT return IpaStreamId { + var template charstring unit_id_fmt := pattern "(\d+)/(\d+)/(\d+)"; + var charstring unit_id; + var integer trx_nr; + var integer idx; + + /* Check if we have room for a new connection */ + if (TrxConnNum >= sizeof(TrxConnMap)) { + testcase.stop("We cannot handle more than ", sizeof(TrxConnMap), " transceivers"); + } + + /* Find IPAC_IDTAG_UNITID in the IPA IDENTITY RESPONSE */ + idx := f_ipa_id_resp_find_ie(id_resp, IPAC_IDTAG_UNITID); + if (idx < 0) { + testcase.stop("IPA IDENTITY RESPONSE contains no unit-id"); + } + + /* Make sure that IPA unit-id is valid */ + unit_id := oct2char(id_resp[idx].data); + if (not match(unit_id, unit_id_fmt)) { + testcase.stop("IPA unit-id has unknown/unexpected format"); + } + + /* Parse transceiver number (site/bts/trx). + * TODO: implement and use declaratice types. */ + unit_id := regexp(unit_id, unit_id_fmt, 2); + trx_nr := str2int(unit_id); + + if (trx_nr >= sizeof(TrxConnMap)) { + testcase.stop("Transceiver #", trx_nr, " does not fit"); + } else if (TrxConnMap[trx_nr] != -1) { + testcase.stop("Transceiver #", trx_nr, " is already connected?!?"); + } + + /* Finally, store the connection ID */ + log("Mapped TRX#", trx_nr, " to TCP/IP conn_id=", conn_id); + TrxConnMap[trx_nr] := conn_id; + TrxConnNum := TrxConnNum + 1; + + return f_streamId_by_trx(trx_nr); +} + +private function f_trx_conn_map_resolve(IpaStreamId id) +runs on RSL_Emulation_CT return integer { + var integer trx_nr := f_trx_by_streamId(id); + + if (TrxConnMap[trx_nr] == -1) { + testcase.stop("Transceiver #", trx_nr, " is not connected"); + } + + return TrxConnMap[trx_nr]; +} + type component RSL_Emulation_CT { /* port facing down towards IPA emulation */ port IPA_RSL_PT IPA_PT; @@ -329,6 +411,10 @@ /* last RSL CHAN ACT for each chan_nr */ var LastActData LastActTable[64]; + + /* IPA stream ID -> TCP/IP connection ID mapping for transceivers */ + var integer TrxConnNum := 0; /* number of connected transceivers */ + var integer TrxConnMap[4]; /* up to 4 transceivers for now */ } @@ -356,12 +442,14 @@ var RSL_DchanHdlr vc_conn; var RslChannelNr chan_nr; var uint8_t trx_nr; + var integer conn_id; var integer cid; var integer i; /* special synchronization handling during hand-over */ var boolean dchan_suspended := false; f_conn_table_init(); + f_trx_conn_map_init(); f_last_act_table_init(); while (true) { @@ -369,7 +457,15 @@ [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { } [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) -> value evt { - CCHAN_PT.send(evt); + log("A new IPA/RSL connection has been established (conn_id=", + evt.conn_id, "), waiting for IDENTITY RESPONSE..."); + } + [not bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_RESP)) -> value evt { + log("Got IDENTITY RESPONSE (conn_id=", evt.conn_id, "): ", evt.id_resp); + /* Update [ IPA stream ID -> TCP/IP connection ID ] mapping */ + var IpaStreamId sid := f_trx_conn_map_register(evt.conn_id, evt.id_resp); + /* Notify the upper layers about a new connection */ + CCHAN_PT.send(ts_RSLEm_EV(RSLEM_EV_TRX_UP, sid)); } [bts_role] IPA_PT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) { Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Lost IPA connection!"); @@ -485,15 +581,25 @@ f_cid_create(chan_rqd.ra, chan_rqd.fn, vc_conn); } - [] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { - /* forward to BSC */ + /* RSL message from a component that runs on RSL_DchanHdlr */ + [bts_role] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { cid := f_cid_by_comp_ref(vc_conn); IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id)); } + [not bts_role] CLIENT_PT.receive(tr_RSL_MsgType(?)) -> value rx_rsl_msg sender vc_conn { + cid := f_cid_by_comp_ref(vc_conn); + conn_id := f_trx_conn_map_resolve(ConnectionTable[cid].stream_id); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl_msg, ConnectionTable[cid].stream_id, conn_id)); + } - [] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { + /* RSL message from MTC */ + [bts_role] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId)); } + [not bts_role] CCHAN_PT.receive(tr_ASP_RSL_UD(?, sid := ?)) -> value rx_rsl { + conn_id := f_trx_conn_map_resolve(rx_rsl.streamId); + IPA_PT.send(ts_ASP_RSL_UD(rx_rsl.rsl, rx_rsl.streamId, conn_id)); + } /* explicit registration, e.g. in (non-immediate) assignment case */ [] RSL_PROC.getcall(RSLEM_register:{?,?,?}) -> param(trx_nr, chan_nr, vc_conn) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I86afb55ecc6703ce7a229aaa626223f9331a4778 Gerrit-Change-Number: 18465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 ) Change subject: library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields ...................................................................... library/GSM_RR_Types: fix MaioHsn: add missing MAIO and HSN fields Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Related: OS#4546 --- M library/GSM_RR_Types.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index ec9b3cc..4b460b1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -182,6 +182,8 @@ }; type record MaioHsn { + uint6_t maio, + uint6_t hsn } with { variant "" }; /* TS 24.008 10.5.1.1 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I76a05e0ee8e46241b1d3bbc71b7ec01f193dd40e Gerrit-Change-Number: 18521 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: mark c_MA_null as private In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 ) Change subject: bts/BTS_Tests: cosmetic: mark c_MA_null as private ...................................................................... bts/BTS_Tests: cosmetic: mark c_MA_null as private Change-Id: I49d231395a6ae3a582c9719eaa5244daac32e020 --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 7d211de..aefab09 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3152,7 +3152,7 @@ /*********************************************************************** * Immediate Assignment / AGCH ***********************************************************************/ -const MobileAllocation c_MA_null := { +private const MobileAllocation c_MA_null := { len := 0, ma := ''B } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I49d231395a6ae3a582c9719eaa5244daac32e020 Gerrit-Change-Number: 18522 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: derive ts_ChanDesc{H0, H1} from ts_ChanDesc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 ) Change subject: bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc ...................................................................... bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Related: OS#4546 --- M bts/BTS_Tests.ttcn 1 file changed, 12 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index aefab09..f20a29b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3157,8 +3157,8 @@ ma := ''B } -template (value) ChannelDescription ts_ChanDesc(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, - uint12_t arfcn := 871) := { +template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, + uint12_t arfcn := 871) := { chan_nr := chan_nr, tsc := tsc, h := false, @@ -3166,6 +3166,15 @@ maio_hsn := omit } +template (value) ChannelDescription ts_ChanDescH1(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, + template (value) MaioHsn maio_hsn) := { + chan_nr := chan_nr, + tsc := tsc, + h := true, + arfcn := omit, + maio_hsn := maio_hsn +} + private function f_fmt_ia_stats(integer num_tx, integer num_rx, integer num_del) return charstring { return int2str(num_tx) & " sent, " & int2str(num_rx) & " received, " @@ -3186,7 +3195,7 @@ f_l1_tune(L1CTL); for (var integer i := 0; i < num_total; i := i+1) { - var ChannelDescription ch_desc := valueof(ts_ChanDesc(valueof(t_RslChanNr_SDCCH4(0, 0)))); + var ChannelDescription ch_desc := valueof(ts_ChanDescH0(valueof(t_RslChanNr_SDCCH4(0, 0)))); var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null)); var octetstring ia_enc := enc_GsmRrMessage(ia); RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0))); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Gerrit-Change-Number: 18523 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:17:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:17:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 ) Change subject: bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 ...................................................................... bts/BTS_Tests: cosmetic: use mp_trx0_arfcn in ts_ChanDescH0 Change-Id: I07a91b6517d2f19e127d36d79e6d2136bd2c29bb --- M bts/BTS_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index f20a29b..6811e38 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -3158,7 +3158,7 @@ } template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, - uint12_t arfcn := 871) := { + uint12_t arfcn := mp_trx0_arfcn) := { chan_nr := chan_nr, tsc := tsc, h := false, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I07a91b6517d2f19e127d36d79e6d2136bd2c29bb Gerrit-Change-Number: 18524 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:18:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:18:06 +0000 Subject: Change in osmo-bsc[master]: stats: Count paging requests flushed due to MSC Reset. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18427 ) Change subject: stats: Count paging requests flushed due to MSC Reset. ...................................................................... stats: Count paging requests flushed due to MSC Reset. Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/paging.c 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index e6a7708..07a0c9d 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1409,6 +1409,7 @@ BTS_CTR_PAGING_RESPONDED, BTS_CTR_PAGING_EXPIRED, BTS_CTR_PAGING_NO_ACTIVE_PAGING, + BTS_CTR_PAGING_MSC_FLUSH, BTS_CTR_CHAN_ACT_TOTAL, BTS_CTR_CHAN_ACT_NACK, BTS_CTR_RSL_UNKNOWN, @@ -1455,6 +1456,7 @@ [BTS_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful paging response."}, [BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."}, [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."}, + [BTS_CTR_PAGING_MSC_FLUSH] = {"paging:msc_flush", "Paging flushed due to MSC Reset BSSMAP message."}, [BTS_CTR_CHAN_ACT_TOTAL] = {"chan_act:total", "Total number of Channel Activations."}, [BTS_CTR_CHAN_ACT_NACK] = {"chan_act:nack", "Number of Channel Activations that the BTS NACKed"}, [BTS_CTR_RSL_UNKNOWN] = {"rsl:unknown", "Number of unknown/unsupported RSL messages received from BTS"}, diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index d32cded..7b89dad 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -487,6 +487,7 @@ void paging_flush_bts(struct gsm_bts *bts, struct bsc_msc_data *msc) { struct gsm_paging_request *req, *req2; + int num_cancelled = 0; paging_init_if_needed(bts); @@ -496,7 +497,10 @@ /* now give up the data structure */ LOG_BTS(bts, DPAG, LOGL_DEBUG, "Stop paging %s (flush)\n", bsc_subscr_name(req->bsub)); paging_remove_request(&bts->paging, req); + num_cancelled++; } + + rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_MSC_FLUSH], num_cancelled); } /*! Flush all paging requests issued by \a msc on any BTS in \a net */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b Gerrit-Change-Number: 18427 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:19:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:19:08 +0000 Subject: Change in osmo-mgw[master]: mgcp: find better locations for LOGPCONN and LOGPENDP In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18537 ) Change subject: mgcp: find better locations for LOGPCONN and LOGPENDP ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 Gerrit-Change-Number: 18537 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:19:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:19:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:19:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:19:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:20:08 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:20:08 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:20:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:20:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:20:19 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... mgcp: remove unused callback pointer struct mgcp_config contains a function pointer realloc_cb, which is never popoulated nor used anywhere in the code. Lets remove it Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 --- M TODO-RELEASE M include/osmocom/mgcp/mgcp.h 2 files changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index c5a3b36..741ab14 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,3 +24,4 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line +libsomo-mgcp ABI change mgcp.h, struct mgcp_config, remove realloc_cb (unused) \ No newline at end of file diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 43f480e..8cdff59 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -59,7 +59,6 @@ #define MGCP_POLICY_REJECT 5 #define MGCP_POLICY_DEFER 6 -typedef int (*mgcp_realloc)(struct mgcp_trunk_config *cfg, int endpoint); typedef int (*mgcp_change)(struct mgcp_trunk_config *cfg, int endpoint, int state); typedef int (*mgcp_policy)(struct mgcp_trunk_config *cfg, int endpoint, int state, const char *transactio_id); typedef int (*mgcp_reset)(struct mgcp_trunk_config *cfg); @@ -256,7 +255,6 @@ mgcp_change change_cb; mgcp_policy policy_cb; mgcp_reset reset_cb; - mgcp_realloc realloc_cb; mgcp_rqnt rqnt_cb; void *data; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:21:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:21:25 +0000 Subject: Change in osmo-mgw[master]: mgcp: remove unused callback pointer In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18492 ) Change subject: mgcp: remove unused callback pointer ...................................................................... Patch Set 2: ARGH. What a nightmare. If you give an older version a +2 and then click on mergre while looking at that older version, it still merges the latest version? WTF? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I8d58281e1ff898638293c9e8cb000329462c7a70 Gerrit-Change-Number: 18492 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:21:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:22:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:22:37 +0000 Subject: Change in osmo-mgw[master]: remove accidential TODO-RELEASE entry References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18541 ) Change subject: remove accidential TODO-RELEASE entry ...................................................................... remove accidential TODO-RELEASE entry I wanted to use gerrit to merge v1 of I8d58281e1ff898638293c9e8cb000329462c7a70, but gerrit merged v2 nevertheless :( Change-Id: I7b16912e66e91f0c30716e4ea1181b39906bacc1 --- M TODO-RELEASE 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/41/18541/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 741ab14..c5a3b36 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,4 +24,3 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line -libsomo-mgcp ABI change mgcp.h, struct mgcp_config, remove realloc_cb (unused) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7b16912e66e91f0c30716e4ea1181b39906bacc1 Gerrit-Change-Number: 18541 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:23:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:23:12 +0000 Subject: Change in osmo-mgw[master]: remove accidential TODO-RELEASE entry In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18541 ) Change subject: remove accidential TODO-RELEASE entry ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7b16912e66e91f0c30716e4ea1181b39906bacc1 Gerrit-Change-Number: 18541 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 28 May 2020 09:23:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:23:14 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:23:14 +0000 Subject: Change in osmo-mgw[master]: remove accidential TODO-RELEASE entry In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18541 ) Change subject: remove accidential TODO-RELEASE entry ...................................................................... remove accidential TODO-RELEASE entry I wanted to use gerrit to merge v1 of I8d58281e1ff898638293c9e8cb000329462c7a70, but gerrit merged v2 nevertheless :( Change-Id: I7b16912e66e91f0c30716e4ea1181b39906bacc1 --- M TODO-RELEASE 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 741ab14..c5a3b36 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -24,4 +24,3 @@ # If any interfaces have been removed or changed since the last public release, a=0. # #library what description / commit summary line -libsomo-mgcp ABI change mgcp.h, struct mgcp_config, remove realloc_cb (unused) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I7b16912e66e91f0c30716e4ea1181b39906bacc1 Gerrit-Change-Number: 18541 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:23:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:23:26 +0000 Subject: Change in osmo-mgw[master]: mgcp: find better locations for LOGPCONN and LOGPENDP In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18537 ) Change subject: mgcp: find better locations for LOGPCONN and LOGPENDP ...................................................................... mgcp: find better locations for LOGPCONN and LOGPENDP The logging defines LOGPCONN and LOGPENDP are currently located in mgcp_internal.h. However, there are specific header files for conn (mgcp_conn.h) and endpoint (mgcp_endp.h) related stuff. Lets put LOGPCON into mgcp_conn.h and LOGPENDP in mgcp_endp.h Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 --- M include/osmocom/mgcp/mgcp_conn.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h 3 files changed, 10 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_conn.h b/include/osmocom/mgcp/mgcp_conn.h index b0978a6..f4e89f2 100644 --- a/include/osmocom/mgcp/mgcp_conn.h +++ b/include/osmocom/mgcp/mgcp_conn.h @@ -28,6 +28,11 @@ #include #include +#define LOGPCONN(conn, cat, level, fmt, args...) \ +LOGPENDP((conn)->endp, cat, level, "CI:%s " fmt, \ + (conn)->id, \ + ## args) + /* RTP connection related counters */ enum { IN_STREAM_ERR_TSTMP_CTR, diff --git a/include/osmocom/mgcp/mgcp_endp.h b/include/osmocom/mgcp/mgcp_endp.h index 75f093d..4c2caad 100644 --- a/include/osmocom/mgcp/mgcp_endp.h +++ b/include/osmocom/mgcp/mgcp_endp.h @@ -27,6 +27,11 @@ struct mgcp_conn; struct mgcp_endpoint; +#define LOGPENDP(endp, cat, level, fmt, args...) \ +LOGP(cat, level, "endpoint:0x%x " fmt, \ + endp ? ENDPOINT_NUMBER(endp) : -1, \ + ## args) + /* Callback type for RTP dispatcher functions (e.g mgcp_dispatch_rtp_bridge_cb, see below) */ typedef int (*mgcp_dispatch_rtp_cb) (int proto, struct sockaddr_in *addr, diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index e9d5d2d..cbf533f 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -340,13 +340,3 @@ void mgcp_get_local_addr(char *addr, struct mgcp_conn_rtp *conn); void mgcp_conn_watchdog_kick(struct mgcp_conn *conn); - -#define LOGPENDP(endp, cat, level, fmt, args...) \ -LOGP(cat, level, "endpoint:0x%x " fmt, \ - endp ? ENDPOINT_NUMBER(endp) : -1, \ - ## args) - -#define LOGPCONN(conn, cat, level, fmt, args...) \ -LOGPENDP((conn)->endp, cat, level, "CI:%s " fmt, \ - (conn)->id, \ - ## args) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I25ff37ee8108c27d169d294fd16ddcdde9b00195 Gerrit-Change-Number: 18537 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:23:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:23:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: Avoid code duplication between virtual + other trunks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/17423 ) Change subject: mgcp_protocol: Avoid code duplication between virtual + other trunks ...................................................................... mgcp_protocol: Avoid code duplication between virtual + other trunks There were two code paths that were supposed to do exactly the same, but then in Change-Id I3994af016fb96427263edbba05f560743f85fdd4 only one of the two was modified, resulting in OS#4034 Let's * dynamically allocate the virtual trunk * rename mgcp_config.trunk to mgcp_config.virt_trunk to clarify * as a result, abolish copy+pasted code for trunk initialization Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Related: OS#4034 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_internal.h M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 8 files changed, 132 insertions(+), 127 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 8cdff59..27b1e35 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -261,7 +261,10 @@ uint32_t last_call_id; /* trunk handling */ - struct mgcp_trunk_config trunk; + + /* virtual trunk for RTP - RTP endpoints */ + struct mgcp_trunk_config *virt_trunk; + /* physical trunks with underlying E1 endpoints */ struct llist_head trunks; enum mgcp_role role; diff --git a/include/osmocom/mgcp/mgcp_internal.h b/include/osmocom/mgcp/mgcp_internal.h index cbf533f..670332d 100644 --- a/include/osmocom/mgcp/mgcp_internal.h +++ b/include/osmocom/mgcp/mgcp_internal.h @@ -282,7 +282,7 @@ return endpoint + 60; } -struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, int index); +struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int index); struct mgcp_trunk_config *mgcp_trunk_num(struct mgcp_config *cfg, int index); char *get_lco_identifier(const char *options); diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 3e95ed1..b0d1a9f 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -235,6 +235,7 @@ unsigned int gw = INT_MAX; const char *endpoint_number_str; struct mgcp_endpoint *endp; + struct mgcp_trunk_config *virt_trunk = cfg->virt_trunk; *cause = 0; @@ -259,15 +260,15 @@ endpoint_number_str = mgcp + strlen(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK); if (endpoint_number_str[0] == '*') { - endp = find_free_endpoint(cfg->trunk.endpoints, - cfg->trunk.number_endpoints); + endp = find_free_endpoint(virt_trunk->endpoints, + virt_trunk->number_endpoints); if (!endp) *cause = -403; return endp; } gw = strtoul(endpoint_number_str, &endptr, 16); - if (gw < cfg->trunk.number_endpoints && endptr[0] == '@') { - endp = &cfg->trunk.endpoints[gw]; + if (gw < virt_trunk->number_endpoints && endptr[0] == '@') { + endp = &virt_trunk->endpoints[gw]; endp->wildcarded_req = false; return endp; } @@ -278,8 +279,8 @@ "Addressing virtual trunk without prefix (deprecated), please use %s: '%s'\n", MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, mgcp); gw = strtoul(mgcp, &endptr, 16); - if (gw < cfg->trunk.number_endpoints && endptr[0] == '@') { - endp = &cfg->trunk.endpoints[gw]; + if (gw < virt_trunk->number_endpoints && endptr[0] == '@') { + endp = &virt_trunk->endpoints[gw]; endp->wildcarded_req = false; return endp; } diff --git a/src/libosmo-mgcp/mgcp_network.c b/src/libosmo-mgcp/mgcp_network.c index 608a93b..3b8e736 100644 --- a/src/libosmo-mgcp/mgcp_network.c +++ b/src/libosmo-mgcp/mgcp_network.c @@ -1440,7 +1440,7 @@ { /* NOTE: The port that is used for RTCP is the RTP port incremented by one * (e.g. RTP-Port = 16000 ==> RTCP-Port = 16001) */ - struct mgcp_endpoint *endp = &cfg->trunk.endpoints[endpno]; + struct mgcp_endpoint *endp = &cfg->virt_trunk->endpoints[endpno]; if (mgcp_create_bind(source_addr, &rtp_end->rtp, rtp_end->local_port) != 0) { diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index a1121de..8da7361 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -202,9 +202,9 @@ struct mgcp_conn_rtp * conn_rtp; int i; - for (i=0; itrunk.number_endpoints; i++) { + for (i=0; ivirt_trunk->number_endpoints; i++) { - endp = &cfg->trunk.endpoints[i]; + endp = &cfg->virt_trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->type != MGCP_CONN_TYPE_RTP) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index 6b8eae2..caed0b7 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -379,7 +379,7 @@ * - or a response (three numbers, space, transaction id) */ struct msgb *mgcp_handle_message(struct mgcp_config *cfg, struct msgb *msg) { - struct mgcp_trunk_config *tcfg = &cfg->trunk; + struct mgcp_trunk_config *tcfg = cfg->virt_trunk; struct rate_ctr_group *rate_ctrs = tcfg->mgcp_general_ctr_group; struct mgcp_parse_data pdata; int rc, i, code, handled = 0; @@ -1657,33 +1657,26 @@ cfg->get_net_downlink_format_cb = &mgcp_get_net_downlink_format_default; - /* default trunk handling; TODO: avoid duplication with mgcp_trunk_alloc() below */ - cfg->trunk.cfg = cfg; - cfg->trunk.trunk_nr = 0; - cfg->trunk.trunk_type = MGCP_TRUNK_VIRTUAL; - cfg->trunk.audio_name = talloc_strdup(cfg, "AMR/8000"); - cfg->trunk.audio_payload = 126; - cfg->trunk.audio_send_ptime = 1; - cfg->trunk.audio_send_name = 1; - cfg->trunk.vty_number_endpoints = 33; - cfg->trunk.omit_rtcp = 0; - mgcp_trunk_set_keepalive(&cfg->trunk, MGCP_KEEPALIVE_ONCE); - if (alloc_mgcp_rate_counters(&cfg->trunk, cfg) < 0) { + INIT_LLIST_HEAD(&cfg->trunks); + + /* default trunk handling */ + cfg->virt_trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, 0); + if (!cfg->virt_trunk) { talloc_free(cfg); return NULL; } - - INIT_LLIST_HEAD(&cfg->trunks); + /* virtual trunk is not part of the list! */ + llist_del(&cfg->virt_trunk->entry); return cfg; } -/*! allocate configuration with default values. +/*! allocate configuration with default values. Do not link it into global list yet! * (called once at startup by VTY) * \param[in] cfg mgcp configuration * \param[in] nr trunk number * \returns pointer to allocated trunk configuration */ -struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, int nr) +struct mgcp_trunk_config *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) { struct mgcp_trunk_config *trunk; @@ -1694,16 +1687,19 @@ } trunk->cfg = cfg; - trunk->trunk_type = MGCP_TRUNK_E1; + trunk->trunk_type = ttype; trunk->trunk_nr = nr; - trunk->audio_name = talloc_strdup(cfg, "AMR/8000"); + trunk->audio_name = talloc_strdup(trunk, "AMR/8000"); trunk->audio_payload = 126; trunk->audio_send_ptime = 1; trunk->audio_send_name = 1; trunk->vty_number_endpoints = 33; trunk->omit_rtcp = 0; mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); - alloc_mgcp_rate_counters(trunk, trunk); + if (alloc_mgcp_rate_counters(trunk, trunk) < 0) { + talloc_free(trunk); + return NULL; + } llist_add_tail(&trunk->entry, &cfg->trunks); return trunk; diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 76d674f..6a431e5 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -47,7 +47,7 @@ struct mgcp_trunk_config *trunk; if (nr == 0) - trunk = &cfg->trunk; + trunk = cfg->virt_trunk; else trunk = mgcp_trunk_num(cfg, nr); @@ -68,6 +68,8 @@ static int config_write_mgcp(struct vty *vty) { + struct mgcp_trunk_config *trunk = g_cfg->virt_trunk; + vty_out(vty, "mgcp%s", VTY_NEWLINE); vty_out(vty, " domain %s%s", g_cfg->domain, VTY_NEWLINE); if (g_cfg->local_ip) @@ -85,50 +87,50 @@ else vty_out(vty, " no rtp ip-probing%s", VTY_NEWLINE); vty_out(vty, " rtp ip-dscp %d%s", g_cfg->endp_dscp, VTY_NEWLINE); - if (g_cfg->trunk.keepalive_interval == MGCP_KEEPALIVE_ONCE) + if (trunk->keepalive_interval == MGCP_KEEPALIVE_ONCE) vty_out(vty, " rtp keep-alive once%s", VTY_NEWLINE); - else if (g_cfg->trunk.keepalive_interval) + else if (trunk->keepalive_interval) vty_out(vty, " rtp keep-alive %d%s", - g_cfg->trunk.keepalive_interval, VTY_NEWLINE); + trunk->keepalive_interval, VTY_NEWLINE); else vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE); - if (g_cfg->trunk.omit_rtcp) + if (trunk->omit_rtcp) vty_out(vty, " rtcp-omit%s", VTY_NEWLINE); else vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); - if (g_cfg->trunk.force_constant_ssrc - || g_cfg->trunk.force_aligned_timing - || g_cfg->trunk.rfc5993_hr_convert) { + if (trunk->force_constant_ssrc + || trunk->force_aligned_timing + || trunk->rfc5993_hr_convert) { vty_out(vty, " %srtp-patch ssrc%s", - g_cfg->trunk.force_constant_ssrc ? "" : "no ", + trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %srtp-patch timestamp%s", - g_cfg->trunk.force_aligned_timing ? "" : "no ", + trunk->force_aligned_timing ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %srtp-patch rfc5993hr%s", - g_cfg->trunk.rfc5993_hr_convert ? "" : "no ", + trunk->rfc5993_hr_convert ? "" : "no ", VTY_NEWLINE); } else vty_out(vty, " no rtp-patch%s", VTY_NEWLINE); - if (g_cfg->trunk.audio_payload != -1) + if (trunk->audio_payload != -1) vty_out(vty, " sdp audio-payload number %d%s", - g_cfg->trunk.audio_payload, VTY_NEWLINE); - if (g_cfg->trunk.audio_name) + trunk->audio_payload, VTY_NEWLINE); + if (trunk->audio_name) vty_out(vty, " sdp audio-payload name %s%s", - g_cfg->trunk.audio_name, VTY_NEWLINE); - if (g_cfg->trunk.audio_fmtp_extra) + trunk->audio_name, VTY_NEWLINE); + if (trunk->audio_fmtp_extra) vty_out(vty, " sdp audio fmtp-extra %s%s", - g_cfg->trunk.audio_fmtp_extra, VTY_NEWLINE); + trunk->audio_fmtp_extra, VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-ptime%s", - g_cfg->trunk.audio_send_ptime ? "" : "no ", VTY_NEWLINE); + trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); vty_out(vty, " %ssdp audio-payload send-name%s", - g_cfg->trunk.audio_send_name ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " loop %u%s", ! !g_cfg->trunk.audio_loop, VTY_NEWLINE); + trunk->audio_send_name ? "" : "no ", VTY_NEWLINE); + vty_out(vty, " loop %u%s", ! !trunk->audio_loop, VTY_NEWLINE); vty_out(vty, " number endpoints %u%s", - g_cfg->trunk.vty_number_endpoints - 1, VTY_NEWLINE); + trunk->vty_number_endpoints - 1, VTY_NEWLINE); vty_out(vty, " %sallow-transcoding%s", - g_cfg->trunk.no_audio_transcoding ? "no " : "", VTY_NEWLINE); + trunk->no_audio_transcoding ? "no " : "", VTY_NEWLINE); if (g_cfg->call_agent_addr) vty_out(vty, " call-agent ip %s%s", g_cfg->call_agent_addr, VTY_NEWLINE); @@ -299,7 +301,7 @@ struct mgcp_trunk_config *trunk; int show_stats = argc >= 1; - dump_trunk(vty, &g_cfg->trunk, show_stats); + dump_trunk(vty, g_cfg->virt_trunk, show_stats); llist_for_each_entry(trunk, &g_cfg->trunks, entry) dump_trunk(vty, trunk, show_stats); @@ -350,7 +352,7 @@ { struct mgcp_trunk_config *trunk; - dump_mgcp_endpoint(vty, &g_cfg->trunk, argv[0]); + dump_mgcp_endpoint(vty, g_cfg->virt_trunk, argv[0]); llist_for_each_entry(trunk, &g_cfg->trunks, entry) dump_mgcp_endpoint(vty, trunk, argv[0]); @@ -561,7 +563,7 @@ if (!txt) return CMD_WARNING; - osmo_talloc_replace_string(g_cfg, &g_cfg->trunk.audio_fmtp_extra, txt); + osmo_talloc_replace_string(g_cfg, &g_cfg->virt_trunk->audio_fmtp_extra, txt); talloc_free(txt); return CMD_SUCCESS; } @@ -570,7 +572,7 @@ cfg_mgcp_allow_transcoding_cmd, "allow-transcoding", "Allow transcoding\n") { - g_cfg->trunk.no_audio_transcoding = 0; + g_cfg->virt_trunk->no_audio_transcoding = 0; return CMD_SUCCESS; } @@ -578,7 +580,7 @@ cfg_mgcp_no_allow_transcoding_cmd, "no allow-transcoding", NO_STR "Allow transcoding\n") { - g_cfg->trunk.no_audio_transcoding = 1; + g_cfg->virt_trunk->no_audio_transcoding = 1; return CMD_SUCCESS; } @@ -590,7 +592,7 @@ SDP_STR AUDIO_STR "Number\n" "Payload number\n") { unsigned int payload = atoi(argv[0]); - g_cfg->trunk.audio_payload = payload; + g_cfg->virt_trunk->audio_payload = payload; return CMD_SUCCESS; } @@ -604,7 +606,7 @@ "sdp audio-payload name NAME", SDP_STR AUDIO_STR "Name\n" "Payload name\n") { - osmo_talloc_replace_string(g_cfg, &g_cfg->trunk.audio_name, argv[0]); + osmo_talloc_replace_string(g_cfg, &g_cfg->virt_trunk->audio_name, argv[0]); return CMD_SUCCESS; } @@ -617,7 +619,7 @@ "sdp audio-payload send-ptime", SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->trunk.audio_send_ptime = 1; + g_cfg->virt_trunk->audio_send_ptime = 1; return CMD_SUCCESS; } @@ -626,7 +628,7 @@ "no sdp audio-payload send-ptime", NO_STR SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->trunk.audio_send_ptime = 0; + g_cfg->virt_trunk->audio_send_ptime = 0; return CMD_SUCCESS; } @@ -635,7 +637,7 @@ "sdp audio-payload send-name", SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->trunk.audio_send_name = 1; + g_cfg->virt_trunk->audio_send_name = 1; return CMD_SUCCESS; } @@ -644,7 +646,7 @@ "no sdp audio-payload send-name", NO_STR SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->trunk.audio_send_name = 0; + g_cfg->virt_trunk->audio_send_name = 0; return CMD_SUCCESS; } @@ -657,7 +659,7 @@ vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } - g_cfg->trunk.audio_loop = atoi(argv[0]); + g_cfg->virt_trunk->audio_loop = atoi(argv[0]); return CMD_SUCCESS; } @@ -667,7 +669,7 @@ "Force endpoint reallocation when the endpoint is still seized\n" "Don't force reallocation\n" "force reallocation\n") { - g_cfg->trunk.force_realloc = atoi(argv[0]); + g_cfg->virt_trunk->force_realloc = atoi(argv[0]); return CMD_SUCCESS; } @@ -677,7 +679,7 @@ "Accept all RTP packets, even when the originating IP/Port does not match\n" "enable filter\n" "disable filter\n") { - g_cfg->trunk.rtp_accept_all = atoi(argv[0]); + g_cfg->virt_trunk->rtp_accept_all = atoi(argv[0]); return CMD_SUCCESS; } @@ -687,20 +689,20 @@ "Number options\n" "Endpoints available\n" "Number endpoints\n") { /* + 1 as we start counting at one */ - g_cfg->trunk.vty_number_endpoints = atoi(argv[0]) + 1; + g_cfg->virt_trunk->vty_number_endpoints = atoi(argv[0]) + 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_omit_rtcp, cfg_mgcp_omit_rtcp_cmd, "rtcp-omit", RTCP_OMIT_STR) { - g_cfg->trunk.omit_rtcp = 1; + g_cfg->virt_trunk->omit_rtcp = 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_omit_rtcp, cfg_mgcp_no_omit_rtcp_cmd, "no rtcp-omit", NO_STR RTCP_OMIT_STR) { - g_cfg->trunk.omit_rtcp = 0; + g_cfg->virt_trunk->omit_rtcp = 0; return CMD_SUCCESS; } @@ -708,7 +710,7 @@ cfg_mgcp_patch_rtp_ssrc_cmd, "rtp-patch ssrc", RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->trunk.force_constant_ssrc = 1; + g_cfg->virt_trunk->force_constant_ssrc = 1; return CMD_SUCCESS; } @@ -716,7 +718,7 @@ cfg_mgcp_no_patch_rtp_ssrc_cmd, "no rtp-patch ssrc", NO_STR RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->trunk.force_constant_ssrc = 0; + g_cfg->virt_trunk->force_constant_ssrc = 0; return CMD_SUCCESS; } @@ -724,7 +726,7 @@ cfg_mgcp_patch_rtp_ts_cmd, "rtp-patch timestamp", RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->trunk.force_aligned_timing = 1; + g_cfg->virt_trunk->force_aligned_timing = 1; return CMD_SUCCESS; } @@ -732,7 +734,7 @@ cfg_mgcp_no_patch_rtp_ts_cmd, "no rtp-patch timestamp", NO_STR RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->trunk.force_aligned_timing = 0; + g_cfg->virt_trunk->force_aligned_timing = 0; return CMD_SUCCESS; } @@ -740,7 +742,7 @@ cfg_mgcp_patch_rtp_rfc5993hr_cmd, "rtp-patch rfc5993hr", RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->trunk.rfc5993_hr_convert = true; + g_cfg->virt_trunk->rfc5993_hr_convert = true; return CMD_SUCCESS; } @@ -748,16 +750,16 @@ cfg_mgcp_no_patch_rtp_rfc5993hr_cmd, "no rtp-patch rfc5993hr", NO_STR RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->trunk.rfc5993_hr_convert = false; + g_cfg->virt_trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_patch_rtp, cfg_mgcp_no_patch_rtp_cmd, "no rtp-patch", NO_STR RTP_PATCH_STR) { - g_cfg->trunk.force_constant_ssrc = 0; - g_cfg->trunk.force_aligned_timing = 0; - g_cfg->trunk.rfc5993_hr_convert = false; + g_cfg->virt_trunk->force_constant_ssrc = 0; + g_cfg->virt_trunk->force_aligned_timing = 0; + g_cfg->virt_trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } @@ -766,7 +768,7 @@ "rtp keep-alive <1-120>", RTP_STR RTP_KEEPALIVE_STR "Keep alive interval in secs\n") { - mgcp_trunk_set_keepalive(&g_cfg->trunk, atoi(argv[0])); + mgcp_trunk_set_keepalive(g_cfg->virt_trunk, atoi(argv[0])); return CMD_SUCCESS; } @@ -775,7 +777,7 @@ "rtp keep-alive once", RTP_STR RTP_KEEPALIVE_STR "Send dummy packet only once after CRCX/MDCX\n") { - mgcp_trunk_set_keepalive(&g_cfg->trunk, MGCP_KEEPALIVE_ONCE); + mgcp_trunk_set_keepalive(g_cfg->virt_trunk, MGCP_KEEPALIVE_ONCE); return CMD_SUCCESS; } @@ -783,7 +785,7 @@ cfg_mgcp_no_rtp_keepalive_cmd, "no rtp keep-alive", NO_STR RTP_STR RTP_KEEPALIVE_STR) { - mgcp_trunk_set_keepalive(&g_cfg->trunk, MGCP_KEEPALIVE_NEVER); + mgcp_trunk_set_keepalive(g_cfg->virt_trunk, MGCP_KEEPALIVE_NEVER); return CMD_SUCCESS; } @@ -809,8 +811,11 @@ int index = atoi(argv[0]); trunk = mgcp_trunk_num(g_cfg, index); - if (!trunk) - trunk = mgcp_trunk_alloc(g_cfg, index); + if (!trunk) { + trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); + if (!trunk) + return CMD_WARNING; + } if (!trunk) { vty_out(vty, "%%Unable to allocate trunk %u.%s", @@ -855,7 +860,7 @@ else vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); if (trunk->force_constant_ssrc || trunk->force_aligned_timing - || g_cfg->trunk.rfc5993_hr_convert) { + || g_cfg->virt_trunk->rfc5993_hr_convert) { vty_out(vty, " %srtp-patch ssrc%s", trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); @@ -1318,7 +1323,7 @@ else if (strcmp(argv[0], "only") == 0) g_cfg->osmux = OSMUX_USAGE_ONLY; - if (g_cfg->trunk.audio_loop) { + if (g_cfg->virt_trunk->audio_loop) { vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -1519,10 +1524,10 @@ return -1; } - if (mgcp_endpoints_allocate(&g_cfg->trunk) != 0) { + if (mgcp_endpoints_allocate(g_cfg->virt_trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, "Failed to initialize the virtual trunk (%d endpoints)\n", - g_cfg->trunk.number_endpoints); + g_cfg->virt_trunk->number_endpoints); return -1; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index c72382e..e0518a4 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -757,13 +757,13 @@ cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + mgcp_endpoints_allocate(cfg->virt_trunk); cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, 1); + trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(tests); i++) { @@ -777,7 +777,7 @@ last_endpoint = -1; dummy_packets = 0; - osmo_talloc_replace_string(cfg, &cfg->trunk.audio_fmtp_extra, + osmo_talloc_replace_string(cfg, &cfg->virt_trunk->audio_fmtp_extra, t->extra_fmtp); inp = create_msg(t->req, last_conn_id); @@ -810,7 +810,7 @@ printf("Dummy packets: %d\n", dummy_packets); if (last_endpoint != -1) { - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, "1"); if (conn) { @@ -866,7 +866,7 @@ /* Check detected payload type */ if (conn && t->ptype != PTYPE_IGNORE) { OSMO_ASSERT(last_endpoint != -1); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; fprintf(stderr, "endpoint 0x%x: " "payload type %d (expected %d)\n", @@ -883,7 +883,7 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } @@ -897,12 +897,12 @@ cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + mgcp_endpoints_allocate(cfg->virt_trunk); memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, 1); + trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); mgcp_endpoints_allocate(trunk2); for (i = 0; i < ARRAY_SIZE(retransmit); i++) { @@ -944,7 +944,7 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } @@ -965,10 +965,10 @@ cfg = mgcp_config_alloc(); cfg->rqnt_cb = rqnt_cb; - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + mgcp_endpoints_allocate(cfg->virt_trunk); - trunk2 = mgcp_trunk_alloc(cfg, 1); + trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); @@ -999,7 +999,7 @@ msgb_free(mgcp_handle_message(cfg, inp)); msgb_free(inp); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } @@ -1371,11 +1371,11 @@ printf("Testing multiple payload types\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + mgcp_endpoints_allocate(cfg->virt_trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, 1); + trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); mgcp_endpoints_allocate(trunk2); /* Allocate endpoint 1 at mgw with two codecs */ @@ -1388,7 +1388,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 1); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1403,7 +1403,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 2); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1423,7 +1423,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 3); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); @@ -1438,7 +1438,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 4); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1446,9 +1446,9 @@ /* Allocate 5 at mgw at select GSM.. */ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - talloc_free(cfg->trunk.audio_name); - cfg->trunk.audio_name = "GSM/8000"; - cfg->trunk.no_audio_transcoding = 1; + talloc_free(cfg->virt_trunk->audio_name); + cfg->virt_trunk->audio_name = "GSM/8000"; + cfg->virt_trunk->no_audio_transcoding = 1; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1456,7 +1456,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 3); @@ -1467,7 +1467,7 @@ msgb_free(inp); msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 3); @@ -1489,7 +1489,7 @@ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - cfg->trunk.no_audio_transcoding = 0; + cfg->virt_trunk->no_audio_transcoding = 0; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1497,13 +1497,13 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = &cfg->trunk.endpoints[last_endpoint]; + endp = &cfg->virt_trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } @@ -1517,10 +1517,10 @@ printf("Testing no sequence flow on initial packet\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + mgcp_endpoints_allocate(cfg->virt_trunk); - endp = &cfg->trunk.endpoints[1]; + endp = &cfg->virt_trunk->endpoints[1]; _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP, "test-connection"); @@ -1552,7 +1552,7 @@ OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } @@ -1565,13 +1565,13 @@ printf("Testing no rtpmap name\n"); cfg = mgcp_config_alloc(); - cfg->trunk.vty_number_endpoints = 64; - cfg->trunk.audio_send_name = 0; - mgcp_endpoints_allocate(&cfg->trunk); + cfg->virt_trunk->vty_number_endpoints = 64; + cfg->virt_trunk->audio_send_name = 0; + mgcp_endpoints_allocate(cfg->virt_trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, 1); + trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); mgcp_endpoints_allocate(trunk2); inp = create_msg(CRCX, NULL); @@ -1586,7 +1586,7 @@ msgb_free(msg); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(&cfg->trunk); + mgcp_endpoints_release(cfg->virt_trunk); talloc_free(cfg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/17423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I54762af6d417b849a24b6e71b6c5c996a5cb3fa6 Gerrit-Change-Number: 17423 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:25:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:25:04 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 3: Code-Review-1 (7 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3//COMMIT_MSG at 30 PS3, Line 30: - get rid of deprecated trunk parameters (leftorvers from the leftovers https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_codec.c File src/libosmo-mgcp/mgcp_codec.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_codec.c at 289 PS3, Line 289: /* FIXME: implement meaningful checks to make sure that the given codec AFAIU we are adding a regression here by dropping this code? https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 100 PS3, Line 100: if (strlen(epname) <= prefix_len) So I was asking about strncmp because I don't know if the 2 strings here are null terminated. If both are null terminated, then it's fine calling directly. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 109 PS3, Line 109: return epname; trailing whitespace https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 216 PS3, Line 216: LOGP(DLMGCP, LOGL_ERROR, "missing domain name in endpoint name \"%s\", expecting '%s'\n", SO you first use double quote for epname, but single quote for cfg->domain? https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 226 PS3, Line 226: LOGP(DLMGCP, LOGL_ERROR, "wrong domain name in endpoint name \"%s\", expecting '%s'\n", Same https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/tests/mgcp/mgcp_test.c File tests/mgcp/mgcp_test.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/tests/mgcp/mgcp_test.c at 1461 PS3, Line 1461: /* Allocate 5 at mgw and let osmo-mgw pick a codec from the list */ I'm still wondering why are you changing the behavior of the test. Can you describe? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:25:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:29:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:29:37 +0000 Subject: Change in docker-playground[master]: centos-repo-install-test: new image In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18516 ) Change subject: centos-repo-install-test: new image ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d Gerrit-Change-Number: 18516 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:29:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:29:40 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:29:40 +0000 Subject: Change in docker-playground[master]: centos-repo-install-test: new image In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18516 ) Change subject: centos-repo-install-test: new image ...................................................................... centos-repo-install-test: new image Prepare the repo-install-test to be extended to cover centos8 as well. The scripts from docker-repo-install-test will be moved to osmo-ci.git as shared code, and extended to work with centos8 too (using this new image) in I399360ee6389591180859b52f0ef08883447b90b (osmo-ci). Related: OS#4563 Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d --- A centos-repo-install-test/Dockerfile A centos-repo-install-test/Makefile 2 files changed, 12 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/centos-repo-install-test/Dockerfile b/centos-repo-install-test/Dockerfile new file mode 100644 index 0000000..45f0ba4 --- /dev/null +++ b/centos-repo-install-test/Dockerfile @@ -0,0 +1,11 @@ +ARG USER +FROM centos:centos8 + +# dnf-utils: for repoquery +RUN dnf install -y \ + systemd \ + dnf-utils + +# Make additional development libraries available +RUN yum config-manager --set-enabled PowerTools + diff --git a/centos-repo-install-test/Makefile b/centos-repo-install-test/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/centos-repo-install-test/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50743c304728444ede8e0d40b8abef9d17c44d8d Gerrit-Change-Number: 18516 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:30:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:30:26 +0000 Subject: Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: add osmocom-next-packages.sh ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:30:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:30:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:30:56 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 28 May 2020 09:30:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:36:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:36:59 +0000 Subject: Change in osmo-bsc[master]: flatten: move network->bsc_data->* to network->* In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18500 ) Change subject: flatten: move network->bsc_data->* to network->* ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18500/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18500/3//COMMIT_MSG at 15 PS3, Line 15: Some places tested 'if (net->bsc_data)', which is always true. Modify those If it's easy to figure out if it net->rf_ctrl is always there (as in simply created during network struct allocation), then please drop all the "if (net->rf_ctrl)" lines since they may confuse people. Fine to do it in a next patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 Gerrit-Change-Number: 18500 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:36:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:37:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:37:57 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18501 ) Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:37:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:40:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:40:08 +0000 Subject: Change in osmo-bsc[master]: create only one SCCP user per SCCP instance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18504 ) Change subject: create only one SCCP user per SCCP instance ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c File src/osmo-bsc/osmo_bsc_sigtran.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c at 550 PS3, Line 550: /* Bind SCCP user. Bind only one user per sccp_instance. */ Can you describe a bit better (in gerrit is fine) the situation here? So how can it happen than during init the sccp user is already bound? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e Gerrit-Change-Number: 18504 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:40:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:49:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:49:39 +0000 Subject: Change in docker-playground[master]: debian-repo-install-test: move scripts to osmo-ci In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18517 ) Change subject: debian-repo-install-test: move scripts to osmo-ci ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 Gerrit-Change-Number: 18517 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:49:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:49:39 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 09:49:39 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 2: Code-Review+2 RIP USSD! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:49:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:49:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:49:51 +0000 Subject: Change in osmo-ci[master]: repo-install-test: integrate In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18510 ) Change subject: repo-install-test: integrate ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 Gerrit-Change-Number: 18510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:49:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:50:05 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:50:05 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:50:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:50:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:50:26 +0000 Subject: Change in osmo-ci[master]: repo-install-test: docker: add --tmpfs /run/lock In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18511 ) Change subject: repo-install-test: docker: add --tmpfs /run/lock ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f Gerrit-Change-Number: 18511 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:50:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:50:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:50:41 +0000 Subject: Change in osmo-ci[master]: repo-install-test: use sh -ex In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18512 ) Change subject: repo-install-test: use sh -ex ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc Gerrit-Change-Number: 18512 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:50:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:50:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:50:56 +0000 Subject: Change in osmo-ci[master]: repo-install-test: add KEEP_CACHE env var In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18513 ) Change subject: repo-install-test: add KEEP_CACHE env var ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd Gerrit-Change-Number: 18513 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:50:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:51:41 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:51:41 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:51:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:52:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:52:07 +0000 Subject: Change in osmo-ci[master]: repo-install-test: don't mount /data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18518 ) Change subject: repo-install-test: don't mount /data ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b Gerrit-Change-Number: 18518 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:52:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:52:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:52:28 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:52:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:52:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:52:50 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:52:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:52:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:52:56 +0000 Subject: Change in osmo-ci[master]: repo-install-test: don't mount /data In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18518 ) Change subject: repo-install-test: don't mount /data ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b Gerrit-Change-Number: 18518 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:52:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:52:59 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:52:59 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:52:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:53:01 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:02 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:02 +0000 Subject: Change in osmo-ci[master]: repo-install-test: add KEEP_CACHE env var In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18513 ) Change subject: repo-install-test: add KEEP_CACHE env var ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd Gerrit-Change-Number: 18513 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:04 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:04 +0000 Subject: Change in osmo-ci[master]: repo-install-test: use sh -ex In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18512 ) Change subject: repo-install-test: use sh -ex ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc Gerrit-Change-Number: 18512 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:06 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:06 +0000 Subject: Change in osmo-ci[master]: repo-install-test: docker: add --tmpfs /run/lock In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18511 ) Change subject: repo-install-test: docker: add --tmpfs /run/lock ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f Gerrit-Change-Number: 18511 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:09 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:09 +0000 Subject: Change in osmo-ci[master]: repo-install-test: integrate In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18510 ) Change subject: repo-install-test: integrate ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 Gerrit-Change-Number: 18510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:12 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:53:17 +0000 Subject: Change in osmo-ci[master]: scripts: source common.sh before cd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18480 ) Change subject: scripts: source common.sh before cd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e Gerrit-Change-Number: 18480 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:22 +0000 Subject: Change in osmo-ci[master]: repo-install-test: move from docker-playground In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18509 ) Change subject: repo-install-test: move from docker-playground ...................................................................... repo-install-test: move from docker-playground Prepare the repo-install-test to be extended to cover centos8 as well. Move the scripts to osmo-ci.git first, so we can mount them as shared files into the docker containers from here. Move files without any changes. Integration will be done in a follow-up commit, so we have a clean git log. debian-repo-install-test/jenkins.sh => scripts/repo-install-test.sh debian-repo-install-test/testdata/blacklist.txt => scripts/repo-install-test/blacklist.txt debian-repo-install-test/testdata/repo-install-test.sh => scripts/repo-install-test/run-inside-docker.sh Related: OS#4563 Related: If93f37e8d46597a9abc67a4529be9addd65780f5 (docker-playground) Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c --- A scripts/repo-install-test.sh A scripts/repo-install-test/blacklist.txt A scripts/repo-install-test/run-inside-docker.sh 3 files changed, 231 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh new file mode 100755 index 0000000..c0c38c5 --- /dev/null +++ b/scripts/repo-install-test.sh @@ -0,0 +1,58 @@ +#!/bin/sh +. ../jenkins-common.sh +docker_images_require "debian-repo-install-test" + +[ -z "$FEED" ] && FEED="nightly" +CONTAINER="repo-install-test-$FEED" + +# Try to run "systemctl status" 10 times, kill the container on failure +check_if_systemd_is_running() { + for i in $(seq 1 10); do + sleep 1 + if docker exec "$CONTAINER" systemctl status; then + return + fi + done + + echo "ERROR: systemd is not running properly." + docker container kill "$CONTAINER" + exit 1 +} + +# Kill already running container +if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then + docker container kill "$CONTAINER" + sleep 1 +fi + +# Run the container +# * This does not output anything, for debugging add -it and remove &. +# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd +# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) +docker run --rm \ + -v "$PWD/testdata:/testdata:ro" \ + -v "$VOL_BASE_DIR:/data" \ + --name "$CONTAINER" \ + -e FEED="$FEED" \ + -e container=docker \ + --tmpfs /run \ + --tmpfs /tmp \ + -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ + --cap-add SYS_ADMIN \ + --cap-add SYS_NICE \ + "$REPO_USER/debian-repo-install-test" \ + /lib/systemd/systemd & +check_if_systemd_is_running + +# Run the test script +docker exec "$CONTAINER" /testdata/repo-install-test.sh +ret="$?" + +# Interactive shell +if [ -n "$INTERACTIVE" ]; then + docker exec -it "$CONTAINER" bash +fi + +docker container kill "$CONTAINER" + +exit $ret diff --git a/scripts/repo-install-test/blacklist.txt b/scripts/repo-install-test/blacklist.txt new file mode 100644 index 0000000..cb7db6a --- /dev/null +++ b/scripts/repo-install-test/blacklist.txt @@ -0,0 +1,27 @@ +# These packages will not get explicitly installed in this test. +# Package lines must have nothing but the package (no comment, +# no additional space etc). + +# OpenBSC +# This is legacy, we aren't really interested in testing openbsc.git +# derived packages. Packages are found in openbsc/debian/control. +openbsc-dev +osmo-bsc-mgcp +osmo-bsc-mgcp-dbg +osmocom-bs11-utils +osmocom-bs11-utils-dbg +osmocom-bsc-nat +osmocom-bsc-nat-dbg +osmocom-bsc-sccplite +osmocom-bsc-sccplite-dbg +osmocom-ipaccess-utils +osmocom-ipaccess-utils-dbg +osmocom-nitb +osmocom-nitb-dbg + +# SoapySDR is not used anymore (see OS#3542) +soapysdr-module-lms7 +soapysdr0.6-module-lms7 +soapysdr0.6-module-lms7-dbgsym +soapysdr0.7-module-lms7 +soapysdr0.7-module-lms7-dbgsym diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh new file mode 100755 index 0000000..63e1819 --- /dev/null +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -0,0 +1,146 @@ +#!/bin/sh -ex + +# Systemd services that must start up successfully after installing all packages (OS#3369) +# Disabled services: +# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) +# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) +# * osmo-ggsn (no tun device in docker) +SERVICES=" + osmo-bsc + osmo-gbproxy + osmo-gtphub + osmo-hlr + osmo-mgw + osmo-msc + osmo-pcap-client + osmo-sip-connector + osmo-stp +" +# Services working in nightly, but not yet in latest +# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 +# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 +# * osmo-pcu: needs osmo-bts-virtual to start up properly +# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 +# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 +SERVICES_NIGHTLY=" + osmo-pcap-server + osmo-sgsn + osmo-pcu + osmo-hnbgw + osmo-bts-virtual +" + +HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/" +OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0" + +check_env() { + if [ -n "$FEED" ]; then + echo "Checking feed: $FEED" + else + echo "ERROR: missing environment variable \$FEED!" + exit 1 + fi +} + +configure_osmocom_repo() { + echo "Configuring Osmocom repository" + echo "deb $HTTP ./" \ + > /etc/apt/sources.list.d/osmocom-latest.list + apt-get update +} + +install_repo_packages() { + echo "Installing all repository packages" + + # Get a list of all packages from the repository. Reference: + # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html + aptitude search -F%p \ + "?origin($OBS) ?architecture(native)" | sort \ + > /data/osmocom_packages_all.txt + + # Remove comments from blacklist.txt (and sort it) + grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt + + # Install all repo packages which are not on the blacklist + comm -23 /data/osmocom_packages_all.txt \ + /data/blacklist.txt > /data/osmocom_packages.txt + apt install -y $(cat /data/osmocom_packages.txt) +} + +test_binaries_version() { + # Make sure --version runs and does not output UNKNOWN + failed="" + for program in $@; do + # Make sure it runs at all + $program --version + + # Check for UNKNOWN + if $program --version | grep -q UNKNOWN; then + failed="$failed $program" + echo "ERROR: this program prints UNKNOWN in --version!" + fi + done + + if [ -n "$failed" ]; then + echo "ERROR: the following program(s) print UNKNOWN in --version:" + echo "$failed" + return 1 + fi +} + +test_binaries() { + # Make sure that binares run at all and output a proper version + test_binaries_version \ + osmo-bsc \ + osmo-bts-trx \ + osmo-bts-virtual \ + osmo-gbproxy \ + osmo-gtphub \ + osmo-ggsn \ + osmo-hlr \ + osmo-hlr-db-tool \ + osmo-hnbgw \ + osmo-mgw \ + osmo-msc \ + osmo-pcu \ + osmo-sgsn \ + osmo-sip-connector \ + osmo-stp \ + osmo-trx-uhd \ + osmo-trx-usrp1 +} + +services_check() { + local service + local services_feed="$SERVICES" + local failed="" + + if [ "$FEED" = "nightly" ]; then + services_feed="$services_feed $SERVICES_NIGHTLY" + fi + + systemctl start $services_feed + sleep 2 + + for service in $services_feed; do + if ! systemctl --no-pager -l -n 200 status $service; then + failed="$failed $service" + fi + done + + systemctl stop $services_feed + + if [ -n "$failed" ]; then + set +x + echo + echo "ERROR: services failed to start: $failed" + echo + exit 1 + fi +} + +check_env +configure_osmocom_repo +install_repo_packages +test_binaries +services_check -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c Gerrit-Change-Number: 18509 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:23 +0000 Subject: Change in osmo-ci[master]: repo-install-test: integrate In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18510 ) Change subject: repo-install-test: integrate ...................................................................... repo-install-test: integrate Make the script run from its new location. Related: OS#4563 Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 --- M .gitignore M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 3 files changed, 7 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/.gitignore b/.gitignore index 459f2c9..d6be3b5 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ _deps/ _release_tarballs/ _docker_playground +_repo_install_test_data/ # osmocom-nightly-packages.sh nightly-3g_* diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index c0c38c5..a93fb23 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,5 +1,5 @@ #!/bin/sh -. ../jenkins-common.sh +. "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" [ -z "$FEED" ] && FEED="nightly" @@ -30,8 +30,8 @@ # * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd # * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) docker run --rm \ - -v "$PWD/testdata:/testdata:ro" \ - -v "$VOL_BASE_DIR:/data" \ + -v "$OSMO_CI_DIR/scripts/repo-install-test:/repo-install-test:ro" \ + -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ -e container=docker \ @@ -40,12 +40,12 @@ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ - "$REPO_USER/debian-repo-install-test" \ + "$USER/debian-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running # Run the test script -docker exec "$CONTAINER" /testdata/repo-install-test.sh +docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh ret="$?" # Interactive shell diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 63e1819..135d2d6 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -59,7 +59,7 @@ > /data/osmocom_packages_all.txt # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt + grep -v "^#" /repo-install-test/blacklist.txt | sort -u > /data/blacklist.txt # Install all repo packages which are not on the blacklist comm -23 /data/osmocom_packages_all.txt \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14 Gerrit-Change-Number: 18510 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:24 +0000 Subject: Change in osmo-ci[master]: repo-install-test: docker: add --tmpfs /run/lock In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18511 ) Change subject: repo-install-test: docker: add --tmpfs /run/lock ...................................................................... repo-install-test: docker: add --tmpfs /run/lock Make the script work on a debian10 host. I had developed it initially on debian9, where this was not necessary, and the Jenkins servers are also running debian9. Fixes: Failed to mount tmpfs at /run/lock: Permission denied [!!!!!!] Failed to mount API filesystems, freezing. Freezing execution. Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f --- M scripts/repo-install-test.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index a93fb23..d3ce8d6 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -36,6 +36,7 @@ -e FEED="$FEED" \ -e container=docker \ --tmpfs /run \ + --tmpfs /run/lock \ --tmpfs /tmp \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f Gerrit-Change-Number: 18511 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:24 +0000 Subject: Change in osmo-ci[master]: repo-install-test: use sh -ex In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18512 ) Change subject: repo-install-test: use sh -ex ...................................................................... repo-install-test: use sh -ex Make it consistent with run-inside-docker.sh by also using -e and -x. This makes development easier. Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc --- M scripts/repo-install-test.sh 1 file changed, 6 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index d3ce8d6..0a19b04 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh -ex . "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" @@ -46,12 +46,14 @@ check_if_systemd_is_running # Run the test script -docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh -ret="$?" +ret=0 +if ! docker exec "$CONTAINER" /repo-install-test/run-inside-docker.sh; then + ret=1 +fi # Interactive shell if [ -n "$INTERACTIVE" ]; then - docker exec -it "$CONTAINER" bash + docker exec -it "$CONTAINER" bash || true fi docker container kill "$CONTAINER" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc Gerrit-Change-Number: 18512 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:25 +0000 Subject: Change in osmo-ci[master]: repo-install-test: add KEEP_CACHE env var In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18513 ) Change subject: repo-install-test: add KEEP_CACHE env var ...................................................................... repo-install-test: add KEEP_CACHE env var Keep downloaded binary packages to make test cycles shorter during development. While at it, also document all environment variables. Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd --- M .gitignore M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 3 files changed, 30 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/.gitignore b/.gitignore index d6be3b5..78e48b5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ _release_tarballs/ _docker_playground _repo_install_test_data/ +_repo_install_test_cache/ # osmocom-nightly-packages.sh nightly-3g_* diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index 0a19b04..e0367ec 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -1,4 +1,8 @@ #!/bin/sh -ex +# Environment variables: +# * INTERACTIVE: set to 1 to keep an interactive shell open after the script ran (for debugging) +# * FEED: binary package feed (e.g. "latest", "nightly") +# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) . "$(dirname "$0")/common.sh" docker_images_require "debian-repo-install-test" @@ -25,6 +29,13 @@ sleep 1 fi +# Additional docker run arguments +args="" +if [ -n "$KEEP_CACHE" ]; then + args="$args -e KEEP_CACHE=1" + args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/debian/apt:/var/cache/apt" +fi + # Run the container # * This does not output anything, for debugging add -it and remove &. # * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd @@ -41,6 +52,7 @@ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ + $args \ "$USER/debian-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 135d2d6..eed33d2 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -1,4 +1,7 @@ #!/bin/sh -ex +# Environment variables: +# * FEED: binary package feed (e.g. "latest", "nightly") +# * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) # Systemd services that must start up successfully after installing all packages (OS#3369) # Disabled services: @@ -49,6 +52,19 @@ apt-get update } +configure_keep_cache() { + if [ -z "$KEEP_CACHE" ]; then + return + fi + + rm /etc/apt/apt.conf.d/docker-clean + + # "apt" will actually remove the cache by default, even if "apt-get" keeps it. + # https://unix.stackexchange.com/a/447607 + echo "Binary::apt::APT::Keep-Downloaded-Packages "true";" \ + > /etc/apt/apt.conf.d/01keep-debs +} + install_repo_packages() { echo "Installing all repository packages" @@ -140,6 +156,7 @@ } check_env +configure_keep_cache configure_osmocom_repo install_repo_packages test_binaries -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd Gerrit-Change-Number: 18513 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:25 +0000 Subject: Change in osmo-ci[master]: repo-install-test: support centos In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18514 ) Change subject: repo-install-test: support centos ...................................................................... repo-install-test: support centos Related: OS#4563 Depends: I50743c304728444ede8e0d40b8abef9d17c44d8d (docker-playground) Change-Id: I399360ee6389591180859b52f0ef08883447b90b --- M scripts/repo-install-test.sh A scripts/repo-install-test/blacklist_centos.txt R scripts/repo-install-test/blacklist_debian.txt M scripts/repo-install-test/run-inside-docker.sh 4 files changed, 93 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index e0367ec..4bc0fab 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -4,10 +4,19 @@ # * FEED: binary package feed (e.g. "latest", "nightly") # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) . "$(dirname "$0")/common.sh" -docker_images_require "debian-repo-install-test" + +# Show usage +if [ "$#" -ne 1 ]; then + echo "usage: repo-install-test.sh DISTRO" + echo "DISTRO: debian or centos" + exit 1 +fi + +DISTRO="$1" +docker_images_require "$DISTRO-repo-install-test" [ -z "$FEED" ] && FEED="nightly" -CONTAINER="repo-install-test-$FEED" +CONTAINER="$DISTRO-repo-install-test-$FEED" # Try to run "systemctl status" 10 times, kill the container on failure check_if_systemd_is_running() { @@ -34,6 +43,7 @@ if [ -n "$KEEP_CACHE" ]; then args="$args -e KEEP_CACHE=1" args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/debian/apt:/var/cache/apt" + args="$args -v $OSMO_CI_DIR/_repo_install_test_cache/centos/dnf:/var/cache/dnf" fi # Run the container @@ -45,6 +55,7 @@ -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ + -e DISTRO="$DISTRO" \ -e container=docker \ --tmpfs /run \ --tmpfs /run/lock \ @@ -53,7 +64,7 @@ --cap-add SYS_ADMIN \ --cap-add SYS_NICE \ $args \ - "$USER/debian-repo-install-test" \ + "$USER/$DISTRO-repo-install-test" \ /lib/systemd/systemd & check_if_systemd_is_running diff --git a/scripts/repo-install-test/blacklist_centos.txt b/scripts/repo-install-test/blacklist_centos.txt new file mode 100644 index 0000000..83d2cbd --- /dev/null +++ b/scripts/repo-install-test/blacklist_centos.txt @@ -0,0 +1,11 @@ +# These packages will not get explicitly installed in this test. +# Package lines must have nothing but the package (no comment, +# no additional space etc). + +# The ulfius package in network:osmocom:* is linked to the opensuse version, +# which has dependencies that exist under another name in centos +# (libgnutls-devel, libjansson-devel). Linking to the opensuse version has the +# advantage that we don't need to worry about updating the package. However, +# the dependency problem means that we can't simply install the package in +# centos. In OBS we work around this in the project config. +ulfius-devel diff --git a/scripts/repo-install-test/blacklist.txt b/scripts/repo-install-test/blacklist_debian.txt similarity index 100% rename from scripts/repo-install-test/blacklist.txt rename to scripts/repo-install-test/blacklist_debian.txt diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index eed33d2..a6eda13 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -2,6 +2,7 @@ # Environment variables: # * FEED: binary package feed (e.g. "latest", "nightly") # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development) +# * DISTRO: linux distribution name (e.g. "debian", "centos") # Systemd services that must start up successfully after installing all packages (OS#3369) # Disabled services: @@ -43,16 +44,37 @@ echo "ERROR: missing environment variable \$FEED!" exit 1 fi + if [ -n "$DISTRO" ]; then + echo "Linux distribution: $DISTRO" + else + echo "ERROR: missing environment variable \$DISTRO!" + exit 1 + fi } -configure_osmocom_repo() { +configure_osmocom_repo_debian() { echo "Configuring Osmocom repository" echo "deb $HTTP ./" \ > /etc/apt/sources.list.d/osmocom-latest.list apt-get update } -configure_keep_cache() { +configure_osmocom_repo_centos() { + echo "Configuring Osmocom repository" + # Generate this file, based on the feed: + # https://download.opensuse.org/repositories/network:osmocom:latest/CentOS_8_Stream/network:osmocom:latest.repo + cat << EOF > /etc/yum.repos.d/network:osmocom:$FEED.repo +[network_osmocom_$FEED] +name=$FEED packages of the Osmocom project (CentOS_8_Stream) +type=rpm-md +baseurl=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8_Stream/ +gpgcheck=1 +gpgkey=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8_Stream/repodata/repomd.xml.key +enabled=1 +EOF +} + +configure_keep_cache_debian() { if [ -z "$KEEP_CACHE" ]; then return fi @@ -65,7 +87,25 @@ > /etc/apt/apt.conf.d/01keep-debs } -install_repo_packages() { +configure_keep_cache_centos() { + if [ -z "$KEEP_CACHE" ]; then + return + fi + echo "keepcache=1" >> /etc/dnf/dnf.conf +} + +# Filter /data/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in +# /data/osmocom_packages.txt. +filter_packages_txt() { + # Copy distro specific blacklist file, remove comments and sort it + grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > /data/blacklist.txt + + # Generate list of pkgs to be installed from available pkgs minus the ones blacklisted + comm -23 /data/osmocom_packages_all.txt \ + /data/blacklist.txt > /data/osmocom_packages.txt +} + +install_repo_packages_debian() { echo "Installing all repository packages" # Get a list of all packages from the repository. Reference: @@ -74,15 +114,25 @@ "?origin($OBS) ?architecture(native)" | sort \ > /data/osmocom_packages_all.txt - # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /repo-install-test/blacklist.txt | sort -u > /data/blacklist.txt - - # Install all repo packages which are not on the blacklist - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt + filter_packages_txt apt install -y $(cat /data/osmocom_packages.txt) } +install_repo_packages_centos() { + echo "Installing all repository packages" + + # Get a list of all packages from the repository + LANG=C.UTF-8 repoquery \ + --quiet \ + --repoid="network_osmocom_$FEED" \ + --archlist="x86_64,noarch" \ + --qf="%{name}" \ + > /data/osmocom_packages_all.txt + + filter_packages_txt + dnf install -y $(cat /data/osmocom_packages.txt) +} + test_binaries_version() { # Make sure --version runs and does not output UNKNOWN failed="" @@ -122,8 +172,12 @@ osmo-sgsn \ osmo-sip-connector \ osmo-stp \ - osmo-trx-uhd \ - osmo-trx-usrp1 + osmo-trx-uhd + + if [ "$DISTRO" = "debian" ]; then + test_binaries_version \ + osmo-trx-usrp1 + fi } services_check() { @@ -156,8 +210,8 @@ } check_env -configure_keep_cache -configure_osmocom_repo -install_repo_packages +configure_keep_cache_${DISTRO} +configure_osmocom_repo_${DISTRO} +install_repo_packages_${DISTRO} test_binaries services_check -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I399360ee6389591180859b52f0ef08883447b90b Gerrit-Change-Number: 18514 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:26 +0000 Subject: Change in osmo-ci[master]: repo-install-test: don't mount /data In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18518 ) Change subject: repo-install-test: don't mount /data ...................................................................... repo-install-test: don't mount /data The "run-inside-docker.sh" script is running as root (in order to be able to install packages). Do not mount an outside directory as /data inside the image anymore, where the script would write temporary data. This causes problems on jenkins, as the temporary files are written as root and jenkins is then unable to wipe the workspace. I had used this for debugging when I wrote the script initially, but almost the same can be done now with INTERACTIVE=1 and cat on the temporary files. Related: OS#4563 Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b --- M scripts/repo-install-test.sh M scripts/repo-install-test/run-inside-docker.sh 2 files changed, 9 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh index 4bc0fab..ac8242d 100755 --- a/scripts/repo-install-test.sh +++ b/scripts/repo-install-test.sh @@ -52,7 +52,6 @@ # * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) docker run --rm \ -v "$OSMO_CI_DIR/scripts/repo-install-test:/repo-install-test:ro" \ - -v "$OSMO_CI_DIR/_repo_install_test_data:/data" \ --name "$CONTAINER" \ -e FEED="$FEED" \ -e DISTRO="$DISTRO" \ diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index a6eda13..e0f07c2 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -94,15 +94,15 @@ echo "keepcache=1" >> /etc/dnf/dnf.conf } -# Filter /data/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in -# /data/osmocom_packages.txt. +# Filter $PWD/osmocom_packages_all.txt through a blacklist_$DISTRO.txt and store the result in +# $PWD/osmocom_packages.txt. filter_packages_txt() { # Copy distro specific blacklist file, remove comments and sort it - grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > /data/blacklist.txt + grep -v "^#" /repo-install-test/blacklist_$DISTRO.txt | sort -u > blacklist.txt # Generate list of pkgs to be installed from available pkgs minus the ones blacklisted - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt + comm -23 osmocom_packages_all.txt \ + blacklist.txt > osmocom_packages.txt } install_repo_packages_debian() { @@ -112,10 +112,10 @@ # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html aptitude search -F%p \ "?origin($OBS) ?architecture(native)" | sort \ - > /data/osmocom_packages_all.txt + > osmocom_packages_all.txt filter_packages_txt - apt install -y $(cat /data/osmocom_packages.txt) + apt install -y $(cat osmocom_packages.txt) } install_repo_packages_centos() { @@ -127,10 +127,10 @@ --repoid="network_osmocom_$FEED" \ --archlist="x86_64,noarch" \ --qf="%{name}" \ - > /data/osmocom_packages_all.txt + > osmocom_packages_all.txt filter_packages_txt - dnf install -y $(cat /data/osmocom_packages.txt) + dnf install -y $(cat osmocom_packages.txt) } test_binaries_version() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b Gerrit-Change-Number: 18518 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:53:26 +0000 Subject: Change in osmo-ci[master]: repo-install-test: update jenkins job In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18515 ) Change subject: repo-install-test: update jenkins job ...................................................................... repo-install-test: update jenkins job Rename osmocom-debian-install.yml to repo-install-test.yml to get debian out of the name. Extend it with a new distro parameter and update the description. Adjust the shell section to run the script from its new location (in osmo-ci.git, not docker-playground.git). Turn it into a matrix job, so we can have two parameters (distro, feed) for each job. Related: OS#4563 Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 --- D jobs/osmocom-debian-install.yml A jobs/repo-install-test.yml 2 files changed, 69 insertions(+), 44 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/osmocom-debian-install.yml b/jobs/osmocom-debian-install.yml deleted file mode 100644 index 26b7fa0..0000000 --- a/jobs/osmocom-debian-install.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -- project: - name: Osmocom-Debian-install - jobs: - - Osmocom-Debian-install-{type} - type: - - nightly - - latest - -- job-template: - name: 'Osmocom-Debian-install-{type}' - - project-type: freestyle - defaults: global - description: | -
    -
  • Install all Osmocom debian packages (OS#3176) -
  • Check if Osmocom systemd services start properly (OS#3369) -
- node: osmocom-master-debian9 - parameters: - - string: - name: BRANCH - description: | - docker-playground.git branch - default: '*/master' - builders: - - shell: - cd debian-repo-install-test && FEED={type} ./jenkins.sh - scm: - - git: - branches: - - '$BRANCH' - url: git://git.osmocom.org/docker-playground - git-config-name: 'Jenkins Builder' - git-config-email: 'jenkins at osmocom.org' - triggers: - - timed: "H 04 * * *" # run after osmocom-obs.yml - publishers: - - email: - notify-every-unstable-build: true - recipients: 'jenkins-notifications at lists.osmocom.org' - -# vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/repo-install-test.yml b/jobs/repo-install-test.yml new file mode 100644 index 0000000..f386eab --- /dev/null +++ b/jobs/repo-install-test.yml @@ -0,0 +1,69 @@ +--- +- project: + name: Osmocom-repo-install + jobs: + - Osmocom-repo-install-{distro} + distro: + - debian: + feeds: !!python/tuple [nightly, latest] + - centos: + feeds: !!python/tuple [next, nightly] + +- job-template: + name: Osmocom-repo-install-{distro} + project-type: matrix + defaults: global + description: | + Install {distro} packages from the + + Osmocom binary packages repositories, test if binaries and systemd services can be started.
+
+ Related:
+
    +
  • OS#3176: install all Osmocom debian packages +
  • OS#3369: check if systemd services start properly +
  • OS#4563: extend for centos +
+ node: osmocom-master-debian9 + parameters: + - string: + name: BRANCH_CI + description: | + osmo-ci.git branch + default: 'master' + - string: + name: BRANCH_DP + description: | + docker-playground.git branch + default: 'master' + axes: + - axis: + type: slave + name: label + # Force using "build2-deb9build-ansible": https://osmocom.org/issues/4563#note-10 + values: !!python/tuple [build2-deb9build-ansible] + - axis: + type: user-defined + name: feed + values: '{obj:feeds}' + builders: + - shell: | + export OSMO_BRANCH_DOCKER_PLAYGROUND="$BRANCH_DP" + export FEED="$feed" + scripts/repo-install-test.sh "{distro}" + scm: + - git: + branches: + - '$BRANCH_CI' + url: git://git.osmocom.org/osmo-ci + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + triggers: + - timed: "H 04 * * *" # run after osmocom-obs.yml + + publishers: + - email: + notify-every-unstable-build: true + recipients: 'jenkins-notifications at lists.osmocom.org' + +# vim: expandtab tabstop=2 shiftwidth=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39 Gerrit-Change-Number: 18515 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:53:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:53:25 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 3: (3 comments) AS I said, I'd rather implement the roundrobin by keeping a pointer to last/next msc's llisthead. Since we have and use llists here, let's use their benefits. https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/include/osmocom/bsc/gsm_data.h at 1652 PS3, Line 1652: uint8_t mscs_round_robin_next_nr; What about using point to last/next llist_head? https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c File src/osmo-bsc/gsm_08_08.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c at 111 PS3, Line 111: static bool is_cm_service_for_emerg(struct msgb *msg) Please next time submit this kind of changes as a separate commit. https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c at 249 PS3, Line 249: net->mscs_round_robin_next_nr = msc_target->nr + 1; Is this number ever decreased? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:53:25 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:54:18 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:54:18 +0000 Subject: Change in docker-playground[master]: debian-repo-install-test: move scripts to osmo-ci In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18517 ) Change subject: debian-repo-install-test: move scripts to osmo-ci ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 Gerrit-Change-Number: 18517 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 May 2020 09:54:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:54:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 09:54:21 +0000 Subject: Change in docker-playground[master]: debian-repo-install-test: move scripts to osmo-ci In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18517 ) Change subject: debian-repo-install-test: move scripts to osmo-ci ...................................................................... debian-repo-install-test: move scripts to osmo-ci Related: OS#4563 Depends: I777098f19d75f7efbd68b837ccdcd83309429c39 (osmo-ci) Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 --- D debian-repo-install-test/jenkins.sh D debian-repo-install-test/testdata/blacklist.txt D debian-repo-install-test/testdata/repo-install-test.sh 3 files changed, 0 insertions(+), 231 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/debian-repo-install-test/jenkins.sh b/debian-repo-install-test/jenkins.sh deleted file mode 100755 index c0c38c5..0000000 --- a/debian-repo-install-test/jenkins.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -. ../jenkins-common.sh -docker_images_require "debian-repo-install-test" - -[ -z "$FEED" ] && FEED="nightly" -CONTAINER="repo-install-test-$FEED" - -# Try to run "systemctl status" 10 times, kill the container on failure -check_if_systemd_is_running() { - for i in $(seq 1 10); do - sleep 1 - if docker exec "$CONTAINER" systemctl status; then - return - fi - done - - echo "ERROR: systemd is not running properly." - docker container kill "$CONTAINER" - exit 1 -} - -# Kill already running container -if [ "$(docker inspect -f '{{.State.Running}}' "$CONTAINER" 2> /dev/null)" = "true" ]; then - docker container kill "$CONTAINER" - sleep 1 -fi - -# Run the container -# * This does not output anything, for debugging add -it and remove &. -# * /run, /tmp, cgroups, SYS_ADMIN: needed for systemd -# * SYS_NICE: needed for changing CPUScheduling{Policy,Priority} (osmo-bts systemd service files) -docker run --rm \ - -v "$PWD/testdata:/testdata:ro" \ - -v "$VOL_BASE_DIR:/data" \ - --name "$CONTAINER" \ - -e FEED="$FEED" \ - -e container=docker \ - --tmpfs /run \ - --tmpfs /tmp \ - -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ - --cap-add SYS_ADMIN \ - --cap-add SYS_NICE \ - "$REPO_USER/debian-repo-install-test" \ - /lib/systemd/systemd & -check_if_systemd_is_running - -# Run the test script -docker exec "$CONTAINER" /testdata/repo-install-test.sh -ret="$?" - -# Interactive shell -if [ -n "$INTERACTIVE" ]; then - docker exec -it "$CONTAINER" bash -fi - -docker container kill "$CONTAINER" - -exit $ret diff --git a/debian-repo-install-test/testdata/blacklist.txt b/debian-repo-install-test/testdata/blacklist.txt deleted file mode 100644 index cb7db6a..0000000 --- a/debian-repo-install-test/testdata/blacklist.txt +++ /dev/null @@ -1,27 +0,0 @@ -# These packages will not get explicitly installed in this test. -# Package lines must have nothing but the package (no comment, -# no additional space etc). - -# OpenBSC -# This is legacy, we aren't really interested in testing openbsc.git -# derived packages. Packages are found in openbsc/debian/control. -openbsc-dev -osmo-bsc-mgcp -osmo-bsc-mgcp-dbg -osmocom-bs11-utils -osmocom-bs11-utils-dbg -osmocom-bsc-nat -osmocom-bsc-nat-dbg -osmocom-bsc-sccplite -osmocom-bsc-sccplite-dbg -osmocom-ipaccess-utils -osmocom-ipaccess-utils-dbg -osmocom-nitb -osmocom-nitb-dbg - -# SoapySDR is not used anymore (see OS#3542) -soapysdr-module-lms7 -soapysdr0.6-module-lms7 -soapysdr0.6-module-lms7-dbgsym -soapysdr0.7-module-lms7 -soapysdr0.7-module-lms7-dbgsym diff --git a/debian-repo-install-test/testdata/repo-install-test.sh b/debian-repo-install-test/testdata/repo-install-test.sh deleted file mode 100755 index 63e1819..0000000 --- a/debian-repo-install-test/testdata/repo-install-test.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -ex - -# Systemd services that must start up successfully after installing all packages (OS#3369) -# Disabled services: -# * osmo-ctrl2cgi (missing config: /etc/osmocom/ctrl2cgi.ini, OS#4108) -# * osmo-trap2cgi (missing config: /etc/osmocom/%N.ini, OS#4108) -# * osmo-ggsn (no tun device in docker) -SERVICES=" - osmo-bsc - osmo-gbproxy - osmo-gtphub - osmo-hlr - osmo-mgw - osmo-msc - osmo-pcap-client - osmo-sip-connector - osmo-stp -" -# Services working in nightly, but not yet in latest -# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 -# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 -# * osmo-pcu: needs osmo-bts-virtual to start up properly -# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 -# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 -SERVICES_NIGHTLY=" - osmo-pcap-server - osmo-sgsn - osmo-pcu - osmo-hnbgw - osmo-bts-virtual -" - -HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/" -OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0" - -check_env() { - if [ -n "$FEED" ]; then - echo "Checking feed: $FEED" - else - echo "ERROR: missing environment variable \$FEED!" - exit 1 - fi -} - -configure_osmocom_repo() { - echo "Configuring Osmocom repository" - echo "deb $HTTP ./" \ - > /etc/apt/sources.list.d/osmocom-latest.list - apt-get update -} - -install_repo_packages() { - echo "Installing all repository packages" - - # Get a list of all packages from the repository. Reference: - # https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html - aptitude search -F%p \ - "?origin($OBS) ?architecture(native)" | sort \ - > /data/osmocom_packages_all.txt - - # Remove comments from blacklist.txt (and sort it) - grep -v "^#" /testdata/blacklist.txt | sort -u > /data/blacklist.txt - - # Install all repo packages which are not on the blacklist - comm -23 /data/osmocom_packages_all.txt \ - /data/blacklist.txt > /data/osmocom_packages.txt - apt install -y $(cat /data/osmocom_packages.txt) -} - -test_binaries_version() { - # Make sure --version runs and does not output UNKNOWN - failed="" - for program in $@; do - # Make sure it runs at all - $program --version - - # Check for UNKNOWN - if $program --version | grep -q UNKNOWN; then - failed="$failed $program" - echo "ERROR: this program prints UNKNOWN in --version!" - fi - done - - if [ -n "$failed" ]; then - echo "ERROR: the following program(s) print UNKNOWN in --version:" - echo "$failed" - return 1 - fi -} - -test_binaries() { - # Make sure that binares run at all and output a proper version - test_binaries_version \ - osmo-bsc \ - osmo-bts-trx \ - osmo-bts-virtual \ - osmo-gbproxy \ - osmo-gtphub \ - osmo-ggsn \ - osmo-hlr \ - osmo-hlr-db-tool \ - osmo-hnbgw \ - osmo-mgw \ - osmo-msc \ - osmo-pcu \ - osmo-sgsn \ - osmo-sip-connector \ - osmo-stp \ - osmo-trx-uhd \ - osmo-trx-usrp1 -} - -services_check() { - local service - local services_feed="$SERVICES" - local failed="" - - if [ "$FEED" = "nightly" ]; then - services_feed="$services_feed $SERVICES_NIGHTLY" - fi - - systemctl start $services_feed - sleep 2 - - for service in $services_feed; do - if ! systemctl --no-pager -l -n 200 status $service; then - failed="$failed $service" - fi - done - - systemctl stop $services_feed - - if [ -n "$failed" ]; then - set +x - echo - echo "ERROR: services failed to start: $failed" - echo - exit 1 - fi -} - -check_env -configure_osmocom_repo -install_repo_packages -test_binaries -services_check -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If93f37e8d46597a9abc67a4529be9addd65780f5 Gerrit-Change-Number: 18517 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:54:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:54:57 +0000 Subject: Change in osmo-bts[master]: scheduler_trx: fix RSSI calculation for SUB frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18035 ) Change subject: scheduler_trx: fix RSSI calculation for SUB frames ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c File src/osmo-bts-trx/scheduler_trx.c: https://gerrit.osmocom.org/c/osmo-bts/+/18035/1/src/osmo-bts-trx/scheduler_trx.c at 1281 PS1, Line 1281: RSSI_FR_LOWER_FOUR > The problem is that picking the measurement values becomes a lot more difficult when I compute the a [?] that kind of information is virtually impossible to gain by looking at the code - and also not by looking at the changelog. Hence, it is a prime example of what should be in a comment. Please add. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18035 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I902bb47d68742d2589156f61099b67a0edbaf40b Gerrit-Change-Number: 18035 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 09:54:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: dexter Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:55:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:55:29 +0000 Subject: Change in libosmo-sccp[master]: RPM spec: fix "E: lto-no-text-in-archive" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 ) Change subject: RPM spec: fix "E: lto-no-text-in-archive" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 Gerrit-Change-Number: 18481 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:55:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:55:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:55:37 +0000 Subject: Change in libosmo-sccp[master]: RPM spec: fix "E: lto-no-text-in-archive" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 ) Change subject: RPM spec: fix "E: lto-no-text-in-archive" ...................................................................... RPM spec: fix "E: lto-no-text-in-archive" Some opensuse versions failed to build the RPM with: libosmo-mtp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libmtp.a libosmo-sigtran-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libosmo-sigtran.a libosmo-sccp-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libsccp.a libosmo-xua-devel.x86_64: E: lto-no-text-in-archive (Badness: 10000) /usr/lib64/libxua.a This archive does not contain a non-empty .text section. The archive was not created with -ffat-lto-objects option. Fix it as described here: https://en.opensuse.org/openSUSE:LTO#Static_libraries I've verified in my own OBS namespace, that it works as expected. Related: OS#4550 Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 --- M contrib/libosmo-sccp.spec.in 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/contrib/libosmo-sccp.spec.in b/contrib/libosmo-sccp.spec.in index b4d7722..b195b1f 100644 --- a/contrib/libosmo-sccp.spec.in +++ b/contrib/libosmo-sccp.spec.in @@ -12,6 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. +# Avoid "E: lto-no-text-in-archive" +# https://en.opensuse.org/openSUSE:LTO#Static_libraries +%if 0%{?suse_version} +%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects +%endif + Name: libosmo-sccp Version: @VERSION@ Release: 0 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: Iaa0be46838f279af8ea87e00809dd3babd4fcad2 Gerrit-Change-Number: 18481 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:56:25 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:56:25 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:56:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:56:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:56:39 +0000 Subject: Change in libosmo-abis[master]: src/input/ipaccess.c: set TCP_NODELAY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/17972 ) Change subject: src/input/ipaccess.c: set TCP_NODELAY ...................................................................... src/input/ipaccess.c: set TCP_NODELAY Set TCP_NODELAY for all RSL/OML sockets. Related: SYS#4906 Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 --- M src/input/ipaccess.c 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c index e1936af..96828eb 100644 --- a/src/input/ipaccess.c +++ b/src/input/ipaccess.c @@ -587,6 +587,11 @@ #endif #endif } + + val = 1; + ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val)); + if (ret < 0) + LOGP(DLINP, LOGL_ERROR, "Failed to set TCP_NODELAY: %s\n", strerror(errno)); } /* callback of the OML listening filedescriptor */ -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/17972 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia3d4c41bf0659e682f0b7ae5f3d58ed0f28edb58 Gerrit-Change-Number: 17972 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:57:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 09:57:33 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 to look at the new patch set (#2). Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order L1CTL is using the network byte order, because this protocol is spoken between different devices and architectures. Somehow I forgot about this while adding SETFH command back in 2018. Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Related: OS#4546 --- M src/host/trxcon/l1ctl.c 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/19/18519/2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:58:47 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:58:47 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:58:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:58:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 09:58:52 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18499 ) Change subject: drop MSC types "local" vs "normal" ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:59:10 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 09:59:10 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18519 ) Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18519/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/18519/1//COMMIT_MSG at 7 PS1, Line 7: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order > I'm lacking some context here on why we need to it convert it, and why is it now in network byte ord [?] I added a brief commit description. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:59:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 09:59:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 09:59:22 +0000 Subject: Change in osmo-pcu[master]: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18387 ) Change subject: BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia15761c33c8048d35c7f7bc93dbea781dd0894b7 Gerrit-Change-Number: 18387 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 09:59:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:01:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:01:03 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:01:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:01:16 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:01:16 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:01:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:01:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:01:23 +0000 Subject: Change in osmo-ci[master]: OBS: support more than one conflicting package In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18441 ) Change subject: OBS: support more than one conflicting package ...................................................................... OBS: support more than one conflicting package For the upcoming network:osmocom:next repository, it would be inconsistent to have the debian package conflict mechanism only support latest and nightly, even if the next repository is currently not built for debian. Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 --- M scripts/common-obs.sh 1 file changed, 22 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index 137887b..3aa2a36 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -26,17 +26,17 @@ # ??? source # ??? format # $1: name of dummy package (e.g. "osmocom-nightly") -# $2: name of conflicting package (e.g. "osmocom-latest") +# $2-*: name of conflicting packages (e.g. "osmocom-latest") osmo_obs_prepare_conflict() { local pkgname="$1" - local pkgname_conflict="$2" + shift local pkgver="0.0.0" local oldpwd="$PWD" mkdir -p "$pkgname/debian/source" cd "$pkgname/debian" - # Fill control, changelog, rules + # Fill control cat << EOF > control Source: ${pkgname} Section: unknown @@ -48,16 +48,32 @@ Package: ${pkgname} Depends: \${misc:Depends} Architecture: any -Conflicts: ${pkgname_conflict} -Description: Dummy package, which conflicts with ${pkgname_conflict} EOF + printf "Conflicts: " >> control + first=1 + for i in "$@"; do + if [ "$first" -eq 1 ]; then + first=0 + else + printf ", " >> control + fi + printf "%s" "$i" >> control + done + printf "\n" >> control + cat << EOF >> control +Description: Dummy package, which conflicts with: $@ +EOF + + # Fill changelog cat << EOF > changelog ${pkgname} (${pkgver}) unstable; urgency=medium - * Dummy package, which conflicts with ${pkgname_conflict}. + * Dummy package, which conflicts with: $@ -- Oliver Smith Thu, 13 Jun 2019 12:50:19 +0200 EOF + + # Fill rules cat << EOF > rules #!/usr/bin/make -f %: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0 Gerrit-Change-Number: 18441 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:01:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:01:24 +0000 Subject: Change in osmo-ci[master]: OBS: add osmocom-next-packages.sh In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18442 ) Change subject: OBS: add osmocom-next-packages.sh ...................................................................... OBS: add osmocom-next-packages.sh Fill the "next" feed with source packages generated from the "next" branch of each Osmocom project, if it exists, with fallback to the "master" branch. Implement as wrapper around osmocom-nightly-packages.sh, so we don't duplicate code and don't need to add more logic to the jenkins job. Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of each osmocom-*-packages.sh script stating the feed they can be used with. Related: SYS#4887 Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce --- M scripts/osmocom-latest-packages.sh A scripts/osmocom-next-packages.sh M scripts/osmocom-nightly-packages.sh 3 files changed, 45 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 4d5b3f3..46d8a0f 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -1,4 +1,5 @@ #!/bin/sh +# Generate source packages and upload them to OBS, for the latest feed. . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" @@ -24,7 +25,7 @@ mkdir "$DEBSRCDIR" cd "$TOP" - osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" + osmo_obs_prepare_conflict "osmocom-latest" "osmocom-nightly" "osmocom-next" } get_last_tag() { diff --git a/scripts/osmocom-next-packages.sh b/scripts/osmocom-next-packages.sh new file mode 100755 index 0000000..aa9ab90 --- /dev/null +++ b/scripts/osmocom-next-packages.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Generate source packages and upload them to OBS, for the next feed. +. "$(dirname "$0")/common.sh" + +export FEED="next" +$OSMO_CI_DIR/scripts/osmocom-nightly-packages.sh diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh index 40f2a6c..4a0bc80 100755 --- a/scripts/osmocom-nightly-packages.sh +++ b/scripts/osmocom-nightly-packages.sh @@ -1,16 +1,35 @@ #!/bin/bash +# Generate source packages and upload them to OBS, for the nightly or next feed. +# Environment variables: +# * FEED: the binary package feed to upload to, this also controls the source branch that is used: +# * "nightly": use "master" branch (default) +# * "next": use "next" branch if it exists, otherwise use "master" branch . "$(dirname "$0")/common.sh" . "$(dirname "$0")/common-obs.sh" set -e set -x -# OBS project name -PROJ=network:osmocom:nightly - DT=$(date +%Y%m%d) TOP=$(pwd)/$(mktemp -d nightly-3g_XXXXXX) +# Set FEED and PROJ, based on the FEED env var +parse_feed_proj() { + FEED="${FEED:-nightly}" + case "$FEED" in + nightly) + PROJ=network:osmocom:nightly + ;; + next) + PROJ=network:osmocom:next + ;; + *) + echo "unsupported feed: $FEED" + exit 1 + ;; + esac +} + ### OBS build prepare() { # clean up the whole space @@ -19,7 +38,14 @@ osc co "$PROJ" cd "$REPO" - osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" + case "$FEED" in + nightly) + osmo_obs_prepare_conflict "osmocom-nightly" "osmocom-latest" "osmocom-next" + ;; + next) + osmo_obs_prepare_conflict "osmocom-next" "osmocom-latest" "osmocom-nightly" + ;; + esac } get_last_tag() { @@ -70,6 +96,10 @@ osmo_git_clone_date "$url" fi + if [ "$FEED" = "next" ] && git -C "$name" show-branch remotes/origin/next >/dev/null 2>&1; then + git -C "$name" checkout next + fi + cd - } @@ -99,7 +129,7 @@ if [ "$changelog" = "commit" ] ; then VER=$(get_commit_version) - osmo_obs_add_debian_dependency "./debian/control" "osmocom-nightly" + osmo_obs_add_debian_dependency "./debian/control" "osmocom-$FEED" dch -b -v "$VER" -m "Snapshot build" git commit -m "$VER snapshot" debian/ fi @@ -213,7 +243,7 @@ osmo_obs_checkout_copy debian8 osmo-trx osmo_obs_checkout_copy debian10 limesuite - build osmocom-nightly + build osmocom-$FEED build limesuite no_commit --git-upstream-tree="$(get_last_tag limesuite)" build limesuite-debian10 no_commit --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals @@ -256,4 +286,5 @@ post } +parse_feed_proj build_osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce Gerrit-Change-Number: 18442 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:01:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:01:24 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-obs.yml: create Osmocom_OBS_next job In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18445 ) Change subject: jobs/osmocom-obs.yml: create Osmocom_OBS_next job ...................................................................... jobs/osmocom-obs.yml: create Osmocom_OBS_next job Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 --- M jobs/osmocom-obs.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/osmocom-obs.yml b/jobs/osmocom-obs.yml index fe03f86..becb846 100644 --- a/jobs/osmocom-obs.yml +++ b/jobs/osmocom-obs.yml @@ -6,6 +6,7 @@ type: - nightly - latest + - next - job-template: name: 'Osmocom_OBS_{type}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52 Gerrit-Change-Number: 18445 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:03:02 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 10:03:02 +0000 Subject: Change in pysim[master]: utils: fix list comprehension in h2s(): ignore upper case padding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18172 ) Change subject: utils: fix list comprehension in h2s(): ignore upper case padding ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2c5d72a0f7f2796115116737f9f7b5299021f6a3 Gerrit-Change-Number: 18172 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:03:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:03:04 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 10:03:04 +0000 Subject: Change in pysim[master]: utils: fix list comprehension in h2s(): ignore upper case padding In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/18172 ) Change subject: utils: fix list comprehension in h2s(): ignore upper case padding ...................................................................... utils: fix list comprehension in h2s(): ignore upper case padding By definition, h2s() is supposed to skip padding in the given hexstring, so it was working fine for 'ff', but not for 'FF'. Change-Id: I2c5d72a0f7f2796115116737f9f7b5299021f6a3 Signed-off-by: Vadim Yanitskiy --- M pySim/utils.py 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 2de6856..20eb5a8 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -35,7 +35,8 @@ return ''.join(['%02x'%(x) for x in s]) def h2s(s): - return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2]) if not (x == 'f' and y == 'f') ]) + return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2]) + if int(x + y, 16) != 0xff]) def s2h(s): return b2h(s) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I2c5d72a0f7f2796115116737f9f7b5299021f6a3 Gerrit-Change-Number: 18172 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:03:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 10:03:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:03:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:04:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 10:04:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse ChCodingCommand on CCHAN Ul Ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 ) Change subject: pcu: Parse ChCodingCommand on CCHAN Ul Ass ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 Gerrit-Change-Number: 18380 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:04:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:04:51 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 10:04:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 ) Change subject: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 Gerrit-Change-Number: 18381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:04:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:14:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:14:56 +0000 Subject: Change in osmo-ci[master]: scripts: source common.sh before cd In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18480 ) Change subject: scripts: source common.sh before cd ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e Gerrit-Change-Number: 18480 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:14:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:14:58 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 10:14:58 +0000 Subject: Change in osmo-ci[master]: scripts: source common.sh before cd In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18480 ) Change subject: scripts: source common.sh before cd ...................................................................... scripts: source common.sh before cd common.sh tries to set OSMO_CI_DIR now; however this does not work when common.sh was sourced with ". ./common.sh": realpath: scripts/..: No such file or directory Fixes: 7cb8e2d0 ("OBS: add debian10 specific patch for limesuite") Related: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/455/console Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e --- M scripts/osmocom-build-old-tags-against-master.sh M scripts/osmocom-release-tarballs.sh 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/osmocom-build-old-tags-against-master.sh b/scripts/osmocom-build-old-tags-against-master.sh index 58a0009..e7e6bff 100755 --- a/scripts/osmocom-build-old-tags-against-master.sh +++ b/scripts/osmocom-build-old-tags-against-master.sh @@ -7,8 +7,8 @@ # Latest result: # https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/lastBuild/console +. "$(dirname "$0")/common.sh" cd "$(dirname "$0")" -. ./common.sh ERROR_LOGS="" PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" diff --git a/scripts/osmocom-release-tarballs.sh b/scripts/osmocom-release-tarballs.sh index b9d21c3..3f8b920 100755 --- a/scripts/osmocom-release-tarballs.sh +++ b/scripts/osmocom-release-tarballs.sh @@ -7,8 +7,8 @@ # * KEEP_TEMP: do not delete cloned repositories (use for development) # * PARALLEL_MAKE: -jN argument for make (default: -j5). +. "$(dirname "$0")/common.sh" cd "$(dirname "$0")" -. ./common.sh PARALLEL_MAKE="${PARALLEL_MAKE:--j5}" OUTPUT="$(cd ..; pwd)/_release_tarballs" TEMP="$(cd ..; pwd)/_temp" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e Gerrit-Change-Number: 18480 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:22:51 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:22:51 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18159 to look at the new patch set (#3). Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Implement Generic SIM Access interface as per 3GPP TS 27.007 According to 3GPP TS 27.007, sections 8.17 and 8.18, the modem may *optionally* provide Generic and/or Restricted SIM Access to the TE (Terminal Equipment) by means of the AT commands. This basically means that a modem can act as a card reader. Generic SIM Access allows the TE to send raw PDUs in the format as described in 3GPP TS 51.011 directly to the SIM card, while Restricted SIM Access is more limited, and thus is not really interesting to us. This change implements a new transport called ModemATCommandLink, so using it a SIM card can be read and/or programmed without the need to remove it from the modem's socket. A downside of this approach is relatively slow I/O speed compared to PC/SC readers. Tested with Quectel EC20: $ ./pySim-read.py --modem-dev /dev/ttyUSB2 Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Signed-off-by: Vadim Yanitskiy --- M pySim-prog.py M pySim-read.py A pySim/transport/modem_atcmd.py M pySim/utils.py 4 files changed, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/18159/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:23:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:23:52 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18159 to look at the new patch set (#4). Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Implement Generic SIM Access interface as per 3GPP TS 27.007 According to 3GPP TS 27.007, sections 8.17 and 8.18, the modem may *optionally* provide Generic and/or Restricted SIM Access to the TE (Terminal Equipment) by means of the AT commands. This basically means that a modem can act as a card reader. Generic SIM Access allows the TE to send raw PDUs in the format as described in 3GPP TS 51.011 directly to the SIM card, while Restricted SIM Access is more limited, and thus is not really interesting to us. This change implements a new transport called ModemATCommandLink, so using it a SIM card can be read and/or programmed without the need to remove it from the modem's socket. A downside of this approach is relatively slow I/O speed compared to PC/SC readers. Tested with Quectel EC20: $ ./pySim-read.py --modem-dev /dev/ttyUSB2 Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Signed-off-by: Vadim Yanitskiy --- M pySim-prog.py M pySim-read.py A pySim/transport/modem_atcmd.py M pySim/utils.py 4 files changed, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/18159/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:27:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:27:16 +0000 Subject: Change in pysim[master]: Implement Generic SIM Access interface as per 3GPP TS 27.007 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18159 to look at the new patch set (#5). Change subject: Implement Generic SIM Access interface as per 3GPP TS 27.007 ...................................................................... Implement Generic SIM Access interface as per 3GPP TS 27.007 According to 3GPP TS 27.007, sections 8.17 and 8.18, the modem may *optionally* provide Generic and/or Restricted SIM Access to the TE (Terminal Equipment) by means of the AT commands. This basically means that a modem can act as a card reader. Generic SIM Access allows the TE to send raw PDUs in the format as described in 3GPP TS 51.011 directly to the SIM card, while Restricted SIM Access is more limited, and thus is not really interesting to us. This change implements a new transport called ModemATCommandLink, so using it a SIM card can be read and/or programmed without the need to remove it from the modem's socket. A downside of this approach is relatively slow I/O speed compared to PC/SC readers. Tested with Quectel EC20: $ ./pySim-read.py --modem-dev /dev/ttyUSB2 Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Signed-off-by: Vadim Yanitskiy --- M pySim-prog.py M pySim-read.py A pySim/transport/modem_atcmd.py M pySim/utils.py 4 files changed, 147 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/18159/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I20bc00315e2c7c298f46283852865c1416047bc6 Gerrit-Change-Number: 18159 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:30:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:30:58 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:30:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:31:23 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:31:23 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... Patch Set 1: I86afb55ecc6703ce7a229aaa626223f9331a4778 has been merged, so we can merge this one too. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:31:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:31:28 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:31:28 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18487 ) Change subject: ttcn3-bts-test: enable 3 additional transceivers for BTS#0 ...................................................................... ttcn3-bts-test: enable 3 additional transceivers for BTS#0 This is needed for the forthcoming frequency hopping test cases. Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Depends: I86afb55ecc6703ce7a229aaa626223f9331a4778 Related: OS#4546 --- M ttcn3-bts-test/jenkins.sh M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-bts-test/osmo-bts.cfg 3 files changed, 118 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve fixeria: Verified diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 00e8133..83bd165 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -53,7 +53,10 @@ --log-file-level DEBUG \ --log-file-time \ --log-level INFO \ - -R 172.18.9.20 -r 172.18.9.22 + -R 172.18.9.20 -r 172.18.9.22 \ + --trx TRX1 at 172.18.9.20:5700/1 \ + --trx TRX2 at 172.18.9.20:5700/2 \ + --trx TRX3 at 172.18.9.20:5700/3 } start_trxcon() { diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index d25c0fb..d754cb9 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -166,6 +166,96 @@ timeslot 7 phys_chan_config PDCH hopping enabled 0 + trx 1 + rf_locked 0 + arfcn 873 + nominal power 23 + max_power_red 20 + rsl e1 tei 1 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + trx 2 + rf_locked 0 + arfcn 875 + nominal power 23 + max_power_red 20 + rsl e1 tei 2 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 + trx 3 + rf_locked 0 + arfcn 877 + nominal power 23 + max_power_red 20 + rsl e1 tei 3 + timeslot 0 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 1 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 2 + phys_chan_config TCH/F + hopping enabled 0 + timeslot 3 + phys_chan_config TCH/F_PDCH + hopping enabled 0 + timeslot 4 + phys_chan_config TCH/F_TCH/H_PDCH + hopping enabled 0 + timeslot 5 + phys_chan_config TCH/H + hopping enabled 0 + timeslot 6 + phys_chan_config SDCCH8 + hopping enabled 0 + timeslot 7 + phys_chan_config PDCH + hopping enabled 0 msc 0 core-location-area-code 666 core-cell-identity 333 diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index ea04b36..8ada1ba 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -61,6 +61,15 @@ instance 0 osmotrx rx-gain 10 osmotrx tx-attenuation 0 + instance 1 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 + instance 2 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 + instance 3 + osmotrx rx-gain 10 + osmotrx tx-attenuation 0 bts 0 band DCS1800 ipa unit-id 1234 0 @@ -84,5 +93,20 @@ power-ramp step-size 2000 mdB power-ramp step-interval 1 phy 0 instance 0 + trx 1 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 1 + trx 2 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 2 + trx 3 + power-ramp max-initial 0 mdBm + power-ramp step-size 2000 mdB + power-ramp step-interval 1 + phy 0 instance 3 ctrl bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Gerrit-Change-Number: 18487 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:34:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:34:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: derive ts_ChanDesc{H0, H1} from ts_ChanDesc In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 ) Change subject: bts/BTS_Tests: derive ts_ChanDesc{H0,H1} from ts_ChanDesc ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523/1/bts/BTS_Tests.ttcn File bts/BTS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523/1/bts/BTS_Tests.ttcn at 3160 PS1, Line 3160: template (value) ChannelDescription ts_ChanDescH0(template (value) RslChannelNr chan_nr, uint3_t tsc := 7, > What does H0 and H1 mean? Hopping enabled and disabled? [?] It's quite common in osmo-* code to indicate presence or absence of frequency hopping as H0/H1. By renaming the old template I wanted to make it clear that it does not contain hopping parameters to avoid ambiguity. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifea1fe51e6fbfa26601136cfc8af55a5ae4e1512 Gerrit-Change-Number: 18523 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:34:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:37:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:37:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: add frequency hopping parameters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 ) Change subject: bts/BTS_Tests: add frequency hopping parameters ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530/1/bts/BTS_Tests_perf.ttcn File bts/BTS_Tests_perf.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530/1/bts/BTS_Tests_perf.ttcn at 89 PS1, Line 89: var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, > unrelated change? It's needed because I introduced a new parameter before 't_guard' (it looks more logical to have all channel number/mode/hoppung parameters close to each other). Otherwise it would not compile. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Gerrit-Change-Number: 18530 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 10:37:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:45:01 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:45:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 ) Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529/1/library/L1CTL_PortType.ttcn File library/L1CTL_PortType.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529/1/library/L1CTL_PortType.ttcn at 219 PS1, Line 219: TODO: handle Mobile Allocation IE > handle in which way? Doesn't this function simply pass it through? Either expand on TODO or implemen [?] If I understand correctly, this IE may be empty, what means that all channels of the Mobile Allocation (indicated on BCCH) should be used for hopping sequence generation. It can also contain a bitmask indicating which channels from the Mobile Allocation shall be used and which shall not. For now it's fine to use all channels (871, 873, 875, 877), but later we may want to apply this bitmask too. Please correct me if I am wrong. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:45:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:52:05 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:52:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 ) Change subject: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > isn't anything an "in" unless automatically marked as inout or out? Good question. If I get it right, by default you get a copy of the object, while 'in' is something like 'const void *'. But then both 'out' and 'inout' correspond to 'void *'? I am confused now :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8aa7e41ab55af6be07e6926bf0a063418796bd1b Gerrit-Change-Number: 18525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 10:52:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 10:59:02 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 10:59:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 ) Change subject: library/L1CTL_PortType: cosmetic: mark imm_ass is input parameter ...................................................................... Abandoned You're right, it's const GSM__RR__Types::ImmediateAssignment& imm__ass by default in the generated C++ code. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8aa7e41ab55af6be07e6926bf0a063418796bd1b Gerrit-Change-Number: 18525 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:03:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:03:28 +0000 Subject: Change in osmo-gsm-tester[master]: enb: remove freq config for zmq operation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 ) Change subject: enb: remove freq config for zmq operation ...................................................................... Patch Set 1: Code-Review+2 So IIUC these values are calculated automatically from EARFCN? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 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: I70f5776173c2df5894031f68df2f6c3a900b79f8 Gerrit-Change-Number: 18532 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:03:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:03:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:03:59 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: sum bitrates for all component carrier In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 ) Change subject: ms_srs: sum bitrates for all component carrier ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 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: If30ec3f22ce5871f911433e6a6997e9c6e7ca210 Gerrit-Change-Number: 18533 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:03:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:05:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:05:31 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactor ue_max_rate() and move helper function back to sub classes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 ) Change subject: enb: refactor ue_max_rate() and move helper function back to sub classes ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534/1/src/osmo_gsm_tester/obj/enb.py File src/osmo_gsm_tester/obj/enb.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534/1/src/osmo_gsm_tester/obj/enb.py at 85 PS1, Line 85: self._type = None This looks non-related? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 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: I30fa7006906d101c53ba586fb06bced3945aa960 Gerrit-Change-Number: 18534 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:05:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:27:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:27:03 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions In-Reply-To: References: Message-ID: 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 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 314 PS1, Line 314: return pos_connected > pos_released heh nice way of checking order. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 319 PS1, Line 319: def is_emm_registered(self): Please keep the is_connected() and is_attached() APIs to it also matches the ones in other MS types (like the ofono one), so that we have a common interface as much as possible. The idea is to control a device/UE in a simialr way no matter if it's 2g/3G/4G so we can reuse as much as possible. I'm fine with renaming "is_connected" to "is_registered" if you want, but then do it in all suite-tests and MS object classes. We have 2 APIs because in 2G there's difference between being CircuitSwitch attached and PacketSwitch Attached (in our osmocom implementations you first get CS registered, then request PS attachment). In your case if it doesn't make sense, return the same in both. (I know they should be mrked as abstract methods in the abstract class and they aren't, but we should at some point :P) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 322 PS1, Line 322: def get_ipv4_addr(self): Please add this API as abstract method in superclass ms.py, and leave it unimplemented in ms_ofono.py: raise log.Error('API not implemented!') BTW, let's better use same API for both IPv4 and IPv6 addr: def get_assigned_addr(self, ipv6=False): if ipv6: .... return ipv6 addr or raise not implemented else: .... return ipv4 -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:27:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:31:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:31:09 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs: add run function to EPC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 ) Change subject: epc_srs: add run function to EPC ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/1/src/osmo_gsm_tester/obj/epc_srs.py File src/osmo_gsm_tester/obj/epc_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/1/src/osmo_gsm_tester/obj/epc_srs.py at 214 PS1, Line 214: if self._run_node.is_local(): Please document this function like you do in the commit description (for people to understand what is this about and why is it needed). BTW, you probably want to put this in epc.py? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 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: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 Gerrit-Change-Number: 18536 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:31:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:33:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:33:30 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add PRACH and paging counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 ) Change subject: ms_srs: add PRACH and paging counter ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538/1/src/osmo_gsm_tester/obj/ms_srs.py at 358 PS1, Line 358: return self._get_counter_stdout('HO successful') Beign all these a one line, it makes sense to drop the functions and use the one-lines in get_counter() directly. Agree? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 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: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f Gerrit-Change-Number: 18538 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:33:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:35:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:35:09 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases In-Reply-To: References: Message-ID: 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 1: Please rename test files to be "mo" and "mt" instead of "mobile_originated". We already have long strings with suites, let's not make them even longer :P We have also tests already called "mo_mt_*" and alike. -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:35:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:39:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 to look at the new patch set (#2). Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... library/L1CTL_PortType: refactor L1CTL channel establishment - Get rid of f_L1CTL_DM_EST_REQ, it's not really needed. - Derive ts_L1CTL_DM_EST_REQ_H0 from ts_L1CTL_DM_EST_REQ. - Turn all its params into (value) templates. - Turn it into a (value) template itself. - Pass GsmArfcn directly to ts_L1CTL_DM_EST_REQ_H0. Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn M library/LAPDm_RAW_PT.ttcn 4 files changed, 29 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/18526/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:39:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 to look at the new patch set (#2). Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/18528/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:39:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:39:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 to look at the new patch set (#2). Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Related: OS#4546 --- M library/L1CTL_PortType.ttcn 1 file changed, 21 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/18529/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:40:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:40:07 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases In-Reply-To: References: Message-ID: 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 1: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539/1/sysmocom/suites/4g/mobile_originated_traffic.py File sysmocom/suites/4g/mobile_originated_traffic.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539/1/sysmocom/suites/4g/mobile_originated_traffic.py at 1 PS1, Line 1: #!/usr/bin/env python3 What about naming this test "mo_idle_ping" ? It looks much more clear to me what it does at a single glance. BTW, feel free in general to add some comments at the start of the test if you want, explaining what main aim of the test. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539/1/sysmocom/suites/4g/mobile_originated_traffic.py at 23 PS1, Line 23: wait(ue.is_rrc_idle) so this is basically "not ue.is_rrc_connected" right? I'd avoid having this API for sake of maintenance burden for all MS classes. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539/1/sysmocom/suites/4g/mobile_terminated_traffic.py File sysmocom/suites/4g/mobile_terminated_traffic.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539/1/sysmocom/suites/4g/mobile_terminated_traffic.py at 1 PS1, Line 1: #!/usr/bin/env python3 Name it "mt_idle_ping.py" ? -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:40:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:42:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:42:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 to look at the new patch set (#3). Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... library/L1CTL_PortType: refactor L1CTL channel establishment - Get rid of f_L1CTL_DM_EST_REQ, it's not really needed. - Derive ts_L1CTL_DM_EST_REQ_H0 from ts_L1CTL_DM_EST_REQ. - Turn all its params into (value) templates. - Turn it into a (value) template itself. - Pass GsmArfcn directly to ts_L1CTL_DM_EST_REQ_H0. Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn M library/LAPDm_RAW_PT.ttcn 4 files changed, 29 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/18526/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:42:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:42:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 to look at the new patch set (#3). Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/18528/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:46:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:46:34 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18519 ) Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... Patch Set 2: Code-Review+2 I need to get this change merged ASAP. Hopefully the commit message gives more details now. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:46:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:47:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:47:41 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/18519 ) Change subject: trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order ...................................................................... trxcon: fix l1ctl_proc_est_req_h0(): convert to host byte order L1CTL is using the network byte order, because this protocol is spoken between different devices and architectures. Somehow I forgot about this while adding SETFH command back in 2018. Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Related: OS#4546 --- M src/host/trxcon/l1ctl.c 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index e722624..84e1ec6 100644 --- a/src/host/trxcon/l1ctl.c +++ b/src/host/trxcon/l1ctl.c @@ -595,7 +595,8 @@ static int l1ctl_proc_est_req_h1(struct trx_instance *trx, struct l1ctl_h1 *h) { - int rc; + uint16_t ma[64]; + int i, rc; LOGP(DL1C, LOGL_NOTICE, "L1CTL_DM_EST_REQ indicates a Frequency " "Hopping (hsn=%u, maio=%u, chans=%u) channel\n", @@ -607,8 +608,12 @@ return -EINVAL; } + /* Convert from network to host byte order */ + for (i = 0; i < h->n; i++) + ma[i] = ntohs(h->ma[i]); + /* Forward hopping parameters to TRX */ - rc = trx_if_cmd_setfh(trx, h->hsn, h->maio, h->ma, h->n); + rc = trx_if_cmd_setfh(trx, h->hsn, h->maio, ma, h->n); if (rc) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/18519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ia2f70f0d5e35b6bf05e1fa6fb51a15c1bbe3ca4c Gerrit-Change-Number: 18519 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:51:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:51:45 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() References: Message-ID: fixeria has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/42/18542/1 diff --git a/src/host/trxcon/l1ctl.c b/src/host/trxcon/l1ctl.c index 84e1ec6..8690c26 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 > 64) { + 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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:55:00 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 11:55:00 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() In-Reply-To: References: Message-ID: pespin 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 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18542/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18542/1/src/host/trxcon/l1ctl.c at 609 PS1, Line 609: } else if (h->n > 64) { no need for else if here since you return inside the the previous cond code path. You could use "> ARRAY_SIZE(ma)" -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:55:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:57:37 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:57:37 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() In-Reply-To: References: Message-ID: 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 1: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/18542/1/src/host/trxcon/l1ctl.c File src/host/trxcon/l1ctl.c: https://gerrit.osmocom.org/c/osmocom-bb/+/18542/1/src/host/trxcon/l1ctl.c at 609 PS1, Line 609: } else if (h->n > 64) { With 'else' it (visually) looks more like a set of related checks, IMHO. I believe there is no difference in the generated machine code... > You could use "> ARRAY_SIZE(ma)" ACK. -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 11:57:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 11:58:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 11:58:22 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/18542 to look at the new patch set (#2). 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(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/42/18542/2 -- 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: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 12:49:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 12:49:15 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() In-Reply-To: References: Message-ID: pespin 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+1 Sure it probably generates same machine code, that's why you can drop the else completely, less churn to look at and process by humans :) -- 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: pespin Gerrit-Comment-Date: Thu, 28 May 2020 12:49:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 12:56:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 12:56:28 +0000 Subject: Change in libosmocore[master]: PRBS tool sending PRBS sequence to TRX In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/16342 ) Change subject: PRBS tool sending PRBS sequence to TRX ...................................................................... Abandoned merged to osmo-trx as I2300f909bbfda10a7053320edfd1deaea763759a -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/16342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2300f909bbfda10a7053320edfd1deaea763759a Gerrit-Change-Number: 16342 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 12:56:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 12:56:54 +0000 Subject: Change in libosmocore[master]: prbs-tool: Add error simulation capabilities In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/16343 ) Change subject: prbs-tool: Add error simulation capabilities ...................................................................... Abandoned merged to osmo-trx as I0b52c2af6d973669ac233bf9868400e497496460 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/16343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0b52c2af6d973669ac233bf9868400e497496460 Gerrit-Change-Number: 16343 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:07:31 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:07:31 +0000 Subject: Change in osmo-remsim[master]: user_shell: Dispatch all events via main_fsm.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18478 ) Change subject: user_shell: Dispatch all events via main_fsm.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f589ea1b1610e6d716ed0d9f4078b185bc6401d Gerrit-Change-Number: 18478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 28 May 2020 13:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:07:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:07:33 +0000 Subject: Change in osmo-remsim[master]: user_shell: Dispatch all events via main_fsm.c In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18478 ) Change subject: user_shell: Dispatch all events via main_fsm.c ...................................................................... user_shell: Dispatch all events via main_fsm.c ... avoid calling server_conn_send_rspro() directly from user code. Change-Id: I7f589ea1b1610e6d716ed0d9f4078b185bc6401d --- M src/client/user_shell.c 1 file changed, 20 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/client/user_shell.c b/src/client/user_shell.c index 9c804c6..c8f1b5f 100644 --- a/src/client/user_shell.c +++ b/src/client/user_shell.c @@ -74,21 +74,30 @@ static void handle_stdin_command(struct stdin_state *ss, char *cmd) { struct bankd_client *bc = ss->bc; - RsproPDU_t *pdu; - BankSlot_t bslot; - uint8_t buf[1024]; int rc; - bank_slot2rspro(&bslot, &bc->bankd_slot); - OSMO_ASSERT(ss->rx_msg); if (!strcasecmp(cmd, "RESET")) { /* reset the [remote] card */ - pdu = rspro_gen_ClientSlotStatusInd(bc->srv_conn.clslot, &bslot, - true, false, false, true); - server_conn_send_rspro(&bc->bankd_conn, pdu); + struct frontend_phys_status pstatus = { + .flags = { + .reset_active = true, + .vcc_present = false, + .clk_active = false, + .card_present = true, + }, + .voltage_mv = 0, + .fi = 0, + .di = 0, + .wi = 0, + .waiting_time = 0, + }; + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_STATUS_IND, &pstatus); } else { + struct frontend_tpdu ftpdu; + uint8_t buf[1024]; + /* we assume the user has entered a C-APDU as hex string. parse + send */ rc = osmo_hexparse(cmd, buf, sizeof(buf)); if (rc < 0) { @@ -101,8 +110,9 @@ } /* Send CMD APDU to [remote] card */ - pdu = rspro_gen_TpduModem2Card(bc->srv_conn.clslot, &bslot, buf, rc); - server_conn_send_rspro(&bc->bankd_conn, pdu); + ftpdu.buf = buf; + ftpdu.len = rc; + osmo_fsm_inst_dispatch(bc->main_fi, MF_E_MDM_TPDU, &ftpdu); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: I7f589ea1b1610e6d716ed0d9f4078b185bc6401d Gerrit-Change-Number: 18478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:08:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:08:01 +0000 Subject: Change in osmo-ggsn[master]: example config: use RFC1918 addresses for GGSN pools In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 ) Change subject: example config: use RFC1918 addresses for GGSN pools ...................................................................... example config: use RFC1918 addresses for GGSN pools It's 172.16, not 176.16. Change-Id: I2d83ee747e8987f10c4960d42f3c3f2a723e3f4c --- M doc/examples/osmo-ggsn.cfg 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/doc/examples/osmo-ggsn.cfg b/doc/examples/osmo-ggsn.cfg index e79fdfa..02523e9 100644 --- a/doc/examples/osmo-ggsn.cfg +++ b/doc/examples/osmo-ggsn.cfg @@ -42,10 +42,10 @@ gtpu-mode tun tun-device tun4 type-support v4 - ip prefix dynamic 176.16.222.0/24 + ip prefix dynamic 172.16.222.0/24 ip dns 0 8.8.8.8 ip dns 1 8.8.4.4 - ip ifconfig 176.16.222.0/24 + ip ifconfig 172.16.222.0/24 no shutdown apn inet6 gtpu-mode tun @@ -60,10 +60,10 @@ gtpu-mode tun tun-device tun46 type-support v4v6 - ip prefix dynamic 176.16.46.0/24 + ip prefix dynamic 172.16.46.0/24 ip dns 0 8.8.8.8 ip dns 1 8.8.4.4 - ip ifconfig 176.16.46.0/24 + ip ifconfig 172.16.46.0/24 ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 ipv6 dns 0 2001:4860:4860::8888 ipv6 dns 1 2001:4860:4860::8844 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/18429 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I2d83ee747e8987f10c4960d42f3c3f2a723e3f4c Gerrit-Change-Number: 18429 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:08:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:08:49 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Patch Set 10: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Thu, 28 May 2020 13:08:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:08:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:08:52 +0000 Subject: Change in libosmocore[master]: Implement ITU-T I.460 multiplex / demultiplex In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18247 ) Change subject: Implement ITU-T I.460 multiplex / demultiplex ...................................................................... Implement ITU-T I.460 multiplex / demultiplex This implements a multiplexer and de-multiplexer for the ITU-T I.460 standard. The latter covers the transmission of sub-slots of 32/16/8k inside 64k timeslots. Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda --- M include/Makefile.am A include/osmocom/gsm/i460_mux.h M src/gsm/Makefile.am A src/gsm/i460_mux.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/i460_mux/i460_mux_test.c A tests/i460_mux/i460_mux_test.ok M tests/testsuite.at 9 files changed, 999 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved tnt: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/Makefile.am b/include/Makefile.am index 572c880..456b8ef 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -103,6 +103,7 @@ osmocom/gsm/gsm_utils.h \ osmocom/gsm/gsup.h \ osmocom/gsm/gsup_sms.h \ + osmocom/gsm/i460_mux.h \ osmocom/gsm/ipa.h \ osmocom/gsm/lapd_core.h \ osmocom/gsm/lapdm.h \ diff --git a/include/osmocom/gsm/i460_mux.h b/include/osmocom/gsm/i460_mux.h new file mode 100644 index 0000000..2e33b37 --- /dev/null +++ b/include/osmocom/gsm/i460_mux.h @@ -0,0 +1,104 @@ +/*! \file i460_mux.h + * ITU-T I.460 sub-channel multiplexer + demultiplexer */ +/* + * (C) 2020 by Harald Welte + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#pragma once +#include +#include +#include +#include + +/* I.460 sub-slot rate */ +enum osmo_i460_rate { + OSMO_I460_RATE_NONE, /* disabled */ + OSMO_I460_RATE_64k, + OSMO_I460_RATE_32k, + OSMO_I460_RATE_16k, + OSMO_I460_RATE_8k, +}; + +typedef void (*out_cb_bits_t)(void *user_data, const ubit_t *bits, unsigned int num_bits); +typedef void (*out_cb_bytes_t)(void *user_data, const uint8_t *bytes, unsigned int num_bytes); + +struct osmo_i460_subchan_demux { + /*! bit-buffer for output bits */ + uint8_t *out_bitbuf; + /*! size of out_bitbuf in bytes */ + unsigned int out_bitbuf_size; + /*! offset of next bit to be written in out_bitbuf */ + unsigned int out_idx; + /*! callback to be called once we have received out_bitbuf_size bits */ + out_cb_bits_t out_cb_bits; + out_cb_bytes_t out_cb_bytes; + void *user_data; +}; + +struct osmo_i460_subchan_mux { + /*! list of to-be-transmitted message buffers */ + struct llist_head tx_queue; +}; + +struct osmo_i460_subchan { + enum osmo_i460_rate rate; /* 8/16/32/64k */ + uint8_t bit_offset; /* bit offset inside each byte of the B-channel */ + struct osmo_i460_subchan_demux demux; + struct osmo_i460_subchan_mux mux; +}; + +struct osmo_i460_timeslot { + struct osmo_i460_subchan schan[8]; +}; + +/*! description of a sub-channel; passed by caller */ +struct osmo_i460_schan_desc { + enum osmo_i460_rate rate; + uint8_t bit_offset; + struct { + /* size (in bits) of the internal buffer; determines granularity */ + size_t num_bits; + /*! call-back function called whenever we received num_bits */ + out_cb_bits_t out_cb_bits; + /*! out_cb_bytes call-back function called whenever we received num_bits. + * The user is usually expected to provide either out_cb_bits or out_cb_bytes. If only + * out_cb_bits is provided, output data will always be provided as unpacked bits; if only + * out_cb_bytes is provided, output data will always be provided as packet bits (bytes). If + * both are provided, it is up to the I.460 multiplex to decide if it calls either of the two, + * depending on what can be provided without extra conversion. */ + out_cb_bytes_t out_cb_bytes; + /* opaque user data pointer to pass to out_cb */ + void *user_data; + } demux; +}; + +void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len); + +void osmo_i460_mux_enqueue(struct osmo_i460_subchan *schan, struct msgb *msg); +int osmo_i460_mux_out(struct osmo_i460_timeslot *ts, uint8_t *out, size_t out_len); + +void osmo_i460_ts_init(struct osmo_i460_timeslot *ts); + +struct osmo_i460_subchan * +osmo_i460_subchan_add(void *ctx, struct osmo_i460_timeslot *ts, const struct osmo_i460_schan_desc *chd); + +void osmo_i460_subchan_del(struct osmo_i460_subchan *schan); + +/*! @} */ diff --git a/src/gsm/Makefile.am b/src/gsm/Makefile.am index 6935eab..eeb1164 100644 --- a/src/gsm/Makefile.am +++ b/src/gsm/Makefile.am @@ -32,7 +32,7 @@ milenage/milenage.c gan.c ipa.c gsm0341.c apn.c \ gsup.c gsup_sms.c gprs_gea.c gsm0503_conv.c oap.c gsm0808_utils.c \ gsm23003.c mncc.c bts_features.c oap_client.c \ - gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c + gsm29118.c gsm48_rest_octets.c cbsp.c gsm48049.c i460_mux.c libgsmint_la_LDFLAGS = -no-undefined libgsmint_la_LIBADD = $(top_builddir)/src/libosmocore.la diff --git a/src/gsm/i460_mux.c b/src/gsm/i460_mux.c new file mode 100644 index 0000000..3fb63ec --- /dev/null +++ b/src/gsm/i460_mux.c @@ -0,0 +1,363 @@ +/*! \file i460_mux.c + * ITU-T I.460 sub-channel multiplexer + demultiplexer */ +/* + * (C) 2020 by Harald Welte + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include + +#include +#include +#include +#include + +/* count the number of sub-channels in this I460 slot */ +static int osmo_i460_subchan_count(struct osmo_i460_timeslot *ts) +{ + int i, num_used = 0; + + for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { + if (ts->schan[i].rate != OSMO_I460_RATE_NONE) + num_used++; + } + + return num_used; +} + +/* does this channel have no sub-streams (single 64k subchannel)? */ +static bool osmo_i460_has_single_64k_schan(struct osmo_i460_timeslot *ts) +{ + if (osmo_i460_subchan_count(ts) != 1) + return false; + + if (ts->schan[0].rate != OSMO_I460_RATE_64k) + return false; + + return true; +} + +/*********************************************************************** + * Demultiplexer + ***********************************************************************/ + +/* append a single bit to a sub-channel */ +static void demux_subchan_append_bit(struct osmo_i460_subchan *schan, uint8_t bit) +{ + struct osmo_i460_subchan_demux *demux = &schan->demux; + + OSMO_ASSERT(demux->out_bitbuf); + OSMO_ASSERT(demux->out_idx < demux->out_bitbuf_size); + + demux->out_bitbuf[demux->out_idx++] = bit ? 1 : 0; + + if (demux->out_idx >= demux->out_bitbuf_size) { + if (demux->out_cb_bits) + demux->out_cb_bits(demux->user_data, demux->out_bitbuf, demux->out_idx); + else { + /* pack bits into bytes */ + OSMO_ASSERT((demux->out_idx % 8) == 0); + unsigned int num_bytes = demux->out_idx / 8; + uint8_t bytes[num_bytes]; + osmo_ubit2pbit(bytes, demux->out_bitbuf, demux->out_idx); + demux->out_cb_bytes(demux->user_data, bytes, num_bytes); + } + demux->out_idx = 0; + } +} + +/* extract those bits relevant to this schan of each byte in 'data' */ +static void demux_subchan_extract_bits(struct osmo_i460_subchan *schan, const uint8_t *data, size_t data_len) +{ + int i; + + for (i = 0; i < data_len; i++) { + uint8_t inbyte = data[i]; + uint8_t inbits = inbyte >> schan->bit_offset; + + /* extract the bits relevant to the given schan */ + switch (schan->rate) { + case OSMO_I460_RATE_8k: + demux_subchan_append_bit(schan, inbits & 0x01); + break; + case OSMO_I460_RATE_16k: + demux_subchan_append_bit(schan, inbits & 0x01); + demux_subchan_append_bit(schan, inbits & 0x02); + break; + case OSMO_I460_RATE_32k: + demux_subchan_append_bit(schan, inbits & 0x01); + demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x04); + demux_subchan_append_bit(schan, inbits & 0x08); + break; + case OSMO_I460_RATE_64k: + demux_subchan_append_bit(schan, inbits & 0x01); + demux_subchan_append_bit(schan, inbits & 0x02); + demux_subchan_append_bit(schan, inbits & 0x04); + demux_subchan_append_bit(schan, inbits & 0x08); + demux_subchan_append_bit(schan, inbits & 0x10); + demux_subchan_append_bit(schan, inbits & 0x20); + demux_subchan_append_bit(schan, inbits & 0x40); + demux_subchan_append_bit(schan, inbits & 0x80); + break; + default: + OSMO_ASSERT(0); + } + } +} + +/*! Data from E1 timeslot into de-multiplexer + * \param[in] ts timeslot state + * \param[in] data input data bytes as received from E1/T1 + * \param[in] data_len length of data in bytes */ +void osmo_i460_demux_in(struct osmo_i460_timeslot *ts, const uint8_t *data, size_t data_len) +{ + struct osmo_i460_subchan *schan; + struct osmo_i460_subchan_demux *demux; + int i; + + /* fast path if entire 64k slot is used */ + if (osmo_i460_has_single_64k_schan(ts)) { + schan = &ts->schan[0]; + demux = &schan->demux; + if (demux->out_cb_bytes) + demux->out_cb_bytes(demux->user_data, data, data_len); + else { + ubit_t bits[data_len*8]; + osmo_pbit2ubit(bits, data, data_len*8); + demux->out_cb_bits(demux->user_data, bits, data_len*8); + } + return; + } + + /* Slow path iterating over all lchans */ + for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { + schan = &ts->schan[i]; + if (schan->rate == OSMO_I460_RATE_NONE) + continue; + demux_subchan_extract_bits(schan, data, data_len); + } +} + + +/*********************************************************************** + * Multiplexer + ***********************************************************************/ + +/*! enqueue a to-be-transmitted message buffer containing unpacked bits */ +void osmo_i460_mux_enqueue(struct osmo_i460_subchan *schan, struct msgb *msg) +{ + OSMO_ASSERT(msgb_length(msg) > 0); + msgb_enqueue(&schan->mux.tx_queue, msg); +} + +/* mux: pull the next bit out of the given sub-channel */ +static ubit_t mux_schan_provide_bit(struct osmo_i460_subchan *schan) +{ + struct osmo_i460_subchan_mux *mux = &schan->mux; + struct msgb *msg; + ubit_t bit; + + /* if we don't have anything to transmit, return '1' bits */ + if (llist_empty(&mux->tx_queue)) + return 0x01; + + msg = llist_entry(mux->tx_queue.next, struct msgb, list); + bit = msgb_pull_u8(msg); + + /* free msgb if we have pulled the last bit */ + if (msgb_length(msg) <= 0) { + llist_del(&msg->list); + talloc_free(msg); + } + + return bit; +} + +/*! provide one byte with the subchan-specific bits of given sub-channel. + * \param[in] schan sub-channel that is to provide bits + * \parma[out] mask bitmask of those bits filled in + * \returns bits of given sub-channel */ +static uint8_t mux_subchan_provide_bits(struct osmo_i460_subchan *schan, uint8_t *mask) +{ + uint8_t outbits = 0; + uint8_t outmask; + + switch (schan->rate) { + case OSMO_I460_RATE_8k: + outbits = mux_schan_provide_bit(schan); + outmask = 0x01; + break; + case OSMO_I460_RATE_16k: + outbits |= mux_schan_provide_bit(schan) << 1; + outbits |= mux_schan_provide_bit(schan) << 0; + outmask = 0x03; + break; + case OSMO_I460_RATE_32k: + outbits |= mux_schan_provide_bit(schan) << 3; + outbits |= mux_schan_provide_bit(schan) << 2; + outbits |= mux_schan_provide_bit(schan) << 1; + outbits |= mux_schan_provide_bit(schan) << 0; + outmask = 0x0F; + break; + case OSMO_I460_RATE_64k: + outbits |= mux_schan_provide_bit(schan) << 7; + outbits |= mux_schan_provide_bit(schan) << 6; + outbits |= mux_schan_provide_bit(schan) << 5; + outbits |= mux_schan_provide_bit(schan) << 4; + outbits |= mux_schan_provide_bit(schan) << 3; + outbits |= mux_schan_provide_bit(schan) << 2; + outbits |= mux_schan_provide_bit(schan) << 1; + outbits |= mux_schan_provide_bit(schan) << 0; + outmask = 0xFF; + break; + default: + OSMO_ASSERT(0); + } + *mask = outmask << schan->bit_offset; + return outbits << schan->bit_offset; +} + +/* provide one byte of multiplexed I.460 bits */ +static uint8_t mux_timeslot_provide_bits(struct osmo_i460_timeslot *ts) +{ + int i, count = 0; + uint8_t ret = 0xff; /* unused bits must be '1' as per I.460 */ + + for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { + struct osmo_i460_subchan *schan = &ts->schan[i]; + uint8_t bits, mask; + + if (schan->rate == OSMO_I460_RATE_NONE) + continue; + count++; + bits = mux_subchan_provide_bits(schan, &mask); + ret &= ~mask; + ret |= bits; + } + + return ret; +} + + +/*! Data from E1 timeslot into de-multiplexer + * \param[in] ts timeslot state + * \param[out] out caller-provided buffer where to store generated output bytes + * \param[in] out_len number of bytes to be stored at out + */ +int osmo_i460_mux_out(struct osmo_i460_timeslot *ts, uint8_t *out, size_t out_len) +{ + int i; + + /* fast path if entire 64k slot is used */ + //if (osmo_i460_has_single_64k_schan(ts)) { } + + for (i = 0; i < out_len; i++) + out[i] = mux_timeslot_provide_bits(ts); + + return out_len; +} + + +/*********************************************************************** + * Initialization / Control + ***********************************************************************/ + + +static int alloc_bitbuf(void *ctx, struct osmo_i460_subchan *schan, size_t num_bits) +{ + struct osmo_i460_subchan_demux *demux = &schan->demux; + + talloc_free(demux->out_bitbuf); + demux->out_bitbuf = talloc_zero_size(ctx, num_bits); + if (!demux->out_bitbuf) + return -ENOMEM; + demux->out_bitbuf_size = num_bits; + + return 0; +} + + +static int find_unused_subchan_idx(const struct osmo_i460_timeslot *ts) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { + const struct osmo_i460_subchan *schan = &ts->schan[i]; + if (schan->rate == OSMO_I460_RATE_NONE) + return i; + } + return -1; +} + +/*! initialize an I.460 timeslot */ +void osmo_i460_ts_init(struct osmo_i460_timeslot *ts) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(ts->schan); i++) { + struct osmo_i460_subchan *schan = &ts->schan[i]; + + memset(schan, 0, sizeof(*schan)); + schan->rate = OSMO_I460_RATE_NONE; + INIT_LLIST_HEAD(&schan->mux.tx_queue); + } +} + +/*! add a new sub-channel to the given timeslot + * \param[in] ctx talloc context from where to allocate the internal buffer + * \param[in] ts timeslot to which to add a sub-channel + * \param[in] chd description of the sub-channel to be added + * \return pointer to sub-channel on success, NULL on error */ +struct osmo_i460_subchan * +osmo_i460_subchan_add(void *ctx, struct osmo_i460_timeslot *ts, const struct osmo_i460_schan_desc *chd) +{ + struct osmo_i460_subchan *schan; + int idx, rc; + + idx = find_unused_subchan_idx(ts); + if (idx < 0) + return NULL; + + schan = &ts->schan[idx]; + + schan->rate = chd->rate; + schan->bit_offset = chd->bit_offset; + + schan->demux.out_cb_bits = chd->demux.out_cb_bits; + schan->demux.out_cb_bytes = chd->demux.out_cb_bytes; + schan->demux.user_data = chd->demux.user_data; + rc = alloc_bitbuf(ctx, schan, chd->demux.num_bits); + if (rc < 0) { + memset(schan, 0, sizeof(*schan)); + return NULL; + } + + /* return number of schan in use */ + return schan; +} + +/* remove a su-channel from the multiplex */ +void osmo_i460_subchan_del(struct osmo_i460_subchan *schan) +{ + talloc_free(schan->demux.out_bitbuf); + memset(schan, 0, sizeof(*schan)); +} + +/*! @} */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 70b3916..2000e6c 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -667,5 +667,12 @@ osmo_cbsp_recv_buffered; osmo_cbsp_errstr; +osmo_i460_demux_in; +osmo_i460_mux_enqueue; +osmo_i460_mux_out; +osmo_i460_subchan_add; +osmo_i460_subchan_del; +osmo_i460_ts_init; + local: *; }; diff --git a/tests/Makefile.am b/tests/Makefile.am index 0d0327a..5e810e6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -35,6 +35,7 @@ context/context_test \ gsm0502/gsm0502_test \ dtx/dtx_gsm0503_test \ + i460_mux/i460_mux_test \ $(NULL) if ENABLE_MSGFILE @@ -269,6 +270,9 @@ exec_exec_test_SOURCES = exec/exec_test.c exec_exec_test_LDADD = $(LDADD) +i460_mux_i460_mux_test_SOURCES = i460_mux/i460_mux_test.c +i460_mux_i460_mux_test_LDADD = $(LDADD) $(top_builddir)/src/gsm/libosmogsm.la + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -346,6 +350,7 @@ gsm0502/gsm0502_test.ok \ dtx/dtx_gsm0503_test.ok \ exec/exec_test.ok exec/exec_test.err \ + i460_mux/i460_mux_test.ok \ $(NULL) DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c diff --git a/tests/i460_mux/i460_mux_test.c b/tests/i460_mux/i460_mux_test.c new file mode 100644 index 0000000..53144fd --- /dev/null +++ b/tests/i460_mux/i460_mux_test.c @@ -0,0 +1,397 @@ + +#include + +#include + +static void bits_cb(void *user_data, const ubit_t *bits, unsigned int num_bits) +{ + char *str = user_data; + printf("demux_bits_cb '%s': %s\n", str, osmo_ubit_dump(bits, num_bits)); +} + + +const struct osmo_i460_schan_desc scd64 = { + .rate = OSMO_I460_RATE_64k, + .bit_offset = 0, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "64k", + }, +}; + +const struct osmo_i460_schan_desc scd32_0 = { + .rate = OSMO_I460_RATE_32k, + .bit_offset = 0, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "32k_0", + }, +}; +const struct osmo_i460_schan_desc scd32_4 = { + .rate = OSMO_I460_RATE_32k, + .bit_offset = 4, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "32k_4", + }, +}; + +const struct osmo_i460_schan_desc scd16_0 = { + .rate = OSMO_I460_RATE_16k, + .bit_offset = 0, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "16k_0", + }, +}; +const struct osmo_i460_schan_desc scd16_2 = { + .rate = OSMO_I460_RATE_16k, + .bit_offset = 2, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "16k_2", + }, +}; +const struct osmo_i460_schan_desc scd16_4 = { + .rate = OSMO_I460_RATE_16k, + .bit_offset = 4, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "16k_4", + }, +}; +const struct osmo_i460_schan_desc scd16_6 = { + .rate = OSMO_I460_RATE_16k, + .bit_offset = 6, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "16k_6", + }, +}; + +const struct osmo_i460_schan_desc scd8_0 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 0, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_0", + }, +}; +const struct osmo_i460_schan_desc scd8_1 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 1, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_1", + }, +}; +const struct osmo_i460_schan_desc scd8_2 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 2, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_2", + }, +}; +const struct osmo_i460_schan_desc scd8_3 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 3, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_3", + }, +}; +const struct osmo_i460_schan_desc scd8_4 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 4, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_4", + }, +}; +const struct osmo_i460_schan_desc scd8_5 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 5, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_5", + }, +}; +const struct osmo_i460_schan_desc scd8_6 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 6, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_6", + }, +}; +const struct osmo_i460_schan_desc scd8_7 = { + .rate = OSMO_I460_RATE_8k, + .bit_offset = 7, + .demux = { + .num_bits = 40, + .out_cb_bits = bits_cb, + .out_cb_bytes = NULL, + .user_data = "8k_7", + }, +}; + +static void test_no_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + + /* feed in some data; expect nothing to happen */ + const uint8_t nothing[128] = { 0, }; + osmo_i460_demux_in(ts, nothing, sizeof(nothing)); + + /* pull bytes out of mux (should be all 0xff) */ + uint8_t buf[128]; + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("out: %s\n", osmo_hexdump(buf, sizeof(buf))); +} + +static struct msgb *gen_alternating_bitmsg(unsigned int num_bits) +{ + struct msgb *msg = msgb_alloc(num_bits, "mux-in"); + int i; + for (i = 0; i < num_bits; i++) + msgb_put_u8(msg, i & 1); + return msg; +} + +static void test_64k_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + osmo_i460_subchan_add(NULL, ts, &scd64); + + /* demux */ + uint8_t sequence[128]; + int i; + for (i = 0; i < sizeof(sequence); i++) + sequence[i] = i; + osmo_i460_demux_in(ts, sequence, sizeof(sequence)); + + /* mux */ + struct msgb *msg = gen_alternating_bitmsg(128); + osmo_i460_mux_enqueue(&ts->schan[0], msg); + + uint8_t buf[16]; + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("mux_out: %s\n", osmo_hexdump(buf, sizeof(buf))); + + osmo_i460_subchan_del(&ts->schan[0]); +} + +static void test_32k_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + osmo_i460_subchan_add(NULL, ts, &scd32_0); + osmo_i460_subchan_add(NULL, ts, &scd32_4); + + /* demux */ + uint8_t sequence[10]; + int i; + for (i = 0; i < sizeof(sequence); i++) + sequence[i] = 0; + sequence[0] = 0x0f; + sequence[1] = 0xf0; + sequence[2] = 0xff; + osmo_i460_demux_in(ts, sequence, sizeof(sequence)); + + /* mux */ + + /* test with only a single channel active */ + for (i = 0; i < 2; i++) { + struct msgb *msg = gen_alternating_bitmsg(128); + osmo_i460_mux_enqueue(&ts->schan[i], msg); + printf("%s-single-%u\n", __func__, i); + + uint8_t buf[16]; + int j; + for (j = 0; j < 3; j++) { + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("mux_out: %s\n", osmo_hexdump(buf, sizeof(buf))); + } + } + + for (i = 0; i < 4; i++) + osmo_i460_subchan_del(&ts->schan[i]); +} + + + +static void test_16k_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + osmo_i460_subchan_add(NULL, ts, &scd16_0); + osmo_i460_subchan_add(NULL, ts, &scd16_2); + osmo_i460_subchan_add(NULL, ts, &scd16_4); + osmo_i460_subchan_add(NULL, ts, &scd16_6); + + /* demux */ + uint8_t sequence[20]; + int i; + for (i = 0; i < sizeof(sequence); i++) + sequence[i] = 0; + sequence[0] = 0x03; + sequence[1] = 0x0c; + sequence[2] = 0x30; + sequence[3] = 0xc0; + sequence[4] = 0xff; + osmo_i460_demux_in(ts, sequence, sizeof(sequence)); + + /* mux */ + + /* test with only a single channel active */ + for (i = 0; i < 4; i++) { + struct msgb *msg = gen_alternating_bitmsg(128); + osmo_i460_mux_enqueue(&ts->schan[i], msg); + printf("%s-single-%u\n", __func__, i); + + uint8_t buf[16]; + int j; + for (j = 0; j < 5; j++) { + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("mux_out: %s\n", osmo_hexdump(buf, sizeof(buf))); + } + } + + for (i = 0; i < 4; i++) + osmo_i460_subchan_del(&ts->schan[i]); +} + + +static void test_8k_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + osmo_i460_subchan_add(NULL, ts, &scd8_0); + osmo_i460_subchan_add(NULL, ts, &scd8_1); + osmo_i460_subchan_add(NULL, ts, &scd8_2); + osmo_i460_subchan_add(NULL, ts, &scd8_3); + osmo_i460_subchan_add(NULL, ts, &scd8_4); + osmo_i460_subchan_add(NULL, ts, &scd8_5); + osmo_i460_subchan_add(NULL, ts, &scd8_6); + osmo_i460_subchan_add(NULL, ts, &scd8_7); + + /* demux */ + uint8_t sequence[40]; + int i; + for (i = 0; i < sizeof(sequence); i++) + sequence[i] = 0; + i = 0; + sequence[i++] = 0x01; + sequence[i++] = 0x02; + sequence[i++] = 0x04; + sequence[i++] = 0x08; + sequence[i++] = 0x0f; + sequence[i++] = 0x10; + sequence[i++] = 0x20; + sequence[i++] = 0x40; + sequence[i++] = 0x80; + sequence[i++] = 0xf0; + sequence[i++] = 0xff; + osmo_i460_demux_in(ts, sequence, sizeof(sequence)); + + /* mux */ + + /* test with only a single channel active */ + for (i = 0; i < 8; i++) { + struct msgb *msg = gen_alternating_bitmsg(64); + osmo_i460_mux_enqueue(&ts->schan[i], msg); + printf("%s-single-%u\n", __func__, i); + + uint8_t buf[16]; + int j; + for (j = 0; j < 5; j++) { + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("mux_out: %s\n", osmo_hexdump(buf, sizeof(buf))); + } + } + + for (i = 0; i < 8; i++) + osmo_i460_subchan_del(&ts->schan[i]); +} + +/* activate only one sub-channel; expect unused bits to be '1' */ +static void test_unused_subchan(void) +{ + struct osmo_i460_timeslot _ts, *ts = &_ts; + + /* Initialization */ + printf("\n==> %s\n", __func__); + osmo_i460_ts_init(ts); + osmo_i460_subchan_add(NULL, ts, &scd16_0); + + /* mux */ + struct msgb *msg = gen_alternating_bitmsg(128); + memset(msgb_data(msg), 0, msgb_length(msg)); + osmo_i460_mux_enqueue(&ts->schan[0], msg); + printf("%s-single\n", __func__); + + uint8_t buf[16]; + int j; + for (j = 0; j < 5; j++) { + osmo_i460_mux_out(ts, buf, sizeof(buf)); + printf("mux_out: %s\n", osmo_hexdump(buf, sizeof(buf))); + } + + osmo_i460_subchan_del(&ts->schan[0]); +} + +int main(int argc, char **argv) +{ + test_no_subchan(); + test_64k_subchan(); + test_32k_subchan(); + test_16k_subchan(); + test_8k_subchan(); + test_unused_subchan(); +} diff --git a/tests/i460_mux/i460_mux_test.ok b/tests/i460_mux/i460_mux_test.ok new file mode 100644 index 0000000..b94fb7b --- /dev/null +++ b/tests/i460_mux/i460_mux_test.ok @@ -0,0 +1,115 @@ + +==> test_no_subchan +out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff + +==> test_64k_subchan +demux_bits_cb '64k': 0000000000000001000000100000001100000100000001010000011000000111000010000000100100001010000010110000110000001101000011100000111100010000000100010001001000010011000101000001010100010110000101110001100000011001000110100001101100011100000111010001111000011111001000000010000100100010001000110010010000100101001001100010011100101000001010010010101000101011001011000010110100101110001011110011000000110001001100100011001100110100001101010011011000110111001110000011100100111010001110110011110000111101001111100011111101000000010000010100001001000011010001000100010101000110010001110100100001001001010010100100101101001100010011010100111001001111010100000101000101010010010100110101010001010101010101100101011101011000010110010101101001011011010111000101110101011110010111110110000001100001011000100110001101100100011001010110011001100111011010000110100101101010011010110110110001101101011011100110111101110000011100010111001001110011011101000111010101110110011101110111100001111001011110100111101101111100011111010111111001111111 +mux_out: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 + +==> test_32k_subchan +demux_bits_cb '32k_0': 1111000011110000000000000000000000000000 +demux_bits_cb '32k_4': 0000111111110000000000000000000000000000 +test_32k_subchan-single-0 +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_32k_subchan-single-1 +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f 5f +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff + +==> test_16k_subchan +demux_bits_cb '16k_0': 1100000011000000000000000000000000000000 +demux_bits_cb '16k_2': 0011000011000000000000000000000000000000 +demux_bits_cb '16k_4': 0000110011000000000000000000000000000000 +demux_bits_cb '16k_6': 0000001111000000000000000000000000000000 +test_16k_subchan-single-0 +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_16k_subchan-single-1 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_16k_subchan-single-2 +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: df df df df df df df df df df df df df df df df +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_16k_subchan-single-3 +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff + +==> test_8k_subchan +demux_bits_cb '8k_0': 1000100000100000000000000000000000000000 +demux_bits_cb '8k_1': 0100100000100000000000000000000000000000 +demux_bits_cb '8k_2': 0010100000100000000000000000000000000000 +demux_bits_cb '8k_3': 0001100000100000000000000000000000000000 +demux_bits_cb '8k_4': 0000010001100000000000000000000000000000 +demux_bits_cb '8k_5': 0000001001100000000000000000000000000000 +demux_bits_cb '8k_6': 0000000101100000000000000000000000000000 +demux_bits_cb '8k_7': 0000000011100000000000000000000000000000 +test_8k_subchan-single-0 +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-1 +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: fd ff fd ff fd ff fd ff fd ff fd ff fd ff fd ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-2 +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: fb ff fb ff fb ff fb ff fb ff fb ff fb ff fb ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-3 +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff f7 ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-4 +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ef ff ef ff ef ff ef ff ef ff ef ff ef ff ef ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-5 +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: df ff df ff df ff df ff df ff df ff df ff df ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-6 +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: bf ff bf ff bf ff bf ff bf ff bf ff bf ff bf ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff +test_8k_subchan-single-7 +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff 7f ff +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff + +==> test_unused_subchan +test_unused_subchan-single +mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc +mux_out: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff diff --git a/tests/testsuite.at b/tests/testsuite.at index bab5730..4ff6671 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -375,3 +375,9 @@ cat $abs_srcdir/exec/exec_test.err > experr AT_CHECK([$abs_top_builddir/tests/exec/exec_test], [0], [expout], [experr]) AT_CLEANUP + +AT_SETUP([i460_mux]) +AT_KEYWORDS([i460_mux]) +cat $abs_srcdir/i460_mux/i460_mux_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/i460_mux/i460_mux_test], [0], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id522f06e73b77332b437b7a27e4966872da70eda Gerrit-Change-Number: 18247 Gerrit-PatchSet: 11 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:12:20 +0000 Subject: Change in libosmo-abis[master]: WIP: trau_frame: New API In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 to look at the new patch set (#4). Change subject: WIP: trau_frame: New API ...................................................................... WIP: trau_frame: New API The old TRAU frame code in src/trau_frame.c (which is for some strange reason part of libosmo-abis, and not libosmo-trau!) was introduced more than a decade ago for the needs of bs11_abis AKA OpenBSC aka OsmoNITB. It is too constrained to implement TRAU frame parsing in a generic way, including: * no way to add support for 8k sub-slots * no way to handle CRC bits or UFI (i.e. no AMR) * no real API design, it was just ripped out from OsmoNITB and moved into a library (even the wrong one) For those reasons, let's introduce a new API for TRAU frame encoding/decoding - one that supports all the relevant use cases. This is marked WIP until the part handling T-bits is properly implemented. Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c --- M include/Makefile.am A include/osmocom/trau/trau_frame.h M src/Makefile.am A src/trau/trau_frame.c 4 files changed, 1,446 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/49/18249/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: I5cf42e6c445d9224be18503cebc7584b3beba08c Gerrit-Change-Number: 18249 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:12:20 +0000 Subject: Change in libosmo-abis[master]: WIP: Add new TRAU frame sync code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 to look at the new patch set (#4). Change subject: WIP: Add new TRAU frame sync code ...................................................................... WIP: Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 704 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/4 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:12:52 +0000 Subject: Change in osmo-gsm-tester[master]: Support identifying different tgz files based on run_label attribute In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 ) Change subject: Support identifying different tgz files based on run_label attribute ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 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: Iaf2e97da3aff693395f44f0e93b184d4846cf6da Gerrit-Change-Number: 18469 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:12:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:12:54 +0000 Subject: Change in osmo-gsm-tester[master]: epc_{amarisoft, srs}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 ) Change subject: epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 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: I90b8dab8bdc9980a7d2486d890cff183c07f1809 Gerrit-Change-Number: 18470 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:12:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:56 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Reuse run_node to hold run info In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 ) Change subject: enb: Reuse run_node to hold run info ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 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: If396940f154813d42ff3d3364c44b8979179127f Gerrit-Change-Number: 18482 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:12:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:57 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:12:57 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Reuse run_node to hold run info In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 ) Change subject: ms_{srs,amarisoft}: Reuse run_node to hold run info ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 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: Ifdea48fed0bfc152131c53b87c34b4514c632917 Gerrit-Change-Number: 18483 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:12:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:12:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:12:59 +0000 Subject: Change in osmo-gsm-tester[master]: enb_{srs, amarisoft}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 ) Change subject: enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 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: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b Gerrit-Change-Number: 18484 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:12:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:01 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 ) Change subject: ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 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: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208 Gerrit-Change-Number: 18485 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 13:13:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:05 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:05 +0000 Subject: Change in osmo-gsm-tester[master]: Support identifying different tgz files based on run_label attribute In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 ) Change subject: Support identifying different tgz files based on run_label attribute ...................................................................... Support identifying different tgz files based on run_label attribute tgz files in trials can be categorized in subdirectories, allowing to select different bianry files at runtime based on the target run node which is going to run them. This way for instance one can have a binary linked against libs for eg. CentOS under run_label "centos/" or an ARM target under "arm", and then use "run_label: arm" on the resource using it. Change-Id: Iaf2e97da3aff693395f44f0e93b184d4846cf6da --- M .gitignore M doc/manuals/chapters/trial.adoc M selftest/Makefile A selftest/trial_test/run_label/checksums.md5 A selftest/trial_test/run_label/foobar/sample.tar.gz A selftest/trial_test/run_label/sample.tar.gz M selftest/trial_test/trial_test.ok M selftest/trial_test/trial_test.ok.ign M selftest/trial_test/trial_test.py M src/osmo_gsm_tester/core/trial.py M src/osmo_gsm_tester/obj/run_node.py 11 files changed, 76 insertions(+), 21 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index ad9b423..ff09035 100644 --- a/.gitignore +++ b/.gitignore @@ -4,13 +4,16 @@ .version _version.py tags -set_pythonpath -test_work state *.pyc sysmocom/resources.conf sysmocom/ttcn3/resources.conf +# selftest: +set_pythonpath +test_work +selftest/trial_test/run_label/inst/ + # manuals doc/manuals/*.html doc/manuals/*.svg diff --git a/doc/manuals/chapters/trial.adoc b/doc/manuals/chapters/trial.adoc index 4b52608..3ee6ae6 100644 --- a/doc/manuals/chapters/trial.adoc +++ b/doc/manuals/chapters/trial.adoc @@ -48,13 +48,22 @@ {app-name} tests create objects to manage the allocated resources during test lifetime. These objects, in turn, usually run and manage processes started from -the trail's sysroot binaries. {app-name} provide APIs for those object classes +the trial's sysroot binaries. {app-name} provide APIs for those object classes to discover, unpack and run those binaries. An object class simply needs to request the name of the sysroot it wants to use (for instance 'osmo-bsc'), and {app-name} will take care of preparing everything and providing the sysroot path to it. It's a duty of the resource class to copy over the sysroot to the destination if the intention is to run the binary remotely on another host. +Moreover, {app-name} supports working with several different versions of a given +sysroot by means of storing them in different subdirectories, which are later +referenced by an object's class 'run_label' attribute named after that +subdirectory. This way, for instance, a sysroot can be provided containing +binaries linked against libraries present on a CentOS distribution, and other +sysroots with the same name can also be provided which are linked against +different versions of CentOS, or a different distro like Debian, or even a +different arch like ARM. + When seeking a sysroot of a given name '' in the 'inst/' directory, {app-name} will look for 'tgz' files starting with the pattern '.' (up to the first dot). That means, suffixes are available for {app-name} user to @@ -63,3 +72,6 @@ selected by {app-name} for 'osmo-bsc': 'osmo-bsc.tgz', 'osmo-bsc.build-23.tgz', 'osmo-bsc.5f3e0dd2.tgz', 'osmo-bsc.armv7.build-2.tgz'. If either none or more than one valid file is found matching the pattern, an exception will be thrown. +If a 'run_label=foobar' is provided, {app-name} will look up for the 'tgz' in +exactly the same way, but this time in 'inst/foobar/' directory instead of +'inst/'. diff --git a/selftest/Makefile b/selftest/Makefile index fb8618c..53d882c 100644 --- a/selftest/Makefile +++ b/selftest/Makefile @@ -12,6 +12,7 @@ clean: @find . -name "*__pycache__" -type d -print0 | xargs -0 rm -rvf @find . -name "*test_work" -type d -print0 | xargs -0 rm -rvf + @rm -rfv ./trial_test/run_label/inst @rm -fv ./set_pythonpath # vim: noexpandtab tabstop=8 shiftwidth=8 diff --git a/selftest/trial_test/run_label/checksums.md5 b/selftest/trial_test/run_label/checksums.md5 new file mode 100644 index 0000000..a162c56 --- /dev/null +++ b/selftest/trial_test/run_label/checksums.md5 @@ -0,0 +1,2 @@ +b13c9c94d41c45caaa08ad9ad3ee0f11 sample.tar.gz +430ec62329747b5f15fe6e2cb141b909 foobar/sample.tar.gz diff --git a/selftest/trial_test/run_label/foobar/sample.tar.gz b/selftest/trial_test/run_label/foobar/sample.tar.gz new file mode 100644 index 0000000..2c1b029 --- /dev/null +++ b/selftest/trial_test/run_label/foobar/sample.tar.gz Binary files differ diff --git a/selftest/trial_test/run_label/sample.tar.gz b/selftest/trial_test/run_label/sample.tar.gz new file mode 100644 index 0000000..3932964 --- /dev/null +++ b/selftest/trial_test/run_label/sample.tar.gz Binary files differ diff --git a/selftest/trial_test/trial_test.ok b/selftest/trial_test/trial_test.ok index 8c6a567..75bd1a7 100644 --- a/selftest/trial_test/trial_test.ok +++ b/selftest/trial_test/trial_test.ok @@ -14,3 +14,12 @@ ok, got RuntimeError: Checksum mismatch for '[PATH]/trial_test/invalid_checksum/file2' vs. '[PATH]/trial_test/invalid_checksum/checksums.md5' line 2 - detect missing file ok, got RuntimeError: File listed in checksums file but missing in trials dir: '[PATH]/trial_test/missing_file/file2' vs. '[PATH]/trial_test/missing_file/checksums.md5' line 2 +- Verify trials based on run_label +tst run_label: DBG: has bin_tar {bin_name='sample', matches=['sample.tar.gz'], run_label='foobar'} +inst: [PATH]/trial_test/run_label/inst/foobar/sample +content file2: subhello + +tst run_label: DBG: has bin_tar {bin_name='sample', matches=['sample.tar.gz'], run_label=''} +inst: [PATH]/trial_test/run_label/inst/sample +content file1: hello + diff --git a/selftest/trial_test/trial_test.ok.ign b/selftest/trial_test/trial_test.ok.ign index 1a969de..46c3943 100644 --- a/selftest/trial_test/trial_test.ok.ign +++ b/selftest/trial_test/trial_test.ok.ign @@ -1,3 +1,3 @@ /tmp/[^/]* [TMP] ....-..-.._..-..-.. [TIMESTAMP] -'[^']*/trial_test '[PATH]/trial_test +/[^ ]*/trial_test/ [PATH]/trial_test/ diff --git a/selftest/trial_test/trial_test.py b/selftest/trial_test/trial_test.py index a99428a..cf91a85 100755 --- a/selftest/trial_test/trial_test.py +++ b/selftest/trial_test/trial_test.py @@ -1,8 +1,10 @@ #!/usr/bin/env python3 -import time import _prep + +import time import os + from osmo_gsm_tester.core import util from osmo_gsm_tester.core.trial import Trial @@ -46,4 +48,17 @@ except RuntimeError as e: print('ok, got RuntimeError: %s' % str(e)) +print('- Verify trials based on run_label') +d = util.Dir('trial_test') +t = Trial(d.child('run_label')) +t.verify() +inst = util.Dir(t.get_inst('sample', 'foobar')) +print('inst: ' + str(inst)) +with open(inst.child('file2'), 'r') as f: + print('content file2: %s' % f.read()) +inst = util.Dir( t.get_inst('sample')) +print('inst: ' + str(inst)) +with open(inst.child('file1'), 'r') as f: + print('content file1: %s' % f.read()) + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/core/trial.py b/src/osmo_gsm_tester/core/trial.py index 83b0f11..eaf18c3 100644 --- a/src/osmo_gsm_tester/core/trial.py +++ b/src/osmo_gsm_tester/core/trial.py @@ -57,7 +57,7 @@ super().__init__(log.C_TST, os.path.basename(self.path)) self.dir = util.Dir(self.path) self.inst_dir = util.Dir(self.dir.child('inst')) - self.bin_tars = [] + self.bin_tars = {} self.suites = [] self.status = Trial.UNKNOWN self._run_dir = None @@ -125,10 +125,10 @@ line_nr += 1 if not line: continue - md5, filename = line.split(' ') - file_path = self.dir.child(filename) + md5, relpath = line.split(' ') + file_path = self.dir.child(relpath) - if not self.dir.isfile(filename): + if not self.dir.isfile(relpath): raise RuntimeError('File listed in checksums file but missing in trials dir:' ' %r vs. %r line %d' % (file_path, checksums, line_nr)) @@ -136,28 +136,34 @@ raise RuntimeError('Checksum mismatch for %r vs. %r line %d' % (file_path, checksums, line_nr)) - if filename.endswith('.tgz'): - self.bin_tars.append(filename) + if relpath.endswith('.tgz') or relpath.endswith('.tar.gz'): + (label, name) = os.path.split(relpath) + #print('label: %s, name: %s' % (label, name)) + li = self.bin_tars.get(label, []) + li.append(name) + self.bin_tars[label] = li - def has_bin_tar(self, bin_name): + def has_bin_tar(self, bin_name, run_label): bin_tar_start = '%s.' % bin_name - matches = [t for t in self.bin_tars if t.startswith(bin_tar_start)] - self.dbg(bin_name=bin_name, matches=matches) + matches = [t for t in self.bin_tars[run_label] if t.startswith(bin_tar_start)] + self.dbg('has bin_tar', run_label=run_label, bin_name=bin_name, matches=matches) if not matches: return None if len(matches) > 1: - raise RuntimeError('More than one match for bin name %r: %r' % (bin_name, matches)) + raise RuntimeError('More than one match for bin name %r on run_label \'%s\': %r' % (bin_name, run_label, matches)) bin_tar = matches[0] - bin_tar_path = self.dir.child(bin_tar) + bin_tar_path = self.dir.child(os.path.join(run_label, bin_tar)) if not os.path.isfile(bin_tar_path): raise RuntimeError('Not a file or missing: %r' % bin_tar_path) return bin_tar_path - def get_inst(self, bin_name): - bin_tar = self.has_bin_tar(bin_name) + def get_inst(self, bin_name, run_label=None): + if run_label is None: + run_label = '' + bin_tar = self.has_bin_tar(bin_name, run_label) if not bin_tar: raise RuntimeError('No such binary available: %r' % bin_name) - inst_dir = self.inst_dir.child(bin_name) + inst_dir = self.inst_dir.child(os.path.join(run_label, bin_name)) if os.path.isdir(inst_dir): # already unpacked diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index 26c85df..bd502af 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -26,6 +26,7 @@ 'run_addr': schema.IPV4, 'ssh_user': schema.STR, 'ssh_addr': schema.IPV4, + 'run_label': schema.STR, } schema.register_resource_schema('run_node', resource_schema) @@ -35,12 +36,13 @@ T_LOCAL = 'local' T_REM_SSH = 'ssh' - def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None): + def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None): super().__init__(log.C_RUN, 'runnode') self._type = type self._run_addr = run_addr self._ssh_user = ssh_user self._ssh_addr = ssh_addr + self._run_label = run_label if not self._type: raise log.Error('run_type not set') if not self._run_addr: @@ -57,7 +59,9 @@ @classmethod def from_conf(cls, conf): - return cls(conf.get('run_type', None), conf.get('run_addr', None), conf.get('ssh_user', None), conf.get('ssh_addr', None)) + return cls(conf.get('run_type', None), conf.get('run_addr', None), + conf.get('ssh_user', None), conf.get('ssh_addr', None), + conf.get('run_label', None)) def is_local(self): return self._type == RunNode.T_LOCAL @@ -77,4 +81,7 @@ def ssh_addr(self): return self._ssh_addr + def run_label(self): + return self._run_label + # vim: expandtab tabstop=4 shiftwidth=4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18469 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: Iaf2e97da3aff693395f44f0e93b184d4846cf6da Gerrit-Change-Number: 18469 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:06 +0000 Subject: Change in osmo-gsm-tester[master]: epc_{amarisoft, srs}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 ) Change subject: epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label ...................................................................... epc_{amarisoft,srs}: Support selecting tgz based on run_node's run label Change-Id: I90b8dab8bdc9980a7d2486d890cff183c07f1809 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index d6cad81..40216f7 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -59,7 +59,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_EPC', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftepc', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 2ee486f..e1d9f59 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -118,7 +118,7 @@ self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsEPC.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18470 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: I90b8dab8bdc9980a7d2486d890cff183c07f1809 Gerrit-Change-Number: 18470 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:06 +0000 Subject: Change in osmo-gsm-tester[master]: enb: Reuse run_node to hold run info In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 ) Change subject: enb: Reuse run_node to hold run info ...................................................................... enb: Reuse run_node to hold run info Change-Id: If396940f154813d42ff3d3364c44b8979179127f --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py M src/osmo_gsm_tester/obj/run_node.py M sysmocom/resources.conf.prod 6 files changed, 58 insertions(+), 50 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf index a1bdcbc..f0db3c0 100644 --- a/doc/examples/4g_srsLTE/resources.conf +++ b/doc/examples/4g_srsLTE/resources.conf @@ -11,15 +11,21 @@ - label: srsENB-zmq type: srsenb rf_dev_type: zmq - remote_user: jenkins - addr: 172.18.50.101 + run_node: + run_type: ssh + run_addr: 172.18.50.101 + ssh_user: jenkins + ssh_addr: 172.18.50.101 - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: 'type=b200,serial=317B9FE' - remote_user: jenkins - addr: 172.18.50.102 + run_node: + run_type: ssh + run_addr: 172.18.50.102 + ssh_user: jenkins + ssh_addr: 172.18.50.102 modem: - label: srsUE-zmq diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 9db0d69..7004805 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -20,13 +20,12 @@ from abc import ABCMeta, abstractmethod from ..core import log, config from ..core import schema +from . import run_node def on_register_schemas(): resource_schema = { 'label': schema.STR, 'type': schema.STR, - 'remote_user': schema.STR, - 'addr': schema.IPV4, 'gtp_bind_addr': schema.IPV4, 'id': schema.UINT, 'num_prb': schema.UINT, @@ -60,6 +59,8 @@ 'cell_list[].dl_rfemu.addr': schema.IPV4, 'cell_list[].dl_rfemu.ports[]': schema.UINT, } + for key, val in run_node.RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val schema.register_resource_schema('enb', resource_schema) class eNodeB(log.Origin, metaclass=ABCMeta): @@ -70,13 +71,11 @@ def __init__(self, testenv, conf, name): super().__init__(log.C_RUN, '%s' % name) self._conf = conf - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') + self._run_node = run_node.RunNode.from_conf(conf.get('run_node', {})) self._gtp_bind_addr = conf.get('gtp_bind_addr', None) if self._gtp_bind_addr is None: - self._gtp_bind_addr = self._addr - self.set_name('%s_%s' % (name, self._addr)) + self._gtp_bind_addr = self._run_node.run_addr() + self.set_name('%s_%s' % (name, self._run_node.run_addr())) self._txmode = 0 self._id = None self._num_prb = 0 @@ -99,6 +98,7 @@ assert self._txmode config.overlay(values, dict(enb={ 'num_ports': self.num_ports() })) assert self._epc is not None + config.overlay(values, dict(enb={ 'addr': self.addr() })) config.overlay(values, dict(enb={ 'mme_addr': self._epc.addr() })) config.overlay(values, dict(enb={ 'gtp_bind_addr': self._gtp_bind_addr })) self._num_cells = int(values['enb'].get('num_cells', None)) @@ -235,7 +235,7 @@ pass def addr(self): - return self._addr + return self._run_node.run_addr() def ue_max_rate(self, downlink=True): # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64 diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index fa79cbf..c331cd8 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -69,7 +69,6 @@ self.remote_log_file = None self.enable_measurements = False self.testenv = testenv - self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -83,7 +82,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -91,10 +90,6 @@ except Exception as e: self.log(repr(e)) - - def setup_runs_locally(self): - return self.remote_user is None - def start(self, epc): self.log('Starting AmarisoftENB') self._epc = epc @@ -107,7 +102,7 @@ self.process.stdin_write('t\n') def _start(self): - if self.setup_runs_locally(): + if self._run_node.is_local(): env = { 'LD_LIBRARY_PATH': util.prepend_library_path(self.inst) } binary = self.inst.child('.', AmarisoftENB.BINFILE) self.dbg(run_dir=self.run_dir, binary=binary, env=env) @@ -141,8 +136,8 @@ self.config_drb_file = self.run_dir.child(AmarisoftENB.CFGFILE_DRB) self.log_file = self.run_dir.child(AmarisoftENB.LOGFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftENB.BINFILE)) @@ -186,7 +181,7 @@ config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file config.overlay(values, dict(enb=dict(log_filename=logfile))) # rf driver is shared between amarisoft enb and ue, so it has a @@ -205,7 +200,7 @@ self.gen_conf_file(self.config_rf_file, AmarisoftENB.CFGFILE_RF, values) self.gen_conf_file(self.config_drb_file, AmarisoftENB.CFGFILE_DRB, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 47b373e..9e93541 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -68,7 +68,6 @@ self.remote_pcap_file = None self.enable_pcap = False self.testenv = testenv - self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -76,7 +75,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -89,18 +88,15 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def start(self, epc): self.log('Starting srsENB') self._epc = epc self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.remote_user: - self.start_remotely() - else: + if self._run_node.is_local(): self.start_locally() + else: + self.start_remotely() # send t+Enter to enable console trace self.dbg('Enabling console trace') @@ -149,8 +145,8 @@ self.log_file = self.run_dir.child(srsENB.LOGFILE) self.pcap_file = self.run_dir.child(srsENB.PCAPFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsENB.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsENB.BINFILE)) @@ -164,11 +160,11 @@ values = super().configure(['srsenb']) - sibfile = self.config_sib_file if self.setup_runs_locally() else self.remote_config_sib_file - rrfile = self.config_rr_file if self.setup_runs_locally() else self.remote_config_rr_file - drbfile = self.config_drb_file if self.setup_runs_locally() else self.remote_config_drb_file - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + sibfile = self.config_sib_file if self._run_node.is_local() else self.remote_config_sib_file + rrfile = self.config_rr_file if self._run_node.is_local() else self.remote_config_rr_file + drbfile = self.config_drb_file if self._run_node.is_local() else self.remote_config_drb_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file config.overlay(values, dict(enb=dict(sib_filename=sibfile, rr_filename=rrfile, drb_filename=drbfile, @@ -209,7 +205,7 @@ self.gen_conf_file(self.config_rr_file, srsENB.CFGFILE_RR, values) self.gen_conf_file(self.config_drb_file, srsENB.CFGFILE_DRB, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(self.remote_run_dir) diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index bd502af..6a030ac 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -21,13 +21,7 @@ from ..core import schema def on_register_schemas(): - resource_schema = { - 'run_type': schema.STR, - 'run_addr': schema.IPV4, - 'ssh_user': schema.STR, - 'ssh_addr': schema.IPV4, - 'run_label': schema.STR, - } + resource_schema = RunNode.schema() schema.register_resource_schema('run_node', resource_schema) @@ -63,6 +57,17 @@ conf.get('ssh_user', None), conf.get('ssh_addr', None), conf.get('run_label', None)) + @classmethod + def schema(cls): + resource_schema = { + 'run_type': schema.STR, + 'run_addr': schema.IPV4, + 'ssh_user': schema.STR, + 'ssh_addr': schema.IPV4, + 'run_label': schema.STR, + } + return resource_schema + def is_local(self): return self._type == RunNode.T_LOCAL diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index c66cafa..ec148f3 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -159,15 +159,21 @@ type: srsenb rf_dev_type: zmq rf_dev_args: auto - remote_user: jenkins - addr: 10.42.42.117 + run_node: + run_type: ssh + run_addr: 10.42.42.117 + ssh_user: jenkins + ssh_addr: 10.42.42.117 - label: srsENB-B200 type: srsenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=306BD11" - remote_user: jenkins - addr: 10.42.42.117 + run_node: + run_type: ssh + run_addr: 10.42.42.117 + ssh_user: jenkins + ssh_addr: 10.42.42.117 arfcn: - arfcn: 512 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18482 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: If396940f154813d42ff3d3364c44b8979179127f Gerrit-Change-Number: 18482 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:06 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Reuse run_node to hold run info In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 ) Change subject: ms_{srs,amarisoft}: Reuse run_node to hold run info ...................................................................... ms_{srs,amarisoft}: Reuse run_node to hold run info Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917 --- M doc/examples/4g_srsLTE/resources.conf M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py M sysmocom/resources.conf.prod 4 files changed, 54 insertions(+), 49 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/4g_srsLTE/resources.conf b/doc/examples/4g_srsLTE/resources.conf index f0db3c0..cadb1b6 100644 --- a/doc/examples/4g_srsLTE/resources.conf +++ b/doc/examples/4g_srsLTE/resources.conf @@ -31,20 +31,26 @@ - label: srsUE-zmq type: srsue rf_dev_type: zmq - remote_user: jenkins - addr: 172.18.50.100 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 172.18.50.100 + ssh_user: jenkins + ssh_addr: 172.18.50.100 - label: srsUE-B200 type: srsue rf_dev_type: uhd rf_dev_args: 'type=b200,serial=3128FF1' - remote_user: jenkins - addr: 10.12.1.195 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.12.1.195 + ssh_user: jenkins + ssh_addr: 10.12.1.195 diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index d79756b..5067048 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -27,6 +27,10 @@ from .ms import MS def on_register_schemas(): + resource_schema = {} + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val + schema.register_resource_schema('modem', resource_schema) config_schema = { 'license_server_addr': schema.IPV4, } @@ -79,10 +83,8 @@ IFUPFILE = 'ue-ifup' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('amarisoftue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('amarisoftue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.inst = None @@ -99,7 +101,6 @@ self.remote_log_file = None self.remote_ifup_file = None self.testenv = testenv - self.remote_user = conf.get('remote_user', None) if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -113,7 +114,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # copy back files (may not exist, for instance if there was an early error of process): try: @@ -121,9 +122,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "amarisoftue1" @@ -135,7 +133,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -219,8 +217,8 @@ ''' % (self.netns(), self.netns()) f.write(r) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(AmarisoftUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) remote_run_dir = util.Dir(remote_prefix_dir.child(AmarisoftUE.BINFILE)) @@ -235,10 +233,11 @@ config.overlay(values, dict(ue=self.testenv.suite().config().get('amarisoft', {}))) config.overlay(values, dict(ue=self.testenv.suite().config().get('modem', {}))) config.overlay(values, dict(ue=self._conf)) - config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) + config.overlay(values, dict(ue=dict(addr = self.addr(), + num_antennas = self.enb.num_ports()))) - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - ifupfile = self.ifup_file if self.setup_runs_locally() else self.remote_ifup_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + ifupfile = self.ifup_file if self._run_node.is_local() else self.remote_ifup_file config.overlay(values, dict(ue=dict(log_filename=logfile, ifup_filename=ifupfile))) @@ -289,7 +288,7 @@ self.gen_conf_file(self.config_file, AmarisoftUE.CFGFILE, values) self.gen_conf_file(self.config_rf_file, AmarisoftUE.CFGFILE_RF, values) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(remote_run_dir) @@ -309,13 +308,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 389ed6b..1efa7c1 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -31,8 +31,6 @@ def on_register_schemas(): resource_schema = { - 'remote_user': schema.STR, - 'addr': schema.IPV4, 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, 'num_carriers': schema.UINT, @@ -42,6 +40,8 @@ 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, } + for key, val in RunNode.schema().items(): + resource_schema['run_node.%s' % key] = val schema.register_resource_schema('modem', resource_schema) config_schema = { @@ -78,10 +78,8 @@ METRICSFILE = 'srsue_metrics.csv' def __init__(self, testenv, conf): - self._addr = conf.get('addr', None) - if self._addr is None: - raise log.Error('addr not set') - super().__init__('srsue_%s' % self._addr, conf) + self._run_node = RunNode.from_conf(conf.get('run_node', {})) + super().__init__('srsue_%s' % self.addr(), conf) self.enb = None self.run_dir = None self.config_file = None @@ -100,7 +98,6 @@ self.enable_pcap = False self.num_carriers = 1 self.testenv = testenv - self.remote_user = conf.get('remote_user', None) self._additional_args = [] if not rf_type_valid(conf.get('rf_dev_type', None)): raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None)) @@ -108,7 +105,7 @@ def cleanup(self): if self.process is None: return - if self.setup_runs_locally(): + if self._run_node.is_local(): return # Make sure we give the UE time to tear down @@ -125,9 +122,6 @@ except Exception as e: self.log(repr(e)) - def setup_runs_locally(self): - return self.remote_user is None - def netns(self): return "srsue1" @@ -146,7 +140,7 @@ self.enb = enb self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) self.configure() - if self.setup_runs_locally(): + if self._run_node.is_local(): self.start_locally() else: self.start_remotely() @@ -215,8 +209,8 @@ self.pcap_file = self.run_dir.child(srsUE.PCAPFILE) self.metrics_file = self.run_dir.child(srsUE.METRICSFILE) - if not self.setup_runs_locally(): - self.rem_host = remote.RemoteHost(self.run_dir, self.remote_user, self._addr) + if not self._run_node.is_local(): + self.rem_host = remote.RemoteHost(self.run_dir, self._run_node.ssh_user(), self._run_node.ssh_addr()) remote_prefix_dir = util.Dir(srsUE.REMOTE_DIR) self.remote_inst = util.Dir(remote_prefix_dir.child(os.path.basename(str(self.inst)))) self.remote_run_dir = util.Dir(remote_prefix_dir.child(srsUE.BINFILE)) @@ -230,9 +224,9 @@ config.overlay(values, dict(ue=self._conf)) config.overlay(values, dict(ue=dict(num_antennas = self.enb.num_ports()))) - metricsfile = self.metrics_file if self.setup_runs_locally() else self.remote_metrics_file - logfile = self.log_file if self.setup_runs_locally() else self.remote_log_file - pcapfile = self.pcap_file if self.setup_runs_locally() else self.remote_pcap_file + metricsfile = self.metrics_file if self._run_node.is_local() else self.remote_metrics_file + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + pcapfile = self.pcap_file if self._run_node.is_local() else self.remote_pcap_file config.overlay(values, dict(ue=dict(metrics_filename=metricsfile, log_filename=logfile, pcap_filename=pcapfile))) @@ -300,7 +294,7 @@ self.dbg(r) f.write(r) - if not self.setup_runs_locally(): + if not self._run_node.is_local(): self.rem_host.recreate_remote_dir(self.remote_inst) self.rem_host.scp('scp-inst-to-remote', str(self.inst), remote_prefix_dir) self.rem_host.recreate_remote_dir(self.remote_run_dir) @@ -316,13 +310,13 @@ return not self.process.terminated() def addr(self): - return self._addr + return self._run_node.run_addr() def run_node(self): - return RunNode(RunNode.T_REM_SSH, self._addr, self.remote_user, self._addr) + return self._run_node def run_netns_wait(self, name, popen_args): - if self.setup_runs_locally(): + if self._run_node.is_local(): proc = process.NetNSProcess(name, self.run_dir.new_dir(name), self.netns(), popen_args, env={}) else: proc = self.rem_host.RemoteNetNSProcess(name, self.netns(), popen_args, env={}) @@ -348,7 +342,7 @@ if self.running(): self.stop() - if not self.setup_runs_locally(): + if not self._run_node.is_local(): try: self.rem_host.scpfrom('scp-back-metrics', self.remote_metrics_file, self.metrics_file) except Exception as e: diff --git a/sysmocom/resources.conf.prod b/sysmocom/resources.conf.prod index ec148f3..e6429a0 100644 --- a/sysmocom/resources.conf.prod +++ b/sysmocom/resources.conf.prod @@ -258,23 +258,29 @@ type: srsue rf_dev_type: zmq rf_dev_args: auto - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 - label: srsUE-soapy-lms_1 type: srsue rf_dev_type: soapy rf_dev_args: driver=lime,serial=00090706024F0A22,rxant=LNAW,txant=BAND1 - remote_user: jenkins - addr: 10.42.42.116 imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' auth_algo: 'xor' features: ['4g'] + run_node: + run_type: ssh + run_addr: 10.42.42.116 + ssh_user: jenkins + ssh_addr: 10.42.42.116 osmocon_phone: - serial_device: '/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_00897B41-if00-port0' -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18483 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: Ifdea48fed0bfc152131c53b87c34b4514c632917 Gerrit-Change-Number: 18483 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:07 +0000 Subject: Change in osmo-gsm-tester[master]: enb_{srs, amarisoft}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 ) Change subject: enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... enb_{srs,amarisoft}: Support selecting tgz based on run_node's run label Change-Id: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b --- M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index c331cd8..8f624e6 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -76,7 +76,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_ENB', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftenb', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 9e93541..e192530 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -132,7 +132,7 @@ f.write(r) def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsENB.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18484 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: Ie1c8ccd2ffc9680bd72159872f3de0d59f1b9b0b Gerrit-Change-Number: 18484 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:13:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 13:13:07 +0000 Subject: Change in osmo-gsm-tester[master]: ms_{srs, amarisoft}: Support selecting tgz based on run_node's run label In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 ) Change subject: ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label ...................................................................... ms_{srs,amarisoft}: Support selecting tgz based on run_node's run label Change-Id: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208 --- M src/osmo_gsm_tester/obj/ms_amarisoft.py M src/osmo_gsm_tester/obj/ms_srs.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 5067048..e99cca3 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -108,7 +108,7 @@ if self._bin_prefix is None: self._bin_prefix = os.getenv('AMARISOFT_PATH_UE', None) if self._bin_prefix == None: - self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue') + self._bin_prefix = self.testenv.suite().trial().get_inst('amarisoftue', self._run_node.run_label()) return self._bin_prefix def cleanup(self): diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 1efa7c1..f53f461 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -198,7 +198,7 @@ self.process.launch() def configure(self): - self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte'))) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('srslte', self._run_node.run_label()))) if not os.path.isdir(self.inst.child('lib')): raise log.Error('No lib/ in', self.inst) if not self.inst.isfile('bin', srsUE.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18485 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: I2c4cab02fa34c7acc7e57c3fec5a42c26d2a9208 Gerrit-Change-Number: 18485 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 13:56:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 13:56:36 +0000 Subject: Change in libosmo-abis[master]: WIP: Add new TRAU frame sync code In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 to look at the new patch set (#5). Change subject: WIP: Add new TRAU frame sync code ...................................................................... WIP: Add new TRAU frame sync code This code is able to detect and sync against a variety of TRAU frame sync patterns. Focus is so far on those patterns present on 16k sub-slots, but 8k sub-slots are expected to be supported soon, too. A new codebase for this is required as the old OsmoNITB code had conflated a 16k sub-slot multiplexer with TRAU frame synchronization, so there was no way to separate those two parts and hence no way to support 8k sub-slots. Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea --- M include/Makefile.am A include/osmocom/trau/trau_sync.h M src/Makefile.am A src/trau/trau_sync.c A src/trau/ubit_buf.h M tests/Makefile.am M tests/testsuite.at A tests/trau_sync/trau_sync_test.c A tests/trau_sync/trau_sync_test.err A tests/trau_sync/trau_sync_test.ok 10 files changed, 703 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/50/18250/5 -- To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/18250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-abis Gerrit-Branch: master Gerrit-Change-Id: Ia6fe6228b0b8b9a27999f37ce1115ed5558881ea Gerrit-Change-Number: 18250 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:30:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 14:30:07 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Fix typo in frontend_handle_card2modem() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18543 ) Change subject: user_simtrace2: Fix typo in frontend_handle_card2modem() ...................................................................... user_simtrace2: Fix typo in frontend_handle_card2modem() this typo was breaking operating with simtrace2 for all responses that contained more than just a status word. Change-Id: Id8195d6650c3306e1a39f59d78d1348671ad062d --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-remsim refs/changes/43/18543/1 diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 5ce034d..fa6c319 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -339,7 +339,7 @@ struct osmo_st2_cardem_inst *ci = bc->cardem; // save SW to our current APDU context ac.sw[0] = data[len-2]; - ac.sw[1] = data[len=1]; + ac.sw[1] = data[len-1]; LOGCI(ci, LOGL_DEBUG, "SIMtrace <= SW=0x%02x%02x, len_rx=%zu\n", ac.sw[0], ac.sw[1], len-2); if (len > 2) { // send PB and data to modem -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Id8195d6650c3306e1a39f59d78d1348671ad062d Gerrit-Change-Number: 18543 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:31:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 14:31:39 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Fix typo in frontend_handle_card2modem() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18543 ) Change subject: user_simtrace2: Fix typo in frontend_handle_card2modem() ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Id8195d6650c3306e1a39f59d78d1348671ad062d Gerrit-Change-Number: 18543 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 28 May 2020 14:31:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:31:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 28 May 2020 14:31:43 +0000 Subject: Change in osmo-remsim[master]: user_simtrace2: Fix typo in frontend_handle_card2modem() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-remsim/+/18543 ) Change subject: user_simtrace2: Fix typo in frontend_handle_card2modem() ...................................................................... user_simtrace2: Fix typo in frontend_handle_card2modem() this typo was breaking operating with simtrace2 for all responses that contained more than just a status word. Change-Id: Id8195d6650c3306e1a39f59d78d1348671ad062d --- M src/client/user_simtrace2.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c index 5ce034d..fa6c319 100644 --- a/src/client/user_simtrace2.c +++ b/src/client/user_simtrace2.c @@ -339,7 +339,7 @@ struct osmo_st2_cardem_inst *ci = bc->cardem; // save SW to our current APDU context ac.sw[0] = data[len-2]; - ac.sw[1] = data[len=1]; + ac.sw[1] = data[len-1]; LOGCI(ci, LOGL_DEBUG, "SIMtrace <= SW=0x%02x%02x, len_rx=%zu\n", ac.sw[0], ac.sw[1], len-2); if (len > 2) { // send PB and data to modem -- To view, visit https://gerrit.osmocom.org/c/osmo-remsim/+/18543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-remsim Gerrit-Branch: master Gerrit-Change-Id: Id8195d6650c3306e1a39f59d78d1348671ad062d Gerrit-Change-Number: 18543 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#7) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn M pcu/PCU_selftest.ttcn 3 files changed, 644 insertions(+), 576 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#3) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... pcu: Parse USF from Pkt Ul Ass Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 --- M pcu/GPRS_Components.ttcn 1 file changed, 31 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/18379/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: get rid of meaningless bts_nr argument References: Message-ID: Hello pespin, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 to review the following change. Change subject: pcu/GPRS_Components: get rid of meaningless bts_nr argument ...................................................................... pcu/GPRS_Components: get rid of meaningless bts_nr argument We don't (yet) support multi-BTS test cases anyway. Ideally, each virtual BTS would be a separate component with an individual port. Change-Id: I8b639d179db259bf0e43cf1929447a44d5736f62 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/18544/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index cbb6cda..1bda189 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -171,8 +171,7 @@ function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) + template GsmRrMessage t_imm_ass := ?) runs on MS_BTS_IFACE_CT return boolean { var PCUIF_Message pcu_msg; var octetstring data; @@ -180,7 +179,7 @@ T.start(2.0); alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, sapi := sapi, data := ?)) -> value pcu_msg { /* On PCH the payload is prefixed with paging group (3 octets): skip it. * TODO: add an additional template parameter, so we can match it. */ @@ -213,7 +212,7 @@ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, +function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, @@ -226,7 +225,7 @@ /* Send RACH.ind */ log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, ra := ra, is_11bit := is_11bit, burst_type := burst_type, fn := fn, arfcn := 871, @@ -239,8 +238,7 @@ /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn), - bts_nr := bts_nr); + tr_IMM_TBF_ASS(false, ra, fn)); } function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8a1a425..9e7c92b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -263,7 +263,7 @@ * at some point the PCU will fail to allocate a new TBF. */ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); + ok := f_establish_tbf(rr_msg, ta := ta); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF"); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b639d179db259bf0e43cf1929447a44d5736f62 Gerrit-Change-Number: 18544 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: call f_shutdown() immediately on timeout References: Message-ID: Hello pespin, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 to review the following change. Change subject: pcu/GPRS_Components: call f_shutdown() immediately on timeout ...................................................................... pcu/GPRS_Components: call f_shutdown() immediately on timeout Change-Id: I1fa31d95ea393aaf80d8f6c03c3fcf3484daa565 --- M pcu/GPRS_Components.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/45/18545/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 1bda189..a85cd5e 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -202,6 +202,7 @@ [] BTS.receive { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for Immediate Assignment"); + f_shutdown(__BFILE__, __LINE__); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fa31d95ea393aaf80d8f6c03c3fcf3484daa565 Gerrit-Change-Number: 18545 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() References: Message-ID: Hello pespin, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 to review the following change. Change subject: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() ...................................................................... pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() The IUT expects a confirmation when Immediate Assignment is sent on PCH. Change-Id: I585a1933dfb2119f1d3223b24db191282fd698b7 --- M pcu/GPRS_Components.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/46/18546/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index a85cd5e..7eff399 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -196,6 +196,12 @@ } log("Rx Immediate Assignment: ", rr_imm_ass); + + /* Send DATA.cnf back to the IUT (only needed for PCH) */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + f_pcuif_tx_data_cnf(pcu_msg); + } + setverdict(pass); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I585a1933dfb2119f1d3223b24db191282fd698b7 Gerrit-Change-Number: 18546 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 ) Change subject: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() ...................................................................... pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() Change-Id: Ide6a00348b81a637309644be82a523c99f9fd30a --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 8 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/18547/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index d576260..a91f8df 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -515,10 +515,10 @@ // OLD APIs //////////////////////// -function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, +function f_pcuif_rx_imm_ass(template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) -runs on MS_BTS_IFACE_CT return boolean { +runs on MS_BTS_IFACE_CT return GsmRrMessage { + var GsmRrMessage rr_imm_ass; var PCUIF_Message pcu_msg; var octetstring data; timer T; @@ -549,7 +549,6 @@ } setverdict(pass); - return true; } [] BTS.receive { repeat; } [] T.timeout { @@ -558,19 +557,18 @@ } } - return false; + return rr_imm_ass; } /* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(out GsmRrMessage rr_imm_ass, - uint16_t ra := bit2int(chan_req_def), +function f_establish_tbf(uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, TimingAdvance ta := 0) -runs on MS_BTS_IFACE_CT return boolean { +runs on MS_BTS_IFACE_CT return GsmRrMessage { var uint32_t fn; /* FIXME: ask the BTS component to give us the current TDMA fn */ @@ -590,8 +588,7 @@ if (is_11bit != 0) { ra := 127; } /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn)); + return f_pcuif_rx_imm_ass(PCU_IF_SAPI_AGCH, tr_IMM_TBF_ASS(false, ra, fn)); } /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ca37431..ff5da82 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1635,7 +1635,6 @@ runs on RAW_PCU_Test_CT { var template ReqRefWaitInd tr_ref; var GsmRrMessage rr_msg; - var boolean ok; /* Send RACH.ind with malformed EGPRS Packet Channel Request */ BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, @@ -1644,11 +1643,7 @@ arfcn := 871)); /* Abuse f_pcuif_rx_imm_ass(): wait for Immediate Assignment Reject */ - ok := f_pcuif_rx_imm_ass(rr_msg, t_imm_ass := tr_IMM_ASS_REJ); - if (not ok) { - setverdict(fail, "Failed to match Immediate Assignment Reject"); - f_shutdown(__BFILE__, __LINE__); - } + rr_msg := f_pcuif_rx_imm_ass(t_imm_ass := tr_IMM_ASS_REJ); /* Just to have a short-name reference to the actual message */ var ImmediateAssignmentReject iar := rr_msg.payload.imm_ass_rej; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ide6a00348b81a637309644be82a523c99f9fd30a Gerrit-Change-Number: 18547 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 14:44:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 14:44:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup pcu/GPRS_Components: do not duplicate existing functions References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 ) Change subject: fixup pcu/GPRS_Components: do not duplicate existing functions ...................................................................... fixup pcu/GPRS_Components: do not duplicate existing functions Both f_ms_rx_imm_ass_ccch() and f_ms_establish_ul_tbf() functions are actually twin brothers of good old f_pcuif_rx_imm_ass() and f_establish_tbf() with some minor changes. The former accepts a GprsMS parameter, that is never used. The latter simply calls f_ultbf_new_from_rr_imm_ass() in the end. Let's avoid code duplication: - call f_establish_tbf() from f_ms_establish_ul_tbf(), - remove f_ms_rx_imm_ass_ccch(), use f_pcuif_rx_imm_ass(). After the removal of f_ms_rx_imm_ass_ccch(), the implementation of TC_ta_idle_dl_tbf_ass() does not need the GprsMS state, so let's make it look like it was before. Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 14 insertions(+), 72 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/18548/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index a91f8df..039e749 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -249,45 +249,6 @@ } } -function f_ms_rx_imm_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) -runs on MS_BTS_IFACE_CT return GsmRrMessage { - var PCUIF_Message pcu_msg; - var GsmRrMessage rr_imm_ass; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - f_pcuif_tx_data_cnf(pcu_msg); - setverdict(pass); - return rr_imm_ass; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - } - return rr_imm_ass; /* make compiler happy */ -} - function f_ms_rx_imm_ass_pacch(inout GprsMS ms, out uint32_t poll_fn, template RlcmacDlBlock t_imm_ass := ?) runs on MS_BTS_IFACE_CT return RlcmacDlBlock { var RlcmacDlBlock dl_block; @@ -318,40 +279,20 @@ return dl_block; } -function f_ms_establish_ul_tbf(inout GprsMS ms, uint32_t fn := 1337) +function f_ms_establish_ul_tbf(inout GprsMS ms) runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - var uint8_t exp_ra; - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ms.ra, ", TA=", ms.ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, - ra := ms.ra, is_11bit := ms.ra_is_11bit, - burst_type := ms.burst_type, - fn := fn, arfcn := 871, - qta := ms.ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (ms.ra_is_11bit == 0) { - exp_ra := ms.ra; - } else { - exp_ra := 127; - } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, exp_ra, fn)); - + rr_imm_ass := f_establish_tbf(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); } -function f_ms_exp_dl_tbf_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) +function f_ms_exp_dl_tbf_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, sapi, t_imm_ass); + rr_imm_ass := f_pcuif_rx_imm_ass(sapi, t_imm_ass); ms.dl_tbf := f_dltbf_new_from_rr_imm_ass(rr_imm_ass, tr_PacketDlAssign(ms.tlli)); } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ff5da82..8b9a471 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -266,7 +266,7 @@ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ ms.ta := ta; - f_ms_establish_ul_tbf(ms, fn := 1337 + ta); + f_ms_establish_ul_tbf(ms); /* Make sure Timing Advance IE matches out expectations */ if (ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance != ta) { @@ -285,29 +285,30 @@ * IUT that causes it to send an unreasonable Timing Advance value > 0 despite * no active TBF exists at the moment of establishment (idle mode). */ testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var GprsMS ms; + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; /* Initialize NS/BSSGP side */ f_init_bssgp(); - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); /* SGSN sends some DL data, PCU will initiate Packet Downlink * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(10))); + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + rr_imm_ass := f_pcuif_rx_imm_ass(PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(dl := true)); /* Make sure that Timing Advance is 0 (the actual value is not known yet). * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(ta := 0)); + if (rr_imm_ass.payload.imm_ass.timing_advance != 0) { + setverdict(fail, "Timing Advance value doesn't match"); + } f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 Gerrit-Change-Number: 18548 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:08:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:08:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: start-testsuite.sh: allow overriding TTCN3_BIN_DIR References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 ) Change subject: start-testsuite.sh: allow overriding TTCN3_BIN_DIR ...................................................................... start-testsuite.sh: allow overriding TTCN3_BIN_DIR Override the default of /usr/bin with the environment variable of the same name, if set. Related: OS#4564 Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a --- M start-testsuite.sh 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/49/18549/1 diff --git a/start-testsuite.sh b/start-testsuite.sh index a6380b7..b9324bb 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -3,6 +3,9 @@ # Helper script to starte a TITAN-generated test suite, supporting # dynamically linked suites to ensure JUNIT generation is possible. +# Environment variables: +# * TTCN3_BIN_DIR: override where to look for ttcn3_start + # Copyright 2017 Harald Welte # Copyright 2018 sysmocom - s.f.m.c. GmbH # @@ -43,7 +46,7 @@ #TTCN3_BIN_DIR="$TTCN3_DIR/bin" # below is for the debian packages -TTCN3_BIN_DIR="/usr/bin" +TTCN3_BIN_DIR="${TTCN3_BIN_DIR:-/usr/bin}" TITAN_LIBRARY_PATH="/usr/lib/titan:/usr/ttcn3/lib" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SUITE_DIR:$TITAN_LIBRARY_PATH" "$TTCN3_BIN_DIR/ttcn3_start" $SUITE $CFG $TEST -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a Gerrit-Change-Number: 18549 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:13:15 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 15:13:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#8) to the change originally created by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 631 insertions(+), 562 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/18370/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:21:51 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:21:51 +0000 Subject: Change in docker-playground[master]: centos8-build: new image References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... centos8-build: new image Create centos8-build similar to debian-stretch-build, as preparation for ttcn-3 tests on centos 8. Related: OS#4564 Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad --- A centos8-build/Dockerfile A centos8-build/Makefile 2 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/50/18550/1 diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile new file mode 100644 index 0000000..46b33c9 --- /dev/null +++ b/centos8-build/Dockerfile @@ -0,0 +1,43 @@ +FROM centos:centos8 + +# Make additional development libraries available from PowerTools and Osmocom nightly (e.g. libdbi) +RUN dnf install -y dnf-utils wget && \ + yum config-manager --set-enabled PowerTools && \ + cd /etc/yum.repos.d/ && \ + wget https://download.opensuse.org/repositories/network:osmocom:nightly/CentOS_8_Stream/network:osmocom:nightly.repo + +RUN dnf install -y \ + autoconf \ + autoconf-archive \ + autogen \ + automake \ + bison \ + c-ares-devel \ + cppcheck \ + doxygen \ + fftw-devel \ + flex \ + gawk \ + gcc \ + gcc-c++ \ + git \ + gnupg \ + gnutls-devel \ + gsm-devel \ + libdbi-dbd-sqlite \ + libdbi-devel \ + libpcap-devel \ + libsofia-sip-ua-glib3 \ + libtalloc-devel \ + libtool \ + libusb1-devel \ + lksctp-tools-devel \ + make \ + ncurses-devel \ + openssl-devel \ + ortp-devel \ + pcsc-lite-devel \ + pkg-config \ + readline-devel \ + sqlite \ + sqlite-devel diff --git a/centos8-build/Makefile b/centos8-build/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/centos8-build/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:21:52 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... centos8-titan: new image Similar to debian-stretch-titan, but build eclipse-titan from source as we don't have an rpm package for it. Install libfftranscode by extracting the debian archives. Related: OS#4564 Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 --- A centos8-titan/Dockerfile A centos8-titan/Makefile A centos8-titan/install_libfftranscode.sh 3 files changed, 72 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/51/18551/1 diff --git a/centos8-titan/Dockerfile b/centos8-titan/Dockerfile new file mode 100644 index 0000000..d470f75 --- /dev/null +++ b/centos8-titan/Dockerfile @@ -0,0 +1,49 @@ +FROM centos:centos8 + +RUN dnf install -y \ + automake \ + bison \ + expect \ + flex \ + gcc-c++ \ + git \ + libxml2-devel \ + lksctp-tools-devel \ + make \ + nc \ + ncurses-devel \ + openssl-devel \ + python3 \ + wget \ + which + +RUN git -C /opt clone https://github.com/eclipse/titan.core && \ + cd /opt/titan.core && \ + git checkout 6.6.1 + +# Don't build Java Native Interface +RUN cd /opt/titan.core && \ + echo "JNI := no" >> Makefile.personal && \ + cat Makefile.personal + +# Titan's "make install" installs everything to $PWD/Install, which is good enough for this docker container. +# https://github.com/eclipse/titan.core/blob/master/README.linux +# Unfortunately their Makefile breaks with parallel jobs. +RUN cd /opt/titan.core && \ + make && \ + make install + +# Set environment variables +RUN echo "old PATH: $PATH" && \ + echo "old LD_LIBRARY_PATH: $LD_LIBRARY_PATH" +ENV PATH=/opt/titan.core/Install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV LD_LIBRARY_PATH=/opt/titan.core/Install/lib +ENV TTCN3_DIR=/opt/titan.core/Install +ENV TTCN3_BIN_DIR=/opt/titan.core/Install/bin + +# Verify that we can run ttcn3_compiler +RUN ttcn3_compiler -v + +# binary-only transcoding library for RANAP/RUA/HNBAP to work around TITAN only implementing BER +COPY install_libfftranscode.sh /opt +RUN sh -ex /opt/install_libfftranscode.sh diff --git a/centos8-titan/Makefile b/centos8-titan/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/centos8-titan/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/centos8-titan/install_libfftranscode.sh b/centos8-titan/install_libfftranscode.sh new file mode 100644 index 0000000..dc96564 --- /dev/null +++ b/centos8-titan/install_libfftranscode.sh @@ -0,0 +1,22 @@ +#!/bin/sh -ex +# Hack: extract contents of libfftranscode debian archives to / + +pkgver=0.1 + +cd /opt +wget https://ftp.osmocom.org/binaries/libfftranscode/libfftranscode0_${pkgver}_amd64.deb +wget https://ftp.osmocom.org/binaries/libfftranscode/libfftranscode-dev_${pkgver}_amd64.deb + +for i in /opt/*.deb; do + mkdir /tmp/extract + cd /tmp/extract + ar x "$i" + + cd / + tar -xvf /tmp/extract/data.tar.xz + rm -r /tmp/extract +done + +rm /opt/*.deb + +ldconfig -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:21:52 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:21:52 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO, DOCKER_TAG arguments References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO, DOCKER_TAG arguments ...................................................................... make/Makefile: add DISTRO, DOCKER_TAG arguments Prepare to build osmo-*-master for multiple distributions by passing a DISTRO argument. Add DOCKER_TAG, so we don't tag images for both debian and centos as "latest". The next commits will make use of the new arguments. While at it, do a cosmetic tweak to the "docker build" line. Related: OS#4564 Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 --- M make/Makefile 1 file changed, 13 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/52/18552/1 diff --git a/make/Makefile b/make/Makefile index b10c665..dfc7605 100644 --- a/make/Makefile +++ b/make/Makefile @@ -32,6 +32,8 @@ OSMO_SIP_BRANCH?=master OSMO_STP_BRANCH?=master PULL?= +DOCKER_TAG?=latest +DISTRO?=debian-stretch RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) @@ -55,7 +57,11 @@ docker-build: .release - docker build --build-arg USER=$(USERNAME) --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ + docker build \ + --build-arg USER=$(USERNAME) \ + --build-arg DISTRO=$(DISTRO) \ + --build-arg DOCKER_TAG=$(DOCKER_TAG) \ + --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ --build-arg OSMO_BSC_BRANCH=$(OSMO_BSC_BRANCH) \ --build-arg OSMO_BTS_BRANCH=$(OSMO_BTS_BRANCH) \ @@ -70,17 +76,17 @@ --build-arg OSMO_SGSN_BRANCH=$(OSMO_SGSN_BRANCH) \ --build-arg OSMO_SIP_BRANCH=$(OSMO_SIP_BRANCH) \ --build-arg OSMO_STP_BRANCH=$(OSMO_STP_BRANCH) \ - $(PULL) -t $(IMAGE):latest . + $(PULL) -t $(IMAGE):$(DOCKER_TAG) . @DOCKER_MAJOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f1) ; \ DOCKER_MINOR=$(shell docker -v | sed -e 's/.*version //' -e 's/,.*//' | cut -d\. -f2) ; \ tag: docker-build if [ $$DOCKER_MAJOR -eq 1 ] && [ $$DOCKER_MINOR -lt 10 ] ; then \ - echo docker tag -f $(IMAGE):latest $(IMAGE):$(VERSION) ;\ - docker tag -f $(IMAGE):latest $(IMAGE):$(VERSION) ;\ + echo docker tag -f $(IMAGE):$(DOCKER_TAG) $(IMAGE):$(VERSION) ;\ + docker tag -f $(IMAGE):$(DOCKER_TAG) $(IMAGE):$(VERSION) ;\ else \ - echo docker tag $(IMAGE):latest $(IMAGE):$(VERSION) ;\ - docker tag $(IMAGE):latest $(IMAGE):$(VERSION) ; \ + echo docker tag $(IMAGE):$(DOCKER_TAG) $(IMAGE):$(VERSION) ;\ + docker tag $(IMAGE):$(DOCKER_TAG) $(IMAGE):$(VERSION) ; \ fi .release: @@ -95,7 +101,7 @@ push: do-push post-push do-push: - docker push $(IMAGE):latest + docker push $(IMAGE):$(DOCKER_TAG) [ -f .release ] && docker push $(IMAGE):$(VERSION) snapshot: build push -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:21:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:21:53 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... jenkins-common.sh: add DISTRO environment variable Set DISTRO and DOCKER_TAG, based on the DISTRO environment variable. Defaults are debian-stretch and latest, and if DISTRO is centos8, DOCKER_TAG is also changed to centos8 to avoid collisions. Related: OS#4564 Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 --- M jenkins-common.sh 1 file changed, 31 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/18553/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 9fd3857..a34e115 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -1,7 +1,23 @@ +# Environment variables: +# * DISTRO: linux distribution name (e.g. "debian-stretch", "centos8"). Defaults to "debian-stretch". This is passed as +# argument to the Dockerfiles. Also a DOCKER_TAG is set ("latest" for "debian-stretch", otherwise the +# distribution name), so images built for two different distributions don't both get tagged as "latest". + docker_image_exists() { test -n "$(docker images -q "$REPO_USER/$1")" } +docker_get_tag() { + case "$DISTRO" in + debian-stretch) + echo "latest" + ;; + centos8) + echo "centos8" + ;; + esac +} + docker_images_require() { local from_line local pull_arg @@ -16,13 +32,17 @@ pull_arg="" fi - echo "Building image: $i (export NO_DOCKER_IMAGE_BUILD=1 to prevent this)" - PULL="$pull_arg" make -C "../$i" || exit 1 + echo "Building image: $i:$DOCKER_TAG (export NO_DOCKER_IMAGE_BUILD=1 to prevent this)" + make -C "../$i" \ + PULL="$pull_arg" \ + DISTRO="$DISTRO" \ + DOCKER_TAG="$DOCKER_TAG" \ + || exit 1 fi # Detect missing images (build skipped) - if ! docker_image_exists "$i"; then - echo "ERROR: missing image: $i" + if ! docker_image_exists "$i:$DOCKER_TAG"; then + echo "ERROR: missing image: $i:$DOCKER_TAG" exit 1 fi done @@ -96,3 +116,10 @@ SUITE_NAME=`basename $PWD` NET_NAME=$SUITE_NAME + +DISTRO="${DISTRO:-debian-stretch}" +DOCKER_TAG="$(docker_get_tag)" +if [ -z "$DOCKER_TAG" ]; then + echo "ERROR: failed to translate DISTRO=$DISTRO to docker tag!" + exit 1 +fi -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:21:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:21:54 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... *-mgw-*: support centos8 Use osmo-mgw as example of how a testsuite will work with both debian-stretch and centos8. I will add patches for all other containers tomorrow. Related: OS#4564 Change-Id: I6579748056ce0505304378b342a698b98c77fd18 --- M osmo-mgw-master/Dockerfile M ttcn3-mgw-test/Dockerfile M ttcn3-mgw-test/jenkins.sh 3 files changed, 40 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/18554/1 diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index f898c7e..8d996e3 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +ARG DISTRO MAINTAINER Harald Welte @@ -7,19 +10,37 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(libosmocoding)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-mgw-test/Dockerfile b/ttcn3-mgw-test/Dockerfile index 33183d0..1463397 100644 --- a/ttcn3-mgw-test/Dockerfile +++ b/ttcn3-mgw-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 4ebd235..46c4ab9 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-mgw-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-mgw-test" mkdir $VOL_BASE_DIR/mgw-tester @@ -22,7 +22,7 @@ -v $VOL_BASE_DIR/mgw:/data \ --name ${BUILD_TAG}-mgw -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-mgw-$IMAGE_SUFFIX + $REPO_USER/osmo-mgw-$IMAGE_SUFFIX:$DOCKER_TAG # start docker container with testsuite in foreground docker run --rm \ @@ -31,7 +31,7 @@ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ttcn3-mgw-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-mgw-test + $REPO_USER/ttcn3-mgw-test:$DOCKER_TAG # stop mgw after test has completed docker container stop ${BUILD_TAG}-mgw -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:22:39 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:22:39 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile File osmo-mgw-master/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile at 5 PS1, Line 5: ARG DISTRO Repeating DISTRO here is on purpose, ARG needs to be specified again after FROM. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 28 May 2020 15:22:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:22:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:22:51 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:22:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:23:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:23:12 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... jobs/ttcn3-testsuites.yml: support centos8 Related: OS#4564 Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 --- M jobs/ttcn3-testsuites.yml 1 file changed, 41 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/55/18555/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 89d50cf..84edaa5 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -10,7 +10,7 @@ - "{job-name}" # Folders from docker-playground.git job-name: - # nightly - order by time + # debian-stretch nightly - order by time - nplab-m3ua-test: timer: 00 03 * * * - nplab-sua-test: @@ -46,41 +46,45 @@ - ttcn3-sccp-test: timer: 00 10 * * * - # latest stable + # debian-stretch latest stable - nplab-m3ua-test-latest: - blocking: "^nplab-m3ua-test.*" + blocking: "^nplab.*-m3ua-test.*" - nplab-sua-test-latest: - blocking: "^nplab-sua-test.*" + blocking: "^nplab.*-sua-test.*" - ttcn3-bsc-test-latest: - blocking: "^ttcn3-bsc-test.*" + blocking: "^ttcn3.*-bsc-test.*" - ttcn3-bsc-test-sccplite-latest: - blocking: "^ttcn3-bsc-test-sccplite.*" + blocking: "^ttcn3.*-bsc-test-sccplite.*" - ttcn3-bts-test-latest: - blocking: "^ttcn3-bts-test.*" + blocking: "^ttcn3.*-bts-test.*" - ttcn3-ggsn-test-latest: - blocking: "^ttcn3-ggsn-test.*" + blocking: "^ttcn3.*-ggsn-test.*" - ttcn3-hlr-test-latest: - blocking: "^ttcn3-hlr-test.*" + blocking: "^ttcn3.*-hlr-test.*" - ttcn3-mgw-test-latest: - blocking: "^ttcn3-mgw-test.*" + blocking: "^ttcn3.*-mgw-test.*" - ttcn3-msc-test-latest: - blocking: "^ttcn3-msc-test.*" + blocking: "^ttcn3.*-msc-test.*" - ttcn3-sgsn-test-latest: - blocking: "^ttcn3-sgsn-test.*" + blocking: "^ttcn3.*-sgsn-test.*" - ttcn3-sip-test-latest: - blocking: "^ttcn3-sip-test.*" + blocking: "^ttcn3.*-sip-test.*" - ttcn3-pcu-test-latest: - blocking: "^ttcn3-pcu-test.*" + blocking: "^ttcn3.*-pcu-test.*" - ttcn3-pcu-test-sns-latest: - blocking: "^ttcn3-pcu-test-sns.*" + blocking: "^ttcn3.*-pcu-test-sns.*" - ttcn3-bscnat-test-latest: - blocking: "^ttcn3-bscnat-test.*" + blocking: "^ttcn3.*-bscnat-test.*" - ttcn3-remsim-test-latest: - blocking: "^ttcn3-remsim-test.*" + blocking: "^ttcn3.*-remsim-test.*" - ttcn3-stp-test-latest: - blocking: "^ttcn3-stp-test.*" + blocking: "^ttcn3.*-stp-test.*" #- ttcn3-sccp-test-latest: - # blocking: "^ttcn3-sccp-test.*" + # blocking: "^ttcn3.*-sccp-test.*" + + # centos8 nightly + - ttcn3-centos8-mgw-test: + blocking: "^ttcn3.*-mgw-test.*" - job-template: name: '{job-name}' project-type: freestyle @@ -107,13 +111,29 @@ builders: - shell: |- case "{job-name}" in + *-centos8-*-latest) + cd "$(echo "{job-name}" | sed s/^ttcn3-centos8\-/ttcn3-/ | sed s/\-latest$//)" + export DISTRO="centos8" + export IMAGE_SUFFIX="latest" + ./jenkins.sh + ;; + *-centos8-*) + cd "$(echo "{job-name}" | sed s/^ttcn3-centos8\-/ttcn3-/)" + export DISTRO="centos8" + export IMAGE_SUFFIX="master" + ./jenkins.sh + ;; *-latest) cd "$(echo "{job-name}" | sed s/\-latest$//)" - IMAGE_SUFFIX="latest" ./jenkins.sh + export DISTRO="debian-stretch" + export IMAGE_SUFFIX="latest" + ./jenkins.sh ;; *) cd "{job-name}" - IMAGE_SUFFIX="master" ./jenkins.sh + export DISTRO="debian-stretch" + export IMAGE_SUFFIX="master" + ./jenkins.sh ;; esac scm: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:25:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:25:54 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh File centos8-titan/install_libfftranscode.sh: https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh at 2 PS1, Line 2: # Hack: extract contents of libfftranscode debian archives to / Maybe worth creating a ticket remembering to create rpms compiled in cetos and upload them to ftp.osmocom.org? Or we are fine this way? https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh at 11 PS1, Line 11: mkdir /tmp/extract tmpdir=$(mktemp -d) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:25:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:27:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:27:16 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO, DOCKER_TAG arguments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO, DOCKER_TAG arguments ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18552/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/docker-playground/+/18552/1//COMMIT_MSG at 11 PS1, Line 11: and centos as "latest". The next commits will make use of the new so centos is going to be named "centos-latest" or alike? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:27:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:28:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:28:29 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh at 16 PS1, Line 16: echo "centos8" centos8-latest? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:28:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:29:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:29:50 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile File osmo-mgw-master/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile at 5 PS1, Line 5: ARG DISTRO > Repeating DISTRO here is on purpose, ARG needs to be specified again after FROM. Please leave a comment there saying that. https://gerrit.osmocom.org/c/docker-playground/+/18554/1/ttcn3-mgw-test/Dockerfile File ttcn3-mgw-test/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/18554/1/ttcn3-mgw-test/Dockerfile at 5 PS1, Line 5: You don't need to set ARG here twice? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:29:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:29:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:29:54 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh File centos8-titan/install_libfftranscode.sh: https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh at 11 PS1, Line 11: mkdir /tmp/extract > tmpdir=$(mktemp -d) No need to use a random temporary directory here. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:29:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:31:09 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:31:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: get rid of meaningless bts_nr argument In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 ) Change subject: pcu/GPRS_Components: get rid of meaningless bts_nr argument ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b639d179db259bf0e43cf1929447a44d5736f62 Gerrit-Change-Number: 18544 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:31:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:31:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 28 May 2020 15:31:23 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO, DOCKER_TAG arguments In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO, DOCKER_TAG arguments ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18552/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/docker-playground/+/18552/1//COMMIT_MSG at 11 PS1, Line 11: and centos as "latest". The next commits will make use of the new > so centos is going to be named "centos-latest" or alike? No, the docker tag is at the end. centos8: osmo-mgw-master:centos8 debian-stretch (keeping "latest" for backwards compatibility): osmo-mgw-master:latest -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:31:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:31:30 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:31:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: call f_shutdown() immediately on timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 ) Change subject: pcu/GPRS_Components: call f_shutdown() immediately on timeout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fa31d95ea393aaf80d8f6c03c3fcf3484daa565 Gerrit-Change-Number: 18545 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:31:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:32:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:32:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 ) Change subject: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I585a1933dfb2119f1d3223b24db191282fd698b7 Gerrit-Change-Number: 18546 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:32:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:38:34 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:38:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 8: (4 comments) I'm fine with having lower layer APIs, but let's add low layer APIs which re-use data structures we have instead of having to pass parameters to them. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 361 PS8, Line 361: f_pcuif_tx_data_ind(data, ms.lqual_cb, fn); So you are the one hating extra abstraction layers and you are re-adding one here. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 561 PS8, Line 561: function f_establish_tbf(out GsmRrMessage rr_imm_ass, So now we'll have 2 APIs doing similart stuff (establishing a UL TBF), f_establish_tbf and f_ms_establish_ul_tbf . Really? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 591 PS8, Line 591: function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) I precisely wanted to get rid of these APIs where you stil labstract stuff but need to keep passing parameters every time. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/PCU_selftest.ttcn File pcu/PCU_selftest.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/PCU_selftest.ttcn at 294 PS8, Line 294: f_pcuif_tx_data_ind(data, 0, 0); What's wrong with usijng the MS APIs here? What if I want to test more complex stuff or APIs here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:38:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:40:52 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:40:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 ) Change subject: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ide6a00348b81a637309644be82a523c99f9fd30a Gerrit-Change-Number: 18547 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:40:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:48:20 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:48:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup pcu/GPRS_Components: do not duplicate existing functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 ) Change subject: fixup pcu/GPRS_Components: do not duplicate existing functions ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/GPRS_Components.ttcn at 286 PS2, Line 286: rr_imm_ass := f_establish_tbf(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); So with your changes we are basically adding a new layer of abstraction, which is something which I was precisely trying to avoid by dropping old functions, in order for later to be able to access BTS port in a better way to handle stuff in parallel. You are simply undoing my changes which will somehow need work on later. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/PCU_Tests.ttcn at 288 PS2, Line 288: var OCT4 tlli := f_rnd_octstring(4); So let's back again to having several variables all around on each test. Hurray! -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 Gerrit-Change-Number: 18548 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:48:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:49:46 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:49:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:49:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:57:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:57:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:57:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 15:57:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 15:57:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup pcu/GPRS_Components: do not duplicate existing functions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 ) Change subject: fixup pcu/GPRS_Components: do not duplicate existing functions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 Gerrit-Change-Number: 18548 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 15:57:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 16:30:55 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 16:30:55 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if: Clarify {SET; ADJ}POWER TRXC commands References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 ) Change subject: trx_if: Clarify {SET;ADJ}POWER TRXC commands ...................................................................... trx_if: Clarify {SET;ADJ}POWER TRXC commands Change-Id: I4f1986a1ace3fc9cbef10fc0508407a3d608670b --- M common/chapters/trx_if.adoc 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/56/18556/1 diff --git a/common/chapters/trx_if.adoc b/common/chapters/trx_if.adoc index d9f074a..f953551 100644 --- a/common/chapters/trx_if.adoc +++ b/common/chapters/trx_if.adoc @@ -74,16 +74,18 @@ RSP POWERON ---- -`SETPOWER` sets output power in dB wrt full scale. -This command fails if the transmitter and receiver are not running. +`SETPOWER` sets transmit power attenuation wrt the nominal transmit power of +the transceiver, in dB. This command fails if the transmitter and receiver are +not running. ---- CMD SETPOWER RSP SETPOWER ---- -`ADJPOWER` adjusts power by the given dB step. Response returns resulting power -level wrt full scale. This command fails if the transmitter and receiver are not -running. +`ADJPOWER` adjusts by the given dB the transmit power attenuation of the +transceiver. Response returns resulting transmit power attenuation wrt the +nominal transmit power of the transceiver. This command fails if the transmitter +and receiver are not running. ---- CMD ADJPOWER RSP ADJPOWER -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 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: I4f1986a1ace3fc9cbef10fc0508407a3d608670b Gerrit-Change-Number: 18556 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 16:51:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 16:51:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... Patch Set 8: Code-Review+2 (3 comments) > I'm fine with having lower layer APIs, but let's add low layer APIs which re-use data structures we have instead of having to pass parameters to them. It looks like we have different opinions on what is low level and what is high level. To me, your new stateful API is high level compared to the old code. Again, I am not against keeping all state parameters in a single record - this is definitely nice for those complex test cases you're mostly working on. Meanwhile, I am mostly writing simple test cases sending just a couple of messages to the IUT, so I don't really want/need any additional abstraction like MS object in my code. I am not asking you to keep using the old API for complex test cases, while you insist that everybody should use your new API. Let's make everybody equally happy, and keep at least some part of the old code, in particular those three functions. And finally, let's get this change merged. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 361 PS8, Line 361: f_pcuif_tx_data_ind(data, ms.lqual_cb, fn); > So you are the one hating extra abstraction layers and you are re-adding one here. Well, I would remove this function too. I was just afraid that your pending test cases (in a private branch, or on the local host) might be using it. In your original change, f_pcuif_tx_data_ind() was just renamed and moved here - no functional changes. I kept the original function for small and simple test cases, where I don't want to dance with GprsMS just because I need to send a DATA.ind. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 561 PS8, Line 561: function f_establish_tbf(out GsmRrMessage rr_imm_ass, > So now we'll have 2 APIs doing similart stuff (establishing a UL TBF), f_establish_tbf and f_ms_esta [?] We should just rename it to f_pcuif_tx_rach_rx_imm_ass(), because that's exactly what it does. Your high-level f_ms_establish_ul_tbf() gives you a TBF object, this function is low-level because it sends one message and receives another in response with a bit of pattern matching. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/8/pcu/GPRS_Components.ttcn at 591 PS8, Line 591: function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) > I precisely wanted to get rid of these APIs where you stil labstract stuff but need to keep passing [?] Is it really that problematic to pass one (mandatory) parameter? I would agree with you if there were many, but definitely not in this case. The second one is used only in those test cases which test the link quality adaptation, while 'fn' is never passed explicitly in the current code. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 16:51:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:18 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup pcu/GPRS_Components: do not duplicate existing functions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 ) Change subject: fixup pcu/GPRS_Components: do not duplicate existing functions ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548/2/pcu/PCU_Tests.ttcn at 288 PS2, Line 288: var OCT4 tlli := f_rnd_octstring(4); > So let's back again to having several variables all around on each test. [?] Is there a limitation on how many variables one can define within a test case? Really, 2 variables vs 1? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 Gerrit-Change-Number: 18548 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 17:00:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: get rid of meaningless bts_nr argument In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 ) Change subject: pcu/GPRS_Components: get rid of meaningless bts_nr argument ...................................................................... pcu/GPRS_Components: get rid of meaningless bts_nr argument We don't (yet) support multi-BTS test cases anyway. Ideally, each virtual BTS would be a separate component with an individual port. Change-Id: I8b639d179db259bf0e43cf1929447a44d5736f62 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 6 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index cbb6cda..1bda189 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -171,8 +171,7 @@ function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, - template GsmRrMessage t_imm_ass := ?, - uint8_t bts_nr := 0) + template GsmRrMessage t_imm_ass := ?) runs on MS_BTS_IFACE_CT return boolean { var PCUIF_Message pcu_msg; var octetstring data; @@ -180,7 +179,7 @@ T.start(2.0); alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, sapi := sapi, data := ?)) -> value pcu_msg { /* On PCH the payload is prefixed with paging group (3 octets): skip it. * TODO: add an additional template parameter, so we can match it. */ @@ -213,7 +212,7 @@ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint8_t bts_nr := 0, +function f_establish_tbf(out GsmRrMessage rr_imm_ass, uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, @@ -226,7 +225,7 @@ /* Send RACH.ind */ log("Sending RACH.ind on fn=", fn, " with RA=", ra, ", TA=", ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0, + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, ra := ra, is_11bit := is_11bit, burst_type := burst_type, fn := fn, arfcn := 871, @@ -239,8 +238,7 @@ /* Expect Immediate (TBF) Assignment on TS0/AGCH */ return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn), - bts_nr := bts_nr); + tr_IMM_TBF_ASS(false, ra, fn)); } function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8a1a425..9e7c92b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -263,7 +263,7 @@ * at some point the PCU will fail to allocate a new TBF. */ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, bts_nr := 0, ta := ta); + ok := f_establish_tbf(rr_msg, ta := ta); if (not ok) { setverdict(fail, "Failed to establish an Uplink TBF"); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8b639d179db259bf0e43cf1929447a44d5736f62 Gerrit-Change-Number: 18544 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: call f_shutdown() immediately on timeout In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 ) Change subject: pcu/GPRS_Components: call f_shutdown() immediately on timeout ...................................................................... pcu/GPRS_Components: call f_shutdown() immediately on timeout Change-Id: I1fa31d95ea393aaf80d8f6c03c3fcf3484daa565 --- M pcu/GPRS_Components.ttcn 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 1bda189..a85cd5e 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -202,6 +202,7 @@ [] BTS.receive { repeat; } [] T.timeout { setverdict(fail, "Timeout waiting for Immediate Assignment"); + f_shutdown(__BFILE__, __LINE__); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1fa31d95ea393aaf80d8f6c03c3fcf3484daa565 Gerrit-Change-Number: 18545 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 ) Change subject: pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() ...................................................................... pcu/GPRS_Components: send DATA.cnf in f_pcuif_rx_imm_ass() The IUT expects a confirmation when Immediate Assignment is sent on PCH. Change-Id: I585a1933dfb2119f1d3223b24db191282fd698b7 --- M pcu/GPRS_Components.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index a85cd5e..7eff399 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -196,6 +196,12 @@ } log("Rx Immediate Assignment: ", rr_imm_ass); + + /* Send DATA.cnf back to the IUT (only needed for PCH) */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + f_pcuif_tx_data_cnf(pcu_msg); + } + setverdict(pass); return true; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I585a1933dfb2119f1d3223b24db191282fd698b7 Gerrit-Change-Number: 18546 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Refactor GPRS infrastructure to keep state and simplify tests In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 ) Change subject: pcu: Refactor GPRS infrastructure to keep state and simplify tests ...................................................................... pcu: Refactor GPRS infrastructure to keep state and simplify tests Before this patch, each test had to somehow keep state for all the transactions needed. Now, most of the state is moved to generic GprsMS, UlTbf and DlTbf structures, and APIs to maintain its state, as well as function helpers to submit or receive messages from it. For now specially the Tx side was improved, some of the Rx parts are left for later and are still using the old APIs. This will allow for more complex scenarios and more complex tests running several MS. All the tests were updated to use the new APIs, reworked when needed and even totally rewritten in some cases since they were doing inconsistent/wrong stuff from the point of view of what the scenarios or code paths they were expected to test. There's no test regressions. Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 631 insertions(+), 562 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved fixeria: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 7eff399..c0630a6 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -44,16 +44,83 @@ import from Native_Functions all; import from SGSN_Components all; +type union PacketDlAssignChan { + PacketDlAssign ccch, + PacketDlAssignment pacch +}; + +type record DlTbf { + GsmRrMessage rr_imm_ass, + PacketDlAssignChan ass, + uint5_t tfi, + AckNackDescription acknack_desc +}; + +type union PacketUlAssignChan { + PacketUlAssign ccch, + EgprsUlAss ccch_egprs, + PacketUlAssignment pacch +}; + +type record UlTbf { + GsmRrMessage rr_imm_ass, + PacketUlAssignChan ass, + uint5_t tfi, + boolean is_egprs, + uint14_t bsn, + CodingScheme tx_cs_mcs +}; + +type record GprsMS { + hexstring imsi, + GprsTlli tlli, + uint16_t ra, + uint8_t ra_is_11bit, + PCUIF_BurstType burst_type, + TimingAdvance ta, + int16_t lqual_cb, + UlTbf ul_tbf optional, /* TODO: Only 1 UL tbf supported for now */ + DlTbf dl_tbf optional /* TODO: Only 1 DL tbf supported for now */ +}; +type record of GprsMS GprsMSArray; + +template AckNackDescription t_AckNackDescription_init := { + final_ack := '0'B, + starting_seq_nr := 0, + receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +} + +template (value) GprsMS t_GprsMS_def := { + imsi := f_gen_imsi(42), + tlli := '00000001'O, + ra := bit2int(chan_req_def), + ra_is_11bit := 0, + burst_type := BURST_TYPE_0, + ta := 0, + lqual_cb := 0, + ul_tbf := omit, + dl_tbf := omit +}; + type component MS_BTS_IFACE_CT { /* Virtual BTS component */ var RAW_PCU_BTS_CT vc_BTS; /* Connection to the BTS component (one for now) */ port RAW_PCU_MSG_PT BTS; + /* Support only 1 ms for now */ + var GprsMS g_ms[1]; + /* Value at which Countdown Procedure starts. Announced by network (GPRS Cell Options as per TS 04.60 Chapter 12.24) */ var uint4_t g_bs_cv_max := 4; } +function f_init_gprs_ms(template (value) GprsMS ms_params := t_GprsMS_def) runs on MS_BTS_IFACE_CT +{ + g_ms[0] := valueof(ms_params); +} + + function f_shutdown(charstring file, integer line, boolean final := false) runs on MS_BTS_IFACE_CT { @@ -74,10 +141,275 @@ mtc.stop; } -template AckNackDescription t_AckNackDescription_init := { - final_ack := '0'B, - starting_seq_nr := 0, - receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B +function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) +runs on MS_BTS_IFACE_CT return UlTbf { + var UlTbf ul_tbf; + + ul_tbf.rr_imm_ass := rr_imm_ass; + ul_tbf.bsn := 0; + + /* Make sure we received an UL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { + ul_tbf.ass.ccch := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; + log("Rx Uplink TBF GPRS assignment: ", ul_tbf.ass.ccch); + ul_tbf.is_egprs := false; + if (match(ul_tbf.ass.ccch, tr_PacketUlDynAssign)) { + ul_tbf.tfi := ul_tbf.ass.ccch.dynamic.tfi_assignment; + } else if (match(ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { + /* Nothing to do here yet */ + } + } else if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_EGPRSULAss(?)))) { + ul_tbf.ass.ccch_egprs := rr_imm_ass.payload.imm_ass.rest_octets.lh.egprs_ul; + log("Rx Uplink TBF EGPRS assignment: ", ul_tbf.ass.ccch_egprs); + ul_tbf.is_egprs := true; + if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssDynamic)) { + ul_tbf.tfi := ul_tbf.ass.ccch_egprs.dynamic.tfi_assignment; + } else if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssMultiblock)) { + /* Nothing to do here yet */ + } + } else { + setverdict(fail, "Failed to match UL TBF Assignment: ", rr_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + + setverdict(pass); + return ul_tbf; +} + +function f_ultbf_new_from_ass_pacch(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return UlTbf { + var UlTbf ul_tbf; + + ul_tbf.ass.pacch := dl_block.ctrl.payload.u.ul_assignment; + ul_tbf.bsn := 0; + ul_tbf.tx_cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); + ul_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); + /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_ul_ass */ + + /* TODO: support single block allocation */ + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { + ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; + ul_tbf.is_egprs := false; + } + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; + ul_tbf.is_egprs := true; + } + return ul_tbf; +} + +function f_dltbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass, template PacketDlAssign dl_ass := tr_PacketDlAssign(?)) +runs on MS_BTS_IFACE_CT return DlTbf { + var DlTbf dl_tbf; + + dl_tbf.rr_imm_ass := rr_imm_ass; + dl_tbf.acknack_desc := valueof(t_AckNackDescription_init); + + /* Make sure we received a DL TBF Assignment */ + if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(dl_ass)))) { + dl_tbf.ass.ccch := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; + log("Rx Downlink TBF assignment: ", dl_tbf.ass); + } else { + setverdict(fail, "Failed to match DL TBF Assignment: ", rr_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + + /* TODO: match TLLI */ + if (dl_tbf.ass.ccch.group1_present == '1'B) { + dl_tbf.tfi := dl_tbf.ass.ccch.group1.tfi_assignment; + } else { + setverdict(fail, "Immediate Assignment contains no DL TFI"); + f_shutdown(__BFILE__, __LINE__); + } + + setverdict(pass); + return dl_tbf; +} + +/* TODO: get stuff from f_rx_rlcmac_dl_block_exp_pkt_ass */ +function f_dltbf_new_from_ass_pacch(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return DlTbf { + var DlTbf dl_tbf; + + dl_tbf.ass.pacch := dl_block.ctrl.payload.u.dl_assignment; + dl_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); + /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_dl_ass */ + dl_tbf.acknack_desc := valueof(t_AckNackDescription_init); + return dl_tbf; +} + +function f_ms_use_ra(inout GprsMS ms, uint16_t ra, uint8_t ra_is_11bit := 0) +runs on MS_BTS_IFACE_CT { + ms.ra_is_11bit := ra_is_11bit; + ms.ra := ra; + if (ra_is_11bit == 0) { + ms.burst_type := BURST_TYPE_0; + } else { + ms.burst_type := BURST_TYPE_1; + } +} + +function f_ms_rx_imm_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) +runs on MS_BTS_IFACE_CT return GsmRrMessage { + var PCUIF_Message pcu_msg; + var GsmRrMessage rr_imm_ass; + var octetstring data; + timer T; + + T.start(2.0); + alt { + [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, + sapi := sapi, data := ?)) -> value pcu_msg { + /* On PCH the payload is prefixed with paging group (3 octets): skip it. + * TODO: add an additional template parameter, so we can match it. */ + if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { + data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); + } else { + data := pcu_msg.u.data_req.data; + } + + rr_imm_ass := dec_GsmRrMessage(data); + if (not match(rr_imm_ass, t_imm_ass)) { + /* Not for us? Wait for more. */ + repeat; + } + + log("Rx Immediate Assignment: ", rr_imm_ass); + f_pcuif_tx_data_cnf(pcu_msg); + setverdict(pass); + return rr_imm_ass; + } + [] BTS.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout waiting for Immediate Assignment"); + f_shutdown(__BFILE__, __LINE__); + } + } + return rr_imm_ass; /* make compiler happy */ +} + +function f_ms_rx_imm_ass_pacch(inout GprsMS ms, out uint32_t poll_fn, template RlcmacDlBlock t_imm_ass := ?) +runs on MS_BTS_IFACE_CT return RlcmacDlBlock { + var RlcmacDlBlock dl_block; + var uint32_t dl_fn; + + f_rx_rlcmac_dl_block(dl_block, dl_fn); + if (not match(dl_block, t_imm_ass)) { + setverdict(fail, "Failed to match Packet Assignment:", t_imm_ass); + f_shutdown(__BFILE__, __LINE__); + } + + poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); + + if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS)) { + ms.ul_tbf := f_ultbf_new_from_ass_pacch(dl_block); + if (ms.ul_tbf.ass.pacch.identity.tlli.tlli != ms.tlli) { + setverdict(fail, "Wrong TLLI ", ms.ul_tbf.ass.pacch.identity.tlli, " received vs exp ", ms.tlli); + f_shutdown(__BFILE__, __LINE__); + } + } else if (match(dl_block, tr_RLCMAC_DL_PACKET_ASS)) { + ms.dl_tbf := f_dltbf_new_from_ass_pacch(dl_block); + /* TODO: match tlli from ms.dl_tbf.ass.pacch with ms.tlli), or error */ + } else { + setverdict(fail, "Should not happen:", dl_block); + f_shutdown(__BFILE__, __LINE__); + } + + return dl_block; +} + +function f_ms_establish_ul_tbf(inout GprsMS ms, uint32_t fn := 1337) +runs on MS_BTS_IFACE_CT { + var GsmRrMessage rr_imm_ass; + var uint8_t exp_ra; + + /* Send RACH.ind */ + log("Sending RACH.ind on fn=", fn, " with RA=", ms.ra, ", TA=", ms.ta); + BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, + ra := ms.ra, is_11bit := ms.ra_is_11bit, + burst_type := ms.burst_type, + fn := fn, arfcn := 871, + qta := ms.ta * 4)); + + /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 + * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here + * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ + if (ms.ra_is_11bit == 0) { + exp_ra := ms.ra; + } else { + exp_ra := 127; + } + + /* Expect Immediate (TBF) Assignment on TS0/AGCH */ + rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_AGCH, + tr_IMM_TBF_ASS(false, exp_ra, fn)); + + ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); +} + +function f_ms_exp_dl_tbf_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) +runs on MS_BTS_IFACE_CT { + var GsmRrMessage rr_imm_ass; + + rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, sapi, t_imm_ass); + ms.dl_tbf := f_dltbf_new_from_rr_imm_ass(rr_imm_ass, tr_PacketDlAssign(ms.tlli)); +} + +/* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ +function f_ms_tx_data_ind(inout GprsMS ms, octetstring data, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT { + f_pcuif_tx_data_ind(data, ms.lqual_cb, fn); +} + +function f_ms_tx_ul_block(inout GprsMS ms, template (value) RlcmacUlBlock ul_data, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT return integer { + var octetstring data; + var integer padding_len; + /* Encode the payload of DATA.ind */ + data := enc_RlcmacUlBlock(valueof(ul_data)); + padding_len := 23 - lengthof(data); + data := f_pad_oct(data, 23, '00'O); /* CS-1 */ + + /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ + f_ms_tx_data_ind(ms, data, fn); + return padding_len; +} + +/* FIXME: Only supports sending CS-1 so far */ +function f_ms_tx_ul_data_block(inout GprsMS ms, octetstring payload, uint4_t cv := 15, boolean with_tlli := false, uint32_t fn := 0) +runs on MS_BTS_IFACE_CT return integer { + var template (value) RlcmacUlBlock ul_data; + ul_data := t_RLCMAC_UL_DATA(tfi := ms.ul_tbf.tfi, + cv := cv, + bsn := ms.ul_tbf.bsn, + blocks := {t_RLCMAC_LLCBLOCK(payload)}); + if (with_tlli) { + ul_data.data.mac_hdr.tlli_ind := true; + ul_data.data.tlli := ms.tlli; + } + ms.ul_tbf.bsn := ms.ul_tbf.bsn + 1; + ms.ul_tbf.bsn := ms.ul_tbf.bsn mod 128; /* FIXME: EGPRS SNS: 2048 */ + return f_ms_tx_ul_block(ms, ul_data, fn); + +} + +/* Send random payload for last "num_blocks" blocks in Ul TBF (ending with CV=0). */ +function f_ms_tx_ul_data_block_multi(inout GprsMS ms, integer num_blocks := 1, boolean with_tlli := false) +runs on MS_BTS_IFACE_CT return octetstring { + var octetstring total_payload := ''O; + + for (var integer i := 0; i < num_blocks; i := i + 1) { + var integer padding_len; + var octetstring payload := f_rnd_octstring(10); + /* Prepare a new UL block (CV, random payload) */ + var integer cv := num_blocks - i - 1; + if (cv > g_bs_cv_max) { + cv := 15; + } + padding_len := f_ms_tx_ul_data_block(ms, payload, cv := cv, with_tlli := with_tlli) + total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); + } + return total_payload; } function f_rlcmac_dl_block_get_tfi(RlcmacDlBlock dl_block) @@ -93,6 +425,9 @@ if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { return dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; } + if (match(dl_block, tr_RLCMAC_DL_PACKET_ASS(?))) { + return dl_block.ctrl.payload.u.dl_assignment.dl_tfi_assignment; + } } setverdict(fail, "DlBlock doesn't contain a TFI:", dl_block); f_shutdown(__BFILE__, __LINE__); @@ -169,6 +504,10 @@ BTS.send(pcu_msg_cnf); } +//////////////////////// +// OLD APIs +//////////////////////// + function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) @@ -248,34 +587,6 @@ tr_IMM_TBF_ASS(false, ra, fn)); } -function f_imm_ass_verify_ul_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass, template PacketUlAssign ul_ass := tr_PacketUlDynAssign) -runs on MS_BTS_IFACE_CT { - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(ul_ass)))) { - ul_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment: ", ul_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match UL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - -function f_imm_ass_verify_dl_tbf_ass(in GsmRrMessage rr_imm_ass, out PacketDlAssign dl_tbf_ass) -runs on MS_BTS_IFACE_CT { - - /* Make sure we received a DL TBF Assignment */ - if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := true, rest := tr_IaRestOctets_DLAss(?)))) { - dl_tbf_ass := rr_imm_ass.payload.imm_ass.rest_octets.hh.pa.uldl.ass.dl; - log("Rx Downlink TBF assignment: ", dl_tbf_ass); - setverdict(pass); - } else { - setverdict(fail, "Failed to match DL TBF Assignment"); - f_shutdown(__BFILE__, __LINE__); - } -} - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ function f_pcuif_tx_data_ind(octetstring data, int16_t lqual_cb := 0, uint32_t fn := 0) runs on MS_BTS_IFACE_CT { @@ -299,23 +610,6 @@ sapi := PCU_IF_SAPI_PDTCH)) -> value pcu_msg; } -/* Expect an Immediate Assignment (paging) from PCU on PCUIF on specified sapi. */ -function f_pcuif_rx_pch_imm_tbf_ass(out GsmRrMessage rr_imm_ass) -runs on MS_BTS_IFACE_CT { - var PCUIF_Message pcu_msg; - var octetstring macblock; - BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := PCU_IF_SAPI_PCH)) -> value pcu_msg; - /* First 3 bytes contain paging group: */ - macblock := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - rr_imm_ass := dec_GsmRrMessage(macblock); - if (not match(rr_imm_ass, tr_IMM_TBF_ASS())) { - setverdict(fail, "Failed to match Immediate Assignment: ", rr_imm_ass); - f_shutdown(__BFILE__, __LINE__); - } - f_pcuif_tx_data_cnf(pcu_msg); -} - /* Expect a Paging Request Type 1 from PCU on PCUIF on specified sapi. */ function f_pcuif_rx_pch_pag_req1(template MobileIdentityV mi1 := ?, template integer pag_group := ?) @@ -353,56 +647,6 @@ return rr_pag_req1; } -/* Send one rlcmac UL block adding necessary extra padding at the end. - * returns length of extra padding added at the end, in octets. - * FIXME: Only supports CS-1 so far. - */ -function f_tx_rlcmac_ul_block(template (value) RlcmacUlBlock ul_data, int16_t lqual_cb := 0, uint32_t fn := 0) -runs on MS_BTS_IFACE_CT return integer { - var octetstring data; - var integer padding_len; - /* Encode the payload of DATA.ind */ - data := enc_RlcmacUlBlock(valueof(ul_data)); - padding_len := 23 - lengthof(data); - data := f_pad_oct(data, 23, '00'O); /* CS-1 */ - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_pcuif_tx_data_ind(data, lqual_cb, fn); - return padding_len; -} - -function f_tx_rlcmac_ul_n_blocks(uint5_t tfi, inout uint14_t bsn, integer num_blocks := 1, template (omit) GprsTlli tlli := omit) -runs on MS_BTS_IFACE_CT return octetstring { - var octetstring total_payload := ''O; - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := tfi, - cv := 15, /* num UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* To be generated in loop */ - blocks := { /* To be generated in loop */ }); - - if (not istemplatekind(tlli, "omit")) { - ul_data.data.mac_hdr.tlli_ind := true; - ul_data.data.tlli := tlli; - } - - for (var integer i := 0; i < num_blocks; i := i + 1) { - var integer padding_len; - var octetstring payload := f_rnd_octstring(10); - /* Prepare a new UL block (CV, random payload) */ - var integer cv := num_blocks - i - 1; - if (cv > g_bs_cv_max) { - cv := 15; - } - ul_data.data.mac_hdr.countdown := cv; - ul_data.data.mac_hdr.bsn := bsn + i; - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }; - padding_len := f_tx_rlcmac_ul_block(ul_data); - total_payload := total_payload & payload & f_pad_oct(''O, padding_len, '00'O); - } - bsn := valueof(ul_data.data.mac_hdr.bsn) + 1; /* update bsn to point to next one */ - return total_payload; -} - function f_rx_rlcmac_dl_block(out RlcmacDlBlock dl_block, out uint32_t dl_fn, template (present) CodingScheme exp_cs_mcs := ?) runs on MS_BTS_IFACE_CT { var PCUIF_Message pcu_msg; @@ -443,46 +687,6 @@ } } -function f_rx_rlcmac_dl_block_exp_pkt_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -function f_rx_rlcmac_dl_block_exp_pkt_ul_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_UL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Uplink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - -function f_rx_rlcmac_dl_block_exp_pkt_dl_ass(out RlcmacDlBlock dl_block, out uint32_t poll_fn) -runs on MS_BTS_IFACE_CT { - var uint32_t dl_fn; - - f_rx_rlcmac_dl_block(dl_block, dl_fn); - if (not match(dl_block, tr_RLCMAC_DL_PACKET_ASS())) { - setverdict(fail, "Failed to match Packet Downlink Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - - poll_fn := f_rrbp_ack_fn(dl_fn, dl_block.ctrl.mac_hdr.rrbp); -} - - function f_rx_rlcmac_dl_block_exp_pkt_pag_req(out RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT { var uint32_t dl_fn; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 9e7c92b..ca37431 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -253,9 +253,11 @@ /* Test of correct Timing Advance at the time of TBF establishment * (derived from timing offset of the Access Burst). */ testcase TC_ta_rach_imm_ass() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; - var boolean ok; + var GprsMS ms; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -263,16 +265,13 @@ * at some point the PCU will fail to allocate a new TBF. */ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ - ok := f_establish_tbf(rr_msg, ta := ta); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF"); - break; - } + ms.ta := ta; + f_ms_establish_ul_tbf(ms, fn := 1337 + ta); /* Make sure Timing Advance IE matches out expectations */ - if (rr_msg.payload.imm_ass.timing_advance != ta) { + if (ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance != ta) { setverdict(fail, "Timing Advance mismatch: ", - rr_msg.payload.imm_ass.timing_advance, + ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance, " vs expected ", ta); break; } @@ -286,30 +285,29 @@ * IUT that causes it to send an unreasonable Timing Advance value > 0 despite * no active TBF exists at the moment of establishment (idle mode). */ testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var OCT4 tlli := f_rnd_octstring(4); - var GsmRrMessage rr_imm_ass; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will initiate Packet Downlink * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); // TODO: match by TLLI! + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(10))); /* Make sure that Timing Advance is 0 (the actual value is not known yet). * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - if (not match(rr_imm_ass, tr_IMM_TBF_ASS(ta := 0))) { - setverdict(fail, "Timing Advance value doesn't match"); - } + f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(ta := 0)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -460,9 +458,11 @@ testcase TC_ta_ptcch_ul_multi_tbf() runs on RAW_PCU_Test_CT { var template PacketUlAssign t_ul_tbf_ass; - var PacketUlAssign ul_tbf_ass[7]; - var GsmRrMessage rr_msg[7]; - var boolean ok; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -472,30 +472,18 @@ /* Establish 7 Uplink TBFs (USF flag is 3 bits long, '111'B is reserved) */ for (var integer i := 0; i < 7; i := i + 1) { - ok := f_establish_tbf(rr_msg[i], ta := 0); - if (not ok) { - setverdict(fail, "Failed to establish an Uplink TBF #", i); - break; - } - - /* Make sure we received an UL TBF Assignment */ - if (match(rr_msg[i], tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { - ul_tbf_ass[i] := rr_msg[i].payload.imm_ass.rest_octets.hh.pa.uldl.ass.ul; - log("Rx Uplink TBF assignment for #", i, ": ", ul_tbf_ass[i]); - } else { - setverdict(fail, "Failed to match UL TBF Assignment for #", i); - break; - } + /* Establish an Uplink TBF */ + f_ms_establish_ul_tbf(ms); /* We expect incremental TFI/USF assignment (dynamic allocation) */ t_ul_tbf_ass := tr_PacketUlDynAssign(tfi := i, usf := i); - if (not match(ul_tbf_ass[i], t_ul_tbf_ass)) { + if (not match(ms.ul_tbf.ass.ccch, t_ul_tbf_ass)) { setverdict(fail, "Failed to match Packet Uplink Assignment for #", i); break; } /* We also expect Timing Advance Index to be a part of the assignment */ - if (ul_tbf_ass[i].dynamic.ta_index != i) { + if (ms.ul_tbf.ass.ccch.dynamic.ta_index != i) { setverdict(fail, "Failed to match Timing Advance Index for #", i); /* Keep going, the current OsmoPCU does not assign TA Index */ } @@ -540,13 +528,14 @@ private template integer CS4_lqual_dB_range := (12 .. infinity); testcase TC_cs_lqual_ul_tbf() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; - var uint32_t unused_fn; + var GprsMS ms; + var uint32_t unused_fn, sched_fn; + var uint4_t cv; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -555,47 +544,51 @@ f_pcuvty_set_link_quality_ranges(); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); - - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; /* The actual / old link quality values. We need to keep track of the old * (basically previous) link quality value, because OsmoPCU actually * changes the coding scheme if not only the actual, but also the old * value leaves the current link quality range (window). */ - var integer lqual := 0; var integer lqual_old; + ms.lqual_cb := 0; - /* 16 UL blocks (0 .. 15 dB, step = 1 dB) */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); + /* 16 UL blocks (0 .. 15 dB, step = 1 cB) */ + for (var integer i := 150; i >= 0; i := i - 1) { /* Update the old / actual link quality */ - lqual_old := lqual; - lqual := i; + lqual_old := ms.lqual_cb; + ms.lqual_cb := 150 - i; /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - log("Sending DATA.ind with link quality (dB): ", lqual); - f_tx_rlcmac_ul_block(ul_data, lqual * 10); + log("Sending DATA.ind with link quality (dB): ", ms.lqual_cb); + if (i > g_bs_cv_max) { + cv := 15; + } else { + cv := i; + } - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := cv) + + /* we will receive UL ACK/NACK from time to time. In that case, check CdCofing increases */ + f_rx_rlcmac_dl_block(dl_block, unused_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and + not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); + } log("Rx Packet Uplink ACK / NACK with Channel Coding Command: ", dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd); @@ -604,7 +597,7 @@ * the link quality value on each iteration and not decreasing, there * is no need to check the both old and current link quality values. */ var template ChCodingCommand ch_coding; - select (lqual_old) { + select (lqual_old / 10) { case (CS1_lqual_dB_range) { ch_coding := CH_CODING_CS1; } case (CS2_lqual_dB_range) { ch_coding := CH_CODING_CS2; } case (CS3_lqual_dB_range) { ch_coding := CH_CODING_CS3; } @@ -621,13 +614,14 @@ /* Test the max UL CS set by VTY works fine */ testcase TC_cs_initial_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var integer lqual_cb; var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; + var uint32_t unused_fn, sched_fn; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -638,62 +632,52 @@ f_pcuvty_set_link_quality_ranges(); /* Take lqual (dB->cB) so that we stay in that CS */ - lqual_cb := g_cs_lqual_ranges[2].low * 10; + ms.lqual_cb := g_cs_lqual_ranges[2].low * 10; /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 3, /* 8 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); + /* Send UL blocks, until we receive UL ACK/NACK and check we are in same initial CS: */ + while (true) { + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 15); + f_rx_rlcmac_dl_block(dl_block, unused_fn); + if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) { + continue; + } - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; + if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and + not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) { + setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block); + f_shutdown(__BFILE__, __LINE__); + break; + } - /* 3 UL blocks, check we are in same initial CS: */ - for (var integer i := 0; i < 3; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, lqual_cb); - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; + break; } - if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } /* Remaining UL blocks are used to make sure regardless of initial /* lqual, we can go lower at any time */ - + /* 0 dB, make sure we downgrade CS */ + ms.lqual_cb := 0; /* 5 UL blocks, check we are in same initial CS: */ - for (var integer i := 3; i < 8; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (7 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 0); /* 0 dB, make sure we downgrade CS */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } + f_ms_tx_ul_data_block_multi(ms, 5); + /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); @@ -704,12 +688,14 @@ /* Test the max UL CS set by VTY works fine */ testcase TC_cs_max_ul() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; var ChCodingCommand last_ch_coding; - var uint32_t unused_fn; + var uint32_t unused_fn, sched_fn; + var GprsMS ms; + + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -720,38 +706,22 @@ f_pcuvty_set_link_quality_ranges(); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + /* Send one UL block (with TLLI since we are in One-Phase Access + contention resoultion) and make sure it is ACKED fine. */ + /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, f_rnd_octstring(16), cv := 15, with_tlli := true) + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); + /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* 16 UL blocks to be sent (to be overridden in loop) */ - bsn := 0, /* TODO: what should be here? */ - blocks := { /* To be generated in loop */ }); + ms.lqual_cb := 40*10; /* 40 dB */ + f_ms_tx_ul_data_block_multi(ms, 16); - /* HACK: patch missing TLLI; otherwise OsmoPCU rejects DATA.req */ - ul_data.data.tlli := '00000001'O; - - /* 16 UL blocks */ - for (var integer i := 0; i < 16; i := i + 1) { - /* Prepare a new UL block (CV, random payload) */ - ul_data.data.mac_hdr.countdown := (15 - i); - ul_data.data.blocks := { valueof(t_RLCMAC_LLCBLOCK(f_rnd_octstring(10))) }; - - /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ - f_tx_rlcmac_ul_block(ul_data, 40*10); /* 40 dB */ - - /* Enqueue RTS.req, expect DATA.req with UL ACK from the PCU */ - f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - - last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; - } + f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); + last_ch_coding := dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd; if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); @@ -763,18 +733,15 @@ /* Verify PCU drops TBF after some time of inactivity. */ testcase TC_t3169() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind; - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; - var octetstring data; - var boolean ok; var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 0; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ info_ind := valueof(ts_PCUIF_INFO_default); /* Set timer to 1 sec (default 5) to speedup test: */ @@ -785,31 +752,22 @@ /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 1, with_tlli := true) f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); - /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + /* UL block should NOT be received in SGSN, since we didn't get CV=0 */ /* Wait until T3169 fires (plus 1 extra sec to make sure) */ f_sleep(int2float(info_ind.t3169) + 1.0); /* Send an UL block once again, the TBF should be gone by now so no ACK */ - bsn := 0; - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1); + f_ms_tx_ul_data_block(ms, f_rnd_octstring(10), cv := 0) f_rx_rlcmac_dl_block_exp_dummy(dl_block); f_shutdown(__BFILE__, __LINE__, final := true); @@ -819,181 +777,149 @@ * release of prev DL TBF due to MS staying in PDCH for a while (T3192, in PCU * T3193) after DL TBF release */ testcase TC_t3193() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; + var GprsMS ms; var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); - /* we are done with the DL-TBF here so far, let's clean up our local state: */ - ack_nack_desc := valueof(t_AckNackDescription_init) + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); /* Now that final DL block is ACKED and TBF is released, T3193 in PCU - (T3192 in MS) was started and until it fires the MS will be abailable + (T3192 in MS) was started and until it fires the MS will be available on PDCH in case new data arrives from SGSN. Let's verify it: */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_ass(dl_block, sched_fn); - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_rx_imm_ass_pacch(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); + + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* Now that we confirmed the new assignment in the dl-tbf, lets receive the data and ack it */ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 1; - var PDU_BSSGP bssgp_pdu; var octetstring total_payload; - var integer padding_len; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine. */ - total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ - var template (value) RlcmacUlBlock ul_data := t_RLCMAC_UL_DATA_TLLI( - tfi := ul_tbf_ass.dynamic.tfi_assignment, - cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ - bsn := 0, - blocks := { valueof(t_RLCMAC_LLCBLOCK(total_payload)) }, - tlli := tlli); - - f_tx_rlcmac_ul_block(ul_data, 0); + total_payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ + /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ + f_ms_tx_ul_data_block(ms, total_payload, cv := 15, with_tlli := true) f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* Send enough blocks to test whole procedure: Until Nth block (N=BS_CV_MAX), CV=15 is sent, and then the decreasing countdown value is sent. */ - total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 20); + total_payload := total_payload & f_ms_tx_ul_data_block_multi(ms, 20); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* receive one message on BSSGP with all aggregated data in payload: */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id, total_payload)); } /* Test scenario where MS wants to send some data on PDCH against SGSN and it is * answered, so TBFs for uplink and later for downlink are created. */ private function f_TC_mo_ping_pong_1phase_access(template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - var uint14_t bsn := 0; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); /* Now SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1013,20 +939,13 @@ template (present) CodingScheme exp_ul_cs_mcs := ?, template (present) CodingScheme exp_dl_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; var uint32_t unused_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); - var CodingScheme cs_mcs; - var uint14_t bsn := 0; + var GprsMS ms; + /* 0111 0xxx: Single block packet access; one block period on a PDCH is needed for two phase packet access or other RR signalling purpose. */ var uint16_t ra := oct2int('70'O); if (g_force_two_phase_access) { @@ -1038,55 +957,52 @@ /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass, ra := ra); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_use_ra(ms, ra, ra_is_11bit := 0); + f_ms_establish_ul_tbf(ms); /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass, tr_PacketUlSglAssign); + if (not match(ms.ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { + setverdict(fail, "Wrong Packet Uplink Assignment received: ", ms.ul_tbf.ass.ccch, " vs exp: ", tr_PacketUlSglAssign); + f_shutdown(__BFILE__, __LINE__); + } /* Send PACKET RESOURCE REQUEST to upgrade to EGPRS * (see 3GPP TS 04.60 "7.1.3.1 Initiation of the Packet resource request procedure") */ - f_tx_rlcmac_ul_block(ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(tlli, ms_racap))), 0); - f_rx_rlcmac_dl_block_exp_pkt_ul_ass(dl_block, sched_fn); - if (dl_block.ctrl.payload.u.ul_assignment.identity.tlli.tlli != tlli) { - setverdict(fail, "Wrong TLLI ", dl_block.ctrl.payload.u.ul_assignment.identity.tlli, " received vs exp ", tlli); - f_shutdown(__BFILE__, __LINE__); - } - cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); - if (not match(cs_mcs, exp_ul_cs_mcs)) { - setverdict(fail, "Wrong CS_MCS ", cs_mcs, " received vs exp ", exp_ul_cs_mcs); + f_ms_tx_ul_block(ms, ts_RLC_UL_CTRL_ACK(valueof(ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, ms_racap))), 0); + f_ms_rx_imm_ass_pacch(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS); + if (not match(ms.ul_tbf.tx_cs_mcs, exp_ul_cs_mcs)) { + setverdict(fail, "Wrong CS_MCS ", ms.ul_tbf.tx_cs_mcs, " received vs exp ", exp_ul_cs_mcs); f_shutdown(__BFILE__, __LINE__); } /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(f_rlcmac_dl_block_get_tfi(dl_block), bsn, 1); /* TODO: send using cs_mcs */ + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); /* TODO: send using cs_mcs */ - //f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); /* Now SGSN sends some DL data, PCU will page on PACCH */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_rx_rlcmac_dl_block_exp_pkt_dl_ass(dl_block, sched_fn); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_rx_imm_ass_pacch(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* PCU acks the UL data after having received CV=0) */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, unused_fn); @@ -1095,9 +1011,9 @@ f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_dl_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.ul_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1152,64 +1068,50 @@ * answered by the MS on PDCH, so TBFs for downlink and later for uplink are created. */ private function f_TC_mt_ping_pong(template (omit) MSRadioAccessCapabilityV_BSSGP ms_racap := omit, template (present) CodingScheme exp_cs_mcs := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; - var PCUIF_Message pcu_msg; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t sched_fn; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 0; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data, ms_racap)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data, ms_racap)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ - f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, 1, tlli); + f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* UL block should be received in SGSN */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1237,123 +1139,102 @@ * be transferred). */ testcase TC_ul_intermediate_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; var template (value) RlcmacUlBlock ul_data; - var boolean ok; var uint32_t sched_fn; - var OCT4 tlli := '00000001'O; - var uint14_t bsn := 5; - var PDU_BSSGP bssgp_pdu; var octetstring total_payload; var octetstring payload; var octetstring lost_payload; - var integer padding_len; var uint5_t tfi; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); - tfi := ul_tbf_ass.dynamic.tfi_assignment; + f_ms_establish_ul_tbf(ms); + tfi := ms.ul_tbf.tfi; /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine. */ payload := f_rnd_octstring(16); /* 16 bytes fills the llc block (because TLLI takes 4 bytes) */ - ul_data := t_RLCMAC_UL_DATA_TLLI( - tfi := tfi, - cv := 15, /* Set CV = 15 to signal there's still more than BS_CV_MAX blocks to be sent */ - bsn := 0, - blocks := { valueof(t_RLCMAC_LLCBLOCK(payload)) }, - tlli := tlli); + f_ms_tx_ul_data_block(ms, payload, cv := 15, with_tlli := true); - f_tx_rlcmac_ul_block(ul_data, 0); f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); total_payload := payload; /* Send 2 packets, skip 1 (inc bsn) and send another one */ payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 1, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 2, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; - lost_payload := f_rnd_octstring(20); /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ + lost_payload := f_rnd_octstring(20); + ms.ul_tbf.bsn := ms.ul_tbf.bsn + 1; /* LOST PAYLOAD bsn=3, will be retransmitted, next bsn is increased +2 */ total_payload := total_payload & lost_payload; payload := f_rnd_octstring(20); /* 20 bytes fills the CS-1 llc block */ - ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 4, blocks := {t_RLCMAC_LLCBLOCK(payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_data_block(ms, payload, cv := 15); total_payload := total_payload & payload; /* Send enough blocks to finish the transmission (since we were sending BSN=15, send BS_CV_MAX packets) */ - total_payload := total_payload & f_tx_rlcmac_ul_n_blocks(ul_tbf_ass.dynamic.tfi_assignment, bsn, g_bs_cv_max); + total_payload := total_payload & f_ms_tx_ul_data_block_multi(ms, g_bs_cv_max); /* On CV=0, we'll receive a UL ACK asking about missing block */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* TODO: check ack ack bitmap (URBB) */ ul_data := t_RLCMAC_UL_DATA(tfi := tfi, cv := 15, bsn := 3, blocks := {t_RLCMAC_LLCBLOCK(lost_payload)}); - f_tx_rlcmac_ul_block(ul_data, 0); + f_ms_tx_ul_block(ms, ul_data); /* Now final ack is recieved */ f_rx_rlcmac_dl_block_exp_ack_nack(dl_block, sched_fn); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ - f_tx_rlcmac_ul_block(ts_RLCMAC_CTRL_ACK(tlli), 0, sched_fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); /* receive one message on BSSGP with all aggregated data in payload: */ - BSSGP[0].receive(tr_BSSGP_UL_UD(tlli, mp_gb_cfg.cell_id, total_payload)); + BSSGP[0].receive(tr_BSSGP_UL_UD(ms.tlli, mp_gb_cfg.cell_id, total_payload)); } /* Verify that if PCU doesn't get an ACK for first DL block after IMM ASS, it * will retry by retransmitting both the IMM ASS + DL block after poll (ack) * timeout occurs (specified by sent RRBP on DL block). */ testcase TC_imm_ass_dl_block_retrans() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketDlAssign dl_tbf_ass; var RlcmacDlBlock dl_block; var octetstring data := f_rnd_octstring(10); - var boolean ok; var uint32_t dl_fn; - var OCT4 tlli := '00000001'O; - var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); @@ -1362,19 +1243,16 @@ /* Now we don't ack the dl block (emulate MS failed receiveing IMM ASS * or GPRS DL, or DL ACK was lost for some reason). As a result, PCU * should retrigger IMM ASS + GPRS DL procedure after poll timeout. */ - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0); /* ACK the DL block */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block, '1'B); - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(f_rlcmac_dl_block_get_tfi(dl_block), ack_nack_desc), - 0, f_dl_block_ack_fn(dl_block, dl_fn)); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); f_shutdown(__BFILE__, __LINE__, final := true); } @@ -1383,44 +1261,36 @@ testcase TC_dl_flow_more_blocks() runs on RAW_PCU_Test_CT { var AckNackDescription ack_nack_desc := valueof(t_AckNackDescription_init); var octetstring data := f_rnd_octstring(16); - var OCT4 tlli := f_rnd_octstring(4); var PacketDlAssign dl_tbf_ass; - var GsmRrMessage rr_imm_ass; var RlcmacDlBlock dl_block; var uint32_t ack_fn; var uint32_t fn; + var GprsMS ms; timer T := 5.0; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); - f_pcuif_rx_pch_imm_tbf_ass(rr_imm_ass); - - /* Make sure we've got a Downlink TBF assignment with DL TFI */ - f_imm_ass_verify_dl_tbf_ass(rr_imm_ass, dl_tbf_ass); - if (not ispresent(dl_tbf_ass.group1)) { - setverdict(fail, "Immediate Assignment contains no DL TFI"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Get DL TFI from received Downlink TBF assignment */ - var uint5_t tfi := dl_tbf_ass.group1.tfi_assignment; + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); /* Wait timer X2002 and DL block is available after CCCH IMM ASS */ f_sleep(X2002); /* Expect the first (GPRS DL) block with bsn=0 and rrbp_valid=1 */ f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, 0); - f_acknackdesc_ack_block(ack_nack_desc, dl_block); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); /* TDMA frame number on which we are supposed to send the ACK */ ack_fn := f_dl_block_ack_fn(dl_block, fn); @@ -1428,30 +1298,30 @@ /* SGSN sends more blocks during the indicated RRBP */ for (var integer bsn := 1; bsn < 63; bsn := bsn + 1) { data := f_rnd_octstring(16); /* Random LLC data */ - BSSGP[0].send(ts_BSSGP_DL_UD(tlli, data)); + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); f_rx_rlcmac_dl_block_exp_data(dl_block, fn, data, bsn); /* Make sure this block has the same TFI as was assigned * FIXME: this is only valid for GPRS, not EGPRS. */ - if (dl_block.data.mac_hdr.hdr_ext.tfi != tfi) { + if (dl_block.data.mac_hdr.hdr_ext.tfi != ms.dl_tbf.tfi) { setverdict(fail, "Rx DL data block with unexpected TFI: ", dl_block.data.mac_hdr.hdr_ext.tfi); f_shutdown(__BFILE__, __LINE__); } /* Keep Ack/Nack description updated */ - f_acknackdesc_ack_block(ack_nack_desc, dl_block); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); /* Break if this is the end of RRBP */ if (fn == ack_fn) { - ack_nack_desc.final_ack := '1'B; + ms.dl_tbf.acknack_desc.final_ack := '1'B; break; } } /* This is the end of RRBP, send Packet Downlink Ack/Nack */ - f_tx_rlcmac_ul_block(ts_RLCMAC_DL_ACK_NACK(tfi, ack_nack_desc), fn := fn); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), fn := fn); /* Make sure that the next block (after the Ack) is dummy */ f_rx_rlcmac_dl_block_exp_dummy(dl_block); @@ -1491,34 +1361,27 @@ * 3. Expect a Paging Frame */ testcase TC_paging_cs_from_bts() runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; var MobileIdentityLV mi; var octetstring mi_enc_lv; var hexstring imsi := f_gen_imsi(42); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* build mobile Identity */ mi := valueof(ts_MI_IMSI_LV(imsi)); @@ -1540,33 +1403,26 @@ */ private function f_tc_paging_cs_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_imm_ass; - var PacketUlAssign ul_tbf_ass; var RlcmacDlBlock dl_block; - var boolean ok; - var OCT4 tlli := '00000001'O; var hexstring imsi := f_gen_imsi(42); var GsmTmsi tmsi; + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Establish an Uplink TBF */ - ok := f_establish_tbf(rr_imm_ass); - if (not ok) { - setverdict(fail, "Failed to establish TBF"); - f_shutdown(__BFILE__, __LINE__); - } - - /* Make sure we've got an Uplink TBF assignment */ - f_imm_ass_verify_ul_tbf_ass(rr_imm_ass, ul_tbf_ass); + f_ms_establish_ul_tbf(ms); /* Send paging request with or without TMSI */ if (use_ptmsi) { @@ -1605,19 +1461,22 @@ */ private function f_tc_paging_ps_from_sgsn(Nsvci bvci, boolean use_ptmsi := false) runs on RAW_PCU_Test_CT { - var OCT4 tlli := '00000001'O; var integer imsi_suff_tx := 423; var hexstring imsi := f_gen_imsi(imsi_suff_tx); + var GprsMS ms; /* Initialize NS/BSSGP side */ f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); /* Send BSSGP PAGING-PS (with or without TMSI), wait for RR Paging Request Type 1. * Make sure that both paging group (IMSI suffix) and Mobile Identity match. */ @@ -1646,23 +1505,20 @@ } private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?, - PCUIF_BurstType bt := BURST_TYPE_1) + template GsmRrMessage t_imm_ass := ?) runs on RAW_PCU_Test_CT { - var GsmRrMessage rr_msg; var uint16_t ra11; - var boolean ok; + var GprsMS ms; + + ms := g_ms[0]; /* We only use first MS in this test */ ra11 := enc_EGPRSPktChRequest2uint(req); + f_ms_use_ra(ms, ra11, ra_is_11bit := 1); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - ok := f_establish_tbf(rr_msg, ra := ra11, is_11bit := 1, burst_type := bt); - if (not ok) { - setverdict(fail, "Failed to establush an Uplink TBF"); - f_shutdown(__BFILE__, __LINE__); - } + f_ms_establish_ul_tbf(ms); - if (not match(rr_msg, t_imm_ass)) { + if (not match(ms.ul_tbf.rr_imm_ass, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); } @@ -1675,6 +1531,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1703,6 +1562,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1737,6 +1599,9 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib3fee37580f0ea0530a659dec83656799bf57288 Gerrit-Change-Number: 18370 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 ) Change subject: pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() ...................................................................... pcu/GPRS_Components: return GsmRrMessage from f_pcuif_rx_imm_ass() Change-Id: Ide6a00348b81a637309644be82a523c99f9fd30a --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 8 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index c0630a6..9db13b4 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -508,10 +508,10 @@ // OLD APIs //////////////////////// -function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass, - template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, +function f_pcuif_rx_imm_ass(template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) -runs on MS_BTS_IFACE_CT return boolean { +runs on MS_BTS_IFACE_CT return GsmRrMessage { + var GsmRrMessage rr_imm_ass; var PCUIF_Message pcu_msg; var octetstring data; timer T; @@ -542,7 +542,6 @@ } setverdict(pass); - return true; } [] BTS.receive { repeat; } [] T.timeout { @@ -551,19 +550,18 @@ } } - return false; + return rr_imm_ass; } /* One phase packet access (see 3GPP TS 44.018, table 9.1.8.1) */ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(out GsmRrMessage rr_imm_ass, - uint16_t ra := bit2int(chan_req_def), +function f_establish_tbf(uint16_t ra := bit2int(chan_req_def), uint8_t is_11bit := 0, PCUIF_BurstType burst_type := BURST_TYPE_0, TimingAdvance ta := 0) -runs on MS_BTS_IFACE_CT return boolean { +runs on MS_BTS_IFACE_CT return GsmRrMessage { var uint32_t fn; /* FIXME: ask the BTS component to give us the current TDMA fn */ @@ -583,8 +581,7 @@ if (is_11bit != 0) { ra := 127; } /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, ra, fn)); + return f_pcuif_rx_imm_ass(PCU_IF_SAPI_AGCH, tr_IMM_TBF_ASS(false, ra, fn)); } /* Enqueue DATA.ind (both TDMA frame and block numbers to be patched) */ diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ca37431..ff5da82 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1635,7 +1635,6 @@ runs on RAW_PCU_Test_CT { var template ReqRefWaitInd tr_ref; var GsmRrMessage rr_msg; - var boolean ok; /* Send RACH.ind with malformed EGPRS Packet Channel Request */ BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, @@ -1644,11 +1643,7 @@ arfcn := 871)); /* Abuse f_pcuif_rx_imm_ass(): wait for Immediate Assignment Reject */ - ok := f_pcuif_rx_imm_ass(rr_msg, t_imm_ass := tr_IMM_ASS_REJ); - if (not ok) { - setverdict(fail, "Failed to match Immediate Assignment Reject"); - f_shutdown(__BFILE__, __LINE__); - } + rr_msg := f_pcuif_rx_imm_ass(t_imm_ass := tr_IMM_ASS_REJ); /* Just to have a short-name reference to the actual message */ var ImmediateAssignmentReject iar := rr_msg.payload.imm_ass_rej; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ide6a00348b81a637309644be82a523c99f9fd30a Gerrit-Change-Number: 18547 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:33 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fixup pcu/GPRS_Components: do not duplicate existing functions In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 ) Change subject: fixup pcu/GPRS_Components: do not duplicate existing functions ...................................................................... fixup pcu/GPRS_Components: do not duplicate existing functions Both f_ms_rx_imm_ass_ccch() and f_ms_establish_ul_tbf() functions are actually twin brothers of good old f_pcuif_rx_imm_ass() and f_establish_tbf() with some minor changes. The former accepts a GprsMS parameter, that is never used. The latter simply calls f_ultbf_new_from_rr_imm_ass() in the end. Let's avoid code duplication: - call f_establish_tbf() from f_ms_establish_ul_tbf(), - remove f_ms_rx_imm_ass_ccch(), use f_pcuif_rx_imm_ass(). After the removal of f_ms_rx_imm_ass_ccch(), the implementation of TC_ta_idle_dl_tbf_ass() does not need the GprsMS state, so let's make it look like it was before. Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 14 insertions(+), 72 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 9db13b4..af35f40 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -249,45 +249,6 @@ } } -function f_ms_rx_imm_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := ?) -runs on MS_BTS_IFACE_CT return GsmRrMessage { - var PCUIF_Message pcu_msg; - var GsmRrMessage rr_imm_ass; - var octetstring data; - timer T; - - T.start(2.0); - alt { - [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := 0, trx_nr := 0, ts_nr := 0, - sapi := sapi, data := ?)) -> value pcu_msg { - /* On PCH the payload is prefixed with paging group (3 octets): skip it. - * TODO: add an additional template parameter, so we can match it. */ - if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) { - data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3); - } else { - data := pcu_msg.u.data_req.data; - } - - rr_imm_ass := dec_GsmRrMessage(data); - if (not match(rr_imm_ass, t_imm_ass)) { - /* Not for us? Wait for more. */ - repeat; - } - - log("Rx Immediate Assignment: ", rr_imm_ass); - f_pcuif_tx_data_cnf(pcu_msg); - setverdict(pass); - return rr_imm_ass; - } - [] BTS.receive { repeat; } - [] T.timeout { - setverdict(fail, "Timeout waiting for Immediate Assignment"); - f_shutdown(__BFILE__, __LINE__); - } - } - return rr_imm_ass; /* make compiler happy */ -} - function f_ms_rx_imm_ass_pacch(inout GprsMS ms, out uint32_t poll_fn, template RlcmacDlBlock t_imm_ass := ?) runs on MS_BTS_IFACE_CT return RlcmacDlBlock { var RlcmacDlBlock dl_block; @@ -318,40 +279,20 @@ return dl_block; } -function f_ms_establish_ul_tbf(inout GprsMS ms, uint32_t fn := 1337) +function f_ms_establish_ul_tbf(inout GprsMS ms) runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - var uint8_t exp_ra; - /* Send RACH.ind */ - log("Sending RACH.ind on fn=", fn, " with RA=", ms.ra, ", TA=", ms.ta); - BTS.send(ts_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 0, - ra := ms.ra, is_11bit := ms.ra_is_11bit, - burst_type := ms.burst_type, - fn := fn, arfcn := 871, - qta := ms.ta * 4)); - - /* 3GPP TS 44.018, table 9.1.8.1, note 2b: Request Reference shall be set to 127 - * when Immediate Assignment is triggered by EGPRS Packet Channel Request. Here - * we assume that 11 bit RA always contains EGPRS Packet Channel Request. */ - if (ms.ra_is_11bit == 0) { - exp_ra := ms.ra; - } else { - exp_ra := 127; - } - - /* Expect Immediate (TBF) Assignment on TS0/AGCH */ - rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_AGCH, - tr_IMM_TBF_ASS(false, exp_ra, fn)); - + rr_imm_ass := f_establish_tbf(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); } -function f_ms_exp_dl_tbf_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) +function f_ms_exp_dl_tbf_ass_ccch(inout GprsMS ms, template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH, + template GsmRrMessage t_imm_ass := tr_IMM_TBF_ASS(true, ?, ?)) runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - rr_imm_ass := f_ms_rx_imm_ass_ccch(ms, sapi, t_imm_ass); + rr_imm_ass := f_pcuif_rx_imm_ass(sapi, t_imm_ass); ms.dl_tbf := f_dltbf_new_from_rr_imm_ass(rr_imm_ass, tr_PacketDlAssign(ms.tlli)); } diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ff5da82..8b9a471 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -266,7 +266,7 @@ for (var TimingAdvance ta := 0; ta < 64; ta := ta + 16) { /* Establish an Uplink TBF (send RACH.ind with current TA) */ ms.ta := ta; - f_ms_establish_ul_tbf(ms, fn := 1337 + ta); + f_ms_establish_ul_tbf(ms); /* Make sure Timing Advance IE matches out expectations */ if (ms.ul_tbf.rr_imm_ass.payload.imm_ass.timing_advance != ta) { @@ -285,29 +285,30 @@ * IUT that causes it to send an unreasonable Timing Advance value > 0 despite * no active TBF exists at the moment of establishment (idle mode). */ testcase TC_ta_idle_dl_tbf_ass() runs on RAW_PCU_Test_CT { - var GprsMS ms; + var OCT4 tlli := f_rnd_octstring(4); + var GsmRrMessage rr_imm_ass; /* Initialize NS/BSSGP side */ f_init_bssgp(); - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - ms := g_ms[0]; /* We only use first MS in this test */ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); - f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli); + f_bssgp_client_llgmm_assign('FFFFFFFF'O, tlli); /* SGSN sends some DL data, PCU will initiate Packet Downlink * Assignment on CCCH (PCH). We don't care about the payload. */ - BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, f_rnd_octstring(10))); + BSSGP[0].send(ts_BSSGP_DL_UD(tlli, f_rnd_octstring(10))); + rr_imm_ass := f_pcuif_rx_imm_ass(PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(dl := true)); /* Make sure that Timing Advance is 0 (the actual value is not known yet). * As per 3GPP S 44.018, section 3.5.3.1.2, the network *shall* initiate * the procedures defined in 3GPP TS 44.060 or use the polling mechanism. */ - f_ms_rx_imm_ass_ccch(ms, PCU_IF_SAPI_PCH, tr_IMM_TBF_ASS(ta := 0)); + if (rr_imm_ass.payload.imm_ass.timing_advance != 0) { + setverdict(fail, "Timing Advance value doesn't match"); + } f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6c0b8796500e96525b7b1cadb61ab2fc84b4744 Gerrit-Change-Number: 18548 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse USF from Pkt Ul Ass In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 ) Change subject: pcu: Parse USF from Pkt Ul Ass ...................................................................... pcu: Parse USF from Pkt Ul Ass Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 --- M pcu/GPRS_Components.ttcn 1 file changed, 31 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index af35f40..9dbdb04 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -63,9 +63,10 @@ }; type record UlTbf { - GsmRrMessage rr_imm_ass, - PacketUlAssignChan ass, + GsmRrMessage rr_imm_ass optional, + PacketUlAssignChan ass optional, uint5_t tfi, + uint3_t usf[8], boolean is_egprs, uint14_t bsn, CodingScheme tx_cs_mcs @@ -90,6 +91,8 @@ receive_block_bitmap := '0000000000000000000000000000000000000000000000000000000000000000'B } +const uint3_t USF_UNUSED := 7; /* used to indicate PRACH */ + template (value) GprsMS t_GprsMS_def := { imsi := f_gen_imsi(42), tlli := '00000001'O, @@ -102,6 +105,16 @@ dl_tbf := omit }; +template (value) UlTbf t_UlTbf_def := { + rr_imm_ass := omit, + ass := omit, + tfi := 0, + usf := { USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED, USF_UNUSED }, + is_egprs := false, + bsn := 0, + tx_cs_mcs := CS_1 +}; + type component MS_BTS_IFACE_CT { /* Virtual BTS component */ var RAW_PCU_BTS_CT vc_BTS; @@ -143,10 +156,10 @@ function f_ultbf_new_from_rr_imm_ass(in GsmRrMessage rr_imm_ass) runs on MS_BTS_IFACE_CT return UlTbf { - var UlTbf ul_tbf; + var UlTbf ul_tbf := valueof(t_UlTbf_def); + var uint3_t tn_allocated := rr_imm_ass.payload.imm_ass.pkt_chan_desc.tn; ul_tbf.rr_imm_ass := rr_imm_ass; - ul_tbf.bsn := 0; /* Make sure we received an UL TBF Assignment */ if (match(rr_imm_ass, tr_IMM_TBF_ASS(dl := false, rest := tr_IaRestOctets_ULAss(?)))) { @@ -155,6 +168,7 @@ ul_tbf.is_egprs := false; if (match(ul_tbf.ass.ccch, tr_PacketUlDynAssign)) { ul_tbf.tfi := ul_tbf.ass.ccch.dynamic.tfi_assignment; + ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch.dynamic.usf; } else if (match(ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { /* Nothing to do here yet */ } @@ -164,6 +178,7 @@ ul_tbf.is_egprs := true; if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssDynamic)) { ul_tbf.tfi := ul_tbf.ass.ccch_egprs.dynamic.tfi_assignment; + ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch_egprs.dynamic.usf; } else if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssMultiblock)) { /* Nothing to do here yet */ } @@ -178,10 +193,9 @@ function f_ultbf_new_from_ass_pacch(RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT return UlTbf { - var UlTbf ul_tbf; + var UlTbf ul_tbf := valueof(t_UlTbf_def); ul_tbf.ass.pacch := dl_block.ctrl.payload.u.ul_assignment; - ul_tbf.bsn := 0; ul_tbf.tx_cs_mcs := f_rlcmac_dl_block_get_assigned_ul_cs_mcs(dl_block); ul_tbf.tfi := f_rlcmac_dl_block_get_tfi(dl_block); /* TODO: handle GlobalTfiOrTlli tfi_or_tlli from pkt_ul_ass */ @@ -190,10 +204,19 @@ if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_GPRS(?, tr_PktUlAssGprsDynamic(tr_DynamicAllocation(?))))) { ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ul_tfi_assignment; ul_tbf.is_egprs := false; - } - if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { + for (var integer i := 0; i < 8; i := i + 1) { + if (dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ts_allocation.ts[i].presence == '1'B) { + ul_tbf.usf[i] := dl_block.ctrl.payload.u.ul_assignment.gprs.dyn_block_alloc.ts_allocation.ts[i].usf_tn; + } + } + } else if (match(dl_block, tr_RLCMAC_UL_PACKET_ASS_EGPRS(?, tr_PktUlAssEgprsDynamic(tr_DynamicAllocation(?))))) { ul_tbf.tfi := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ul_tfi_assignment; ul_tbf.is_egprs := true; + for (var integer i := 0; i < 8; i := i + 1) { + if (dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ts_allocation.ts[i].presence == '1'B) { + ul_tbf.usf[i] := dl_block.ctrl.payload.u.ul_assignment.egprs.dyn_block_alloc.ts_allocation.ts[i].usf_tn; + } + } } return ul_tbf; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If786d838f24755f3207d57c849ac28e58a7ee1c6 Gerrit-Change-Number: 18379 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:34 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Parse ChCodingCommand on CCHAN Ul Ass In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 ) Change subject: pcu: Parse ChCodingCommand on CCHAN Ul Ass ...................................................................... pcu: Parse ChCodingCommand on CCHAN Ul Ass Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 --- M pcu/GPRS_Components.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 9dbdb04..2628938 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -168,6 +168,7 @@ ul_tbf.is_egprs := false; if (match(ul_tbf.ass.ccch, tr_PacketUlDynAssign)) { ul_tbf.tfi := ul_tbf.ass.ccch.dynamic.tfi_assignment; + ul_tbf.tx_cs_mcs := f_rlcmac_block_ChCodingCommand2cs_mcs(ul_tbf.ass.ccch.dynamic.ch_coding_cmd); ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch.dynamic.usf; } else if (match(ul_tbf.ass.ccch, tr_PacketUlSglAssign)) { /* Nothing to do here yet */ @@ -178,6 +179,7 @@ ul_tbf.is_egprs := true; if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssDynamic)) { ul_tbf.tfi := ul_tbf.ass.ccch_egprs.dynamic.tfi_assignment; + ul_tbf.tx_cs_mcs := f_rlcmac_block_EgprsChCodingCommand2cs_mcs(ul_tbf.ass.ccch_egprs.dynamic.egprs_ch_coding_cmd); ul_tbf.usf[tn_allocated] := ul_tbf.ass.ccch_egprs.dynamic.usf; } else if (match(ul_tbf.ass.ccch_egprs, tr_EgprsUlAssMultiblock)) { /* Nothing to do here yet */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bf13f763bd8aa8d8a39f6b2757d5da01437cc05 Gerrit-Change-Number: 18380 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 ) Change subject: pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK ...................................................................... pcu: TC_mt_ping_pong: Request UL TBF on last DL ACK Let's test the code path where UL TBF is requested through DL ACK/NACK here, since we already test the usual UL TBF through CCCH approach in most tests. rlc_mode is changed to ACKED since that's the mode we are using so far in tests. Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 --- M library/RLCMAC_CSN1_Templates.ttcn M library/RLCMAC_Templates.ttcn M pcu/PCU_Tests.ttcn 3 files changed, 23 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn index eebda7f..9f53c3f 100644 --- a/library/RLCMAC_CSN1_Templates.ttcn +++ b/library/RLCMAC_CSN1_Templates.ttcn @@ -123,10 +123,10 @@ return ms_rac2; } - private const ChannelReqDescription c_ChReqDesc_default := { + const ChannelReqDescription c_ChReqDesc_default := { peak_tput_class := 0, priority := 0, - rlc_mode := RLC_MODE_UNACKNOWLEDGED, + rlc_mode := RLC_MODE_ACKNOWLEDGED, llc_pdu_type := LLC_PDU_IS_NOT_SACK_OR_ACK, RlcOctetCount := 0 } diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn index e2abd84..939a814 100644 --- a/library/RLCMAC_Templates.ttcn +++ b/library/RLCMAC_Templates.ttcn @@ -329,6 +329,23 @@ } } + template RlcmacUlBlock ts_RLCMAC_DL_ACK_NACK_CHREQ(template uint5_t tfi, + AckNackDescription andesc, + boolean retry := false, + template ChannelReqDescription chreq_desc := c_ChReqDesc_default) + modifies ts_RLCMAC_DL_ACK_NACK := { + ctrl := { + payload := { + u := { + dl_ack_nack := { + chreq_desc_presence := '1'B, + chreq_desc := chreq_desc + } + } + } + } + } + /* Template for uplink Data block */ template RlcmacUlBlock t_RLCMAC_UL_DATA(template uint5_t tfi, template uint4_t cv, template uint7_t bsn, template LlcBlocks blocks := {}, template boolean stall := false) := { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8b9a471..4a26814 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1096,13 +1096,13 @@ f_sleep(X2002); f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data, 0, exp_cs_mcs); - /* ACK the DL block */ + /* ACK the DL block, and request UL TBF at the same time */ f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); - f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK_CHREQ(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), f_dl_block_ack_fn(dl_block, dl_fn)); - /* Now MS wants to answer the DL data, Establish an Uplink TBF */ - f_ms_establish_ul_tbf(ms); + /* Expect UL ass */ + f_ms_rx_imm_ass_pacch(ms, sched_fn, tr_RLCMAC_UL_PACKET_ASS); /* Send one UL block (with TLLI since we are in One-Phase Access contention resoultion) and make sure it is ACKED fine */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5a9a2e8107c87fdbf74cc2f09ae5eeafbb13ad55 Gerrit-Change-Number: 18381 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:00:35 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 28 May 2020 17:00:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Add missing f_shutdown() to exit as soon as possible without fin... In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 ) Change subject: pcu: Add missing f_shutdown() to exit as soon as possible without final=true ...................................................................... pcu: Add missing f_shutdown() to exit as soon as possible without final=true Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4a26814..061b868 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -607,6 +607,7 @@ if (not match(dl_block.ctrl.payload.u.ul_ack_nack.gprs.ch_coding_cmd, ch_coding)) { setverdict(fail, "Channel Coding does not match our expectations: ", ch_coding); + f_shutdown(__BFILE__, __LINE__); } } @@ -682,6 +683,7 @@ if (last_ch_coding != CH_CODING_CS1) { setverdict(fail, "Channel Coding does not match our expectations (CS-1): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); @@ -726,6 +728,7 @@ if (last_ch_coding != CH_CODING_CS3) { setverdict(fail, "Channel Coding does not match our expectations (CS-3): ", last_ch_coding); + f_shutdown(__BFILE__, __LINE__); } f_shutdown(__BFILE__, __LINE__, final := true); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I9703f7c81a98b6ef826db48c107ee833c125e5cc Gerrit-Change-Number: 18419 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:01:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 17:01:12 +0000 Subject: Change in osmo-bts[master]: vty: Fix misleading define name References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18557 ) Change subject: vty: Fix misleading define name ...................................................................... vty: Fix misleading define name define contains strings about dB vs mdB, not dB vs dBm. Change-Id: Ib2f1f9429d7d5ead585fb93195a890abd568e65c --- M src/common/vty.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/57/18557/1 diff --git a/src/common/vty.c b/src/common/vty.c index 2cf3224..c2cbeb5 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -692,7 +692,7 @@ } -#define DB_DBM_STR \ +#define DB_MDB_STR \ "Unit is dB (decibels)\n" \ "Unit is mdB (milli-decibels, or rather 1/10000 bel)\n" @@ -710,7 +710,7 @@ cfg_trx_user_gain_cmd, "user-gain <-100000-100000> (dB|mdB)", "Inform BTS about additional, user-provided gain or attenuation at TRX output\n" - "Value of user-provided external gain(+)/attenuation(-)\n" DB_DBM_STR) + "Value of user-provided external gain(+)/attenuation(-)\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; @@ -723,7 +723,7 @@ DEFUN(cfg_trx_pr_max_initial, cfg_trx_pr_max_initial_cmd, "power-ramp max-initial <0-100000> (dBm|mdBm)", PR_STR "Maximum initial power\n" - "Value\n" DB_DBM_STR) + "Value\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; @@ -736,7 +736,7 @@ DEFUN(cfg_trx_pr_step_size, cfg_trx_pr_step_size_cmd, "power-ramp step-size <1-100000> (dB|mdB)", PR_STR "Power increase by step\n" - "Step size\n" DB_DBM_STR) + "Step size\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib2f1f9429d7d5ead585fb93195a890abd568e65c Gerrit-Change-Number: 18557 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:55:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 17:55:13 +0000 Subject: Change in osmo-bts[master]: vty: Fix misleading define name In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18557 ) Change subject: vty: Fix misleading define name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib2f1f9429d7d5ead585fb93195a890abd568e65c Gerrit-Change-Number: 18557 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 17:55:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:56:22 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 17:56:22 +0000 Subject: Change in osmo-bts[master]: vty: Fix misleading define name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18557 ) Change subject: vty: Fix misleading define name ...................................................................... vty: Fix misleading define name define contains strings about dB vs mdB, not dB vs dBm. Change-Id: Ib2f1f9429d7d5ead585fb93195a890abd568e65c --- M src/common/vty.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved diff --git a/src/common/vty.c b/src/common/vty.c index 2cf3224..c2cbeb5 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -692,7 +692,7 @@ } -#define DB_DBM_STR \ +#define DB_MDB_STR \ "Unit is dB (decibels)\n" \ "Unit is mdB (milli-decibels, or rather 1/10000 bel)\n" @@ -710,7 +710,7 @@ cfg_trx_user_gain_cmd, "user-gain <-100000-100000> (dB|mdB)", "Inform BTS about additional, user-provided gain or attenuation at TRX output\n" - "Value of user-provided external gain(+)/attenuation(-)\n" DB_DBM_STR) + "Value of user-provided external gain(+)/attenuation(-)\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; @@ -723,7 +723,7 @@ DEFUN(cfg_trx_pr_max_initial, cfg_trx_pr_max_initial_cmd, "power-ramp max-initial <0-100000> (dBm|mdBm)", PR_STR "Maximum initial power\n" - "Value\n" DB_DBM_STR) + "Value\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; @@ -736,7 +736,7 @@ DEFUN(cfg_trx_pr_step_size, cfg_trx_pr_step_size_cmd, "power-ramp step-size <1-100000> (dB|mdB)", PR_STR "Power increase by step\n" - "Step size\n" DB_DBM_STR) + "Step size\n" DB_MDB_STR) { struct gsm_bts_trx *trx = vty->index; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib2f1f9429d7d5ead585fb93195a890abd568e65c Gerrit-Change-Number: 18557 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:57:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 17:57:35 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if: Clarify {SET; ADJ}POWER TRXC commands In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 ) Change subject: trx_if: Clarify {SET;ADJ}POWER TRXC commands ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 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: I4f1986a1ace3fc9cbef10fc0508407a3d608670b Gerrit-Change-Number: 18556 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 17:57:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 17:57:59 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 28 May 2020 17:57:59 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 to look at the new patch set (#4). Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... osmo-mgw: refactor endpoint and trunk handling The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various places (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. - get rid of integers as endpoint identifiers, use strings instead and find the endpoint based on its string name on the trunk. - identify the trunk based on the trunk prefix given in the endpoint name. - rename struct mgcp_trunk_config to struct mgcp_trunk and the related symbol name "tcfg" to "trunk" in order to better match the reality. - refactor trunk and endpoint allocation. Aggregate functionality in in mgcp_endp.c and mgcp_trunk.c. Also remove non-reusable code that relates to the still exisiting, but unfinished E1 trunk support. - refactor rate counters, put them into a separate module and do no longer allocate them per trunk. Allocate them globally instead. - get rid of deprecated trunk parameters (leftovers from the osmo-bsc_mgcp implementation) Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Related: OS#2659 --- M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_ratectr.h A include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c A src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c A src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 21 files changed, 964 insertions(+), 774 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/18372/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 18:07:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 18:07:00 +0000 Subject: Change in osmocom-bb[master]: trxcon: fix potential buffer overflow in l1ctl_proc_est_req_h1() In-Reply-To: References: Message-ID: neels 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+1 (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 at 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" -- 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: Thu, 28 May 2020 18:07:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 18:17:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 28 May 2020 18:17:45 +0000 Subject: Change in osmo-gsm-manuals[master]: trx_if: Clarify {SET; ADJ}POWER TRXC commands In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 ) Change subject: trx_if: Clarify {SET;ADJ}POWER TRXC commands ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556/1/common/chapters/trx_if.adoc File common/chapters/trx_if.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556/1/common/chapters/trx_if.adoc at 79 PS1, Line 79: not running. I think the last part is actually incorrect too. It makes sense to still send SETPOWER before powering on so osmo-trx knowns which power to set by default... -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/18556 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: I4f1986a1ace3fc9cbef10fc0508407a3d608670b Gerrit-Change-Number: 18556 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 28 May 2020 18:17:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 18:43:03 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 18:43:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: start-testsuite.sh: allow overriding TTCN3_BIN_DIR In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 ) Change subject: start-testsuite.sh: allow overriding TTCN3_BIN_DIR ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a Gerrit-Change-Number: 18549 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 18:43:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 19:07:28 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 19:07:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 ) Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 19:07:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 19:08:38 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 19:08:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 ) Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... Patch Set 3: Code-Review+2 re-adding laforge's previous +1 as well -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 19:08:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 19:09:04 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 28 May 2020 19:09:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 ) Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... Patch Set 3: Code-Review+2 my +1 plus laforge's previous +1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 28 May 2020 19:09:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu May 28 20:53:43 2020 From: gerrit-no-reply at lists.osmocom.org (ipse) Date: Thu, 28 May 2020 20:53:43 +0000 Subject: Change in osmo-bsc[master]: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 to look at the new patch set (#2). Change subject: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. Whether to forward the message or not to an SCCP connection is an internal question for the GSM 04.08 code. Unlike errors with the message decoding, memory allocation and other critical errors, this not an error which should be reported to the caller. abis_rsl_rx_rll() (the caller) shouldn't know about the message routing decisions and should only care about actual errors. This code path is hit in production very often because we frequently receive a Classmark Change message from a phone right after the MSC has shut the SCCP connection but before we close the lchan on the BTS. Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/38/18438/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:10:42 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:10:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: start-testsuite.sh: allow overriding TTCN3_BIN_DIR In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 ) Change subject: start-testsuite.sh: allow overriding TTCN3_BIN_DIR ...................................................................... start-testsuite.sh: allow overriding TTCN3_BIN_DIR Override the default of /usr/bin with the environment variable of the same name, if set. Related: OS#4564 Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a --- M start-testsuite.sh 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/start-testsuite.sh b/start-testsuite.sh index a6380b7..b9324bb 100755 --- a/start-testsuite.sh +++ b/start-testsuite.sh @@ -3,6 +3,9 @@ # Helper script to starte a TITAN-generated test suite, supporting # dynamically linked suites to ensure JUNIT generation is possible. +# Environment variables: +# * TTCN3_BIN_DIR: override where to look for ttcn3_start + # Copyright 2017 Harald Welte # Copyright 2018 sysmocom - s.f.m.c. GmbH # @@ -43,7 +46,7 @@ #TTCN3_BIN_DIR="$TTCN3_DIR/bin" # below is for the debian packages -TTCN3_BIN_DIR="/usr/bin" +TTCN3_BIN_DIR="${TTCN3_BIN_DIR:-/usr/bin}" TITAN_LIBRARY_PATH="/usr/lib/titan:/usr/ttcn3/lib" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$SUITE_DIR:$TITAN_LIBRARY_PATH" "$TTCN3_BIN_DIR/ttcn3_start" $SUITE $CFG $TEST -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a Gerrit-Change-Number: 18549 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:27:33 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:27:33 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh at 16 PS1, Line 16: echo "centos8" > centos8-latest? We could also use centos8-latest... but just using the distribution name seemed cleaner. It will be the only centos8 tag, so it should be clear that it's the latest. I don't have a strong opinion on it, if you prefer centos8-latest, I'll change it to that. What do you think? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 06:27:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:33:42 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:33:42 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... *-mgw-*: support centos8 Use osmo-mgw as example of how a testsuite will work with both debian-stretch and centos8. I will add patches for all other containers tomorrow. Related: OS#4564 Change-Id: I6579748056ce0505304378b342a698b98c77fd18 --- M osmo-mgw-master/Dockerfile M ttcn3-mgw-test/Dockerfile M ttcn3-mgw-test/jenkins.sh 3 files changed, 41 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/18554/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:33:50 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:33:50 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile File osmo-mgw-master/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/18554/1/osmo-mgw-master/Dockerfile at 5 PS1, Line 5: ARG DISTRO > Please leave a comment there saying that. Done -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 06:33:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:34:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:34:24 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18554/1/ttcn3-mgw-test/Dockerfile File ttcn3-mgw-test/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/18554/1/ttcn3-mgw-test/Dockerfile at 5 PS1, Line 5: > You don't need to set ARG here twice? No, because it isn't used below. DISTRO in the other Dockerfile is used again after FROM. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 06:34:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 06:52:12 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 06:52:12 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh at 16 PS1, Line 16: echo "centos8" > We could also use centos8-latest... but just using the distribution name seemed cleaner. [?] FWIW, the official centos image has a "latest" and "centos8" tag, no "centos8-latest": https://hub.docker.com/_/centos centos8-titan and centos8-build depend on it, so we already have "FROM centos:centos8" there. It seems fitting to me to also use "centos8" as tag for our own images. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 06:52:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:12:16 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 07:12:16 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_find_or_create_by_{imsi, tmsi}(): fix NULL pointer dereference References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18558 ) Change subject: bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference ...................................................................... bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 --- M src/osmo-bsc/bsc_subscriber.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/18558/1 diff --git a/src/osmo-bsc/bsc_subscriber.c b/src/osmo-bsc/bsc_subscriber.c index 2541883..38b532a 100644 --- a/src/osmo-bsc/bsc_subscriber.c +++ b/src/osmo-bsc/bsc_subscriber.c @@ -90,6 +90,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsc_subscr_set_imsi(bsub, imsi); return bsc_subscr_get(bsub); } @@ -102,6 +104,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsub->tmsi = tmsi; return bsc_subscr_get(bsub); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 Gerrit-Change-Number: 18558 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:34:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 07:34:47 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18559 ) Change subject: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' ...................................................................... osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In the recent osmo-bsc master, this configuration parameter has been removed, so it fails to start due to "unknown parameter". Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 4 files changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/59/18559/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index fc50d73..9138c86 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -352,4 +352,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index ef4ecf5..4a78686 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -176,4 +176,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index bef7684..313bf79 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -400,6 +400,5 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list ctrl bind 0.0.0.0 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index d754cb9..b0592ad 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -277,4 +277,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d Gerrit-Change-Number: 18559 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:34:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 07:34:48 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18560 ) Change subject: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter ...................................................................... osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 4 files changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/60/18560/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 9138c86..e224d1a 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -334,7 +334,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 4a78686..1357569 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -157,7 +157,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 313bf79..abea876 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -380,7 +380,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b0592ad..870a0f2 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -259,7 +259,6 @@ msc 0 core-location-area-code 666 core-cell-identity 333 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b Gerrit-Change-Number: 18560 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:34:48 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 07:34:48 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' It does not make sense to enable EGPRS Packet Channel Request support in 'GPRS only' mode. Let's just remove it. Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 5 files changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/61/18561/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index e224d1a..43b7054 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -91,7 +91,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -181,7 +180,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -271,7 +269,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 1357569..805508f 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -94,7 +94,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 5871e26..83a788b 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -101,7 +101,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -192,7 +191,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -283,7 +281,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index abea876..abcc1f5 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -108,7 +108,6 @@ neighbor lac 99 arfcn 123 bsic any codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -198,7 +197,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -288,7 +286,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 870a0f2..ca4d09b 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -108,7 +108,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:38:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 07:38:53 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... *-mgw-*: support centos8 Use osmo-mgw as example of how a testsuite will work with both debian-stretch and centos8. I will add patches for all other containers tomorrow. Related: OS#4564 Change-Id: I6579748056ce0505304378b342a698b98c77fd18 --- M centos8-build/Dockerfile M osmo-mgw-master/Dockerfile M ttcn3-mgw-test/Dockerfile M ttcn3-mgw-test/jenkins.sh 4 files changed, 44 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/18554/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:38:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 07:38:53 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... centos8-titan: new image Similar to debian-stretch-titan, but build eclipse-titan from source as we don't have an rpm package for it. Install libfftranscode by extracting the debian archives. Related: OS#4564 Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 --- A centos8-titan/Dockerfile A centos8-titan/Makefile A centos8-titan/install_libfftranscode.sh 3 files changed, 77 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/51/18551/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:40:20 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 07:40:20 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/18550 to look at the new patch set (#2). Change subject: centos8-build: new image ...................................................................... centos8-build: new image Create centos8-build similar to debian-stretch-build, as preparation for ttcn-3 tests on centos 8. Related: OS#4564 Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad --- A centos8-build/Dockerfile A centos8-build/Makefile 2 files changed, 47 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/50/18550/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 07:47:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 07:47:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: start-testsuite.sh: allow overriding TTCN3_BIN_DIR In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 ) Change subject: start-testsuite.sh: allow overriding TTCN3_BIN_DIR ...................................................................... Patch Set 2: Code-Review+2 Oh, nice! Thanks a lot! I don't have to deal with 'git stash push/pop' anymore because of a hard-coded Debian specific path. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I245ae368a97558006fc9f85d4fcb4e4cd52fb19a Gerrit-Change-Number: 18549 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 29 May 2020 07:47:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 08:41:20 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 08:41:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 ) Change subject: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests ...................................................................... PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests I noticed that TC_egprs_pkt_chan_req_reject_exhaustion has started to fail since the refactoring change [1]. As it turned out, this test case does not init a GprsMs instance, which is needed by a function it depends on - f_TC_egprs_pkt_chan_req(). I don't really see the point of using the GprsMs abstraction for such small test cases sending just a few messages, which do not require us to keep any state. Let's just revert those changes, and keep using the low level API. [1] Ib3fee37580f0ea0530a659dec83656799bf57288 Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/18562/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 061b868..5fb4b2b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1509,20 +1509,17 @@ } private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?) + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; var uint16_t ra11; - var GprsMS ms; - - ms := g_ms[0]; /* We only use first MS in this test */ ra11 := enc_EGPRSPktChRequest2uint(req); - f_ms_use_ra(ms, ra11, ra_is_11bit := 1); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - f_ms_establish_ul_tbf(ms); - - if (not match(ms.ul_tbf.rr_imm_ass, t_imm_ass)) { + rr_msg := f_establish_tbf(ra := ra11, is_11bit := 1, burst_type := bt); + if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); } @@ -1535,9 +1532,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1566,9 +1560,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1603,9 +1594,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 Gerrit-Change-Number: 18562 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 08:41:21 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 08:41:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 ) Change subject: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g ...................................................................... PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g Fix confusion: f_ms_establish_ul_tbf() vs f_establish_tbf(). The new name precisely describes what the function does. Sending a RACH.ind and receiving a DATA.req with RR Immediate Assignment is just a part of the TBF establishment process. Change-Id: I1e22b9936bf68ebcaf70cefbc57345995ebbbaed --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/18563/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 2628938..392440c 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -308,7 +308,7 @@ runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - rr_imm_ass := f_establish_tbf(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); + rr_imm_ass := f_pcuif_tx_rach_rx_imm_ass(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); } @@ -523,10 +523,10 @@ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(uint16_t ra := bit2int(chan_req_def), - uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) +function f_pcuif_tx_rach_rx_imm_ass(uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) runs on MS_BTS_IFACE_CT return GsmRrMessage { var uint32_t fn; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5fb4b2b..bdcf7c1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1518,7 +1518,7 @@ ra11 := enc_EGPRSPktChRequest2uint(req); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - rr_msg := f_establish_tbf(ra := ra11, is_11bit := 1, burst_type := bt); + rr_msg := f_pcuif_tx_rach_rx_imm_ass(ra := ra11, is_11bit := 1, burst_type := bt); if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e22b9936bf68ebcaf70cefbc57345995ebbbaed Gerrit-Change-Number: 18563 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 08:56:02 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 08:56:02 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map References: Message-ID: guilly at gmail.com has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... ts_31_102.py: add EF_ADF_map the EF files in the USIM ADF are different to the ones int the GSM dir so added the dictionary to avoid conflicts and hardcoded values the 'DIR' one was added in ts_51_011.py, not sure if it should be there as it's not in that standard, but did it for simplicity Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba --- M pySim-read.py M pySim/cards.py M pySim/ts_31_102.py M pySim/ts_51_011.py 4 files changed, 114 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/18564/1 diff --git a/pySim-read.py b/pySim-read.py index df21531..6fd36f9 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -29,7 +29,7 @@ import re import sys from pySim.ts_51_011 import EF, DF, EF_SST_map -from pySim.ts_31_102 import EF_UST_map +from pySim.ts_31_102 import EF_UST_map, EF_ADF_map from pySim.ts_31_103 import EF_IST_map from pySim.commands import SimCardCommands @@ -234,7 +234,7 @@ # EF.UST - File Id in ADF USIM : 6f38 if '9000' == card.select_adf_by_aid(): # EF.UST - (res, sw) = card.read_binary('6f38') + (res, sw) = card.read_binary(EF_ADF_map['UST']) if sw == '9000': print("USIM Service Table: %s" % res) # Print those which are available diff --git a/pySim/cards.py b/pySim/cards.py index c7b34eb..b90d338 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -211,9 +211,9 @@ # Find out how many records the EF.DIR has, then go through # all records and try to find the AID we are looking for - aid_record_count = self._scc.record_count(['2F00']) + aid_record_count = self._scc.record_count(EF['DIR']) for i in range(0, aid_record_count): - record = self._scc.read_record(['2F00'], i + 1) + record = self._scc.read_record(EF['DIR'], i + 1) if aid in record[0]: aid_len = int(record[0][6:8], 16) return record[0][8:8 + aid_len * 2] @@ -225,9 +225,9 @@ try: # Find out how many records the EF.DIR has # and store all the AIDs in the UICC - rec_cnt = self._scc.record_count(['3f00', '2f00']) + rec_cnt = self._scc.record_count(EF['DIR']) for i in range(0, rec_cnt): - rec = self._scc.read_record(['3f00', '2f00'], i + 1) + rec = self._scc.read_record(EF['DIR'], i + 1) if (rec[0][0:2], rec[0][4:6]) == ('61', '4f') and len(rec[0]) > 12 \ and rec[0][8:8 + int(rec[0][6:8], 16) * 2] not in self._aids: self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2]) diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 9f5abe9..36cbedf 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -135,4 +135,108 @@ 109: 'MCPTT', 110: 'ePDG configuration Information for Emergency Service support', 111: 'ePDG configuration Information for Emergency Service configured', -} \ No newline at end of file +} + +EF_ADF_map = { +'LI': '6F05', +'ARR': '6F06', +'IMSI': '6F07', +'Keys': '6F08', +'KeysPS': '6F09', +'DCK': '6F2C', +'HPPLMN': '6F31', +'CNL': '6F32', +'ACMmax': '6F37', +'UST': '6F38', +'ACM': '6F39', +'FDN': '6F3B', +'SMS': '6F3C', +'GID1': '6F3E', +'GID2': '6F3F', +'MSISDN': '6F40', +'PUCT': '6F41', +'SMSP': '6F42', +'SMSS': '6F42', +'CBMI': '6F45', +'SPN': '6F46', +'SMSR': '6F47', +'CBMID': '6F48', +'SDN': '6F49', +'EXT2': '6F4B', +'EXT3': '6F4C', +'BDN': '6F4D', +'EXT5': '6F4E', +'CCP2': '6F4F', +'CBMIR': '6F50', +'EXT4': '6F55', +'EST': '6F56', +'ACL': '6F57', +'CMI': '6F58', +'START-HFN': '6F5B', +'THRESHOLD': '6F5C', +'PLMNwAcT': '6F60', +'OPLMNwAcT': '6F61', +'HPLMNwAcT': '6F62', +'PSLOCI': '6F73', +'ACC': '6F78', +'FPLMN': '6F7B', +'LOCI': '6F7E', +'ICI': '6F80', +'OCI': '6F81', +'ICT': '6F82', +'OCT': '6F83', +'AD': '6FAD', +'VGCS': '6FB1', +'VGCSS': '6FB2', +'VBS': '6FB3', +'VBSS': '6FB4', +'eMLPP': '6FB5', +'AAeM': '6FB6', +'ECC': '6FB7', +'Hiddenkey': '6FC3', +'NETPAR': '6FC4', +'PNN': '6FC5', +'OPL': '6FC6', +'MBDN': '6FC7', +'EXT6': '6FC8', +'MBI': '6FC9', +'MWIS': '6FCA', +'CFIS': '6FCB', +'EXT7': '6FCC', +'SPDI': '6FCD', +'MMSN': '6FCE', +'EXT8': '6FCF', +'MMSICP': '6FD0', +'MMSUP': '6FD1', +'MMSUCP': '6FD2', +'NIA': '6FD3', +'VGCSCA': '6FD4', +'VBSCA': '6FD5', +'GBAP': '6FD6', +'MSK': '6FD7', +'MUK': '6FD8', +'EHPLMN': '6FD9', +'GBANL': '6FDA', +'EHPLMNPI': '6FDB', +'LRPLMNSI': '6FDC', +'NAFKCA': '6FDD', +'SPNI': '6FDE', +'PNNI': '6FDF', +'NCP-IP': '6FE2', +'EPSLOCI': '6FE3', +'EPSNSC': '6FE4', +'UFC': '6FE6', +'UICCIARI': '6FE7', +'NASCONFIG': '6FE8', +'PWC': '6FEC', +'FDNURI': '6FED', +'BDNURI': '6FEE', +'SDNURI': '6FEF', +'IWL': '6FF0', +'IPS': '6FF1', +'IPD': '6FF2', +'ePDGId': '6FF3', +'ePDGSelection': '6FF4', +'ePDGIdEm': '6FF5', +'ePDGSelectionEm': '6FF6', +} diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 1cec91f..fc96cfa 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -42,12 +42,14 @@ 'SOLSA': '5F70', 'MExE': '5F3C', + } EF_num = { # MF 'ICCID': '2FE2', 'ELP': '2F05', +'DIR': '2F00', # DF_TELECOM 'ADN': '6F3A', @@ -164,6 +166,7 @@ EF = { 'ICCID': [MF_num, EF_num['ICCID']], 'ELP': [MF_num, EF_num['ELP']], +'DIR': [MF_num, EF_num['DIR']], 'ADN': DF['TELECOM']+[EF_num['ADN']], 'FDN': DF['TELECOM']+[EF_num['FDN']], -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 09:55:27 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 09:55:27 +0000 Subject: Change in osmo-gsm-tester[master]: enb: remove freq config for zmq operation In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 ) Change subject: enb: remove freq config for zmq operation ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+2 > > So IIUC these values are calculated automatically from EARFCN? correct, this works in the eNB but we still have to specify it in the UE -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 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: I70f5776173c2df5894031f68df2f6c3a900b79f8 Gerrit-Change-Number: 18532 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 09:55:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 09:55:40 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 09:55:40 +0000 Subject: Change in osmo-gsm-tester[master]: enb: remove freq config for zmq operation In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 ) Change subject: enb: remove freq config for zmq operation ...................................................................... enb: remove freq config for zmq operation specifiying the rx/tx_freq for the eNB is optional. But when it's done it needs to be correct. There seems to be an issue when mapping the freq[0-3] between srsENB and Amarisoft eNB. So it's safe to just drop the config here altogether. Change-Id: I70f5776173c2df5894031f68df2f6c3a900b79f8 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 0 insertions(+), 17 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 7004805..6814ee8 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -172,23 +172,6 @@ + ',rx_port2=tcp://' + self.ue.addr() + ':2005' \ + ',rx_port3=tcp://' + self.ue.addr() + ':2007' - if self._num_cells == 1: - # Single carrier - if self.num_ports() == 1: - # SISO - rf_dev_args += ',tx_freq0=2630e6,rx_freq0=2510e6' - elif self.num_ports() == 2: - # MIMO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,rx_freq0=2510e6,rx_freq1=2510e6' - elif self._num_cells == 2: - # 2x class - if self.num_ports() == 1: - # SISO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2650e6,rx_freq0=2510e6,rx_freq1=2530e6' - elif self.num_ports() == 2: - # MIMO - rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,tx_freq2=2650e6,tx_freq3=2650e6,rx_freq0=2510e6,rx_freq1=2510e6,rx_freq2=2530e6,rx_freq3=2530e6' - rf_dev_args += ',id=enb,base_srate=' + str(base_srate) return rf_dev_args -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18532 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: I70f5776173c2df5894031f68df2f6c3a900b79f8 Gerrit-Change-Number: 18532 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 09:55:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 09:55:59 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: sum bitrates for all component carrier In-Reply-To: References: Message-ID: srs_andre has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 ) Change subject: ms_srs: sum bitrates for all component carrier ...................................................................... ms_srs: sum bitrates for all component carrier when calculating the dl and ul bitrate, it is required to take the sum of all active component carriers since they are reported seperately inside the CSV file Change-Id: If30ec3f22ce5871f911433e6a6997e9c6e7ca210 --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index f53f461..3e1b3ff 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -398,6 +398,15 @@ # Sum them up assuming same array dimension sel_data += vec + # Sum up all component carriers for rate metrics + if metric_str.find('brate'): + # Determine number of component carriers + num_cc = numpy.amax(numpy.array(self.raw_data['cc'])) + 1 # account for zero index + tmp_values = sel_data + sel_data = numpy.array(tmp_values[::num_cc]) # first carrier, every num_cc'th item in list + for cc in range(1, num_cc): + sel_data += numpy.array(tmp_values[cc::num_cc]) # all other carriers, start at cc index + if operation == 'avg': result = numpy.average(sel_data) elif operation == 'sum': -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18533 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: If30ec3f22ce5871f911433e6a6997e9c6e7ca210 Gerrit-Change-Number: 18533 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:04:08 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 10:04:08 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix ARFCN list encoding in Set Channel Attributes References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18565 ) Change subject: abis_nm: fix ARFCN list encoding in Set Channel Attributes ...................................................................... abis_nm: fix ARFCN list encoding in Set Channel Attributes 3GPP TS 12.21 defines coding of 'ARFCN List' attribute as follows: +---------------------------+--------------------+ | Attribute Identifier | 1st octet | +---------------------------+--------------------+ | Length | 2-3 octets | +---------------------------+--------------------+ | ARFCN1 | 4-5 octets | +---------------------------+--------------------+ | ... | ... | +---------------------------+--------------------+ | ARFCNn | (n * 2 - 3) octets | +---------------------------+--------------------+ so this is basically TL16V, where L is the length of V. In the Siemens dialect of OML coding rules are different though: +---------------------------+--------------------+ | Attribute Identifier | 1st octet | +---------------------------+--------------------+ | ARFCN count | 2nd octet | +---------------------------+--------------------+ | ARFCN1 | 4-5 octets | +---------------------------+--------------------+ | ... | ... | +---------------------------+--------------------+ | ARFCNn | (n * 2 - 2) octets | +---------------------------+--------------------+ so this is TCV, where C is the amount of ARFCNs in V. This change fixes encoding of 'ARFCN List' for other dialects, in particular encoding of the 'Length' field (1 vs 2 octets). I verified the results in Wireshark (generic 3GPP TS 12.21 and ip.access dialect), everything looks good. Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Related: OS#4545 --- M src/osmo-bsc/abis_nm.c 1 file changed, 28 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/18565/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4ed0602..f59147f 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -2013,26 +2013,43 @@ msgb_tv_put(msg, NM_ATT_CHAN_COMB, chan_comb); if (ts->hopping.enabled) { - unsigned int i; - uint8_t *len; + unsigned int i, n; + uint16_t *u16 = NULL; + uint8_t *u8 = NULL; msgb_tv_put(msg, NM_ATT_HSN, ts->hopping.hsn); msgb_tv_put(msg, NM_ATT_MAIO, ts->hopping.maio); - /* build the ARFCN list */ msgb_put_u8(msg, NM_ATT_ARFCN_LIST); - len = msgb_put(msg, 1); - *len = 0; - for (i = 0; i < ts->hopping.arfcns.data_len*8; i++) { + + /* 3GPP TS 12.21 defines this IE as TL16V */ + if (bts->type != GSM_BTS_TYPE_BS11) + u16 = (uint16_t *) msgb_put(msg, 2); + else /* ... but BS-11 wants TLV instead */ + u8 = (uint8_t *) msgb_put(msg, 1); + + /* build the ARFCN list from pre-computed bitmap */ + for (i = 0, n = 0; i < ts->hopping.arfcns.data_len*8; i++) { if (bitvec_get_bit_pos(&ts->hopping.arfcns, i)) { msgb_put_u16(msg, i); - /* At least BS-11 wants a TLV16 here */ - if (bts->type == GSM_BTS_TYPE_BS11) - *len += 1; - else - *len += sizeof(uint16_t); + n += 1; } } + + /* BS-11 cannot handle more than 255 ARFCNs, because L is 8 bit. + * This is unlikely to happen, but better check than sorry... */ + if (bts->type == GSM_BTS_TYPE_BS11 && n > 0xff) { + LOGPFOH(DNM, LOGL_ERROR, foh, "%s cannot handle %u (more than 255) " + "hopping channels\n", gsm_bts_name(bts), n); + msgb_free(msg); + return -EINVAL; + } + + /* 3GPP TS 12.21 defines L as length of the V part (in octets) */ + if (bts->type != GSM_BTS_TYPE_BS11) + *u16 = htons(n * sizeof(*u16)); + else /* ... BS-11 wants the number of channels instead */ + *u8 = n; } msgb_tv_put(msg, NM_ATT_TSC, gsm_ts_tsc(ts)); /* training sequence */ if (bts->type == GSM_BTS_TYPE_BS11) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Gerrit-Change-Number: 18565 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:06:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 10:06:24 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh at 16 PS1, Line 16: echo "centos8" > FWIW, the official centos image has a "latest" and "centos8" tag, no "centos8-latest": [?] Fine then, you know better, I was just pointing out this possibility, in case we want several centos8 images later (like centos8-nightly vs centos8-latest). -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 10:06:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:16:18 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 10:16:18 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix ARFCN list encoding in Set Channel Attributes In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 to look at the new patch set (#2). Change subject: abis_nm: fix ARFCN list encoding in Set Channel Attributes ...................................................................... abis_nm: fix ARFCN list encoding in Set Channel Attributes 3GPP TS 12.21 defines coding of 'ARFCN List' attribute as follows: +---------------------------+--------------------+ | Attribute Identifier | 1st octet | +---------------------------+--------------------+ | Length | 2-3 octets | +---------------------------+--------------------+ | ARFCN1 | 4-5 octets | +---------------------------+--------------------+ | ... | ... | +---------------------------+--------------------+ | ARFCNn | (n * 2 - 3) octets | +---------------------------+--------------------+ so this is basically TL16V, where L16 is the length of V. In the Siemens dialect of OML coding rules are different though: +---------------------------+--------------------+ | Attribute Identifier | 1st octet | +---------------------------+--------------------+ | ARFCN count | 2nd octet | +---------------------------+--------------------+ | ARFCN1 | 4-5 octets | +---------------------------+--------------------+ | ... | ... | +---------------------------+--------------------+ | ARFCNn | (n * 2 - 2) octets | +---------------------------+--------------------+ so this is TCV, where C is the amount of ARFCNs in V. This change fixes encoding of 'ARFCN List' for other dialects, in particular encoding of the 'Length' field (1 vs 2 octets). I verified the results in Wireshark (generic 3GPP TS 12.21 and ip.access dialect), everything looks good. Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Related: OS#4545 --- M src/osmo-bsc/abis_nm.c 1 file changed, 28 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/18565/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Gerrit-Change-Number: 18565 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:31:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 10:31:42 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 1: Code-Review-1 (3 comments) https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/cards.py at a228 PS1, Line 228: '3f00', '2f00' Are you sure about this change? It's not just '2f00', but with '3f00'. https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_31_102.py at 141 PS1, Line 141: 'LI': '6F05', Please align it with tabs: EF_ADF_map = { 'ARR' : '6F06', 'IMSI' : '6F07', # ... } https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_51_011.py File pySim/ts_51_011.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_51_011.py at 45 PS1, Line 45: Unrelated change. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 1 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 29 May 2020 10:31:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:37:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 10:37:26 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix ARFCN list encoding in Set Channel Attributes In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18565 ) Change subject: abis_nm: fix ARFCN list encoding in Set Channel Attributes ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Gerrit-Change-Number: 18565 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 29 May 2020 10:37:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:21 +0000 Subject: Change in docker-playground[master]: *-sip-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18566 ) Change subject: *-sip-*: support centos8 ...................................................................... *-sip-*: support centos8 Related: OS#4564 Change-Id: I09f86fb687fa887d6a9dccb37e182149dde51879 --- M osmo-sip-master/Dockerfile M ttcn3-sip-test/Dockerfile M ttcn3-sip-test/jenkins.sh 3 files changed, 46 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/66/18566/1 diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 2407984..2da49ad 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,26 +11,42 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libasn1c-dev \ - libdbd-sqlite3 \ - libdbi-dev \ - libosmo-abis-dev \ - libosmo-mgcp-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - libsmpp34-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libasn1c-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libosmo-abis-dev \ + libosmo-mgcp-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + libsmpp34-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(sofia-sip-ua-glib)" \ + telnet \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-sip-test/Dockerfile b/ttcn3-sip-test/Dockerfile index 9f1a6df..a984b1d 100644 --- a/ttcn3-sip-test/Dockerfile +++ b/ttcn3-sip-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 8a1977e..3b58d2a 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-sip-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-sip-test" network_create 172.18.11.0/24 @@ -27,7 +27,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-sip-connector -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-sip-$IMAGE_SUFFIX \ + $REPO_USER/osmo-sip-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-sip-connector -c /data/osmo-sip-connector.cfg >>/data/osmo-sip-connector.log 2>&1" echo Starting container with SIP testsuite @@ -38,7 +38,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-sip-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-sip-test + $REPO_USER/ttcn3-sip-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-sip-connector -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I09f86fb687fa887d6a9dccb37e182149dde51879 Gerrit-Change-Number: 18566 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:21 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:21 +0000 Subject: Change in docker-playground[master]: *-ggsn-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18567 ) Change subject: *-ggsn-*: support centos8 ...................................................................... *-ggsn-*: support centos8 Related: OS#4564 Change-Id: I7ea6a60bc53415e5b3050b4ed4d1b2d6aeeb8065 --- M osmo-ggsn-master/Dockerfile M ttcn3-ggsn-test/Dockerfile M ttcn3-ggsn-test/jenkins.sh 3 files changed, 37 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/67/18567/1 diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 3802670..f9c275a 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,16 +11,33 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libgtpnl)" \ + "pkgconfig(libmnl)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-ggsn-test/Dockerfile b/ttcn3-ggsn-test/Dockerfile index 7e88f28..df1cf54 100644 --- a/ttcn3-ggsn-test/Dockerfile +++ b/ttcn3-ggsn-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index a69e640..5a27987 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-ggsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-ggsn-test" mkdir $VOL_BASE_DIR/ggsn-tester @@ -25,7 +25,7 @@ -v $VOL_BASE_DIR/ggsn:/data \ --name ${BUILD_TAG}-ggsn -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \ + $REPO_USER/osmo-ggsn-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-ggsn -c /data/osmo-ggsn.cfg >/data/osmo-ggsn.log 2>&1" # start docker container with testsuite in foreground @@ -36,7 +36,7 @@ -e "TTCN3_PCAP_PATH=/data" \ --name ${BUILD_TAG}-ggsn-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-ggsn-test + $REPO_USER/ttcn3-ggsn-test:$DOCKER_TAG # stop GGSN after test has completed docker container stop ${BUILD_TAG}-ggsn -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7ea6a60bc53415e5b3050b4ed4d1b2d6aeeb8065 Gerrit-Change-Number: 18567 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:22 +0000 Subject: Change in docker-playground[master]: *-hlr-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18568 ) Change subject: *-hlr-*: support centos8 ...................................................................... *-hlr-*: support centos8 Related: OS#4564 Change-Id: Ie701be46e3b7ab5ee8840060693bd3635abb940f --- M osmo-hlr-master/Dockerfile M ttcn3-hlr-test/Dockerfile M ttcn3-hlr-test/jenkins.sh 3 files changed, 42 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/68/18568/1 diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 3aa8468..e1fe930 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,20 +11,38 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libdbd-sqlite3 \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libdbd-sqlite3 \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + python3 \ + telnet \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-hlr-test/Dockerfile b/ttcn3-hlr-test/Dockerfile index 0233035..7b797e7 100644 --- a/ttcn3-hlr-test/Dockerfile +++ b/ttcn3-hlr-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 47ce5a9..474cdac 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-hlr-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-hlr-test" network_create 172.18.10.0/24 @@ -28,7 +28,7 @@ -v $VOL_BASE_DIR/hlr:/data \ --name ${BUILD_TAG}-hlr -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-hlr-$IMAGE_SUFFIX \ + $REPO_USER/osmo-hlr-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-hlr -c /data/osmo-hlr.cfg >/data/osmo-hlr.log 2>&1" echo Starting container with HLR testsuite @@ -38,7 +38,7 @@ -v $VOL_BASE_DIR/hlr-tester:/data \ --name ${BUILD_TAG}-ttcn3-hlr-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-hlr-test + $REPO_USER/ttcn3-hlr-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-hlr -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie701be46e3b7ab5ee8840060693bd3635abb940f Gerrit-Change-Number: 18568 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:22 +0000 Subject: Change in docker-playground[master]: *-pcu-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18569 ) Change subject: *-pcu-*: support centos8 ...................................................................... *-pcu-*: support centos8 Related: OS#4564 Change-Id: I95d4987cefdb97295d15599f77860a766aba01f4 --- M osmo-pcu-master/Dockerfile M ttcn3-pcu-test/Dockerfile M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh 4 files changed, 40 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/69/18569/1 diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 1aed8c9..eaead34 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,16 +11,32 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/ttcn3-pcu-test/Dockerfile b/ttcn3-pcu-test/Dockerfile index b78fee2..a24c05f 100644 --- a/ttcn3-pcu-test/Dockerfile +++ b/ttcn3-pcu-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 06403d3..c7243bc 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-pcu-test" network_create 172.18.14.0/24 @@ -27,7 +27,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu-sns -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ + $REPO_USER/osmo-pcu-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.14.10 >>/data/osmo-pcu.log 2>&1" echo Starting container with PCU testsuite @@ -38,7 +38,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-pcu-test + $REPO_USER/ttcn3-pcu-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-pcu-sns diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 271f89f..a68584f 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-pcu-test" network_create 172.18.13.0/24 @@ -27,7 +27,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-pcu -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ + $REPO_USER/osmo-pcu-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.13.10 >>/data/osmo-pcu.log 2>&1" echo Starting container with PCU testsuite @@ -38,7 +38,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-pcu-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-pcu-test + $REPO_USER/ttcn3-pcu-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-pcu -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I95d4987cefdb97295d15599f77860a766aba01f4 Gerrit-Change-Number: 18569 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:23 +0000 Subject: Change in docker-playground[master]: *-remsim-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18570 ) Change subject: *-remsim-*: support centos8 ...................................................................... *-remsim-*: support centos8 Related: OS#4564 Change-Id: I0eb4e3ad17eb9e7716d630eaa4ae61f860818ff6 --- M osmo-remsim-master/Dockerfile M ttcn3-remsim-test/Dockerfile M ttcn3-remsim-test/jenkins.sh 3 files changed, 69 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/70/18570/1 diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 0a15d93..82e1ec3 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -1,17 +1,31 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte # PC/SC required for testing of bankd (with vpcd) # autoconf, automake, libtool, pkg-config, m4, help2man required for virtualsmartcard -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libpcsclite-dev \ - pcscd \ - pcsc-tools \ - autoconf automake libtool pkg-config m4 help2man ca-certificates && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libpcsclite-dev \ + pcscd \ + pcsc-tools \ + autoconf automake libtool pkg-config m4 help2man ca-certificates && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + pcsc-lite \ + help2man \ + python3 \ + ;; \ + esac # build virtualsmartcard RUN git clone https://github.com/frankmorgner/vsmartcard.git @@ -22,24 +36,46 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-simtrace2-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libpcsclite-dev \ - libcsv-dev \ - libjansson-dev \ - libulfius-dev \ - liborcania-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-simtrace2-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libpcsclite-dev \ + libcsv-dev \ + libjansson-dev \ + libulfius-dev \ + liborcania-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmosim)" \ + "pkgconfig(libpcsclite)" \ + "pkgconfig(libulfius)" \ + "pkgconfig(libusb-1.0)" \ + "pkgconfig(libosmousb)" \ + "pkgconfig(libosmo-simtrace2)" \ + ;; \ + esac #ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/ttcn3-remsim-test/Dockerfile b/ttcn3-remsim-test/Dockerfile index b1ea71f..1cd9b44 100644 --- a/ttcn3-remsim-test/Dockerfile +++ b/ttcn3-remsim-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1c2682c..fd4b73f 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -3,8 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-remsim-$IMAGE_SUFFIX" \ + "$DISTRO-titan" \ "ttcn3-remsim-test" start_server() { @@ -14,7 +15,7 @@ -v $VOL_BASE_DIR/server:/data \ --name ${BUILD_TAG}-server -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-remsim-server >/data/osmo-remsim-server.log 2>&1" } @@ -25,7 +26,7 @@ -v $VOL_BASE_DIR/bankd:/data \ --name ${BUILD_TAG}-bankd -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "pcscd; osmo-remsim-bankd -i 172.18.17.10 >/data/osmo-remsim-bankd.log 2>&1" } @@ -36,7 +37,7 @@ -v $VOL_BASE_DIR/client:/data \ --name ${BUILD_TAG}-client-d \ $DOCKER_ARGS \ - $REPO_USER/osmo-remsim-$IMAGE_SUFFIX \ + $REPO_USER/osmo-remsim-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-remsim-client-shell >/data/osmo-remsim-client.log 2>&1" } @@ -50,7 +51,7 @@ -v $VOL_BASE_DIR/remsim-tester:/data \ --name ${BUILD_TAG}-ttcn3-remsim-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-remsim-test + $REPO_USER/ttcn3-remsim-test:$DOCKER_TAG } network_create 172.18.17.0/24 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0eb4e3ad17eb9e7716d630eaa4ae61f860818ff6 Gerrit-Change-Number: 18570 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:23 +0000 Subject: Change in docker-playground[master]: *-stp-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18571 ) Change subject: *-stp-*: support centos8 ...................................................................... *-stp-*: support centos8 Related: OS#4564 Change-Id: Ie3e3c8645be40f4291e214a6843eb6aa30e77183 --- M osmo-stp-master/Dockerfile M ttcn3-stp-test/Dockerfile M ttcn3-stp-test/jenkins.sh 3 files changed, 37 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/18571/1 diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 62bcbc7..af16cb1 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,17 +11,33 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-netif-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-netif-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-stp-test/Dockerfile b/ttcn3-stp-test/Dockerfile index e6bb9d0..22ec24c 100644 --- a/ttcn3-stp-test/Dockerfile +++ b/ttcn3-stp-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index bc2d5af..02b350e 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -3,9 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-stp-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-stp-test" mkdir $VOL_BASE_DIR/stp-tester @@ -22,7 +22,7 @@ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-stp-$IMAGE_SUFFIX + $REPO_USER/osmo-stp-$IMAGE_SUFFIX:$DOCKER_TAG echo Starting container with STP testsuite docker run --rm \ @@ -31,7 +31,7 @@ -v $VOL_BASE_DIR/stp-tester:/data \ --name ${BUILD_TAG}-ttcn3-stp-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-stp-test + $REPO_USER/ttcn3-stp-test:$DOCKER_TAG docker container kill ${BUILD_TAG}-stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie3e3c8645be40f4291e214a6843eb6aa30e77183 Gerrit-Change-Number: 18571 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:23 +0000 Subject: Change in docker-playground[master]: *-sccp-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18572 ) Change subject: *-sccp-*: support centos8 ...................................................................... *-sccp-*: support centos8 Related: OS#4564 Change-Id: I51c8f5ae6ae136a3b33aca667ed01cae15d9577a --- M ttcn3-sccp-test/Dockerfile M ttcn3-sccp-test/jenkins.sh 2 files changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/72/18572/1 diff --git a/ttcn3-sccp-test/Dockerfile b/ttcn3-sccp-test/Dockerfile index d9c3232..d2d8e96 100644 --- a/ttcn3-sccp-test/Dockerfile +++ b/ttcn3-sccp-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 242e44a..c9a86c9 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -4,9 +4,9 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # Always require osmo-stp-master since is the only with sccp_demo_user installed docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-stp-master" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-sccp-test" mkdir $VOL_BASE_DIR/sccp-tester @@ -23,7 +23,7 @@ -v $VOL_BASE_DIR/sccp:/data \ --name ${BUILD_TAG}-stp -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-stp-master \ + $REPO_USER/osmo-stp-master:$DOCKER_TAG \ /bin/sh -c "sccp_demo_user -l 172.18.22.200 -r 172.18.22.203 -C /data/sccp_demo_user.cfg >>/data/sccp_demo_user.log 2>&1" @@ -34,7 +34,7 @@ -v $VOL_BASE_DIR/sccp-tester:/data \ --name ${BUILD_TAG}-ttcn3-sccp-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-sccp-test + $REPO_USER/ttcn3-sccp-test:$DOCKER_TAG docker container kill ${BUILD_TAG}-stp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I51c8f5ae6ae136a3b33aca667ed01cae15d9577a Gerrit-Change-Number: 18572 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:23 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:23 +0000 Subject: Change in docker-playground[master]: *-sgsn-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18573 ) Change subject: *-sgsn-*: support centos8 ...................................................................... *-sgsn-*: support centos8 Related: OS#4564 Change-Id: I8c79ecc154e29a369352621f503fef5a3342ac92 --- M osmo-sgsn-master/Dockerfile M ttcn3-sgsn-test/Dockerfile M ttcn3-sgsn-test/jenkins.sh 3 files changed, 56 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/73/18573/1 diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index 10fc92e..1a6a7a4 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,25 +11,50 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-gsup-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libsmpp34-dev \ - libgtp-dev \ - libasn1c-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-gsup-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libsmpp34-dev \ + libgtp-dev \ + libasn1c-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libcrypto)" \ + "pkgconfig(libgtp)" \ + "pkgconfig(libosmo-gsup-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-ranap)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-sgsn-test/Dockerfile b/ttcn3-sgsn-test/Dockerfile index fcc2c02..75f61c1 100644 --- a/ttcn3-sgsn-test/Dockerfile +++ b/ttcn3-sgsn-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 9db295a..336368d 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -3,10 +3,10 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-sgsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-sgsn-test" network_create 172.18.8.0/24 @@ -28,7 +28,7 @@ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-stp-$IMAGE_SUFFIX + $REPO_USER/osmo-stp-$IMAGE_SUFFIX:$DOCKER_TAG echo Starting container with SGSN docker run --rm \ @@ -36,7 +36,7 @@ -v $VOL_BASE_DIR/sgsn:/data \ --name ${BUILD_TAG}-sgsn -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-sgsn-$IMAGE_SUFFIX \ + $REPO_USER/osmo-sgsn-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-sgsn -c /data/osmo-sgsn.cfg >/data/osmo-sgsn.log 2>&1" echo Starting container with SGSN testsuite @@ -46,7 +46,7 @@ -v $VOL_BASE_DIR/sgsn-tester:/data \ --name ${BUILD_TAG}-ttcn3-sgsn-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-sgsn-test $@ + $REPO_USER/ttcn3-sgsn-test:$DOCKER_TAG $@ echo Starting container to merge logs docker run --rm \ @@ -56,7 +56,7 @@ --name ${BUILD_TAG}-ttcn3-sgsn-test-logmerge \ --entrypoint /osmo-ttcn3-hacks/log_merge.sh SGSN_Tests --rm \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-sgsn-test + $REPO_USER/ttcn3-sgsn-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-sgsn -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c79ecc154e29a369352621f503fef5a3342ac92 Gerrit-Change-Number: 18573 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:24 +0000 Subject: Change in docker-playground[master]: *-msc-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18574 ) Change subject: *-msc-*: support centos8 ...................................................................... *-msc-*: support centos8 Related: OS#4564 Change-Id: I61410bb4bda6120563a30d3997708493c4c4b01a --- M osmo-msc-master/Dockerfile M ttcn3-msc-test/Dockerfile M ttcn3-msc-test/jenkins.sh 3 files changed, 57 insertions(+), 26 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/18574/1 diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 55e5d6e..1775e68 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,27 +11,52 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libasn1c-dev \ - libdbd-sqlite3 \ - libdbi-dev \ - libosmo-abis-dev \ - libosmo-mgcp-client-dev \ - libosmo-gsup-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - libsmpp34-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libasn1c-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libosmo-abis-dev \ + libosmo-mgcp-client-dev \ + libosmo-gsup-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + libsmpp34-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libosmo-gsup-client)" \ + "pkgconfig(libosmo-mgcp-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-ranap)" \ + "pkgconfig(libosmo-sccp)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(libsmpp34)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-msc-test/Dockerfile b/ttcn3-msc-test/Dockerfile index ee7e5f0..645cbe1 100644 --- a/ttcn3-msc-test/Dockerfile +++ b/ttcn3-msc-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 805151a..0767dd0 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -3,10 +3,10 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-msc-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-msc-test" network_create 172.18.1.0/24 @@ -29,7 +29,7 @@ --network $NET_NAME --ip 172.18.1.200 \ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ - $REPO_USER/osmo-stp-$IMAGE_SUFFIX + $REPO_USER/osmo-stp-$IMAGE_SUFFIX:$DOCKER_TAG echo Starting container with MSC docker run --rm \ @@ -38,7 +38,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-msc -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-msc-$IMAGE_SUFFIX \ + $REPO_USER/osmo-msc-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-msc -c /data/osmo-msc.cfg >>/data/osmo-msc.log 2>&1" echo Starting container with MSC testsuite @@ -49,7 +49,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-msc-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-msc-test + $REPO_USER/ttcn3-msc-test:$DOCKER_TAG echo Stopping containers docker container kill ${BUILD_TAG}-msc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61410bb4bda6120563a30d3997708493c4c4b01a Gerrit-Change-Number: 18574 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:24 +0000 Subject: Change in docker-playground[master]: *-bsc-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18575 ) Change subject: *-bsc-*: support centos8 ...................................................................... *-bsc-*: support centos8 Related: OS#4564 Change-Id: Ib717975ba4689d60d2dc5cbbd4f79ed8a78b03cd --- M osmo-bsc-master/Dockerfile M ttcn3-bsc-test/Dockerfile M ttcn3-bsc-test/jenkins.sh 3 files changed, 49 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/75/18575/1 diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 75afbb7..3e9e880 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,22 +11,43 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmo-mgcp-client-dev \ - libgtp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmo-mgcp-client-dev \ + libgtp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmo-mgcp-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-sccp)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-bsc-test/Dockerfile b/ttcn3-bsc-test/Dockerfile index 9288469..bf490fb 100644 --- a/ttcn3-bsc-test/Dockerfile +++ b/ttcn3-bsc-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 44badb5..1955e5f 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -3,11 +3,11 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-bsc-test" mkdir $VOL_BASE_DIR/bsc-tester @@ -27,7 +27,7 @@ -v $VOL_BASE_DIR/stp:/data \ --name ${BUILD_TAG}-stp -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-stp-$IMAGE_SUFFIX + $REPO_USER/osmo-stp-$IMAGE_SUFFIX:$DOCKER_TAG echo Starting container with BSC docker run --rm \ @@ -35,7 +35,7 @@ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-bsc-$IMAGE_SUFFIX + $REPO_USER/osmo-bsc-$IMAGE_SUFFIX:$DOCKER_TAG for i in `seq 0 2`; do echo Starting container with OML for BTS$i @@ -43,7 +43,7 @@ --network $NET_NAME --ip 172.18.2.10$i \ --name ${BUILD_TAG}-bts$i -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ + $REPO_USER/osmo-bts-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-omldummy 172.18.2.20 $((i + 1234)) 1 >>/data/osmo-bts-omldummy-${i}.log 2>&1" done @@ -54,7 +54,7 @@ -v $VOL_BASE_DIR/bsc-tester:/data \ --name ${BUILD_TAG}-ttcn3-bsc-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-bsc-test + $REPO_USER/ttcn3-bsc-test:$DOCKER_TAG echo Stopping containers for i in `seq 0 2`; do -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib717975ba4689d60d2dc5cbbd4f79ed8a78b03cd Gerrit-Change-Number: 18575 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:38:24 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:38:24 +0000 Subject: Change in docker-playground[master]: *-bts-*: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18576 ) Change subject: *-bts-*: support centos8 ...................................................................... *-bts-*: support centos8 Related: OS#4564 Change-Id: I38a0b9d01cfa1112b9039682f627115ad5d3022d --- M osmo-bts-master/Dockerfile M osmocom-bb-host-master/Dockerfile M ttcn3-bts-test/Dockerfile M ttcn3-bts-test/jenkins.sh 4 files changed, 81 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/18576/1 diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index b73f2ac..e0d766b 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,21 +11,42 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev \ - libsmpp34-dev \ - libgtp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev \ + libsmpp34-dev \ + libgtp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocodec)" \ + "pkgconfig(libosmocoding)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmotrau)" \ + "pkgconfig(libosmovty)" \ + telnet \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 1d79f06..14ed909 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -1,5 +1,9 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-build:$DOCKER_TAG +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -9,16 +13,35 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list; \ + ;; \ + esac # python-enum34 is a dependecy of fake_trx as long we're using python2 ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libosmocore-dev python-enum34 && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libosmocore-dev \ + python-enum34 && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + python2 \ + "pkgconfig(libosmocodec)" \ + "pkgconfig(libosmocoding)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/ttcn3-bts-test/Dockerfile b/ttcn3-bts-test/Dockerfile index 29185c8..c0fea72 100644 --- a/ttcn3-bts-test/Dockerfile +++ b/ttcn3-bts-test/Dockerfile @@ -1,5 +1,7 @@ ARG USER -FROM $USER/debian-stretch-titan +ARG DISTRO +ARG DOCKER_TAG +FROM $USER/$DISTRO-titan:$DOCKER_TAG RUN mkdir /root/projects && (cd /root/projects && ln -sf / git) RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 00e8133..6dab7c2 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -4,11 +4,11 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # NOTE: there is no osmocom-bb-host-latest, hence always use master! docker_images_require \ - "debian-stretch-build" \ + "$DISTRO-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "osmocom-bb-host-master" \ - "debian-stretch-titan" \ + "$DISTRO-titan" \ "ttcn3-bts-test" start_bsc() { @@ -18,7 +18,7 @@ -v $VOL_BASE_DIR/bsc:/data \ --name ${BUILD_TAG}-bsc -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-bsc-$IMAGE_SUFFIX \ + $REPO_USER/osmo-bsc-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "osmo-bsc -c /data/osmo-bsc.cfg >>/data/osmo-bsc.log 2>&1" } @@ -36,7 +36,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-bts -d \ $DOCKER_ARGS \ - $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ + $REPO_USER/osmo-bts-$IMAGE_SUFFIX:$DOCKER_TAG \ /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg -i 172.18.9.10 >>/data/osmo-bts.log 2>&1" } @@ -47,7 +47,7 @@ -v $VOL_BASE_DIR/fake_trx:/data \ --name ${BUILD_TAG}-fake_trx -d \ $DOCKER_ARGS \ - $REPO_USER/osmocom-bb-host-master \ + $REPO_USER/osmocom-bb-host-master:$DOCKER_TAG \ /tmp/osmocom-bb/src/target/trx_toolkit/fake_trx.py \ --log-file-name /data/fake_trx.log \ --log-file-level DEBUG \ @@ -64,7 +64,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-trxcon -d \ $DOCKER_ARGS \ - $REPO_USER/osmocom-bb-host-master \ + $REPO_USER/osmocom-bb-host-master:$DOCKER_TAG \ /bin/sh -c "trxcon -i 172.18.9.21 -s /data/unix/osmocom_l2 >>/data/trxcon.log 2>&1" } @@ -75,7 +75,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-virtphy -d \ $DOCKER_ARGS \ - $REPO_USER/osmocom-bb-host-master \ + $REPO_USER/osmocom-bb-host-master:$DOCKER_TAG \ virtphy -s /data/unix/osmocom_l2 /bin/sh -c "virtphy -s /data/unix/osmocom_l2 >>/data/virtphy.log 2>&1" } @@ -89,7 +89,7 @@ -v $VOL_BASE_DIR/unix:/data/unix \ --name ${BUILD_TAG}-ttcn3-bts-test \ $DOCKER_ARGS \ - $REPO_USER/ttcn3-bts-test + $REPO_USER/ttcn3-bts-test:$DOCKER_TAG } network_create 172.18.9.0/24 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I38a0b9d01cfa1112b9039682f627115ad5d3022d Gerrit-Change-Number: 18576 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:41:20 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 10:41:20 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18564 to look at the new patch set (#2). Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... ts_31_102.py: add EF_ADF_map the EF files in the USIM ADF are different to the ones int the GSM dir so added the dictionary to avoid conflicts and hardcoded values the 'DIR' one was added in ts_51_011.py, not sure if it should be there as it's not in that standard, but did it for simplicity Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba --- M pySim-read.py M pySim/cards.py M pySim/ts_31_102.py M pySim/ts_51_011.py 4 files changed, 113 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/18564/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:56:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 10:56:46 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: add DISTRO environment variable In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: add DISTRO environment variable ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh File jenkins-common.sh: https://gerrit.osmocom.org/c/docker-playground/+/18553/1/jenkins-common.sh at 16 PS1, Line 16: echo "centos8" > Fine then, you know better, I was just pointing out this possibility, in case we want several centos [?] That kind of latest/nightly is controlled with IMAGE_SUFFIX. See: https://gerrit.osmocom.org/c/osmo-ci/+/18555/3/jobs/ttcn3-testsuites.yml#145 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 10:56:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 10:59:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 10:59:50 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 4: Some of my questions/concerns were not answered yet. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 10:59:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:00:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:00:31 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_find_or_create_by_{imsi, tmsi}(): fix NULL pointer dereference In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18558 ) Change subject: bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 Gerrit-Change-Number: 18558 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:00:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:04:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:04:19 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix ARFCN list encoding in Set Channel Attributes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18565 ) Change subject: abis_nm: fix ARFCN list encoding in Set Channel Attributes ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18565/2/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18565/2/src/osmo-bsc/abis_nm.c at 2035 PS2, Line 2035: n += 1; n++ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Gerrit-Change-Number: 18565 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:04:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:04:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:04:54 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18559 ) Change subject: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d Gerrit-Change-Number: 18559 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:04:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:05:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:05:10 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18560 ) Change subject: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b Gerrit-Change-Number: 18560 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:05:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:07:51 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:07:51 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18561/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/docker-playground/+/18561/1//COMMIT_MSG at 9 PS1, Line 9: It does not make sense to enable EGPRS Packet Channel Request afaiu the cmd in the vty config was disabling it explicitly instead of enabling it? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:07:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:08:30 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 29 May 2020 11:08:30 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py at 140 PS2, Line 140: EF_ADF_map = { it would be great to have it renamed it as EF_USIM_ADF_map as there is also ISIM ADF as well. Nice addition btw :) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 11:08:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:10:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:10:40 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:10:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:11:21 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:11:21 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:11:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:12:15 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:12:15 +0000 Subject: Change in docker-playground[master]: *-mgw-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: *-mgw-*: support centos8 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:12:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:12:36 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:12:36 +0000 Subject: Change in docker-playground[master]: *-sip-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18566 ) Change subject: *-sip-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I09f86fb687fa887d6a9dccb37e182149dde51879 Gerrit-Change-Number: 18566 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:12:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:12:47 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:12:47 +0000 Subject: Change in docker-playground[master]: *-ggsn-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18567 ) Change subject: *-ggsn-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7ea6a60bc53415e5b3050b4ed4d1b2d6aeeb8065 Gerrit-Change-Number: 18567 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:12:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:01 +0000 Subject: Change in docker-playground[master]: *-hlr-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18568 ) Change subject: *-hlr-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie701be46e3b7ab5ee8840060693bd3635abb940f Gerrit-Change-Number: 18568 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:13 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:13 +0000 Subject: Change in docker-playground[master]: *-pcu-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18569 ) Change subject: *-pcu-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I95d4987cefdb97295d15599f77860a766aba01f4 Gerrit-Change-Number: 18569 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:25 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:25 +0000 Subject: Change in docker-playground[master]: *-remsim-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18570 ) Change subject: *-remsim-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0eb4e3ad17eb9e7716d630eaa4ae61f860818ff6 Gerrit-Change-Number: 18570 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:41 +0000 Subject: Change in docker-playground[master]: *-stp-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18571 ) Change subject: *-stp-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie3e3c8645be40f4291e214a6843eb6aa30e77183 Gerrit-Change-Number: 18571 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:50 +0000 Subject: Change in docker-playground[master]: *-sccp-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18572 ) Change subject: *-sccp-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I51c8f5ae6ae136a3b33aca667ed01cae15d9577a Gerrit-Change-Number: 18572 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:13:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:13:59 +0000 Subject: Change in docker-playground[master]: *-sgsn-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18573 ) Change subject: *-sgsn-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c79ecc154e29a369352621f503fef5a3342ac92 Gerrit-Change-Number: 18573 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:13:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:14:07 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:14:07 +0000 Subject: Change in docker-playground[master]: *-msc-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18574 ) Change subject: *-msc-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61410bb4bda6120563a30d3997708493c4c4b01a Gerrit-Change-Number: 18574 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:14:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:14:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:14:18 +0000 Subject: Change in docker-playground[master]: *-bsc-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18575 ) Change subject: *-bsc-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib717975ba4689d60d2dc5cbbd4f79ed8a78b03cd Gerrit-Change-Number: 18575 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:14:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:14:28 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:14:28 +0000 Subject: Change in docker-playground[master]: *-bts-*: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18576 ) Change subject: *-bts-*: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I38a0b9d01cfa1112b9039682f627115ad5d3022d Gerrit-Change-Number: 18576 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:14:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:17:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:17:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 ) Change subject: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests ...................................................................... Patch Set 1: You already know my position, feel free to +2 and merge yourself if you want. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 Gerrit-Change-Number: 18562 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:17:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:17:50 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 11:17:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 ) Change subject: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e22b9936bf68ebcaf70cefbc57345995ebbbaed Gerrit-Change-Number: 18563 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:17:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:18:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 11:18:26 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py at 228 PS2, Line 228: (EF['DIR']) Again, is this correct? ['2f00'] -> EF['DIR'] ['3f00', '2f00'] -> EF['DIR'] -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 11:18:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 11:25:23 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 11:25:23 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 4: (24 comments) > Patch Set 4: > > Some of my questions/concerns were not answered yet. (forcing comments to be sent) can you check again? https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 10 PS2, Line 10: implemented in various placed (mostly mgcp_protocol.c). Also we use > places Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 14 PS2, Line 14: The trunk and endpoint handling in osmo-mgw is still very complex and > This paragraph is repeated. Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2//COMMIT_MSG at 25 PS2, Line 25: - rename struct mgcp_trunk_config to mgcp_trunk and "tcfg" to "trunk" > Having an "mgcp_trunk" structure and a "trunk" one looks confusing to me. the one is the struct name and the other is the symbol name used in the code. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3//COMMIT_MSG at 30 PS3, Line 30: - get rid of deprecated trunk parameters (leftorvers from the > leftovers Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/include/osmocom/mgcp/mgcp_endp.h File include/osmocom/mgcp/mgcp_endp.h: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/include/osmocom/mgcp/mgcp_endp.h at 81 PS2, Line 81: /*! Backpointer to the related trunk */ > "Backpointer to the trunk this endpoint belongs to" would probably be more clear for newcomers to un [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_codec.c File src/libosmo-mgcp/mgcp_codec.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_codec.c at 289 PS3, Line 289: /* FIXME: implement meaningful checks to make sure that the given codec > AFAIU we are adding a regression here by dropping this code? I am very sure it won't introduce a regression. I have double checked it now. In my opinion the code is even introducing major problems. First of all the removal of the code does not change the behavior of osmo-mgw, the reason for this is because no_audio_transcoding is initalized to 0 and we usually do not switch it on, otherwise we would experience a lot of problems! So only if no_audio_transcoding is 1 the MGW would check the codec name against a pre-configured constant (vty) and if the requested codec does not match that constant CRCX and MDCX would fail. Those VTY settings were there from the beginning and I do not know why I tried keep them but in my opinion this is a very wired way to deal with the lack of transcoding. Apart from that the relevant VTY commands are already marked as deprecated. Given that making the is_codec_compatible() check take effect is switched off when we use osmo-mgw I think there is no regression possible. We might even think to remove no_audio_transcoding as well. I am not done yet but I think there are a couple more strange trunk properties that do not fit in our new model. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 101 PS2, Line 101: (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, > what if len(epname) < prefix_len? Is strncmp safe here? Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 158 PS2, Line 158: * wildarded endpoint searches that picks the next free endpoint on > wildcarded Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 183 PS2, Line 183: endp = trunk->endpoints[i]; > (We should move to a hashtable with key=str and val=ptr at some point now that we use strings. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 188 PS2, Line 188: "(trunk:%i) found endpoint: %s\n", > %d Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 196 PS2, Line 196: "(trunk:%i) Not able to find specified endpoint: %s\n", > %d Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_endp.c at 254 PS2, Line 254: if (trunk->trunk_type == MGCP_TRUNK_VIRTUAL) { > (At some point we should have function pointers to do type-specific stuff. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 100 PS3, Line 100: if (strlen(epname) <= prefix_len) > So I was asking about strncmp because I don't know if the 2 strings here are null terminated. [?] They are null terminated, but I think there is still a problem. strncmp compares UP TO n char s. If the epname is lets say only 3 chars long and by chance these chars match the first 3 chars of the trunk prefix we would get a match too. But now I check the length, so it should be fine. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 109 PS3, Line 109: return epname; > trailing whitespace Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 216 PS3, Line 216: LOGP(DLMGCP, LOGL_ERROR, "missing domain name in endpoint name \"%s\", expecting '%s'\n", > SO you first use double quote for epname, but single quote for cfg->domain? Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 226 PS3, Line 226: LOGP(DLMGCP, LOGL_ERROR, "wrong domain name in endpoint name \"%s\", expecting '%s'\n", > Same Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 285 PS2, Line 285: /* FIXME: We hardcode to pick cfg->virt_trunkl, but > trailing whitespace Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 288 PS2, Line 288: struct rate_ctr_group *rate_ctrs = trunk->mgcp_general_ctr_group; > The rate_ctrs used below look general and not related to a trunk, so they should mbe moved to be und [?] I think I understand the problem now. The counters were allocated per trunk before. I did not change it, but when I look at the counters, it really looks like if the intension was to create some per-mgw health monitoring. I have now splatted that so that the counters are separate and global in the cfg. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 996 PS2, Line 996: struct mgcp_endpoint *endp = p->endp; > Swap these two lines: [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_protocol.c at 1220 PS2, Line 1220: struct mgcp_endpoint *endp = p->endp; > Same, swap these two lines. Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_sdp.c File src/libosmo-mgcp/mgcp_sdp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_sdp.c at 386 PS2, Line 386: LOGP(DLMGCP, LOGL_NOTICE, "endpoint:%s, failed to add codec\n", endp->name); > I see a lot of endpoint:%s logging, what about introducing LOGPENDP(endp, CAT, "... [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/src/libosmo-mgcp/mgcp_trunk.c at 30 PS2, Line 30: static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { > As I said, to me lots of these counters are not per-trunk, but global, so they shouldn't be here. Done https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c File tests/mgcp/mgcp_test.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c at 74 PS2, Line 74: #define AUEP1_RET "500 158663169 FAIL\r\n" > What about these changes in behavior? expected? I don't recall seeing any comment in commit deescrip [?] The problem is that there are still leftovers of an E1 trunk implementation in osmo-mgw. This implementation was never finished. This tests relates to an endpoint of the old E1 implementation. So since E1 is not working and did never work we now reject anything that goes to an E1 trunk. This is why the AUEP here now fails, which is correct. https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/tests/mgcp/mgcp_test.c File tests/mgcp/mgcp_test.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/tests/mgcp/mgcp_test.c at 1461 PS3, Line 1461: /* Allocate 5 at mgw and let osmo-mgw pick a codec from the list */ > I'm still wondering why are you changing the behavior of the test. [?] I have checked it now back. (See also comment in mgcp_codec.c) See also CRCX_MULT_GSM_EXACT, there are a lot of codecs configured. Right at the front is one that has payload type 0 assigned to it. I have removed the possibility to "force" a specific codec type when no transcoding is available (which is a wired way to deal with transcoding). So now can no longer set an audio_name, so the code will pick the first codec in the list, which has payload_type 0, so as far as the test is concerned it does what is expected. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 11:25:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:03:59 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 12:03:59 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions In-Reply-To: References: Message-ID: srs_andre 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 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 319 PS1, Line 319: def is_emm_registered(self): > Please keep the is_connected() and is_attached() APIs to it also matches the ones in other MS types [?] I think we can't compare the 2G(/3G) with the 4G/5G case here. The terms are simply different. In 4G/5G we have two different stages too. RRC connected and idle refers to whether the UE has a connection to the eNB. And then EMM registered or deregistered. This refers to whether the UE has a valid "connection" with the core. It's really not the same we need to able to differentiate between the two. We can leave it as attached/connected but it's not clear. And since most of the test cases we write are 4G+ only, it doesn't make sense to stick with an API or terminology that is wrong, does it? https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 322 PS1, Line 322: def get_ipv4_addr(self): > Please add this API as abstract method in superclass ms.py, and leave it unimplemented in ms_ofono. [?] Ack -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 12:03:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:15:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 12:15:15 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18559 ) Change subject: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d Gerrit-Change-Number: 18559 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 12:15:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:17:09 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 12:17:09 +0000 Subject: Change in osmo-gsm-tester[master]: epc_srs: add run function to EPC In-Reply-To: References: Message-ID: srs_andre has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 ) Change subject: epc_srs: add run function to EPC ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/1/src/osmo_gsm_tester/obj/epc_srs.py File src/osmo_gsm_tester/obj/epc_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/1/src/osmo_gsm_tester/obj/epc_srs.py at 214 PS1, Line 214: if self._run_node.is_local(): > Please document this function like you do in the commit description (for people to understand what i [?] Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 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: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 Gerrit-Change-Number: 18536 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 12:17:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:17:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 12:17:44 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18559 ) Change subject: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d Gerrit-Change-Number: 18559 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 12:17:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:18:00 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 12:18:00 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18560 ) Change subject: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b Gerrit-Change-Number: 18560 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 12:18:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 12:18:05 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18559 ) Change subject: osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' ...................................................................... osmo-bsc.cfg: drop non-existing 'access-list-name bsc-list' In the recent osmo-bsc master, this configuration parameter has been removed, so it fails to start due to "unknown parameter". Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 4 files changed, 0 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve neels: Looks good to me, approved; Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index fc50d73..9138c86 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -352,4 +352,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index ef4ecf5..4a78686 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -176,4 +176,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index bef7684..313bf79 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -400,6 +400,5 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list ctrl bind 0.0.0.0 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index d754cb9..b0592ad 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -277,4 +277,3 @@ bsc mid-call-timeout 0 no missing-msc-text - access-list-name bsc-list -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8f763a4b35f80f4db637bebdd8e802a835a9fd2d Gerrit-Change-Number: 18559 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:18:05 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 12:18:05 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18560 ) Change subject: osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter ...................................................................... osmo-bsc.cfg: drop deprecated 'ip.access rtp-base' parameter Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 4 files changed, 0 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved neels: Looks good to me, approved; Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 9138c86..e224d1a 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -334,7 +334,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 4a78686..1357569 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -157,7 +157,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 313bf79..abea876 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -380,7 +380,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index b0592ad..870a0f2 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -259,7 +259,6 @@ msc 0 core-location-area-code 666 core-cell-identity 333 - ip.access rtp-base 4000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie5494fd08fc7d2277a087ccc9502b5076fa2565b Gerrit-Change-Number: 18560 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:20:55 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 12:20:55 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases In-Reply-To: References: Message-ID: srs_andre 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 1: updated the names, thanks -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 12:20:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:28:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 12:28:00 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' EGPRS Packet Channel Request cannot be enabled in 'GPRS only' mode anyway. Moreover, this command was deprecated. Let's just remove it. Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 5 files changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/61/18561/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:32:58 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 12:32:58 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (5 comments) > Patch Set 2: > > (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/cards.py at a228 PS1, Line 228: '3f00', '2f00' > Are you sure about this change? It's not just '2f00', but with '3f00'. yes, that's taken from the EF, which ends up being 'DIR': [MF_num, EF_num['DIR']] so just a cosmetic change https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py at 228 PS2, Line 228: (EF['DIR']) > Again, is this correct? [?] EF['DIR'] is coming from here (ts_51_011.py) EF = { 'ICCID': [MF_num, EF_num['ICCID']], 'ELP': [MF_num, EF_num['ELP']], 'DIR': [MF_num, EF_num['DIR']], which ends up being the same values (unless I am missing something else?) https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_31_102.py at 141 PS1, Line 141: 'LI': '6F05', > Please align it with tabs: [?] Ack https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py at 140 PS2, Line 140: EF_ADF_map = { > it would be great to have it renamed it as EF_USIM_ADF_map as there is also ISIM ADF as well. [?] shoudln't that go in the other file, as it's in a different spec? https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_51_011.py File pySim/ts_51_011.py: https://gerrit.osmocom.org/c/pysim/+/18564/1/pySim/ts_51_011.py at 45 PS1, Line 45: > Unrelated change. Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 12:32:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: herlesupreeth Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:47:16 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 12:47:16 +0000 Subject: Change in osmo-bts[master]: tests/tx_power: Speed up test References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18577 ) Change subject: tests/tx_power: Speed up test ...................................................................... tests/tx_power: Speed up test Otherwise test takes around 5 seconds due to each power ramping step waiting for 1 sec. Change-Id: I703e1137f30e4874ef40785bec6100b50b9633a7 --- M tests/tx_power/tx_power_test.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/77/18577/1 diff --git a/tests/tx_power/tx_power_test.c b/tests/tx_power/tx_power_test.c index 34fbeb7..9d38d83 100644 --- a/tests/tx_power/tx_power_test.c +++ b/tests/tx_power/tx_power_test.c @@ -197,6 +197,7 @@ { printf("Testing tx_power ramping for sysmoBTS 1020\n"); trx->power_params = tpp_1020; + trx->power_params.ramp.step_interval_sec = 0; /* speedup test */ trx->max_power_red = 0; power_ramp_start(trx, to_mdB(dBm), 0); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I703e1137f30e4874ef40785bec6100b50b9633a7 Gerrit-Change-Number: 18577 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:47:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 12:47:18 +0000 Subject: Change in osmo-bts[master]: doc: Update vty reference xml file References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18578 ) Change subject: doc: Update vty reference xml file ...................................................................... doc: Update vty reference xml file Change-Id: I26c6522e6b5b87030dde61afacd637ff38b12303 --- M doc/manuals/vty/bts_vty_reference.xml 1 file changed, 280 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/18578/1 diff --git a/doc/manuals/vty/bts_vty_reference.xml b/doc/manuals/vty/bts_vty_reference.xml index d5621c8..a4c4be6 100644 --- a/doc/manuals/vty/bts_vty_reference.xml +++ b/doc/manuals/vty/bts_vty_reference.xml @@ -18,10 +18,11 @@
- + + @@ -163,6 +164,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -332,6 +396,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -555,6 +665,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -724,6 +897,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -845,6 +1064,13 @@ + + + + + + + config @@ -1327,6 +1553,12 @@ + + + + + + config-line @@ -1351,7 +1583,19 @@ config-e1_input - + + + + + + + + + + + + + @@ -1359,8 +1603,9 @@ - - + + + @@ -1412,6 +1657,23 @@ + + + + + + + + + + + + + + + + + @@ -1479,6 +1741,13 @@ + + + + + + + phy-inst @@ -1516,6 +1785,13 @@ + + + + + + + -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I26c6522e6b5b87030dde61afacd637ff38b12303 Gerrit-Change-Number: 18578 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:47:18 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 12:47:18 +0000 Subject: Change in osmo-bts[master]: bts-trx: vty: Add 'nominal-tx-power' cmd References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18579 ) Change subject: bts-trx: vty: Add 'nominal-tx-power' cmd ...................................................................... bts-trx: vty: Add 'nominal-tx-power' cmd This value will be soon acquired automatically by osmo-bts-trx by asking over TRXC to new versions of osmo-trx which is the nominal tx power for a given trx. However, to still be able to work correctly against older versions of osmo-trx or other TRX implementation (older or current) not supporting this new TRX comamnd, let's allow the user to force a given value through VTY for Tx power to work correctly. Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 --- M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_vty.c 2 files changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/18579/1 diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index ab0472e..3c1c892 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -104,8 +104,10 @@ bts->variant = BTS_OSMO_TRX; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); - /* FIXME: this needs to be overridden with the real hardrware - * value */ + /* The nominal value is later overwritten through VTY cmd + * 'nominal-tx-power' if present. + * FIXME: In the future, we want osmo-trx to provide us with this info + * through TRXC. */ bts->c0->nominal_power = 23; gsm_bts_set_feature(bts, BTS_FEAT_GPRS); diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 9c67a7f..6fb4aa1 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -160,6 +160,18 @@ return CMD_SUCCESS; } +DEFUN(cfg_trx_nominal_power, cfg_trx_nominal_power_cmd, + "nominal-tx-power <0-100>", + "Set the nominal transmit output power in dBm\n" + "Nominal transmit output power level in dBm\n") +{ + struct gsm_bts_trx *trx = vty->index; + + trx->nominal_power = atoi(argv[0]); + + return CMD_SUCCESS; +} + DEFUN_DEPRECATED(cfg_phy_ms_power_loop, cfg_phy_ms_power_loop_cmd, "osmotrx ms-power-loop <-127-127>", OSMOTRX_STR "Enable MS power control loop\nTarget RSSI value (transceiver specific, " @@ -583,6 +595,8 @@ install_element_ve(&show_transceiver_cmd); install_element_ve(&show_phy_cmd); + install_element(TRX_NODE, &cfg_trx_nominal_power_cmd); + install_element(PHY_NODE, &cfg_phy_ms_power_loop_cmd); install_element(PHY_NODE, &cfg_phy_no_ms_power_loop_cmd); install_element(PHY_NODE, &cfg_phy_timing_advance_loop_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 Gerrit-Change-Number: 18579 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 12:50:34 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 12:50:34 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (1 comment) > Patch Set 2: > > (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py at 228 PS2, Line 228: (EF['DIR']) > EF['DIR'] is coming from here (ts_51_011.py) [?] ah, got what you mean now, you are talking about this line and line 214. I think 214 was probably a bug anyway, as the record is in the MF, so just doing ['2f00'] will require the MF to be selected first to work -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 12:50:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: guilly at gmail.com Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:05:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 13:05:50 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py at 228 PS2, Line 228: (EF['DIR']) > I think 214 was probably a bug anyway, as the record is in the MF, so just doing ['2f00'] will require the MF to be selected first to work If so, please submit a bug fix in a separate change. I'll definitely CR+1 both changes. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 13:05:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: guilly at gmail.com Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:12:29 2020 From: gerrit-no-reply at lists.osmocom.org (herlesupreeth) Date: Fri, 29 May 2020 13:12:29 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: herlesupreeth has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py at 140 PS2, Line 140: EF_ADF_map = { > shoudln't that go in the other file, as it's in a different spec? that's true.. but when you import in say pySim-read.py or cards.py you would have same names even though imported from different files -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 2 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 13:12:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: guilly at gmail.com Comment-In-Reply-To: herlesupreeth Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:28:03 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:28:03 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/3/src/libosmo-mgcp/mgcp_endp.c at 100 PS3, Line 100: if (strlen(epname) <= prefix_len) > They are null terminated, but I think there is still a problem. strncmp compares UP TO n char s. [?] so why not simply using strcmp() if they are both guaranteed to be null terminated? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:28:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:29:54 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:29:54 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c File tests/mgcp/mgcp_test.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/2/tests/mgcp/mgcp_test.c at 74 PS2, Line 74: #define AUEP1_RET "500 158663169 FAIL\r\n" > The problem is that there are still leftovers of an E1 trunk implementation in osmo-mgw. [?] Fine please next time comment so on the commit description if not already there. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:29:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:33:55 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 13:33:55 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/18551 to look at the new patch set (#4). Change subject: centos8-titan: new image ...................................................................... centos8-titan: new image Similar to debian-stretch-titan, but build eclipse-titan from source as we don't have an rpm package for it. Install libfftranscode by extracting the debian archives. Related: OS#4564 Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 --- A centos8-titan/Dockerfile A centos8-titan/Makefile A centos8-titan/install_libfftranscode.sh 3 files changed, 90 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/51/18551/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:33:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:33:59 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 4: Ok, so after reading all your comments I think you just need to strncmp() -> strcmp() and you get +1 from my side. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:33:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:34:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 29 May 2020 13:34:22 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh File centos8-titan/install_libfftranscode.sh: https://gerrit.osmocom.org/c/docker-playground/+/18551/1/centos8-titan/install_libfftranscode.sh at 2 PS1, Line 2: # Hack: extract contents of libfftranscode debian archives to / > Maybe worth creating a ticket remembering to create rpms compiled in cetos and upload them to ftp. [?] issue created, and added as comment in Dockerfile: https://osmocom.org/issues/4568 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:34:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:43:12 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:43:12 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions In-Reply-To: References: Message-ID: 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 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 316 PS1, Line 316: def is_rrc_idle(self): >From follow-up commits, I talked about dropping this API. Simply use not self.is_rrc_connected() directly. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/1/src/osmo_gsm_tester/obj/ms_srs.py at 319 PS1, Line 319: def is_emm_registered(self): > I think we can't compare the 2G(/3G) with the 4G/5G case here. The terms are simply different. [?] So, I propose doing this: * You can keep the is_rrc_connected() as it is, which is specific to ms_srs.py for now. * Drop is_rrc_idle() * Rename ms_ofono.py "is_connected" method to "is_registered" and in all tests under sysmocom/ and doc/examples. * Set this new "is_registered" method as abstract in ms.py * When you implement it here (rename is_emm_registered to is_registered), simply add a description explaining it means EMM registered. What do you think? -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 13:43:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: srs_andre Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:44:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:44:40 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 13:45:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 13:45:33 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 13:45:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:03:42 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:03:42 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 14:03:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:03:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:03:46 +0000 Subject: Change in docker-playground[master]: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18561 ) Change subject: osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' ...................................................................... osmo-bsc.cfg: drop deprecated '11bit_rach_support_for_egprs' EGPRS Packet Channel Request cannot be enabled in 'GPRS only' mode anyway. Moreover, this command was deprecated. Let's just remove it. Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 5 files changed, 0 insertions(+), 11 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved; Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index e224d1a..43b7054 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -91,7 +91,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -181,7 +180,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -271,7 +269,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 1357569..805508f 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -94,7 +94,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 5871e26..83a788b 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -101,7 +101,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -192,7 +191,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -283,7 +281,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index abea876..abcc1f5 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -108,7 +108,6 @@ neighbor lac 99 arfcn 123 bsic any codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 @@ -198,7 +197,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1235 @@ -288,7 +286,6 @@ si5 neighbor-list add arfcn 20 codec-support fr hr efr amr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1236 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 870a0f2..ca4d09b 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -108,7 +108,6 @@ si5 neighbor-list add arfcn 20 codec-support fr gprs mode gprs - gprs 11bit_rach_support_for_egprs 0 gprs routing area 0 gprs network-control-order nc0 gprs cell bvci 1234 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I03733490d9c4bf78a748d22874e550e015fbab78 Gerrit-Change-Number: 18561 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:07:13 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 14:07:13 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/18564 to look at the new patch set (#3). Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... ts_31_102.py: add EF_ADF_map the EF files in the USIM ADF are different to the ones int the GSM dir so added the dictionary to avoid conflicts and hardcoded values the 'DIR' one was added in ts_51_011.py, not sure if it should be there as it's not in that standard, but did it for simplicity Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba --- M pySim-read.py M pySim/cards.py M pySim/ts_31_102.py M pySim/ts_51_011.py 4 files changed, 111 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/18564/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 3 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:08:45 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:08:45 +0000 Subject: Change in osmo-bts[master]: bts-trx: Implement power ramping during BTS bring up In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18488 ) Change subject: bts-trx: Implement power ramping during BTS bring up ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 Gerrit-Change-Number: 18488 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 29 May 2020 14:08:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:09:23 2020 From: gerrit-no-reply at lists.osmocom.org (guilly@gmail.com) Date: Fri, 29 May 2020 14:09:23 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: guilly at gmail.com has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 3: (2 comments) > Patch Set 2: > > (1 comment) https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/cards.py at 228 PS2, Line 228: (EF['DIR']) > > I think 214 was probably a bug anyway, as the record is in the MF, so just doing ['2f00'] will req [?] ok, I reverted the first one, ane left the old value. Happy to submit the other once this get merged, don't just in case there is a conflict https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py File pySim/ts_31_102.py: https://gerrit.osmocom.org/c/pysim/+/18564/2/pySim/ts_31_102.py at 140 PS2, Line 140: EF_ADF_map = { > that's true.. but when you import in say pySim-read.py or cards. [?] Ack -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 3 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 14:09:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: guilly at gmail.com Comment-In-Reply-To: fixeria Comment-In-Reply-To: herlesupreeth Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:15:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:15:22 +0000 Subject: Change in pysim[master]: ts_31_102.py: add EF_ADF_map In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/18564 ) Change subject: ts_31_102.py: add EF_ADF_map ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/18564 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I458380bf46b2986662ecdede2551c22cd9be92ba Gerrit-Change-Number: 18564 Gerrit-PatchSet: 3 Gerrit-Owner: guilly at gmail.com Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: guilly at gmail.com Gerrit-CC: herlesupreeth Gerrit-Comment-Date: Fri, 29 May 2020 14:15:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:15:24 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:15:24 +0000 Subject: Change in osmo-trx[master]: Transceiver: Fix extra space in RSP NOISELEV error References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18580 ) Change subject: Transceiver: Fix extra space in RSP NOISELEV error ...................................................................... Transceiver: Fix extra space in RSP NOISELEV error Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/80/18580/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 1b9c5d4..8308def 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -887,7 +887,7 @@ (int) round(20.0 * log10(rxFullScale / lev))); } else { - sprintf(response,"RSP NOISELEV 1 0"); + sprintf(response,"RSP NOISELEV 1 0"); } } else if (match_cmd(command, "SETPOWER", ¶ms)) { int power; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 Gerrit-Change-Number: 18580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:20:54 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 14:20:54 +0000 Subject: Change in osmo-mgw[master]: vty: fix unreachable code (error msg on trunk alloc fail) References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18581 ) Change subject: vty: fix unreachable code (error msg on trunk alloc fail) ...................................................................... vty: fix unreachable code (error msg on trunk alloc fail) When a trunk is selected that does not exist, a new one is created. In this case the VTY would print an error message but the function exits early. The code that would print the error is unreachable. Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 fixes: CID#210637 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/81/18581/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 6a431e5..ca74ffe 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -813,14 +813,11 @@ trunk = mgcp_trunk_num(g_cfg, index); if (!trunk) { trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); - if (!trunk) + if (!trunk) { return CMD_WARNING; - } - - if (!trunk) { - vty_out(vty, "%%Unable to allocate trunk %u.%s", - index, VTY_NEWLINE); - return CMD_WARNING; + vty_out(vty, "%%Unable to allocate trunk %u.%s", + index, VTY_NEWLINE); + } } vty->node = TRUNK_NODE; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 Gerrit-Change-Number: 18581 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:29:52 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:29:52 +0000 Subject: Change in osmo-mgw[master]: vty: fix unreachable code (error msg on trunk alloc fail) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18581 ) Change subject: vty: fix unreachable code (error msg on trunk alloc fail) ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/18581/1/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18581/1/src/libosmo-mgcp/mgcp_vty.c at 818 PS1, Line 818: vty_out lol, this code is still unreachable because because of return statement above... -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 Gerrit-Change-Number: 18581 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 29 May 2020 14:29:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:31:30 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:31:30 +0000 Subject: Change in osmo-trx[master]: Transceiver: Fix extra space in RSP NOISELEV error In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18580 ) Change subject: Transceiver: Fix extra space in RSP NOISELEV error ...................................................................... Patch Set 1: Code-Review+1 I would CR+2 if I could (no such permissions, for some reason). -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 Gerrit-Change-Number: 18580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 29 May 2020 14:31:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:41:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:41:42 +0000 Subject: Change in osmo-trx[master]: Transceiver: Fix extra space in RSP NOISELEV error In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18580 ) Change subject: Transceiver: Fix extra space in RSP NOISELEV error ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 Gerrit-Change-Number: 18580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 29 May 2020 14:41:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:19 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactor ue_max_rate() and move helper function back to sub classes In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 to look at the new patch set (#2). Change subject: enb: refactor ue_max_rate() and move helper function back to sub classes ...................................................................... enb: refactor ue_max_rate() and move helper function back to sub classes It turned out that the Amarisoft and SRS eNB scheduler produces slightly different maximum data rates for both UL and DL. Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 3 files changed, 50 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/34/18534/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 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: I30fa7006906d101c53ba586fb06bced3945aa960 Gerrit-Change-Number: 18534 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:19 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535 to look at the new patch set (#2). 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_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 7 files changed, 32 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/18535/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: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:19 +0000 Subject: Change in osmo-gsm-tester[master]: epc: add run function to EPC In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 to look at the new patch set (#2). Change subject: epc: add run function to EPC ...................................................................... epc: add run function to EPC this allows, for example, to run a ping originating from the core to the UE Change-Id: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 --- M src/osmo_gsm_tester/obj/epc.py 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/18536/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 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: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 Gerrit-Change-Number: 18536 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:19 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add PRACH, reestablishment and paging counter In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 to look at the new patch set (#2). Change subject: ms_srs: add PRACH, reestablishment and paging counter ...................................................................... ms_srs: add PRACH, reestablishment and paging counter this allows to query the number of PRACH attempts and paging messages received during a test Change-Id: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f --- M src/osmo_gsm_tester/obj/ms_srs.py 1 file changed, 12 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/18538/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 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: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f Gerrit-Change-Number: 18538 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:19 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:19 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18539 to look at the new patch set (#2). 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/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: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: srs_andre Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:21 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:21 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: fix RI config References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582 ) Change subject: amarisoft_enb: fix RI config ...................................................................... amarisoft_enb: fix RI config this cause all MIMO modes to fail because RI reporting was disabled Change-Id: Ic25233cf7feb4ded8b3d0f440191cc958d8bc0ec --- M src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/18582/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl index 29b5fb8..8bb55d3 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl @@ -152,11 +152,13 @@ sr_period: 20, /* CQI report config */ - cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */ + cqi_period: 160, /* period (ms). Must be >= 32 for HD-FDD */ /* RI reporting is done with a period of m_ri * cqi_period. m_ri = 0 (default) disables RI reporting. */ -// m_ri: 8, + % if int(enb.get('transmission_mode')) > 1: + m_ri: 8, + % endif pucch_dedicated: { /* ack/nack feedback mode when carrier aggregation is -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582 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: Ic25233cf7feb4ded8b3d0f440191cc958d8bc0ec Gerrit-Change-Number: 18582 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:22 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:22 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583 ) Change subject: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind ...................................................................... srsenb.conf.tmpl: use gtp_bind_addr also s1c bind both gtp and s1c need to bind using this address in order to allow running enb and epc on the same machine Change-Id: Ibf5b0017c781d17c7f20b859c1cda297e2a9cca2 --- M src/osmo_gsm_tester/templates/srsenb.conf.tmpl 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/18583/1 diff --git a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl index b3efd22..4ff5ee8 100644 --- a/src/osmo_gsm_tester/templates/srsenb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb.conf.tmpl @@ -25,7 +25,7 @@ mnc = ${enb.mnc} mme_addr = ${enb.mme_addr} gtp_bind_addr = ${enb.gtp_bind_addr} -s1c_bind_addr = ${enb.addr} +s1c_bind_addr = ${enb.gtp_bind_addr} n_prb = ${enb.num_prb} tm = ${enb.transmission_mode} nof_ports = ${enb.num_ports} -- 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: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:47:22 2020 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 29 May 2020 14:47:22 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: increase default T311 value to 10s References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584 ) Change subject: srsenb_sib.conf.tmpl: increase default T311 value to 10s ...................................................................... srsenb_sib.conf.tmpl: increase default T311 value to 10s this matches the default of Amarisoft eNB so tests can use the same values Change-Id: Ib7972cf6de4751fa7e614abceead2762f0218558 --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 17 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/18584/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl index 70e642c..ecd49e9 100644 --- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl @@ -9,18 +9,18 @@ ( { si_periodicity = 16; - si_mapping_info = []; // comma-separated array of SIB-indexes (from 3 to 13). + si_mapping_info = []; // comma-separated array of SIB-indexes (from 3 to 13). // Leave empty or commented to just scheduler sib2 } ); system_info_value_tag = 0; }; -sib2 = +sib2 = { rr_config_common_sib = { - rach_cnfg = + rach_cnfg = { num_ra_preambles = 52; preamble_init_rx_target_pwr = -104; @@ -30,11 +30,11 @@ mac_con_res_timer = 64; // in ms max_harq_msg3_tx = 4; }; - bcch_cnfg = + bcch_cnfg = { modification_period_coeff = 16; // in ms }; - pcch_cnfg = + pcch_cnfg = { default_paging_cycle = 32; // in rf nB = "1"; @@ -54,25 +54,25 @@ zero_correlation_zone_config = 5; }; }; - pdsch_cnfg = + pdsch_cnfg = { /* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1 */ p_b = 1; rs_power = 0; }; - pusch_cnfg = + pusch_cnfg = { n_sb = 1; hopping_mode = "inter-subframe"; pusch_hopping_offset = 2; enable_64_qam = false; // 64QAM PUSCH is not currently enabled - ul_rs = + ul_rs = { - cyclic_shift = 0; + cyclic_shift = 0; group_assignment_pusch = 0; - group_hopping_enabled = false; - sequence_hopping_enabled = false; + group_hopping_enabled = false; + sequence_hopping_enabled = false; }; }; pucch_cnfg = @@ -90,7 +90,7 @@ delta_flist_pucch = { format_1 = 0; - format_1b = 3; + format_1b = 3; format_2 = 1; format_2a = 2; format_2b = 2; @@ -106,17 +106,16 @@ t301 = 100; // in ms t310 = 1000; // in ms n310 = 1; - t311 = 1000; // in ms + t311 = 10000; // in ms n311 = 1; }; - freqInfo = + freqInfo = { - ul_carrier_freq_present = true; - ul_bw_present = true; - additional_spectrum_emission = 1; + ul_carrier_freq_present = true; + ul_bw_present = true; + additional_spectrum_emission = 1; }; time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc. }; - -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584 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: Ib7972cf6de4751fa7e614abceead2762f0218558 Gerrit-Change-Number: 18584 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:49:19 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 14:49:19 +0000 Subject: Change in osmo-mgw[master]: vty: fix unreachable code (error msg on trunk alloc fail) In-Reply-To: References: Message-ID: Hello fixeria, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 to look at the new patch set (#2). Change subject: vty: fix unreachable code (error msg on trunk alloc fail) ...................................................................... vty: fix unreachable code (error msg on trunk alloc fail) When a trunk is selected that does not exist, a new one is created. In this case the VTY would print an error message but the function exits early. The code that would print the error is unreachable. Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 fixes: CID#210637 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/81/18581/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 Gerrit-Change-Number: 18581 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:49:29 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:49:29 +0000 Subject: Change in osmo-trx[master]: Transceiver: Fix extra space in RSP NOISELEV error In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/18580 ) Change subject: Transceiver: Fix extra space in RSP NOISELEV error ...................................................................... Transceiver: Fix extra space in RSP NOISELEV error Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 --- M Transceiver52M/Transceiver.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 1b9c5d4..8308def 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -887,7 +887,7 @@ (int) round(20.0 * log10(rxFullScale / lev))); } else { - sprintf(response,"RSP NOISELEV 1 0"); + sprintf(response,"RSP NOISELEV 1 0"); } } else if (match_cmd(command, "SETPOWER", ¶ms)) { int power; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18580 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I35c2f3b3b9358ddb64a53f36969621d45bb243f8 Gerrit-Change-Number: 18580 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:51:32 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 14:51:32 +0000 Subject: Change in osmo-mgw[master]: vty: fix unreachable code (error msg on trunk alloc fail) In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18581 ) Change subject: vty: fix unreachable code (error msg on trunk alloc fail) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 Gerrit-Change-Number: 18581 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 29 May 2020 14:51:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:51:37 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:51:37 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_enb: fix RI config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582 ) Change subject: amarisoft_enb: fix RI config ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582/1/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl File src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582/1/src/osmo_gsm_tester/templates/amarisoft_enb.cfg.tmpl at 159 PS1, Line 159: % if int(enb.get('transmission_mode')) > 1: Better use enb['transmission_mode'] get() is useful in order to avoid exception if not found and passing a default value in that case, otherwise not nice. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18582 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: Ic25233cf7feb4ded8b3d0f440191cc958d8bc0ec Gerrit-Change-Number: 18582 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 14:51:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:53:42 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:53:42 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind In-Reply-To: References: Message-ID: 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 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583/1/src/osmo_gsm_tester/templates/srsenb.conf.tmpl File src/osmo_gsm_tester/templates/srsenb.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583/1/src/osmo_gsm_tester/templates/srsenb.conf.tmpl at 28 PS1, Line 28: s1c_bind_addr = ${enb.gtp_bind_addr} after my multi-arfch patches, the run_node in enb object in resources.conf should contain "ssh_address" and "run_address". Simply set run_address there to whatever you want it to bind to and then leave this as it is. -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 14:53:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:54:33 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:54:33 +0000 Subject: Change in osmo-gsm-tester[master]: enb: refactor ue_max_rate() and move helper function back to sub classes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 ) Change subject: enb: refactor ue_max_rate() and move helper function back to sub classes ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534 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: I30fa7006906d101c53ba586fb06bced3945aa960 Gerrit-Change-Number: 18534 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 14:54:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 14:58:01 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 14:58:01 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: refactor UE state getter functions In-Reply-To: References: Message-ID: 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 2: (3 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/2/src/osmo_gsm_tester/obj/ms_srs.py File src/osmo_gsm_tester/obj/ms_srs.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/2/src/osmo_gsm_tester/obj/ms_srs.py at 309 PS2, Line 309: def is_rrc_idle(self): Reminder: This still need to be addressed as agreed in comments from last version. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/2/src/osmo_gsm_tester/obj/ms_srs.py at 319 PS2, Line 319: import re You can import re at the top of the module, it's fine since it comes in standard python. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18535/2/src/osmo_gsm_tester/obj/ms_srs.py at 324 PS2, Line 324: return ipv4_addr[0] You are missing a return None if nothing is found (loop ends) (this way it can also be used to make sure no address is assigned :)) -- 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: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 14:58:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:00:59 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:00:59 +0000 Subject: Change in osmo-gsm-tester[master]: epc: add run function to EPC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 ) Change subject: epc: add run function to EPC ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/2/src/osmo_gsm_tester/obj/epc.py File src/osmo_gsm_tester/obj/epc.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536/2/src/osmo_gsm_tester/obj/epc.py at 41 PS2, Line 41: self._run_node = run_node self note: run node is actually part of this abstract class, so we should move the registering of "run_node" schema substree from epc_srs.py and epc_amarisoft.py to on-register_schemas() in this file. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18536 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: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9 Gerrit-Change-Number: 18536 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 15:00:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:01:40 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add PRACH, reestablishment and paging counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 ) Change subject: ms_srs: add PRACH, reestablishment and paging counter ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18538 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: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f Gerrit-Change-Number: 18538 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 15:01:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:02:08 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:02:08 +0000 Subject: Change in osmo-gsm-tester[master]: 4g_suite: add MT and MO test cases In-Reply-To: References: Message-ID: 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 2: Code-Review+1 -- 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: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 29 May 2020 15:02:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:04:04 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:04:04 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: increase default T311 value to 10s In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584 ) Change subject: srsenb_sib.conf.tmpl: increase default T311 value to 10s ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584/1/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl File src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584/1/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl at 109 PS1, Line 109: t311 = 10000; // in ms So afaiu this is really the only important line changed right? I'm for fixing all the whitespace, but it would be great if you could split this into 2 commits (1 fixing whitespace, the other fixing the value). -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18584 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: Ib7972cf6de4751fa7e614abceead2762f0218558 Gerrit-Change-Number: 18584 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 15:04:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:04:41 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:04:41 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb.conf.tmpl: use gtp_bind_addr also s1c bind In-Reply-To: References: Message-ID: 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 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583/1/src/osmo_gsm_tester/templates/srsenb.conf.tmpl File src/osmo_gsm_tester/templates/srsenb.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18583/1/src/osmo_gsm_tester/templates/srsenb.conf.tmpl at 28 PS1, Line 28: s1c_bind_addr = ${enb.gtp_bind_addr} > after my multi-arfch patches, the run_node in enb object in resources. [?] multi-arch -- 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: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 15:04:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:14:35 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 15:14:35 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... gbproxy_test.c: fix mobile identity test data Fix the final nibble of all IMSI BCD digits to 0xf, since it is a filler digit. The encoded IMSI has an even amount of digits (14) and must contain a 0xf filler nibble at the end. The test data looked correct due to repeated '1' digits. wrong hex: 11 12 13 14 15 16 17 18 correct: 11 12 13 14 15 16 17 f8 order: 1T 32 54 76 98 ba dc Xe T = type, X = filler, 1..e = 14 digits This error was found when applying the new osmo_mobile_identity API. Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 --- M tests/gbproxy/gbproxy_test.c 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/18585/1 diff --git a/tests/gbproxy/gbproxy_test.c b/tests/gbproxy/gbproxy_test.c index f5c730d..95989f0 100644 --- a/tests/gbproxy/gbproxy_test.c +++ b/tests/gbproxy/gbproxy_test.c @@ -260,7 +260,7 @@ static const unsigned char dtap_attach_req4[] = { 0x08, 0x01, 0x02, 0xf5, 0xe0, 0x21, 0x08, 0x02, 0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x19, + 0xf8, 0x11, 0x22, 0x33, 0x40, 0x50, 0x60, 0x19, 0x18, 0xb3, 0x43, 0x2b, 0x25, 0x96, 0x62, 0x00, 0x60, 0x80, 0x9a, 0xc2, 0xc6, 0x62, 0x00, 0x60, 0x80, 0xba, 0xc8, 0xc6, 0x62, 0x00, 0x60, 0x80, @@ -275,7 +275,7 @@ /* DTAP - Identity Response */ static const unsigned char dtap_identity_resp[] = { 0x08, 0x16, 0x08, 0x11, 0x12, 0x13, 0x14, 0x15, - 0x16, 0x17, 0x18 + 0x16, 0x17, 0xf8 }; /* DTAP - Identity Response, IMSI 2 */ @@ -1650,7 +1650,7 @@ const uint32_t local_tlli = 0xefe2b700; const uint32_t foreign_tlli = 0xbbc54679; const uint32_t foreign_tlli2 = 0xbb00beef; - const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; + const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; const char *patch_re = "^9898|^121314"; struct gbproxy_link_info *link_info; struct gbproxy_peer *peer; @@ -1992,8 +1992,8 @@ const uint32_t foreign_tlli1 = 0x8000dead; const uint32_t foreign_tlli2 = 0x8000beef; - const uint8_t imsi1[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; - const uint8_t imsi2[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x16, 0x17, 0x18}; + const uint8_t imsi1[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; + const uint8_t imsi2[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x16, 0x17, 0xf8}; struct gbproxy_link_info *link_info, *link_info2; struct gbproxy_peer *peer; @@ -2224,7 +2224,7 @@ const uint32_t foreign_bss_tlli = 0x8000dead; - const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; + const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; struct gbproxy_link_info *link_info; struct gbproxy_peer *peer; unsigned bss_nu = 0; @@ -2550,7 +2550,7 @@ const uint32_t foreign_bss_tlli = 0x8000dead; - const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; + const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; struct gbproxy_link_info *link_info; struct gbproxy_peer *peer; unsigned bss_nu = 0; @@ -2737,7 +2737,7 @@ const uint32_t foreign_bss_tlli = 0x8000dead; const uint32_t other_bss_tlli = 0x8000beef; - const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; + const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; struct gbproxy_link_info *link_info; struct gbproxy_peer *peer; unsigned bss_nu = 0; @@ -3058,9 +3058,9 @@ const uint32_t local_bss_tlli3 = 0xc0dead05; const uint32_t foreign_bss_tlli3 = 0x8000feed; - const uint8_t imsi1[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; - const uint8_t imsi2[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x16, 0x17, 0x18}; - const uint8_t imsi3[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x26, 0x27, 0x28}; + const uint8_t imsi1[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; + const uint8_t imsi2[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x16, 0x17, 0xf8}; + const uint8_t imsi3[] = {0x11, 0x12, 0x99, 0x99, 0x99, 0x26, 0x27, 0xf8}; struct gbproxy_link_info *link_info; struct gbproxy_link_info *other_info; struct gbproxy_peer *peer; @@ -3542,7 +3542,7 @@ const uint32_t local_tlli = 0xefe2b700; const uint32_t foreign_tlli = 0xafe2b700; - const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18}; + const uint8_t imsi[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0xf8}; struct gbproxy_link_info *link_info, *link_info2; struct gbproxy_peer *peer; unsigned bss_nu = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:19:40 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:19:40 +0000 Subject: Change in osmo-bts[master]: bts-trx: vty: Add 'nominal-tx-power' cmd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18579 ) Change subject: bts-trx: vty: Add 'nominal-tx-power' cmd ...................................................................... Patch Set 1: Code-Review-1 It's missing the vty_show() part. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 Gerrit-Change-Number: 18579 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 15:19:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:19:49 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 15:19:49 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 to look at the new patch set (#2). Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... gbproxy_test.c: fix mobile identity test data Fix the final nibble of all IMSI BCD digits to 0xf, since it is a filler digit. The encoded IMSI has an even amount of digits (14) and must contain a 0xf filler nibble at the end. The test data looked correct due to repeated '1' digits. wrong hex: 11 12 13 14 15 16 17 18 correct: 11 12 13 14 15 16 17 f8 order: 1T 32 54 76 98 ba dc Xe T = type, X = filler, 1..e = 14 digits This error was found when applying the new osmo_mobile_identity API. Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 --- M tests/gbproxy/gbproxy_test.c M tests/gbproxy/gbproxy_test.ok 2 files changed, 271 insertions(+), 271 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/85/18585/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:31:12 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 15:31:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: refactor L1CTL channel establishment In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 ) Change subject: library/L1CTL_PortType: refactor L1CTL channel establishment ...................................................................... library/L1CTL_PortType: refactor L1CTL channel establishment - Get rid of f_L1CTL_DM_EST_REQ, it's not really needed. - Derive ts_L1CTL_DM_EST_REQ_H0 from ts_L1CTL_DM_EST_REQ. - Turn all its params into (value) templates. - Turn it into a (value) template itself. - Pass GsmArfcn directly to ts_L1CTL_DM_EST_REQ_H0. Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Related: OS#4546 --- M bts/BTS_Tests.ttcn M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn M library/LAPDm_RAW_PT.ttcn 4 files changed, 29 insertions(+), 22 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 6811e38..0f89ec6 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -1093,7 +1093,7 @@ f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_ASYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1111,7 +1111,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_ASYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that DL SACCH is being received */ f_sacch_present(si5); @@ -1149,7 +1149,7 @@ f_rsl_chan_act(g_pars.chan_mode, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1167,7 +1167,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1185,7 +1185,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that no DL SACCH is being received */ f_sacch_missing(?); @@ -1204,7 +1204,7 @@ f_rsl_chan_act(g_pars.chan_mode, more_ies := addl_ies, act_type := t_RSL_IE_ActType_HO_SYNC); /* don't perform immediate assignment here, as we're testing non-IA case */ /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ(L1CTL, {false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Verify that DL SACCH is being received */ f_sacch_present(si5); @@ -1538,7 +1538,7 @@ /* Switch the MS side (e.g. trxcon) to a dedicated channel without * waiting for Immediate Assignment and sending Access Burst */ - f_L1CTL_DM_EST_REQ(L1CTL, { false, mp_trx0_arfcn }, g_pars.chan_nr, 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(g_pars.chan_nr, 7, mp_trx0_arfcn)); /* Send handover Access Burst */ fn := f_L1CTL_RACH(L1CTL, ho_ref, chan_nr := g_pars.chan_nr); @@ -4312,9 +4312,7 @@ f_TC_pcu_act_req(0, 0, 7, true); /* Tune trxcon to that PDCH channel */ - L1CTL.send(ts_L1CTL_DM_EST_REQ(arfcn := { false, mp_trx0_arfcn }, - chan_nr := valueof(ts_RslChanNr_PDCH(7)), - tsc := 7)); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(ts_RslChanNr_PDCH(7), 7, mp_trx0_arfcn)); /* Verify PTCCH/U: send several access bursts, make sure they're received */ for (var integer i := 0; i < 16; i := i + 1) { @@ -4575,8 +4573,7 @@ f_TC_pcu_act_req(0, 0, 7, true); /* Tune trxcon to that PDCH channel on TS7 */ - f_L1CTL_DM_EST_REQ(L1CTL, { false, mp_trx0_arfcn }, - valueof(ts_RslChanNr_PDCH(7)), 7); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(ts_RslChanNr_PDCH(7), 7, mp_trx0_arfcn)); /* C/I in centiBels, test range: -256 .. +1280, step 128 */ for (var int16_t i := -256; i <= 1280; i := i + 128) { diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index c595b03..cc2ff93 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -201,14 +201,12 @@ } T.stop; } - function f_L1CTL_DM_EST_REQ(L1CTL_PT pt, Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) { - pt.send(ts_L1CTL_DM_EST_REQ(arfcn, chan_nr, tsc)); - } /* Send DM_EST_REQ from parameters derived from IMM ASS */ function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass) { - f_L1CTL_DM_EST_REQ(pt, { false, imm_ass.chan_desc.arfcn }, imm_ass.chan_desc.chan_nr, - imm_ass.chan_desc.tsc); + pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.arfcn)); } /* Send DM_REL_REQ from parameters derived from IMM ASS */ diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index e939f72..0870a20 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -548,7 +548,9 @@ } } - template L1ctlUlMessage ts_L1CTL_DM_EST_REQ(Arfcn arfcn, RslChannelNr chan_nr, GsmTsc tsc) := { + /* Base template to be inherited by ts_L1CTL_DM_EST_REQ_H0 and ts_L1CTL_DM_EST_REQ_H1 */ + private template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ(template (value) RslChannelNr chan_nr, + template (value) GsmTsc tsc) := { header := ts_L1ctlHeader(L1CTL_DM_EST_REQ), ul_info := { chan_nr := chan_nr, @@ -560,15 +562,25 @@ payload := { dm_est_req := { tsc := tsc, - h := 0, - arfcn := arfcn, - hopping := omit, tch_mode := 0, audio_mode := t_L1CTL_AudioModeNone } } } + template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H0(template (value) RslChannelNr chan_nr, + template (value) GsmTsc tsc, + template (value) GsmArfcn arfcn) + modifies ts_L1CTL_DM_EST_REQ := { + payload := { + dm_est_req := { + h := 0, + arfcn := { false, arfcn }, + hopping := omit + } + } + } + template L1ctlUlMessage ts_L1CTL_DM_REL_REQ(RslChannelNr chan_nr) := { header := ts_L1ctlHeader(L1CTL_DM_REL_REQ), ul_info := { diff --git a/library/LAPDm_RAW_PT.ttcn b/library/LAPDm_RAW_PT.ttcn index 75d18d9..394deab 100644 --- a/library/LAPDm_RAW_PT.ttcn +++ b/library/LAPDm_RAW_PT.ttcn @@ -246,7 +246,7 @@ set_ph_state(PH_STATE_TUNING_DCH); /* store/save channel description */ chan_desc.chan_nr := chan_nr; - f_L1CTL_DM_EST_REQ(L1CTL,arfcn, chan_nr, tsc); + L1CTL.send(ts_L1CTL_DM_EST_REQ_H0(chan_nr, tsc, arfcn.arfcn)); set_ph_state(PH_STATE_DCH); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f275e22d4309a23b4ed301a0779c4ecb92023a8 Gerrit-Change-Number: 18526 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:31:13 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 15:31:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 ) Change subject: library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) ...................................................................... library/L1CTL_Types: fix definition of L1ctlH1 (hopping parameters) Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16 Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 13 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 0870a20..38e4c15 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -290,13 +290,23 @@ octetstring l2_payload } with { variant "" }; + type record length(0..64) of Arfcn L1ctlMA; type record L1ctlH1 { uint8_t hsn, uint8_t maio, uint8_t n, - OCT1 padding, - bitstring ma length(64) - } with { variant "" }; + OCT1 spare, + L1ctlMA ma, + octetstring padding + } with { + variant (n) "LENGTHTO(ma)" + variant (n) "UNIT(elements)" + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849. + * TL;DR The reference point of the PADDING attribute is the beginning + * of the message, not the beginning of the type/field it's applied on. + * Therefore we cannot use it here, and have to add padding manually. + * variant (ma) "PADDING(128)" */ + }; type record L1ctlDmEstReq { GsmTsc tsc, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I87555de751e6e4af6ac5fe308c3e77fa15c8bb16 Gerrit-Change-Number: 18527 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:31:14 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 15:31:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 ) Change subject: library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 ...................................................................... library/L1CTL_Types: introduce ts_L1CTL_DM_EST_REQ_H1 Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Related: OS#4546 --- M library/L1CTL_Types.ttcn 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 38e4c15..44f0490 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -591,6 +591,29 @@ } } + template (value) L1ctlUlMessage ts_L1CTL_DM_EST_REQ_H1(template (value) RslChannelNr chan_nr, + template (value) GsmTsc tsc, + template (value) uint6_t hsn, + template (value) uint6_t maio, + template (value) L1ctlMA ma) + modifies ts_L1CTL_DM_EST_REQ := { + payload := { + dm_est_req := { + h := 1, + arfcn := omit, + hopping := { + hsn := hsn, + maio := maio, + n := sizeof(ma), + spare := '00'O, + ma := ma, + /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562849 */ + padding := f_pad_oct(''O, (64 - sizeof(ma)) * 2, '00'O) + } + } + } + } + template L1ctlUlMessage ts_L1CTL_DM_REL_REQ(RslChannelNr chan_nr) := { header := ts_L1ctlHeader(L1CTL_DM_REL_REQ), ul_info := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie236c48a906679a5f46346ac7cbaf5866fd8befc Gerrit-Change-Number: 18528 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 15:52:49 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 15:52:49 +0000 Subject: Change in osmo-trx[master]: Implement TRXC cmd NOMTXPOWER References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/18586 ) Change subject: Implement TRXC cmd NOMTXPOWER ...................................................................... Implement TRXC cmd NOMTXPOWER It allows the BTS to retrieve the nominal transmit output power value of each TRX in order to compute attenuation later on and apply it through SETPOWER or ADJPOWER TRXC commands. Change-Id: I1d7efe56e008d8d60e23f9a85aa40809f7f84d9c --- M Transceiver52M/Transceiver.cpp M Transceiver52M/device/common/radioDevice.h M Transceiver52M/device/lms/LMSDevice.cpp M Transceiver52M/device/lms/LMSDevice.h M Transceiver52M/device/uhd/UHDDevice.cpp M Transceiver52M/device/uhd/UHDDevice.h M Transceiver52M/device/usrp1/USRPDevice.cpp M Transceiver52M/device/usrp1/USRPDevice.h M Transceiver52M/radioInterface.cpp M Transceiver52M/radioInterface.h 10 files changed, 50 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/86/18586/1 diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 8308def..0b7ac31 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -902,6 +902,12 @@ power = mRadioInterface->setPowerAttenuation(power, chan); mStates[chan].mPower = power; sprintf(response, "RSP ADJPOWER 0 %d", power); +} else if (match_cmd(command, "NOMTXPOWER", NULL)) { + int power = mRadioInterface->getNominalTxPower(chan); + if (power > 0) + sprintf(response, "RSP NOMTXPOWER 0 %d", power); + else + sprintf(response, "RSP NOMTXPOWER 1 %d", -power); } else if (match_cmd(command, "RXTUNE", ¶ms)) { // tune receiver int freqKhz; diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h index 0dc38d5..8dd8f49 100644 --- a/Transceiver52M/device/common/radioDevice.h +++ b/Transceiver52M/device/common/radioDevice.h @@ -128,6 +128,9 @@ /** sets the transmit chan gain, returns the gain setting **/ virtual double setTxGain(double dB, size_t chan = 0) = 0; + /** returns the Nominal transmit output power of the transceiver in dBm, negative on error **/ + virtual int getNominalTxPower(size_t chan = 0) = 0; + /** get transmit gain */ virtual double getTxGain(size_t chan = 0) = 0; diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp index 932817d..355c8e4 100644 --- a/Transceiver52M/device/lms/LMSDevice.cpp +++ b/Transceiver52M/device/lms/LMSDevice.cpp @@ -530,6 +530,14 @@ return rx_gains[chan]; } +int LMSDevice::getNominalTxPower(size_t chan) +{ + /* TODO: return value based on some experimentally generated table depending on + * band/arfcn, which is known here thanks to TXTUNE + */ + return 23; +} + void LMSDevice::log_ant_list(bool dir_tx, size_t chan, std::ostringstream& os) { lms_name_t name_list[MAX_ANTENNA_LIST_SIZE]; /* large enough list for antenna names. */ diff --git a/Transceiver52M/device/lms/LMSDevice.h b/Transceiver52M/device/lms/LMSDevice.h index 5b6330a..78fd62a 100644 --- a/Transceiver52M/device/lms/LMSDevice.h +++ b/Transceiver52M/device/lms/LMSDevice.h @@ -179,6 +179,8 @@ /** return minimum Rx Gain **/ double minTxGain(void); + int getNominalTxPower(size_t chan = 0); + /** sets the RX path to use, returns true if successful and false otherwise */ bool setRxAntenna(const std::string & ant, size_t chan = 0); diff --git a/Transceiver52M/device/uhd/UHDDevice.cpp b/Transceiver52M/device/uhd/UHDDevice.cpp index ad56250..2970173 100644 --- a/Transceiver52M/device/uhd/UHDDevice.cpp +++ b/Transceiver52M/device/uhd/UHDDevice.cpp @@ -341,6 +341,14 @@ return tx_gains[chan]; } +int uhd_device::getNominalTxPower(size_t chan) +{ + /* TODO: return value based on some experimentally generated table depending on + * band/arfcn, which is known here thanks to TXTUNE + */ + return 23; +} + /* Parse the UHD device tree and mboard name to find out what device we're dealing with. We need the window type so that the transceiver knows how to diff --git a/Transceiver52M/device/uhd/UHDDevice.h b/Transceiver52M/device/uhd/UHDDevice.h index 1e66246..01d71a0 100644 --- a/Transceiver52M/device/uhd/UHDDevice.h +++ b/Transceiver52M/device/uhd/UHDDevice.h @@ -100,6 +100,8 @@ double maxTxGain(void) { return tx_gain_max; } double minTxGain(void) { return tx_gain_min; } + int getNominalTxPower(size_t chan = 0); + double getTxFreq(size_t chan); double getRxFreq(size_t chan); double getRxFreq(); diff --git a/Transceiver52M/device/usrp1/USRPDevice.cpp b/Transceiver52M/device/usrp1/USRPDevice.cpp index 1a9a7e1..73117d2 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.cpp +++ b/Transceiver52M/device/usrp1/USRPDevice.cpp @@ -314,6 +314,14 @@ return rxGain; } +int USRPDevice::getNominalTxPower(size_t chan) +{ + /* TODO: return value based on some experimentally generated table depending on + * band/arfcn, which is known here thanks to TXTUNE + */ + return 23; +} + bool USRPDevice::setRxAntenna(const std::string &ant, size_t chan) { if (chan >= rx_paths.size()) { diff --git a/Transceiver52M/device/usrp1/USRPDevice.h b/Transceiver52M/device/usrp1/USRPDevice.h index a4a0886..0549192 100644 --- a/Transceiver52M/device/usrp1/USRPDevice.h +++ b/Transceiver52M/device/usrp1/USRPDevice.h @@ -180,6 +180,8 @@ /** return minimum Rx Gain **/ double minTxGain(void); + int getNominalTxPower(size_t chan = 0); + /** sets the RX path to use, returns true if successful and false otherwise */ bool setRxAntenna(const std::string &ant, size_t chan = 0); diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index fbcacf1..fb724d2 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -124,6 +124,16 @@ return atten; } +int RadioInterface::getNominalTxPower(size_t chan) +{ + if (chan >= mChans) { + LOG(ALERT) << "Invalid channel requested"; + return -1; + } + + return mDevice->getNominalTxPower(chan); +} + int RadioInterface::radioifyVector(signalVector &wVector, size_t chan, bool zero) { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index c75a983..d7dd25d 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -117,6 +117,7 @@ int driveReceiveRadio(); int setPowerAttenuation(int atten, size_t chan = 0); + int getNominalTxPower(size_t chan = 0); /** returns the full-scale transmit amplitude **/ double fullScaleInputValue(); -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/18586 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1d7efe56e008d8d60e23f9a85aa40809f7f84d9c Gerrit-Change-Number: 18586 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:05:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:05:43 +0000 Subject: Change in osmo-bts[master]: bts-trx: Rename setpower TRXC functions to describe they use power at... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18587 ) Change subject: bts-trx: Rename setpower TRXC functions to describe they use power attenuation ...................................................................... bts-trx: Rename setpower TRXC functions to describe they use power attenuation Change-Id: Iedbe8e76bce990c2330477157cd886a8fc22063c --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h 3 files changed, 7 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/87/18587/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 607e5da..f3be413 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -195,12 +195,12 @@ } } -static void l1if_setpower_cb(struct trx_l1h *l1h, int power_att_db, int rc) +static void l1if_setpower_att_cb(struct trx_l1h *l1h, int power_att_db, int rc) { struct phy_instance *pinst = l1h->phy_inst; struct gsm_bts_trx *trx = pinst->trx; - LOGPPHI(pinst, DL1C, LOGL_DEBUG, "l1if_setpower_cb(power_att_db=%d, rc=%d)\n", power_att_db, rc); + LOGPPHI(pinst, DL1C, LOGL_DEBUG, "l1if_setpower_att_cb(power_att_db=%d, rc=%d)\n", power_att_db, rc); power_trx_change_compl(trx, get_p_max_out_mdBm(trx) - to_mdB(power_att_db)); } @@ -820,7 +820,7 @@ struct phy_instance *pinst = trx_phy_instance(trx); struct trx_l1h *l1h = pinst->u.osmotrx.hdl; int power_att = (get_p_max_out_mdBm(trx) - p_trxout_mdBm) / 1000; - return trx_if_cmd_setpower(l1h, power_att, l1if_setpower_cb); + return trx_if_cmd_setpower_att(l1h, power_att, l1if_setpower_att_cb); } int bts_model_ts_disconnect(struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 182818b..03bf9aa 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -302,7 +302,7 @@ } /*! Send "SETPOWER" command to TRX */ -int trx_if_cmd_setpower(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_cb *cb) +int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb) { return trx_ctrl_cmd_cb(l1h, 0, cb, "SETPOWER", "%d", power_att_db); } @@ -545,7 +545,7 @@ static int trx_ctrl_rx_rsp_setpower(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) { - trx_if_cmd_setpower_cb *cb = (trx_if_cmd_setpower_cb*) rsp->cb; + trx_if_cmd_setpower_att_cb *cb = (trx_if_cmd_setpower_att_cb*) rsp->cb; struct phy_instance *pinst = l1h->phy_inst; int power_att; diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index 0630eb6..300be92 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -15,7 +15,7 @@ typedef void trx_if_cmd_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc); typedef void trx_if_cmd_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc); -typedef void trx_if_cmd_setpower_cb(struct trx_l1h *l1h, int power_att_db, int rc); +typedef void trx_if_cmd_setpower_att_cb(struct trx_l1h *l1h, int power_att_db, int rc); void trx_if_init(struct trx_l1h *l1h); int trx_if_cmd_poweroff(struct trx_l1h *l1h, trx_if_cmd_poweronoff_cb *cb); @@ -23,7 +23,7 @@ int trx_if_cmd_settsc(struct trx_l1h *l1h, uint8_t tsc); int trx_if_cmd_setbsic(struct trx_l1h *l1h, uint8_t bsic); int trx_if_cmd_setrxgain(struct trx_l1h *l1h, int db); -int trx_if_cmd_setpower(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_cb *cb); +int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb); int trx_if_cmd_setmaxdly(struct trx_l1h *l1h, int dly); int trx_if_cmd_setmaxdlynb(struct trx_l1h *l1h, int dly); int trx_if_cmd_setslot(struct trx_l1h *l1h, uint8_t tn, uint8_t type, trx_if_cmd_setslot_cb *cb); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iedbe8e76bce990c2330477157cd886a8fc22063c Gerrit-Change-Number: 18587 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:05:43 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:05:43 +0000 Subject: Change in osmo-bts[master]: bts-trx: Introduce helper func l1if_trx_set_nominal_power References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18588 ) Change subject: bts-trx: Introduce helper func l1if_trx_set_nominal_power ...................................................................... bts-trx: Introduce helper func l1if_trx_set_nominal_power This way we wrap same logic in one place, which will be used more in next commit. Change-Id: I929fc50d544a88900d2e22317ec5ced10f15e51c --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_vty.c 4 files changed, 13 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18588/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index f3be413..3f61564 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -140,6 +140,13 @@ LID_SACCH, 0); } +/* Sets the nominal power, in dB */ +void l1if_trx_set_nominal_power(struct gsm_bts_trx *trx, unsigned int nominal_power) +{ + trx->nominal_power = nominal_power; + trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); +} + static void l1if_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc) { struct phy_instance *pinst = l1h->phy_inst; diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index 22052ff..b5262a8 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -112,6 +112,7 @@ int l1if_provision_transceiver_trx(struct trx_l1h *l1h); int l1if_provision_transceiver(struct gsm_bts *bts); int l1if_mph_time_ind(struct gsm_bts *bts, uint32_t fn); +void l1if_trx_set_nominal_power(struct gsm_bts_trx *trx, unsigned int nominal_power); static inline struct l1sched_trx *trx_l1sched_hdl(struct gsm_bts_trx *trx) { diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 60688bc..33577d5 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -127,7 +127,7 @@ int bts_model_trx_init(struct gsm_bts_trx *trx) { - trx->power_params.trx_p_max_out_mdBm = to_mdB(trx->bts->c0->nominal_power); + l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power); return 0; } diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 5e67cb5..06591a1 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -165,9 +165,11 @@ "Nominal transmit output power level in dBm\n") { struct gsm_bts_trx *trx = vty->index; + int val = atoi(argv[0]); - trx->nominal_power = atoi(argv[0]); - trx->power_params.trx_p_max_out_mdBm = to_mdB(trx->nominal_power); + l1if_trx_set_nominal_power(trx, val); + + return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I929fc50d544a88900d2e22317ec5ced10f15e51c Gerrit-Change-Number: 18588 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:05:44 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:05:44 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from os... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18589 ) Change subject: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from osmo-trx ...................................................................... bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from osmo-trx Change-Id: I682211f3d664c21f923ca4a530e0464ca383b6d9 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 6 files changed, 53 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/18589/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 3f61564..9cdbd6c 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -147,6 +147,16 @@ trx->power_params.trx_p_max_out_mdBm = to_mdB(nominal_power); } +static void l1if_getnompower_cb(struct trx_l1h *l1h, unsigned int nominal_power, int rc) +{ + struct phy_instance *pinst = l1h->phy_inst; + struct gsm_bts_trx *trx = pinst->trx; + + LOGPPHI(pinst, DL1C, LOGL_DEBUG, "l1if_getnompower_cb(nominal_power=%u, rc=%d)\n", nominal_power, rc); + + l1if_trx_set_nominal_power(trx, nominal_power); +} + static void l1if_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc) { struct phy_instance *pinst = l1h->phy_inst; @@ -242,6 +252,13 @@ if (!l1h->config.arfcn_sent) { trx_if_cmd_rxtune(l1h, l1h->config.arfcn); trx_if_cmd_txtune(l1h, l1h->config.arfcn); + /* After TXTUNE is sent to TRX, get the tx nominal power + * (which may vary precisly on band/arfcn. Avoid sending + * it if we are forced by VTY to use a specific nominal + * power (because TRX may not support the command or + * provide broken values) */ + if (!l1h->config.nominal_power_set_by_vty) + trx_if_cmd_getnompower(l1h, l1if_getnompower_cb); l1h->config.arfcn_sent = 1; } if (!l1h->config.tsc_sent) { diff --git a/src/osmo-bts-trx/l1_if.h b/src/osmo-bts-trx/l1_if.h index b5262a8..b1ffcd9 100644 --- a/src/osmo-bts-trx/l1_if.h +++ b/src/osmo-bts-trx/l1_if.h @@ -74,6 +74,7 @@ int rxgain_sent; int forced_max_power_red; /* -1 if not forced by VTY config (default) */ + bool nominal_power_set_by_vty; /* whether noinal trx power was enforced/retreived from VTY config "nominal-tx-power" */ int maxdly_valid; int maxdly; diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 33577d5..9784077 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -104,10 +104,9 @@ bts->variant = BTS_OSMO_TRX; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); - /* The nominal value is later overwritten through VTY cmd - * 'nominal-tx-power' if present. - * FIXME: In the future, we want osmo-trx to provide us with this info - * through TRXC. */ + /* The nominal value for each TRX is later overwritten through VTY cmd + * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER. + */ bts->c0->nominal_power = 23; gsm_bts_set_feature(bts, BTS_FEAT_GPRS); @@ -127,6 +126,9 @@ int bts_model_trx_init(struct gsm_bts_trx *trx) { + /* The nominal value for each TRX is later overwritten through VTY cmd + * 'nominal-tx-power' if present, otherwise through TRXC cmd NOMTXPOWER. + */ l1if_trx_set_nominal_power(trx, trx->bts->c0->nominal_power); return 0; } diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 03bf9aa..a837d1b 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -301,6 +301,12 @@ return trx_ctrl_cmd(l1h, 0, "SETRXGAIN", "%d", db); } +/*! Send "NOMTXPOWER" command to TRX */ +int trx_if_cmd_getnompower(struct trx_l1h *l1h, trx_if_cmd_getnompower_cb *cb) +{ + return trx_ctrl_cmd_cb(l1h, 1, cb, "NOMTXPOWER", ""); +} + /*! Send "SETPOWER" command to TRX */ int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb) { @@ -543,6 +549,22 @@ return 0; } +static int trx_ctrl_rx_rsp_nomtxpower(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) +{ + trx_if_cmd_getnompower_cb *cb = (trx_if_cmd_getnompower_cb*) rsp->cb; + struct phy_instance *pinst = l1h->phy_inst; + unsigned int nominal_power; + + if (rsp->status) + LOGPPHI(pinst, DTRX, LOGL_ERROR, "transceiver NOMTXPOWER failed with status %d\n", + rsp->status); + if (cb) { + sscanf(rsp->params, "%u", &nominal_power); + cb(l1h, nominal_power, rsp->status); + } + return 0; +} + static int trx_ctrl_rx_rsp_setpower(struct trx_l1h *l1h, struct trx_ctrl_rsp *rsp) { trx_if_cmd_setpower_att_cb *cb = (trx_if_cmd_setpower_att_cb*) rsp->cb; @@ -577,6 +599,8 @@ * so that's why we should use tcm instead of rsp. */ } else if (strcmp(tcm->cmd, "SETFORMAT") == 0) { return trx_ctrl_rx_rsp_setformat(l1h, rsp); + } else if (strcmp(tcm->cmd, "NOMTXPOWER") == 0) { + return trx_ctrl_rx_rsp_nomtxpower(l1h, rsp); } else if (strcmp(tcm->cmd, "SETPOWER") == 0) { return trx_ctrl_rx_rsp_setpower(l1h, rsp); } diff --git a/src/osmo-bts-trx/trx_if.h b/src/osmo-bts-trx/trx_if.h index 300be92..34335f8 100644 --- a/src/osmo-bts-trx/trx_if.h +++ b/src/osmo-bts-trx/trx_if.h @@ -15,6 +15,7 @@ typedef void trx_if_cmd_poweronoff_cb(struct trx_l1h *l1h, bool poweronoff, int rc); typedef void trx_if_cmd_setslot_cb(struct trx_l1h *l1h, uint8_t tn, uint8_t type, int rc); +typedef void trx_if_cmd_getnompower_cb(struct trx_l1h *l1h, unsigned int nominal_power, int rc); typedef void trx_if_cmd_setpower_att_cb(struct trx_l1h *l1h, int power_att_db, int rc); void trx_if_init(struct trx_l1h *l1h); @@ -23,6 +24,7 @@ int trx_if_cmd_settsc(struct trx_l1h *l1h, uint8_t tsc); int trx_if_cmd_setbsic(struct trx_l1h *l1h, uint8_t bsic); int trx_if_cmd_setrxgain(struct trx_l1h *l1h, int db); +int trx_if_cmd_getnompower(struct trx_l1h *l1h, trx_if_cmd_getnompower_cb *cb); int trx_if_cmd_setpower_att(struct trx_l1h *l1h, int power_att_db, trx_if_cmd_setpower_att_cb *cb); int trx_if_cmd_setmaxdly(struct trx_l1h *l1h, int dly); int trx_if_cmd_setmaxdlynb(struct trx_l1h *l1h, int dly); diff --git a/src/osmo-bts-trx/trx_vty.c b/src/osmo-bts-trx/trx_vty.c index 06591a1..366c434 100644 --- a/src/osmo-bts-trx/trx_vty.c +++ b/src/osmo-bts-trx/trx_vty.c @@ -165,9 +165,12 @@ "Nominal transmit output power level in dBm\n") { struct gsm_bts_trx *trx = vty->index; + struct phy_instance *pinst = trx_phy_instance(trx); + struct trx_l1h *l1h = pinst->u.osmotrx.hdl; int val = atoi(argv[0]); l1if_trx_set_nominal_power(trx, val); + l1h->config.nominal_power_set_by_vty = val ? true : false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I682211f3d664c21f923ca4a530e0464ca383b6d9 Gerrit-Change-Number: 18589 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:31:17 +0000 Subject: Change in osmo-bts[master]: bts-trx: vty: Add 'nominal-tx-power' cmd In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18579 to look at the new patch set (#2). Change subject: bts-trx: vty: Add 'nominal-tx-power' cmd ...................................................................... bts-trx: vty: Add 'nominal-tx-power' cmd This value will be soon acquired automatically by osmo-bts-trx by asking over TRXC to new versions of osmo-trx which is the nominal tx power for a given trx. However, to still be able to work correctly against older versions of osmo-trx or other TRX implementation (older or current) not supporting this new TRX comamnd, let's allow the user to force a given value through VTY for Tx power to work correctly. Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 --- M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_vty.c 3 files changed, 30 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/18579/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 Gerrit-Change-Number: 18579 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:31:17 +0000 Subject: Change in osmo-bts[master]: bts-trx: Implement power ramping during BTS bring up In-Reply-To: References: Message-ID: Hello tnt, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18488 to look at the new patch set (#4). Change subject: bts-trx: Implement power ramping during BTS bring up ...................................................................... bts-trx: Implement power ramping during BTS bring up The nominal transmit power is still only configurable manually from osmo-bts-trx VTY interface. Support to retrieve the nominal power from osmo-trx will come later. Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 --- M include/osmo-bts/tx_power.h M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h M src/osmo-bts-trx/trx_vty.c 7 files changed, 73 insertions(+), 73 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18488/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 Gerrit-Change-Number: 18488 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:31:17 +0000 Subject: Change in osmo-bts[master]: bts-trx: Introduce helper func l1if_trx_set_nominal_power In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/18588 ) Change subject: bts-trx: Introduce helper func l1if_trx_set_nominal_power ...................................................................... bts-trx: Introduce helper func l1if_trx_set_nominal_power This way we wrap same logic in one place, which will be used more in next commit. Change-Id: I929fc50d544a88900d2e22317ec5ced10f15e51c --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/l1_if.h M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_vty.c 4 files changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/18588/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I929fc50d544a88900d2e22317ec5ced10f15e51c Gerrit-Change-Number: 18588 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:31:17 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:31:17 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from os... In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/18589 ) Change subject: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from osmo-trx ...................................................................... bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from osmo-trx Change-Id: I682211f3d664c21f923ca4a530e0464ca383b6d9 --- M src/osmo-bts-trx/l1_if.c M src/osmo-bts-trx/main.c M src/osmo-bts-trx/trx_if.c M src/osmo-bts-trx/trx_if.h 4 files changed, 49 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/89/18589/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I682211f3d664c21f923ca4a530e0464ca383b6d9 Gerrit-Change-Number: 18589 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:34:23 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:34:23 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... Patch Set 2: So it may be helpful to keep the old wrong MI to verify that osmo-sgsn acts consistently when that is received? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 16:34:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 16:35:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 16:35:10 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... Patch Set 2: > Patch Set 2: > > So it may be helpful to keep the old wrong MI to verify that osmo-sgsn acts consistently when that is received? Sorry I mean gbproxy. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 16:35:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 17:12:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 17:12:29 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: Hello pespin, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 to look at the new patch set (#5). Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... osmo-mgw: refactor endpoint and trunk handling The trunk and endpoint handling in osmo-mgw is still very complex and implemented in various places (mostly mgcp_protocol.c). Also we use still integers for endpoint identification, which is not flexible enough to address timeslots/subslots on an E1 trunk. Some refactoring is needed. - get rid of integers as endpoint identifiers, use strings instead and find the endpoint based on its string name on the trunk. - identify the trunk based on the trunk prefix given in the endpoint name. - rename struct mgcp_trunk_config to struct mgcp_trunk and the related symbol name "tcfg" to "trunk" in order to better match the reality. - refactor trunk and endpoint allocation. Aggregate functionality in in mgcp_endp.c and mgcp_trunk.c. Also remove non-reusable code that relates to the still exisiting, but unfinished E1 trunk support. - refactor rate counters, put them into a separate module and do no longer allocate them per trunk. Allocate them globally instead. - get rid of deprecated trunk parameters (leftovers from the osmo-bsc_mgcp implementation) Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Related: OS#2659 --- M include/osmocom/mgcp/Makefile.am M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_common.h M include/osmocom/mgcp/mgcp_endp.h M include/osmocom/mgcp/mgcp_internal.h A include/osmocom/mgcp/mgcp_ratectr.h A include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/Makefile.am M src/libosmo-mgcp/mgcp_codec.c M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_msg.c M src/libosmo-mgcp/mgcp_network.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c A src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_sdp.c A src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M src/osmo-mgw/mgw_main.c M tests/mgcp/mgcp_test.c 21 files changed, 963 insertions(+), 773 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/72/18372/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 17:12:30 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 17:12:30 +0000 Subject: Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18590 ) Change subject: trunk: get rid of virt_trunk pointer ...................................................................... trunk: get rid of virt_trunk pointer The virtual trunk is a pre-configured trunk that always exists. It is kept separate from the trunk list using a separate pointer. This makes thinks unecessarly complicated. Lets organize the trunk in the trunk list like any other trunk, except that we automatically create it on startup and assign it always the trunk id number 0. Change-Id: I81934fbd211b225ab7920e78510729c8e22607b3 Related: OS#2659 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 8 files changed, 158 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/18590/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 4c122e7..47c741f 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -211,11 +211,7 @@ uint32_t last_call_id; - /* trunk handling */ - - /* virtual trunk for RTP - RTP endpoints */ - struct mgcp_trunk *virt_trunk; - /* physical trunks with underlying E1 endpoints */ + /* list holding the trunks */ struct llist_head trunks; enum mgcp_role role; diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 51e9fb5..60fb840 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -38,7 +38,12 @@ struct mgcp_endpoint **endpoints; }; -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); +int mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr); int mgcp_trunk_alloc_endpts(struct mgcp_trunk *tcfg); struct mgcp_trunk *mgcp_trunk_by_num(struct mgcp_config *cfg, int index); struct mgcp_trunk *mgcp_trunk_by_name(const char *epname, struct mgcp_config *cfg); + +/* The virtual trunk is always created on trunk id 0 for historical reasons, + * use this define constant as ID when allocating a virtual trunk. Other + * trunks may be assigned with arbritrary id numbers */ +#define MGCP_VIRT_TRUNK_ID 0 diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 5e42bcb..69e44e5 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -97,16 +97,12 @@ switch (trunk->trunk_type) { case MGCP_TRUNK_VIRTUAL: prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; - if (strlen(epname) <= prefix_len) - return epname; if (strncmp (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) return epname + prefix_len; case MGCP_TRUNK_E1: prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_E1_TRUNK) - 1; - if (strlen(epname) <= prefix_len) - return epname; if (strncmp (epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index ca8b5f0..ba8e10f 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -198,14 +198,15 @@ osmux_conn_lookup(struct mgcp_config *cfg, uint8_t cid, struct in_addr *from_addr) { + struct mgcp_trunk *trunk = mgcp_trunk_by_num(cfg, 0); struct mgcp_endpoint *endp; struct mgcp_conn *conn = NULL; struct mgcp_conn_rtp * conn_rtp; int i; - for (i=0; ivirt_trunk->number_endpoints; i++) { + for (i=0; inumber_endpoints; i++) { - endp = cfg->virt_trunk->endpoints[i]; + endp = trunk->endpoints[i]; llist_for_each_entry(conn, &endp->conns, entry) { if (conn->type != MGCP_CONN_TYPE_RTP) diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index f62b581..13cf3b1 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1501,16 +1501,14 @@ cfg->get_net_downlink_format_cb = &mgcp_get_net_downlink_format_default; + INIT_LLIST_HEAD(&cfg->trunks); + /* Allocate virtual trunk */ - cfg->virt_trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, 0); - if (!cfg->virt_trunk) { + if (mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID) != 0) { talloc_free(cfg); return NULL; } - /* Initalize list head for user configurable trunks */ - INIT_LLIST_HEAD(&cfg->trunks); - mgcp_ratectr_alloc(cfg, &cfg->ratectr); return cfg; diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 4424874..04789b8 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -30,15 +30,15 @@ * \param[in] cfg mgcp configuration * \param[in] nr trunk number * \param[in] ttype trunk type - * \returns pointer to allocated trunk, NULL on failure */ -struct mgcp_trunk *mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) + * \returns -EINVAL on failure, 0 on success. */ +int mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) { struct mgcp_trunk *trunk; trunk = talloc_zero(cfg, struct mgcp_trunk); if (!trunk) { - LOGP(DLMGCP, LOGL_ERROR, "Failed to allocate.\n"); - return NULL; + LOGP(DLMGCP, LOGL_ERROR, "Failed to allocate trunk.\n"); + return -EINVAL; } trunk->cfg = cfg; @@ -52,13 +52,8 @@ mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); - /* Note: Trunk Nr.0 is reserved as "virtual trunk", - * it is not stored using a separate pointer and - * not in the trunk list. */ - if (nr > 0) - llist_add_tail(&trunk->entry, &cfg->trunks); - - return trunk; + llist_add_tail(&trunk->entry, &cfg->trunks); + return 0; } /*! allocate endpoints and set default values. @@ -140,7 +135,7 @@ prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; if (strncmp(epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) { - return cfg->virt_trunk; + return mgcp_trunk_by_num(cfg, 0); } /* E1 trunks are not implemented yet, so we deny any request for an @@ -163,7 +158,7 @@ if ((epname[0] >= '0' && epname[0] <= '9') || (epname[0] >= 'a' && epname[0] <= 'f')) { LOGP(DLMGCP, LOGL_ERROR, "missing trunk prefix in endpoint name \"%s\", assuming trunk \"%s\"!\n", epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK); - return cfg->virt_trunk; + return mgcp_trunk_by_num(cfg, 0); } LOGP(DLMGCP, LOGL_ERROR, "unable to find trunk for endpoint name \"%s\"!\n", epname); diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index d0bb602..71e5ead 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -43,18 +43,6 @@ static struct mgcp_config *g_cfg = NULL; -static struct mgcp_trunk *find_trunk(struct mgcp_config *cfg, int nr) -{ - struct mgcp_trunk *trunk; - - if (nr == 0) - trunk = cfg->virt_trunk; - else - trunk = mgcp_trunk_by_num(cfg, nr); - - return trunk; -} - struct cmd_node mgcp_node = { MGCP_NODE, "%s(config-mgcp)# ", @@ -69,7 +57,7 @@ static int config_write_mgcp(struct vty *vty) { - struct mgcp_trunk *trunk = g_cfg->virt_trunk; + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); vty_out(vty, "mgcp%s", VTY_NEWLINE); vty_out(vty, " domain %s%s", g_cfg->domain, VTY_NEWLINE); @@ -317,8 +305,6 @@ struct mgcp_trunk *trunk; int show_stats = argc >= 1; - dump_trunk(vty, g_cfg->virt_trunk, show_stats); - llist_for_each_entry(trunk, &g_cfg->trunks, entry) dump_trunk(vty, trunk, show_stats); @@ -377,7 +363,7 @@ struct mgcp_trunk *trunk; int trunkidx = atoi(argv[0]); - trunk = find_trunk(g_cfg, trunkidx); + trunk = mgcp_trunk_by_num(g_cfg, trunkidx); if (!trunk) { vty_out(vty, "trunk %d not found%s", trunkidx, VTY_NEWLINE); return CMD_WARNING; @@ -567,11 +553,13 @@ "Add extra fmtp for the SDP file\n" "Audio\n" "Fmtp-extra\n" "Extra Information\n") { + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); char *txt = argv_concat(argv, argc, 0); if (!txt) return CMD_WARNING; - osmo_talloc_replace_string(g_cfg, &g_cfg->virt_trunk->audio_fmtp_extra, txt); + osmo_talloc_replace_string(g_cfg, &trunk->audio_fmtp_extra, txt); talloc_free(txt); return CMD_SUCCESS; } @@ -580,7 +568,9 @@ cfg_mgcp_allow_transcoding_cmd, "allow-transcoding", "Allow transcoding\n") { - g_cfg->virt_trunk->no_audio_transcoding = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->no_audio_transcoding = 0; return CMD_SUCCESS; } @@ -588,7 +578,9 @@ cfg_mgcp_no_allow_transcoding_cmd, "no allow-transcoding", NO_STR "Allow transcoding\n") { - g_cfg->virt_trunk->no_audio_transcoding = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->no_audio_transcoding = 1; return CMD_SUCCESS; } @@ -624,7 +616,9 @@ "sdp audio-payload send-ptime", SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->virt_trunk->audio_send_ptime = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->audio_send_ptime = 1; return CMD_SUCCESS; } @@ -633,7 +627,9 @@ "no sdp audio-payload send-ptime", NO_STR SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") { - g_cfg->virt_trunk->audio_send_ptime = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->audio_send_ptime = 0; return CMD_SUCCESS; } @@ -642,7 +638,9 @@ "sdp audio-payload send-name", SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->virt_trunk->audio_send_name = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->audio_send_name = 1; return CMD_SUCCESS; } @@ -651,7 +649,9 @@ "no sdp audio-payload send-name", NO_STR SDP_STR AUDIO_STR "Send SDP rtpmap with the audio name\n") { - g_cfg->virt_trunk->audio_send_name = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->audio_send_name = 0; return CMD_SUCCESS; } @@ -660,11 +660,13 @@ "loop (0|1)", "Loop audio for all endpoints on main trunk\n" "Don't Loop\n" "Loop\n") { + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); if (g_cfg->osmux) { vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } - g_cfg->virt_trunk->audio_loop = atoi(argv[0]); + trunk->audio_loop = atoi(argv[0]); return CMD_SUCCESS; } @@ -674,7 +676,9 @@ "Force endpoint reallocation when the endpoint is still seized\n" "Don't force reallocation\n" "force reallocation\n") { - g_cfg->virt_trunk->force_realloc = atoi(argv[0]); + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_realloc = atoi(argv[0]); return CMD_SUCCESS; } @@ -684,7 +688,9 @@ "Accept all RTP packets, even when the originating IP/Port does not match\n" "enable filter\n" "disable filter\n") { - g_cfg->virt_trunk->rtp_accept_all = atoi(argv[0]); + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->rtp_accept_all = atoi(argv[0]); return CMD_SUCCESS; } @@ -693,21 +699,27 @@ "number endpoints <0-65534>", "Number options\n" "Endpoints available\n" "Number endpoints\n") { + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); /* + 1 as we start counting at one */ - g_cfg->virt_trunk->vty_number_endpoints = atoi(argv[0]) + 1; + trunk->vty_number_endpoints = atoi(argv[0]) + 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_omit_rtcp, cfg_mgcp_omit_rtcp_cmd, "rtcp-omit", RTCP_OMIT_STR) { - g_cfg->virt_trunk->omit_rtcp = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, 0); + trunk->omit_rtcp = 1; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_omit_rtcp, cfg_mgcp_no_omit_rtcp_cmd, "no rtcp-omit", NO_STR RTCP_OMIT_STR) { - g_cfg->virt_trunk->omit_rtcp = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->omit_rtcp = 0; return CMD_SUCCESS; } @@ -715,7 +727,9 @@ cfg_mgcp_patch_rtp_ssrc_cmd, "rtp-patch ssrc", RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->virt_trunk->force_constant_ssrc = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_constant_ssrc = 1; return CMD_SUCCESS; } @@ -723,7 +737,9 @@ cfg_mgcp_no_patch_rtp_ssrc_cmd, "no rtp-patch ssrc", NO_STR RTP_PATCH_STR "Force a fixed SSRC\n") { - g_cfg->virt_trunk->force_constant_ssrc = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_constant_ssrc = 0; return CMD_SUCCESS; } @@ -731,7 +747,9 @@ cfg_mgcp_patch_rtp_ts_cmd, "rtp-patch timestamp", RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->virt_trunk->force_aligned_timing = 1; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_aligned_timing = 1; return CMD_SUCCESS; } @@ -739,7 +757,9 @@ cfg_mgcp_no_patch_rtp_ts_cmd, "no rtp-patch timestamp", NO_STR RTP_PATCH_STR "Adjust RTP timestamp\n") { - g_cfg->virt_trunk->force_aligned_timing = 0; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_aligned_timing = 0; return CMD_SUCCESS; } @@ -747,7 +767,9 @@ cfg_mgcp_patch_rtp_rfc5993hr_cmd, "rtp-patch rfc5993hr", RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->virt_trunk->rfc5993_hr_convert = true; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->rfc5993_hr_convert = true; return CMD_SUCCESS; } @@ -755,16 +777,20 @@ cfg_mgcp_no_patch_rtp_rfc5993hr_cmd, "no rtp-patch rfc5993hr", NO_STR RTP_PATCH_STR RTP_TS101318_RFC5993_CONV_STR) { - g_cfg->virt_trunk->rfc5993_hr_convert = false; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } DEFUN(cfg_mgcp_no_patch_rtp, cfg_mgcp_no_patch_rtp_cmd, "no rtp-patch", NO_STR RTP_PATCH_STR) { - g_cfg->virt_trunk->force_constant_ssrc = 0; - g_cfg->virt_trunk->force_aligned_timing = 0; - g_cfg->virt_trunk->rfc5993_hr_convert = false; + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + trunk->force_constant_ssrc = 0; + trunk->force_aligned_timing = 0; + trunk->rfc5993_hr_convert = false; return CMD_SUCCESS; } @@ -773,7 +799,9 @@ "rtp keep-alive <1-120>", RTP_STR RTP_KEEPALIVE_STR "Keep alive interval in secs\n") { - mgcp_trunk_set_keepalive(g_cfg->virt_trunk, atoi(argv[0])); + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + mgcp_trunk_set_keepalive(trunk, atoi(argv[0])); return CMD_SUCCESS; } @@ -782,7 +810,9 @@ "rtp keep-alive once", RTP_STR RTP_KEEPALIVE_STR "Send dummy packet only once after CRCX/MDCX\n") { - mgcp_trunk_set_keepalive(g_cfg->virt_trunk, MGCP_KEEPALIVE_ONCE); + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_ONCE); return CMD_SUCCESS; } @@ -790,7 +820,9 @@ cfg_mgcp_no_rtp_keepalive_cmd, "no rtp keep-alive", NO_STR RTP_STR RTP_KEEPALIVE_STR) { - mgcp_trunk_set_keepalive(g_cfg->virt_trunk, MGCP_KEEPALIVE_NEVER); + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + mgcp_trunk_set_keepalive(trunk, MGCP_KEEPALIVE_NEVER); return CMD_SUCCESS; } @@ -817,7 +849,7 @@ trunk = mgcp_trunk_by_num(g_cfg, index); if (!trunk) { - trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); + if(mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index) != 0); if (!trunk) return CMD_WARNING; } @@ -861,7 +893,7 @@ else vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); if (trunk->force_constant_ssrc || trunk->force_aligned_timing - || g_cfg->virt_trunk->rfc5993_hr_convert) { + || trunk->rfc5993_hr_convert) { vty_out(vty, " %srtp-patch ssrc%s", trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); @@ -1115,7 +1147,7 @@ struct mgcp_endpoint *endp; struct mgcp_conn *conn; - trunk = find_trunk(g_cfg, atoi(argv[0])); + trunk = mgcp_trunk_by_num(g_cfg, atoi(argv[0])); if (!trunk) { vty_out(vty, "%%Trunk %d not found in the config.%s", atoi(argv[0]), VTY_NEWLINE); @@ -1174,7 +1206,7 @@ struct mgcp_conn_rtp *conn; const char *conn_id = NULL; - trunk = find_trunk(g_cfg, atoi(argv[0])); + trunk = mgcp_trunk_by_num(g_cfg, atoi(argv[0])); if (!trunk) { vty_out(vty, "%%Trunk %d not found in the config.%s", atoi(argv[0]), VTY_NEWLINE); @@ -1227,7 +1259,7 @@ struct mgcp_trunk *trunk; struct mgcp_endpoint *endp; - trunk = find_trunk(g_cfg, atoi(argv[0])); + trunk = mgcp_trunk_by_num(g_cfg, atoi(argv[0])); if (!trunk) { vty_out(vty, "%%Trunk %d not found in the config.%s", atoi(argv[0]), VTY_NEWLINE); @@ -1260,7 +1292,7 @@ struct mgcp_endpoint *endp; int endp_no, rc; - trunk = find_trunk(g_cfg, atoi(argv[0])); + trunk = mgcp_trunk_by_num(g_cfg, atoi(argv[0])); if (!trunk) { vty_out(vty, "%%Trunk %d not found in the config.%s", atoi(argv[0]), VTY_NEWLINE); @@ -1309,6 +1341,9 @@ "osmux (on|off|only)", OSMUX_STR "Enable OSMUX\n" "Disable OSMUX\n" "Only use OSMUX\n") { + /* FIXME: This works only for the virtual trunk, what about other trunks? */ + struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); + if (strcmp(argv[0], "off") == 0) { g_cfg->osmux = OSMUX_USAGE_OFF; return CMD_SUCCESS; @@ -1317,7 +1352,7 @@ else if (strcmp(argv[0], "only") == 0) g_cfg->osmux = OSMUX_USAGE_ONLY; - if (g_cfg->virt_trunk->audio_loop) { + if (trunk->audio_loop) { vty_out(vty, "Cannot use `loop' with `osmux'.%s", VTY_NEWLINE); return CMD_WARNING; } @@ -1518,13 +1553,6 @@ return -1; } - if (mgcp_trunk_alloc_endpts(g_cfg->virt_trunk) != 0) { - LOGP(DLMGCP, LOGL_ERROR, - "Failed to initialize the virtual trunk (%d endpoints)\n", - g_cfg->virt_trunk->number_endpoints); - return -1; - } - llist_for_each_entry(trunk, &g_cfg->trunks, entry) { if (mgcp_trunk_alloc_endpts(trunk) != 0) { LOGP(DLMGCP, LOGL_ERROR, diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index d0da18b..eff84bf 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -760,6 +760,7 @@ { struct mgcp_config *cfg; struct mgcp_endpoint *endp; + struct mgcp_trunk *trunk; struct mgcp_trunk *trunk2; int i; struct mgcp_conn_rtp *conn = NULL; @@ -767,14 +768,16 @@ int rc; cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); - cfg->virt_trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(trunk); cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + trunk2 = mgcp_trunk_by_num(cfg, 1); mgcp_trunk_alloc_endpts(trunk2); for (i = 0; i < ARRAY_SIZE(tests); i++) { @@ -788,7 +791,7 @@ last_endpoint = -1; dummy_packets = 0; - osmo_talloc_replace_string(cfg, &cfg->virt_trunk->audio_fmtp_extra, + osmo_talloc_replace_string(cfg, &trunk->audio_fmtp_extra, t->extra_fmtp); inp = create_msg(t->req, last_conn_id); @@ -821,7 +824,7 @@ printf("Dummy packets: %d\n", dummy_packets); if (last_endpoint != -1) { - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, "1"); if (conn) { @@ -877,7 +880,7 @@ /* Check detected payload type */ if (conn && t->ptype != PTYPE_IGNORE) { OSMO_ASSERT(last_endpoint != -1); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; fprintf(stderr, "endpoint 0x%x: " "payload type %d (expected %d)\n", @@ -894,26 +897,29 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } static void test_retransmission(void) { struct mgcp_config *cfg; + struct mgcp_trunk *trunk; struct mgcp_trunk *trunk2; int i; char last_conn_id[256]; int rc; cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); - cfg->virt_trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(trunk); memset(last_conn_id, 0, sizeof(last_conn_id)); - trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + trunk2 = mgcp_trunk_by_num(cfg, 1); mgcp_trunk_alloc_endpts(trunk2); for (i = 0; i < ARRAY_SIZE(retransmit); i++) { @@ -955,7 +961,7 @@ } mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } @@ -969,17 +975,20 @@ static void test_rqnt_cb(void) { struct mgcp_config *cfg; + struct mgcp_trunk *trunk; struct mgcp_trunk *trunk2; struct msgb *inp, *msg; char conn_id[256]; cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); cfg->rqnt_cb = rqnt_cb; - cfg->virt_trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(trunk); - trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + trunk2 = mgcp_trunk_by_num(cfg, 1); mgcp_trunk_alloc_endpts(trunk2); inp = create_msg(CRCX, NULL); @@ -1010,7 +1019,7 @@ msgb_free(mgcp_handle_message(cfg, inp)); msgb_free(inp); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } @@ -1376,6 +1385,7 @@ static void test_multilple_codec(void) { struct mgcp_config *cfg; + struct mgcp_trunk *trunk; struct mgcp_trunk *trunk2; struct mgcp_endpoint *endp; struct msgb *inp, *resp; @@ -1386,11 +1396,13 @@ printf("Testing multiple payload types\n"); cfg = mgcp_config_alloc(); - cfg->virt_trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); + trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + trunk2 = mgcp_trunk_by_num(cfg, 1); mgcp_trunk_alloc_endpts(trunk2); /* Allocate endpoint 1 at mgw with two codecs */ @@ -1403,7 +1415,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 1); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1418,7 +1430,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 2); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1438,7 +1450,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 3); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); @@ -1453,7 +1465,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 4); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 18); @@ -1461,7 +1473,7 @@ /* Allocate 5 at mgw and let osmo-mgw pick a codec from the list */ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - cfg->virt_trunk->no_audio_transcoding = 1; + trunk->no_audio_transcoding = 1; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1469,7 +1481,7 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); @@ -1480,7 +1492,7 @@ msgb_free(inp); msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 3); @@ -1502,7 +1514,7 @@ last_endpoint = -1; inp = create_msg(CRCX_MULT_GSM_EXACT, NULL); - cfg->virt_trunk->no_audio_transcoding = 0; + trunk->no_audio_transcoding = 0; resp = mgcp_handle_message(cfg, inp); OSMO_ASSERT(get_conn_id_from_response(resp->data, conn_id, sizeof(conn_id)) == 0); @@ -1510,13 +1522,13 @@ msgb_free(resp); OSMO_ASSERT(last_endpoint == 5); - endp = cfg->virt_trunk->endpoints[last_endpoint]; + endp = trunk->endpoints[last_endpoint]; conn = mgcp_conn_get_rtp(endp, conn_id); OSMO_ASSERT(conn); OSMO_ASSERT(conn->end.codec->payload_type == 0); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } @@ -1526,14 +1538,16 @@ struct mgcp_endpoint *endp; struct mgcp_conn_rtp *conn = NULL; struct mgcp_conn *_conn = NULL; + struct mgcp_trunk *trunk; printf("Testing no sequence flow on initial packet\n"); cfg = mgcp_config_alloc(); - cfg->virt_trunk->vty_number_endpoints = 64; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); + trunk->vty_number_endpoints = 64; + mgcp_trunk_alloc_endpts(trunk); - endp = cfg->virt_trunk->endpoints[1]; + endp = trunk->endpoints[1]; _conn = mgcp_conn_alloc(NULL, endp, MGCP_CONN_TYPE_RTP, "test-connection"); @@ -1565,26 +1579,29 @@ OSMO_ASSERT(conn->state.stats.cycles == UINT16_MAX + 1); OSMO_ASSERT(conn->state.stats.max_seq == 0); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } static void test_no_name(void) { + struct mgcp_trunk *trunk; struct mgcp_trunk *trunk2; struct mgcp_config *cfg; struct msgb *inp, *msg; printf("Testing no rtpmap name\n"); cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_by_num(cfg, MGCP_VIRT_TRUNK_ID); - cfg->virt_trunk->vty_number_endpoints = 64; - cfg->virt_trunk->audio_send_name = 0; - mgcp_trunk_alloc_endpts(cfg->virt_trunk); + trunk->vty_number_endpoints = 64; + trunk->audio_send_name = 0; + mgcp_trunk_alloc_endpts(trunk); cfg->policy_cb = mgcp_test_policy_cb; - trunk2 = mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + mgcp_trunk_alloc(cfg, MGCP_TRUNK_E1, 1); + trunk2 = mgcp_trunk_by_num(cfg, 1); mgcp_trunk_alloc_endpts(trunk2); inp = create_msg(CRCX, NULL); @@ -1599,7 +1616,7 @@ msgb_free(msg); mgcp_endpoints_release(trunk2); - mgcp_endpoints_release(cfg->virt_trunk); + mgcp_endpoints_release(trunk); talloc_free(cfg); } -- 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: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 17:55:04 2020 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 29 May 2020 17:55:04 +0000 Subject: Change in osmo-bts[master]: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from os... In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18589 ) Change subject: bts-trx: Use TRXC cmd NOMTXPOWER to retrieve nominal tx power from osmo-trx ...................................................................... Patch Set 2: The spec says: "The range over which the BSS shall be capable of reducing its RF output power from its maximum level shall be nominally 30 dB, in 15 steps of nominally 2 dB." The power level field has 5 bits of which 4 may be used to set the level, one is fixed to zero. The b2xx series has a max rx gain of 76 dB and 89.8 dB max tx gain. So there is nothing to retrieve, the nominal power needs to configured in the osmo-trx config for one specific device and frequency configuration that is being used, an the relative power reduction always has to be relative to the configured value. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18589 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I682211f3d664c21f923ca4a530e0464ca383b6d9 Gerrit-Change-Number: 18589 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Hoernchen Gerrit-Comment-Date: Fri, 29 May 2020 17:55:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 17:55:58 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 17:55:58 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API References: Message-ID: fixeria has uploaded this change for review. ( 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 definitions of the "public" features, - use libosmocore's API for the "public" features, - keep the "internal" features in a local header, - raname the "internal" features to reflect their nature, - separate both "public" and "local" feature vectors. As a bonus, let's allocate the feature vectors using libosmocore's bitvec API instead of doing this manually in gsm_bts_alloc(). 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/oml.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 13 files changed, 116 insertions(+), 124 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/18591/1 diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h index 53a6d7a..b7215b5 100644 --- a/include/osmo-bts/gsm_data_shared.h +++ b/include/osmo-bts/gsm_data_shared.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -57,8 +58,6 @@ #define MAX_VERSION_LENGTH 64 -#define MAX_BTS_FEATURES 128 - enum gsm_hooks { GSM_HOOK_NM_SWLOAD, GSM_HOOK_RR_PAGING, @@ -459,35 +458,18 @@ struct vty; -/* 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, +/* Private BTS features (internal use, not exposed via OML) */ +enum bts_priv_feat { + BTS_PRIV_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_PRIV_FEAT_MEAS_PAYLOAD_COMB, + _NUM_BTS_PRIV_FEAT }; -extern const struct value_string gsm_bts_features_descs[]; +extern const struct value_string bts_priv_feat_desc[]; struct gsm_bts_gprs_nsvc { struct gsm_bts *bts; @@ -580,8 +562,9 @@ 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; + /* private features of a given BTS (not exposed via OML) */ + struct bitvec *priv_features; /* Connected PCU version (if any) */ char pcu_version[MAX_VERSION_LENGTH]; @@ -816,16 +799,16 @@ return lchan->name; } -static inline int gsm_bts_set_feature(struct gsm_bts *bts, enum gsm_bts_features feat) +static inline int bts_set_priv_feature(struct gsm_bts *bts, enum bts_priv_feat feat) { - OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_set_bit_pos(&bts->features, feat, 1); + OSMO_ASSERT(_NUM_BTS_PRIV_FEAT < MAX_BTS_FEATURES); + return bitvec_set_bit_pos(bts->priv_features, feat, 1); } -static inline bool gsm_bts_has_feature(const struct gsm_bts *bts, enum gsm_bts_features feat) +static inline bool bts_has_priv_feature(const struct gsm_bts *bts, enum bts_priv_feat feat) { - OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_get_bit_pos(&bts->features, feat); + OSMO_ASSERT(_NUM_BTS_PRIV_FEAT < MAX_BTS_FEATURES); + return bitvec_get_bit_pos(bts->priv_features, feat); } void gsm_abis_mo_reset(struct gsm_abis_mo *mo); diff --git a/src/common/bts.c b/src/common/bts.c index 2200615..fcc4573 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -194,7 +194,7 @@ osmo_rtp_init(tall_rtp_ctx); /* features implemented in 'common', available for all models */ - gsm_bts_set_feature(bts, BTS_FEAT_ETWS_PN); + osmo_bts_set_feature(bts->features, BTS_FEAT_ETWS_PN); rc = bts_model_init(bts); if (rc < 0) { @@ -258,7 +258,7 @@ tpp->ramp.step_interval_sec = 1; /* IF BTS model doesn't DSP/HW support MS Power Control Loop, enable osmo algo by default: */ - if (!gsm_bts_has_feature(trx->bts, BTS_FEAT_MS_PWR_CTRL_DSP)) + if (!bts_has_priv_feature(trx->bts, BTS_PRIV_FEAT_MS_PWR_CTRL_DSP)) trx->ms_pwr_ctl_soft = true; rc = bts_model_trx_init(trx); @@ -796,7 +796,7 @@ int bts_supports_cm(struct gsm_bts *bts, enum gsm_phys_chan_config pchan, enum gsm48_chan_mode cm) { - enum gsm_bts_features feature = _NUM_BTS_FEAT; + enum osmo_bts_features feature = _NUM_BTS_FEAT; /* We assume that signalling support is mandatory, * there is no BTS_FEAT_* definition to check that. */ @@ -844,7 +844,7 @@ } /* Check if the feature is supported by this BTS */ - if (gsm_bts_has_feature(bts, feature)) + if (osmo_bts_has_feature(bts->features, feature)) return 1; return 0; diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index c4a60b5..767b5fa 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -92,24 +92,9 @@ return get_value_string(osmo_bts_variant_names, v); } -const struct value_string gsm_bts_features_descs[] = { - { BTS_FEAT_HSCSD, "HSCSD" }, - { BTS_FEAT_GPRS, "GPRS" }, - { BTS_FEAT_EGPRS, "EGPRS" }, - { BTS_FEAT_ECSD, "ECSD" }, - { BTS_FEAT_HOPPING, "Frequency Hopping" }, - { BTS_FEAT_MULTI_TSC, "Multi-TSC" }, - { BTS_FEAT_OML_ALERTS, "OML Alerts" }, - { BTS_FEAT_AGCH_PCH_PROP, "AGCH/PCH proportional allocation" }, - { BTS_FEAT_CBCH, "CBCH" }, - { BTS_FEAT_SPEECH_F_V1, "Fullrate speech V1" }, - { BTS_FEAT_SPEECH_H_V1, "Halfrate speech V1" }, - { BTS_FEAT_SPEECH_F_EFR, "Fullrate speech EFR" }, - { BTS_FEAT_SPEECH_F_AMR, "Fullrate speech AMR" }, - { BTS_FEAT_SPEECH_H_AMR, "Halfrate speech AMR" }, - { BTS_FEAT_ETWS_PN, "ETWS Primary Notification on PCH" }, - { BTS_FEAT_MS_PWR_CTRL_DSP, "DSP/HW based MS Power Control Loop" }, - { BTS_FEAT_MEAS_PAYLOAD_COMB, "Measurement and Payload data combined"}, +const struct value_string bts_priv_feat_desc[] = { + { BTS_PRIV_FEAT_MS_PWR_CTRL_DSP, "DSP/HW based MS Power Control Loop" }, + { BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB, "Measurement and Payload data combined" }, { 0, NULL } }; @@ -348,8 +333,14 @@ bts->rach_b_thresh = -1; bts->rach_ldavg_slots = -1; - bts->features.data = &bts->_features_data[0]; - bts->features.data_len = sizeof(bts->_features_data); + + /* public features (exposed via OML) */ + bts->features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); + OSMO_ASSERT(bts->features != NULL); + + /* private features (internal use) */ + bts->priv_features = bitvec_alloc(MAX_BTS_FEATURES / 8, bts); + OSMO_ASSERT(bts->priv_features != NULL); /* si handling */ bts->bcch_change_mark = 1; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 99aa11b..32a53bc 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -757,8 +757,8 @@ break; case PRIM_INFO_MEAS: /* We should never get an INFO_IND with PRIM_INFO_MEAS - * when BTS_FEAT_MEAS_PAYLOAD_COMB is enabled */ - if (gsm_bts_has_feature(trx->bts, BTS_FEAT_MEAS_PAYLOAD_COMB)) + * when BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB is enabled */ + if (bts_has_priv_feature(trx->bts, BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB)) OSMO_ASSERT(false); process_l1sap_meas_data(trx, l1sap, PRIM_MPH_INFO); @@ -1279,7 +1279,7 @@ /* The ph_data_param contained in the l1sap primitive may contain * measurement data. If this data is present, forward it for * processing */ - if (gsm_bts_has_feature(trx->bts, BTS_FEAT_MEAS_PAYLOAD_COMB)) + if (bts_has_priv_feature(trx->bts, BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB)) process_l1sap_meas_data(trx, l1sap, PRIM_PH_DATA); if (ts_is_pdch(&trx->ts[tn])) { @@ -1399,7 +1399,7 @@ /* The ph_tch_param contained in the l1sap primitive may contain * measurement data. If this data is present, forward it for * processing */ - if (gsm_bts_has_feature(trx->bts, BTS_FEAT_MEAS_PAYLOAD_COMB)) + if (bts_has_priv_feature(trx->bts, BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB)) process_l1sap_meas_data(trx, l1sap, PRIM_TCH); msgb_pull_to_l2(msg); diff --git a/src/common/oml.c b/src/common/oml.c index 7e3b834..077ef09 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -173,7 +173,7 @@ /* 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); + msgb_tl16v_put(msg, NM_ATT_MANUF_ID, _NUM_BTS_FEAT/8 + 1, bts->features->data); } static inline void add_trx_attr(struct msgb *msg, const struct gsm_bts_trx *trx) diff --git a/src/common/vty.c b/src/common/vty.c index c2cbeb5..ee711b9 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -764,7 +764,7 @@ struct gsm_bts_trx *trx = vty->index; bool soft = !strcmp(argv[0], "osmo"); - if (!soft && !gsm_bts_has_feature(trx->bts, BTS_FEAT_MS_PWR_CTRL_DSP)) { + if (!soft && !bts_has_priv_feature(trx->bts, BTS_PRIV_FEAT_MS_PWR_CTRL_DSP)) { /* NOTE: osmo-bts-trx used to have its own (low-level) MS Power Control loop, which * has been ripped out in favour of the common implementation. Configuration files * may still contain 'dsp', so let's be tolerant and override 'dsp' by 'osmo'. */ @@ -825,13 +825,27 @@ static void bts_dump_vty_features(struct vty *vty, struct gsm_bts *bts) { unsigned int i; - bool no_features = true; + bool no_features; + vty_out(vty, " Features:%s", VTY_NEWLINE); - for (i = 0; i < _NUM_BTS_FEAT; i++) { - if (gsm_bts_has_feature(bts, i)) { + for (i = 0, no_features = true; i < _NUM_BTS_FEAT; i++) { + if (osmo_bts_has_feature(bts->features, i)) { vty_out(vty, " %03u ", i); - vty_out(vty, "%-40s%s", get_value_string(gsm_bts_features_descs, i), VTY_NEWLINE); + vty_out(vty, "%-40s%s", osmo_bts_feature_name(i), VTY_NEWLINE); + no_features = false; + } + } + + if (no_features) + vty_out(vty, " (not available)%s", VTY_NEWLINE); + + vty_out(vty, " Internal features:%s", VTY_NEWLINE); + + for (i = 0, no_features = true; i < _NUM_BTS_PRIV_FEAT; i++) { + if (bts_has_priv_feature(bts, i)) { + vty_out(vty, " %03u ", i); + vty_out(vty, "%-40s%s", get_value_string(bts_priv_feat_desc, i), VTY_NEWLINE); no_features = false; } } diff --git a/src/osmo-bts-litecell15/main.c b/src/osmo-bts-litecell15/main.c index ef02135..33cbee9 100644 --- a/src/osmo-bts-litecell15/main.c +++ b/src/osmo-bts-litecell15/main.c @@ -110,16 +110,17 @@ exit(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_AGCH_PCH_PROP); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_EFR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_MS_PWR_CTRL_DSP); + osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_EGPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_AGCH_PCH_PROP); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); + + bts_set_priv_feature(bts, BTS_PRIV_FEAT_MS_PWR_CTRL_DSP); bts_model_vty_init(bts); diff --git a/src/osmo-bts-oc2g/main.c b/src/osmo-bts-oc2g/main.c index f9bb0cb..849f262 100644 --- a/src/osmo-bts-oc2g/main.c +++ b/src/osmo-bts-oc2g/main.c @@ -111,16 +111,17 @@ exit(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_AGCH_PCH_PROP); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_EFR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_MS_PWR_CTRL_DSP); + osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_EGPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_AGCH_PCH_PROP); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); + + bts_set_priv_feature(bts, BTS_PRIV_FEAT_MS_PWR_CTRL_DSP); bts_model_vty_init(bts); diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index fb62f8b..0adc8fe 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -779,13 +779,13 @@ /* FIXME: what is the nominal transmit power of the PHY/board? */ bts->c0->nominal_power = 15; - gsm_bts_set_feature(bts, BTS_FEAT_GPRS); - gsm_bts_set_feature(bts, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); #if defined(cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH4_CBCH_SACCHC4) && defined(cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SDCCH8_CBCH_SACCHC8) - gsm_bts_set_feature(bts, BTS_FEAT_CBCH); + osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); #endif - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); bts_model_vty_init(bts); diff --git a/src/osmo-bts-sysmo/main.c b/src/osmo-bts-sysmo/main.c index 44c6d5d..06891a2 100644 --- a/src/osmo-bts-sysmo/main.c +++ b/src/osmo-bts-sysmo/main.c @@ -76,18 +76,19 @@ exit(23); } - gsm_bts_set_feature(bts, BTS_FEAT_CBCH); - 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_AGCH_PCH_PROP); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_EFR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_MS_PWR_CTRL_DSP); - gsm_bts_set_feature(bts, BTS_FEAT_MEAS_PAYLOAD_COMB); + osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); + osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_EGPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_AGCH_PCH_PROP); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); + + bts_set_priv_feature(bts, BTS_PRIV_FEAT_MS_PWR_CTRL_DSP); + bts_set_priv_feature(bts, BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB); bts_model_vty_init(bts); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index ab0472e..112f405 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -108,15 +108,16 @@ * value */ bts->c0->nominal_power = 23; - gsm_bts_set_feature(bts, BTS_FEAT_GPRS); - 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); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_EFR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_CBCH); - gsm_bts_set_feature(bts, BTS_FEAT_MEAS_PAYLOAD_COMB); + osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); + + bts_set_priv_feature(bts, BTS_PRIV_FEAT_MEAS_PAYLOAD_COMB); bts_model_vty_init(bts); diff --git a/src/osmo-bts-virtual/main.c b/src/osmo-bts-virtual/main.c index a6fc290..fb5d357 100644 --- a/src/osmo-bts-virtual/main.c +++ b/src/osmo-bts-virtual/main.c @@ -62,13 +62,13 @@ bts->variant = BTS_OSMO_VIRTUAL; bts->support.ciphers = CIPHER_A5(1) | CIPHER_A5(2) | CIPHER_A5(3); - 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); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_EFR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_CBCH); + osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_CBCH); bts_model_vty_init(bts); diff --git a/tests/misc/misc_test.c b/tests/misc/misc_test.c index c4d3a59..439d6b3 100644 --- a/tests/misc/misc_test.c +++ b/tests/misc/misc_test.c @@ -166,10 +166,10 @@ bts = gsm_bts_alloc(ctx, 0); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR); - gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_H_AMR); OSMO_ASSERT(bts_supports_cm (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1) == 1); -- 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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 17:55:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 17:55:59 +0000 Subject: Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat() References: Message-ID: fixeria has uploaded this change for review. ( 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, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/92/18592/1 diff --git a/src/common/oml.c b/src/common/oml.c index 077ef09..16b24b1 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -173,7 +173,10 @@ /* 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 = _NUM_BTS_FEAT / 8; + if (_NUM_BTS_FEAT % 8 != 0) + len++; + 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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 18:52:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 18:52:29 +0000 Subject: Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18592 to look at the new patch set (#2). 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/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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 18:55:30 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 18:55:30 +0000 Subject: Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18590 to look at the new patch set (#2). Change subject: trunk: get rid of virt_trunk pointer ...................................................................... trunk: get rid of virt_trunk pointer The virtual trunk is a pre-configured trunk that always exists. It is kept separate from the trunk list using a separate pointer. This makes thinks unecessarly complicated. Lets organize the trunk in the trunk list like any other trunk, except that we automatically create it on startup and assign it always the trunk id number 0. Change-Id: I81934fbd211b225ab7920e78510729c8e22607b3 Related: OS#2659 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 8 files changed, 170 insertions(+), 122 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/18590/2 -- 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: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:23:11 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 19:23:11 +0000 Subject: Change in osmo-mgw[master]: vty: fix unreachable code (error msg on trunk alloc fail) In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18581 ) Change subject: vty: fix unreachable code (error msg on trunk alloc fail) ...................................................................... vty: fix unreachable code (error msg on trunk alloc fail) When a trunk is selected that does not exist, a new one is created. In this case the VTY would print an error message but the function exits early. The code that would print the error is unreachable. Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 fixes: CID#210637 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 4 insertions(+), 7 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index 6a431e5..bdcb55c 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -813,14 +813,11 @@ trunk = mgcp_trunk_num(g_cfg, index); if (!trunk) { trunk = mgcp_trunk_alloc(g_cfg, MGCP_TRUNK_E1, index); - if (!trunk) + if (!trunk) { + vty_out(vty, "%%Unable to allocate trunk %u.%s", + index, VTY_NEWLINE); return CMD_WARNING; - } - - if (!trunk) { - vty_out(vty, "%%Unable to allocate trunk %u.%s", - index, VTY_NEWLINE); - return CMD_WARNING; + } } vty->node = TRUNK_NODE; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18581 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ie8c3b083174eb8209df2c06f65db6d7bbfaa87f7 Gerrit-Change-Number: 18581 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:27:28 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 19:27:28 +0000 Subject: Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/18590 to look at the new patch set (#3). Change subject: trunk: get rid of virt_trunk pointer ...................................................................... trunk: get rid of virt_trunk pointer The virtual trunk is a pre-configured trunk that always exists. It is kept separate from the trunk list using a separate pointer. This makes thinks unecessarly complicated. Lets organize the trunk in the trunk list like any other trunk, except that we automatically create it on startup and assign it always the trunk id number 0. Change-Id: I81934fbd211b225ab7920e78510729c8e22607b3 Related: OS#2659 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_osmux.c M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_trunk.c M src/libosmo-mgcp/mgcp_vty.c M tests/mgcp/mgcp_test.c 8 files changed, 171 insertions(+), 123 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/90/18590/3 -- 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: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:27:29 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 19:27:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_vty: fix indentation in VTY config write References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18593 ) Change subject: mgcp_vty: fix indentation in VTY config write ...................................................................... mgcp_vty: fix indentation in VTY config write The config under the node mgcp is written with an indentation that has one space too much. Change-Id: I2aefeaf3d7ad4a98b7bfcdc7cbc1ce6ebcbe0537 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 34 insertions(+), 34 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/93/18593/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index d84df7c..1a752df 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -60,94 +60,94 @@ struct mgcp_trunk *trunk = mgcp_trunk_by_num(g_cfg, MGCP_VIRT_TRUNK_ID); vty_out(vty, "mgcp%s", VTY_NEWLINE); - vty_out(vty, " domain %s%s", g_cfg->domain, VTY_NEWLINE); + vty_out(vty, " domain %s%s", g_cfg->domain, VTY_NEWLINE); if (g_cfg->local_ip) vty_out(vty, " local ip %s%s", g_cfg->local_ip, VTY_NEWLINE); - vty_out(vty, " bind ip %s%s", g_cfg->source_addr, VTY_NEWLINE); - vty_out(vty, " bind port %u%s", g_cfg->source_port, VTY_NEWLINE); - vty_out(vty, " rtp port-range %u %u%s", + vty_out(vty, " bind ip %s%s", g_cfg->source_addr, VTY_NEWLINE); + vty_out(vty, " bind port %u%s", g_cfg->source_port, VTY_NEWLINE); + vty_out(vty, " rtp port-range %u %u%s", g_cfg->net_ports.range_start, g_cfg->net_ports.range_end, VTY_NEWLINE); if (g_cfg->net_ports.bind_addr) - vty_out(vty, " rtp bind-ip %s%s", + vty_out(vty, " rtp bind-ip %s%s", g_cfg->net_ports.bind_addr, VTY_NEWLINE); if (g_cfg->net_ports.bind_addr_probe) - vty_out(vty, " rtp ip-probing%s", VTY_NEWLINE); + vty_out(vty, " rtp ip-probing%s", VTY_NEWLINE); else - vty_out(vty, " no rtp ip-probing%s", VTY_NEWLINE); - vty_out(vty, " rtp ip-dscp %d%s", g_cfg->endp_dscp, VTY_NEWLINE); + vty_out(vty, " no rtp ip-probing%s", VTY_NEWLINE); + vty_out(vty, " rtp ip-dscp %d%s", g_cfg->endp_dscp, VTY_NEWLINE); if (trunk->keepalive_interval == MGCP_KEEPALIVE_ONCE) - vty_out(vty, " rtp keep-alive once%s", VTY_NEWLINE); + vty_out(vty, " rtp keep-alive once%s", VTY_NEWLINE); else if (trunk->keepalive_interval) - vty_out(vty, " rtp keep-alive %d%s", + vty_out(vty, " rtp keep-alive %d%s", trunk->keepalive_interval, VTY_NEWLINE); else - vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE); + vty_out(vty, " no rtp keep-alive%s", VTY_NEWLINE); if (trunk->omit_rtcp) - vty_out(vty, " rtcp-omit%s", VTY_NEWLINE); + vty_out(vty, " rtcp-omit%s", VTY_NEWLINE); else - vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); + vty_out(vty, " no rtcp-omit%s", VTY_NEWLINE); if (trunk->force_constant_ssrc || trunk->force_aligned_timing || trunk->rfc5993_hr_convert) { - vty_out(vty, " %srtp-patch ssrc%s", + vty_out(vty, " %srtp-patch ssrc%s", trunk->force_constant_ssrc ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " %srtp-patch timestamp%s", + vty_out(vty, " %srtp-patch timestamp%s", trunk->force_aligned_timing ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " %srtp-patch rfc5993hr%s", + vty_out(vty, " %srtp-patch rfc5993hr%s", trunk->rfc5993_hr_convert ? "" : "no ", VTY_NEWLINE); } else - vty_out(vty, " no rtp-patch%s", VTY_NEWLINE); + vty_out(vty, " no rtp-patch%s", VTY_NEWLINE); if (trunk->audio_fmtp_extra) - vty_out(vty, " sdp audio fmtp-extra %s%s", + vty_out(vty, " sdp audio fmtp-extra %s%s", trunk->audio_fmtp_extra, VTY_NEWLINE); - vty_out(vty, " %ssdp audio-payload send-ptime%s", + vty_out(vty, " %ssdp audio-payload send-ptime%s", trunk->audio_send_ptime ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " %ssdp audio-payload send-name%s", + vty_out(vty, " %ssdp audio-payload send-name%s", trunk->audio_send_name ? "" : "no ", VTY_NEWLINE); - vty_out(vty, " loop %u%s", ! !trunk->audio_loop, VTY_NEWLINE); - vty_out(vty, " number endpoints %u%s", + vty_out(vty, " loop %u%s", ! !trunk->audio_loop, VTY_NEWLINE); + vty_out(vty, " number endpoints %u%s", trunk->vty_number_endpoints - 1, VTY_NEWLINE); - vty_out(vty, " %sallow-transcoding%s", + vty_out(vty, " %sallow-transcoding%s", trunk->no_audio_transcoding ? "no " : "", VTY_NEWLINE); if (g_cfg->call_agent_addr) - vty_out(vty, " call-agent ip %s%s", g_cfg->call_agent_addr, + vty_out(vty, " call-agent ip %s%s", g_cfg->call_agent_addr, VTY_NEWLINE); if (g_cfg->force_ptime > 0) - vty_out(vty, " rtp force-ptime %d%s", g_cfg->force_ptime, + vty_out(vty, " rtp force-ptime %d%s", g_cfg->force_ptime, VTY_NEWLINE); switch (g_cfg->osmux) { case OSMUX_USAGE_ON: - vty_out(vty, " osmux on%s", VTY_NEWLINE); + vty_out(vty, " osmux on%s", VTY_NEWLINE); break; case OSMUX_USAGE_ONLY: - vty_out(vty, " osmux only%s", VTY_NEWLINE); + vty_out(vty, " osmux only%s", VTY_NEWLINE); break; case OSMUX_USAGE_OFF: default: - vty_out(vty, " osmux off%s", VTY_NEWLINE); + vty_out(vty, " osmux off%s", VTY_NEWLINE); break; } if (g_cfg->osmux) { - vty_out(vty, " osmux bind-ip %s%s", + vty_out(vty, " osmux bind-ip %s%s", g_cfg->osmux_addr, VTY_NEWLINE); - vty_out(vty, " osmux batch-factor %d%s", + vty_out(vty, " osmux batch-factor %d%s", g_cfg->osmux_batch, VTY_NEWLINE); - vty_out(vty, " osmux batch-size %u%s", + vty_out(vty, " osmux batch-size %u%s", g_cfg->osmux_batch_size, VTY_NEWLINE); - vty_out(vty, " osmux port %u%s", + vty_out(vty, " osmux port %u%s", g_cfg->osmux_port, VTY_NEWLINE); - vty_out(vty, " osmux dummy %s%s", + vty_out(vty, " osmux dummy %s%s", g_cfg->osmux_dummy ? "on" : "off", VTY_NEWLINE); } if (g_cfg->conn_timeout) - vty_out(vty, " conn-timeout %u%s", g_cfg->conn_timeout, VTY_NEWLINE); + vty_out(vty, " conn-timeout %u%s", g_cfg->conn_timeout, VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2aefeaf3d7ad4a98b7bfcdc7cbc1ce6ebcbe0537 Gerrit-Change-Number: 18593 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:31:22 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:31:22 +0000 Subject: Change in osmo-bts[master]: tests/tx_power: Speed up test In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18577 ) Change subject: tests/tx_power: Speed up test ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18577 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I703e1137f30e4874ef40785bec6100b50b9633a7 Gerrit-Change-Number: 18577 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:31:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:31:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:31:38 +0000 Subject: Change in osmo-bts[master]: doc: Update vty reference xml file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18578 ) Change subject: doc: Update vty reference xml file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18578 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I26c6522e6b5b87030dde61afacd637ff38b12303 Gerrit-Change-Number: 18578 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:31:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:34:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:34:54 +0000 Subject: Change in osmo-bts[master]: bts-trx: vty: Add 'nominal-tx-power' cmd In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18579 ) Change subject: bts-trx: vty: Add 'nominal-tx-power' cmd ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/18579/2/src/osmo-bts-trx/trx_vty.c File src/osmo-bts-trx/trx_vty.c: https://gerrit.osmocom.org/c/osmo-bts/+/18579/2/src/osmo-bts-trx/trx_vty.c at 174 PS2, Line 174: l1h->config.nominal_power_set_by_vty = val ? true : false; 0 dBm may very well be a valid 'nominal power'. Present-day SDRs often only output something like 4 dBm, so it's not too far fetched that there are some boards the don't do more than 0dBm. So mplease use an explicit "no ..." command to unset nominal_power_set_by_vty. And consider even permitting negative values as minimum to this command, lik maybe -10 dBm. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18579 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib1b6f80d3b54afc42db9d358a79582cc619c6ce4 Gerrit-Change-Number: 18579 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:34:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:35:59 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:35:59 +0000 Subject: Change in osmo-bts[master]: bts-trx: Implement power ramping during BTS bring up In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18488 ) Change subject: bts-trx: Implement power ramping during BTS bring up ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia7c353e4c199e0fc3bcab55c45a4abda2c66d2c1 Gerrit-Change-Number: 18488 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-Comment-Date: Fri, 29 May 2020 19:35:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:36:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:36:16 +0000 Subject: Change in osmo-bts[master]: bts-trx: Rename setpower TRXC functions to describe they use power at... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18587 ) Change subject: bts-trx: Rename setpower TRXC functions to describe they use power attenuation ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18587 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iedbe8e76bce990c2330477157cd886a8fc22063c Gerrit-Change-Number: 18587 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:36:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:36:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:36:36 +0000 Subject: Change in osmo-bts[master]: bts-trx: Introduce helper func l1if_trx_set_nominal_power In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18588 ) Change subject: bts-trx: Introduce helper func l1if_trx_set_nominal_power ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I929fc50d544a88900d2e22317ec5ced10f15e51c Gerrit-Change-Number: 18588 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:36:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:38:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:38:55 +0000 Subject: Change in docker-playground[master]: *-bts-*: support centos8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18576 ) Change subject: *-bts-*: support centos8 ...................................................................... Patch Set 2: I would't bother supporting centos for the TTCN3 tester side. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I38a0b9d01cfa1112b9039682f627115ad5d3022d Gerrit-Change-Number: 18576 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:38:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:40:03 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:40:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 ) Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:40:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:40:44 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:40:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 ) Change subject: bts/BTS_Tests: add frequency hopping parameters ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Gerrit-Change-Number: 18530 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:40:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:40:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:40:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 ) Change subject: library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params ...................................................................... library/L1CTL_PortType: f_L1CTL_DM_EST_REQ_IA(): handle hopping params Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Related: OS#4546 --- M library/L1CTL_PortType.ttcn 1 file changed, 21 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index cc2ff93..94f807a 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -203,10 +203,27 @@ } /* Send DM_EST_REQ from parameters derived from IMM ASS */ - function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass) { - pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, - imm_ass.chan_desc.tsc, - imm_ass.chan_desc.arfcn)); + function f_L1CTL_DM_EST_REQ_IA(L1CTL_PT pt, ImmediateAssignment imm_ass, L1ctlMA ma := {}) { + /* FIXME: handle Packet Channel Description */ + if (imm_ass.ded_or_tbf.tbf == true) { + setverdict(fail, "TBF assignment is not handled by ", __SCOPE__); + mtc.stop; + } + + /* Single channel or frequency hopping? */ + if (not imm_ass.chan_desc.h) { + pt.send(ts_L1CTL_DM_EST_REQ_H0(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.arfcn)); + } else { + /* TODO: we probably want to apply a bitmask from imm_ass.mobile_allocation + * on the list of channels, if it's present. Use all channels for now. */ + pt.send(ts_L1CTL_DM_EST_REQ_H1(imm_ass.chan_desc.chan_nr, + imm_ass.chan_desc.tsc, + imm_ass.chan_desc.maio_hsn.hsn, + imm_ass.chan_desc.maio_hsn.maio, + ma)); + } } /* Send DM_REL_REQ from parameters derived from IMM ASS */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c14fee3ec8f7a799469c681b5afe79ab74a5dfc Gerrit-Change-Number: 18529 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:40:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:40:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/BTS_Tests: add frequency hopping parameters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 ) Change subject: bts/BTS_Tests: add frequency hopping parameters ...................................................................... bts/BTS_Tests: add frequency hopping parameters Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Related: Ib5ad31388ae25399ad09739aac3fdcb0b3a1f78b Related: OS#4546 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_perf.ttcn 2 files changed, 38 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0f89ec6..80804ec 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -84,6 +84,9 @@ charstring mp_rsl_ip := "127.0.0.2"; integer mp_rsl_port := 3003; integer mp_trx0_arfcn := 871; + integer mp_trx1_arfcn := 873; + integer mp_trx2_arfcn := 875; + integer mp_trx3_arfcn := 877; charstring mp_bts_trxc_ip := "127.0.0.1"; integer mp_bts_trxc_port := 5701; charstring mp_pcu_socket := PCU_SOCK_DEFAULT; @@ -207,7 +210,14 @@ ConnL1Pars l1_pars, TestSpecUnion spec optional, RSL_IE_EncryptionInfo encr optional, - BtsBand bts0_band optional + BtsBand bts0_band optional, + + /* Frequency hopping parameters (disabled if absent) */ + MaioHsn maio_hsn optional, + /* MA bitmap to be indicated in RR Immediate Assignment */ + MobileAllocation ma_map, + /* The actual Mobile Allocation (ARFCN list) to be used */ + L1ctlMA ma } /* Test-specific parameters */ @@ -587,8 +597,13 @@ "RF CHAN REL", true); } +/* Default Mobile Allocation to be used for frequency hopping */ +private const L1ctlMA l1ctl_ma_def := { { false, mp_trx0_arfcn }, { false, mp_trx1_arfcn }, + { false, mp_trx2_arfcn }, { false, mp_trx3_arfcn } }; + friend template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, template RSL_IE_ChannelMode chan_mode, + template (omit) MaioHsn maio_hsn := omit, float t_guard := 20.0) := { chan_nr := valueof(chan_nr), chan_mode := valueof(chan_mode), @@ -613,7 +628,10 @@ }, spec := omit, encr := omit, - bts0_band := omit + bts0_band := omit, + maio_hsn := maio_hsn, + ma_map := c_MA_null, + ma := l1ctl_ma_def } /*********************************************************************** @@ -1906,6 +1924,7 @@ private function f_est_dchan(boolean encr_enable := false, RSL_IE_List more_ies := {}) runs on ConnHdlr { var GsmFrameNumber fn; var ImmediateAssignment imm_ass; + var ChannelDescription ch_desc; var integer ra := 23; /* Send RACH request and wait for ChanReq */ @@ -1914,26 +1933,28 @@ /* Activate channel on BTS side */ f_rsl_chan_act(g_pars.chan_mode, encr_enable, more_ies); + /* Craft channel description (with or without frequency hopping parameters) */ + if (ispresent(g_pars.maio_hsn)) { + ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, maio_hsn := g_pars.maio_hsn)); + } else { + ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr)); + } + /* Send IMM.ASS via CCHAN */ - var ChannelDescription ch_desc := { - chan_nr := g_pars.chan_nr, - tsc := 7, - h := false, - arfcn := mp_trx0_arfcn, - maio_hsn := omit - }; - var MobileAllocation ma := { - len := 0, - ma := ''B - }; - var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, ma)); + var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.ma_map)); RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg))); /* receive IMM.ASS on MS side */ var ImmediateAssignment ia_um; ia_um := f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, fn); + + /* Make sure that IMM.ASS contains hopping parameters (if enabled) */ + if (ch_desc.h != ia_um.chan_desc.h) { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Hopping parameters mismatch"); + } + /* enable dedicated mode */ - f_L1CTL_DM_EST_REQ_IA(L1CTL, ia_um); + f_L1CTL_DM_EST_REQ_IA(L1CTL, ia_um, ma := g_pars.ma); /* enable encryption, if requested */ if (encr_enable) { var uint8_t alg_id := f_alg_id_to_l1ctl(g_pars.encr.alg_id); diff --git a/bts/BTS_Tests_perf.ttcn b/bts/BTS_Tests_perf.ttcn index 1e70bc8..5b3b672 100644 --- a/bts/BTS_Tests_perf.ttcn +++ b/bts/BTS_Tests_perf.ttcn @@ -86,7 +86,8 @@ } testcase TC_highchanload_tchh() runs on test_CT { var ConnHdlr vc_conn; /* 1..7 * 2 */ - var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, 60.0 + mp_wait_time)); + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN, + t_guard := 60.0 + mp_wait_time)); f_init(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I111a14ca5d77c589529b40429d99d9ec6fa55a98 Gerrit-Change-Number: 18530 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:42:05 2020 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 29 May 2020 19:42:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_vty: fix indentation References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18594 ) Change subject: mgcp_vty: fix indentation ...................................................................... mgcp_vty: fix indentation Some DEFUN macros are not correctly indented Change-Id: I613f2ebcb06a01744d957e87e8b1215a141b43c4 --- M src/libosmo-mgcp/mgcp_vty.c 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/94/18594/1 diff --git a/src/libosmo-mgcp/mgcp_vty.c b/src/libosmo-mgcp/mgcp_vty.c index bdcb55c..856c971 100644 --- a/src/libosmo-mgcp/mgcp_vty.c +++ b/src/libosmo-mgcp/mgcp_vty.c @@ -535,7 +535,7 @@ RTP_STR "Apply IP_TOS to the audio stream\n" "The DSCP value\n") #define FORCE_PTIME_STR "Force a fixed ptime for packets sent" - DEFUN(cfg_mgcp_rtp_force_ptime, +DEFUN(cfg_mgcp_rtp_force_ptime, cfg_mgcp_rtp_force_ptime_cmd, "rtp force-ptime (10|20|40)", RTP_STR FORCE_PTIME_STR @@ -601,7 +601,7 @@ "sdp audio payload number <0-255>", SDP_STR AUDIO_STR AUDIO_STR "Number\n" "Payload number\n") - DEFUN(cfg_mgcp_sdp_payload_name, +DEFUN(cfg_mgcp_sdp_payload_name, cfg_mgcp_sdp_payload_name_cmd, "sdp audio-payload name NAME", SDP_STR AUDIO_STR "Name\n" "Payload name\n") @@ -614,7 +614,7 @@ "sdp audio payload name NAME", SDP_STR AUDIO_STR AUDIO_STR "Name\n" "Payload name\n") - DEFUN(cfg_mgcp_sdp_payload_send_ptime, +DEFUN(cfg_mgcp_sdp_payload_send_ptime, cfg_mgcp_sdp_payload_send_ptime_cmd, "sdp audio-payload send-ptime", SDP_STR AUDIO_STR "Send SDP ptime (packet duration) attribute\n") @@ -804,7 +804,7 @@ CALL_AGENT_STR CALL_AGENT_STR IP_STR "IPv4 Address of the callagent\n") - DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd, +DEFUN(cfg_mgcp_trunk, cfg_mgcp_trunk_cmd, "trunk <1-64>", "Configure a SS7 trunk\n" "Trunk Nr\n") { struct mgcp_trunk_config *trunk; @@ -911,7 +911,7 @@ "sdp audio payload number <0-255>", SDP_STR AUDIO_STR AUDIO_STR "Number\n" "Payload Number\n") - DEFUN(cfg_trunk_payload_name, +DEFUN(cfg_trunk_payload_name, cfg_trunk_payload_name_cmd, "sdp audio-payload name NAME", SDP_STR AUDIO_STR "Payload\n" "Payload Name\n") @@ -926,7 +926,7 @@ "sdp audio payload name NAME", SDP_STR AUDIO_STR AUDIO_STR "Payload\n" "Payload Name\n") - DEFUN(cfg_trunk_loop, +DEFUN(cfg_trunk_loop, cfg_trunk_loop_cmd, "loop (0|1)", "Loop audio for all endpoints on this trunk\n" "Don't Loop\n" "Loop\n") -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I613f2ebcb06a01744d957e87e8b1215a141b43c4 Gerrit-Change-Number: 18594 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:43:35 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:43:35 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:43:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:47:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:47:00 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: laforge 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 1: thanks for the cleanup. However, I think the new approach makes it very easy to call the wrong "features" bitmap with the enum from the other part. Like using a non-priv enum value with the priv features or vice versa. I guess it makes sense to completely rename one of the two. Like bts_model_flags (internal/private) vs. "bts features" (Abis exposed ones).? -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:47:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:47:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:47:28 +0000 Subject: Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat() In-Reply-To: References: Message-ID: laforge 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 2: Code-Review+1 -- 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: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:47:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:48:44 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:48:44 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: add curly braces to complex 'if' statements References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18595 ) Change subject: abis_nm: cosmetic: add curly braces to complex 'if' statements ...................................................................... abis_nm: cosmetic: add curly braces to complex 'if' statements Change-Id: I74fbb46920c74a194c296feeeb1bb086fcbd572f --- M src/osmo-bsc/abis_nm.c 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/95/18595/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4ed0602..a0aead8 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -570,25 +570,29 @@ len = TLVP_LEN(tp, NM_ATT_MANUF_ID); /* log potential BTS feature vector overflow */ - if (len > sizeof(bts->_features_data)) + if (len > sizeof(bts->_features_data)) { LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: feature vector is truncated to %u bytes\n", bts->nr, MAX_BTS_FEATURES/8); + } /* check that max. expected BTS attribute is above given feature vector length */ - if (len > OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT)) + if (len > OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT)) { LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: reported unexpectedly long (%u bytes) " "feature vector - most likely it was compiled against newer BSC headers. " "Consider upgrading your BSC to later version.\n", bts->nr, len); + } memcpy(bts->_features_data, TLVP_VAL(tp, NM_ATT_MANUF_ID), sizeof(bts->_features_data)); - for (i = 0; i < _NUM_BTS_FEAT; i++) - if (osmo_bts_has_feature(&bts->features, i) != osmo_bts_has_feature(&bts->model->features, i)) + for (i = 0; i < _NUM_BTS_FEAT; i++) { + if (osmo_bts_has_feature(&bts->features, i) != osmo_bts_has_feature(&bts->model->features, i)) { LOGP(DNM, LOGL_NOTICE, "BTS%u feature '%s' reported via OML does not match statically " "set feature: %u != %u. Please fix.\n", bts->nr, get_value_string(osmo_bts_features_descs, i), osmo_bts_has_feature(&bts->features, i), osmo_bts_has_feature(&bts->model->features, i)); + } + } } /* Parse Attribute Response Info content for 3GPP TS 52.021 ?9.4.28 Manufacturer Dependent State */ @@ -607,10 +611,11 @@ if (rc > 0) { for (i = 0; i < rc; i++) { if (!handle_attr(bts, str2btsattr((const char *)sw_descr[i].file_id), - sw_descr[i].file_version, sw_descr[i].file_version_len)) + sw_descr[i].file_version, sw_descr[i].file_version_len)) { LOGPFOH(DNM, LOGL_NOTICE, foh, "BTS%u: ARI reported sw[%d/%d]: %s " "is %s\n", bts->nr, i, rc, sw_descr[i].file_id, sw_descr[i].file_version); + } } } else { LOGPFOH(DNM, LOGL_ERROR, foh, "BTS%u: failed to parse SW-Config part of " -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I74fbb46920c74a194c296feeeb1bb086fcbd572f Gerrit-Change-Number: 18595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:48:45 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:48:45 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: use sizeof() for printing buffer size References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18596 ) Change subject: abis_nm: cosmetic: use sizeof() for printing buffer size ...................................................................... abis_nm: cosmetic: use sizeof() for printing buffer size Change-Id: I14be343578a64c1e4ce8ce4d28da9008eb309f3c --- M src/osmo-bsc/abis_nm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/96/18596/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index a0aead8..f600801 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -571,8 +571,8 @@ /* log potential BTS feature vector overflow */ if (len > sizeof(bts->_features_data)) { - LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: feature vector is truncated to %u bytes\n", - bts->nr, MAX_BTS_FEATURES/8); + LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: feature vector is truncated to %zu bytes\n", + bts->nr, sizeof(bts->_features_data)); } /* check that max. expected BTS attribute is above given feature vector length */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I14be343578a64c1e4ce8ce4d28da9008eb309f3c Gerrit-Change-Number: 18596 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:48:46 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly truncate feature vector reported by BTS References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18597 ) Change subject: abis_nm: fix: properly truncate feature vector reported by BTS ...................................................................... abis_nm: fix: properly truncate feature vector reported by BTS The value of the feature vector can not only be greater, but also shorter than size of the buffer! This would potentially result in a buffer overrun. Let's fix this. Change-Id: I65e3228022865ea73de2e4821985df3097b9448b --- M src/osmo-bsc/abis_nm.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/97/18597/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index f600801..db2879f 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -571,8 +571,9 @@ /* log potential BTS feature vector overflow */ if (len > sizeof(bts->_features_data)) { - LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: feature vector is truncated to %zu bytes\n", - bts->nr, sizeof(bts->_features_data)); + LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: feature vector is truncated " + "(from %u to %zu bytes)\n", bts->nr, len, sizeof(bts->_features_data)); + len = sizeof(bts->_features_data); } /* check that max. expected BTS attribute is above given feature vector length */ @@ -583,7 +584,7 @@ bts->nr, len); } - memcpy(bts->_features_data, TLVP_VAL(tp, NM_ATT_MANUF_ID), sizeof(bts->_features_data)); + memcpy(bts->_features_data, TLVP_VAL(tp, NM_ATT_MANUF_ID), len); for (i = 0; i < _NUM_BTS_FEAT; i++) { if (osmo_bts_has_feature(&bts->features, i) != osmo_bts_has_feature(&bts->model->features, i)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e3228022865ea73de2e4821985df3097b9448b Gerrit-Change-Number: 18597 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:48:46 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly warn about unknown BTS features References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18598 ) Change subject: abis_nm: fix: properly warn about unknown BTS features ...................................................................... abis_nm: fix: properly warn about unknown BTS features Change-Id: I40925ecc02ff94e510c04b048fe1bbc2066a7776 --- M src/osmo-bsc/abis_nm.c 1 file changed, 11 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/18598/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index db2879f..4e01b47 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -567,6 +567,7 @@ /* Parse Attribute Response Info content for 3GPP TS 52.021 ?9.4.30 Manufacturer Id */ if (TLVP_PRES_LEN(tp, NM_ATT_MANUF_ID, 2)) { + data = TLVP_VAL(tp, NM_ATT_MANUF_ID); len = TLVP_LEN(tp, NM_ATT_MANUF_ID); /* log potential BTS feature vector overflow */ @@ -576,15 +577,17 @@ len = sizeof(bts->_features_data); } - /* check that max. expected BTS attribute is above given feature vector length */ - if (len > OSMO_BYTES_FOR_BITS(_NUM_BTS_FEAT)) { - LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: reported unexpectedly long (%u bytes) " - "feature vector - most likely it was compiled against newer BSC headers. " - "Consider upgrading your BSC to later version.\n", - bts->nr, len); - } + memcpy(bts->_features_data, data, len); - memcpy(bts->_features_data, TLVP_VAL(tp, NM_ATT_MANUF_ID), len); + /* Warn about new features that we're now aware of */ + for (i = _NUM_BTS_FEAT; i < len * 8; i++) { + rc = bitvec_get_bit_pos(&bts->features, i); + if (!rc) + continue; + + LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: unknown feature #%d. " + "Consider upgrading your BSC/BTS to later version.\n", bts->nr, i); + } for (i = 0; i < _NUM_BTS_FEAT; i++) { if (osmo_bts_has_feature(&bts->features, i) != osmo_bts_has_feature(&bts->model->features, i)) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40925ecc02ff94e510c04b048fe1bbc2066a7776 Gerrit-Change-Number: 18598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:48:46 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:48:46 +0000 Subject: Change in osmo-bsc[master]: abis_nm: only warn about features not supported by the BTS References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18599 ) Change subject: abis_nm: only warn about features not supported by the BTS ...................................................................... abis_nm: only warn about features not supported by the BTS Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b --- M src/osmo-bsc/abis_nm.c 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18599/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4e01b47..c4c140b 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -589,12 +589,14 @@ "Consider upgrading your BSC/BTS to later version.\n", bts->nr, i); } + /* Make sure that our local feature set does not contain features that are + * not supported by the BTS we're talking to. It's normal if a BTS reports + * reports features that we considered as not supported though. */ for (i = 0; i < _NUM_BTS_FEAT; i++) { - if (osmo_bts_has_feature(&bts->features, i) != osmo_bts_has_feature(&bts->model->features, i)) { - LOGP(DNM, LOGL_NOTICE, "BTS%u feature '%s' reported via OML does not match statically " - "set feature: %u != %u. Please fix.\n", bts->nr, - get_value_string(osmo_bts_features_descs, i), - osmo_bts_has_feature(&bts->features, i), osmo_bts_has_feature(&bts->model->features, i)); + if (osmo_bts_has_feature(&bts->features, i) < osmo_bts_has_feature(&bts->model->features, i)) { + LOGP(DNM, LOGL_ERROR, "BTS%u Get Attributes Response: reported feature '%s' " + "is not supported, while we thought it is. Please fix.\n", + bts->nr, get_value_string(osmo_bts_features_descs, i)); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b Gerrit-Change-Number: 18599 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:54:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:54:07 +0000 Subject: Change in osmo-mgw[master]: osmo-mgw: refactor endpoint and trunk handling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18372 ) Change subject: osmo-mgw: refactor endpoint and trunk handling ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/18372/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/18372/6//COMMIT_MSG at 27 PS6, Line 27: efactor rate counters, put them into a separate module and do no : longer allocate them per trunk. Allocate them globally instead. I'm not sure if this is a good idea. Think of having multiple E1 lines in the future, maybe it makes sense to have the counters per line (trunk)? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ice8aaf03faa2fd99074f8665eea3a696d30c5eb3 Gerrit-Change-Number: 18372 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:54:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:54:47 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:54:47 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC References: Message-ID: fixeria has uploaded this change for review. ( 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(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/18600/1 diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 112f405..419099e 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -109,6 +109,7 @@ bts->c0->nominal_power = 23; osmo_bts_set_feature(bts->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(bts->features, BTS_FEAT_EGPRS); osmo_bts_set_feature(bts->features, BTS_FEAT_OML_ALERTS); osmo_bts_set_feature(bts->features, BTS_FEAT_SPEECH_F_V1); osmo_bts_set_feature(bts->features, 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: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:55:42 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:55:42 +0000 Subject: Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer In-Reply-To: References: Message-ID: laforge 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 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_endp.c File src/libosmo-mgcp/mgcp_endp.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_endp.c at a100 PS4, Line 100: if (strlen(epname) <= prefix_len) unrelated? -- 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: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:55:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:56:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:56:06 +0000 Subject: Change in osmo-mgw[master]: mgcp_vty: fix indentation in VTY config write In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18593 ) Change subject: mgcp_vty: fix indentation in VTY config write ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18593 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2aefeaf3d7ad4a98b7bfcdc7cbc1ce6ebcbe0537 Gerrit-Change-Number: 18593 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 29 May 2020 19:56:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:57:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 19:57:52 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix ARFCN list encoding in Set Channel Attributes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18565 ) Change subject: abis_nm: fix ARFCN list encoding in Set Channel Attributes ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18565 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iec1826f55459ac8e9355328a1a6bb0949874db60 Gerrit-Change-Number: 18565 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:57:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:57:53 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:57:53 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: 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 1: > I guess it makes sense to completely rename one of the two. Like bts_model_flags (internal/private) vs. "bts features" (Abis exposed ones).? ACK. Let's rename "private" features to bts_model_flags. Will be done in the next patch set. -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:57:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 19:59:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 29 May 2020 19:59:31 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: 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 1: > Like using a non-priv enum value with the priv features or vice versa. I am pretty sure that gcc would warn about mixing enums in such cases, but agree in general. -- 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 19:59:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:00:57 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:00:57 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_find_or_create_by_{imsi, tmsi}(): fix NULL pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18558 ) Change subject: bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 Gerrit-Change-Number: 18558 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:00:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:01:10 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:01:10 +0000 Subject: Change in osmo-bsc[master]: bsc_subscr_find_or_create_by_{imsi, tmsi}(): fix NULL pointer dereference In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18558 ) Change subject: bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference ...................................................................... bsc_subscr_find_or_create_by_{imsi,tmsi}(): fix NULL pointer dereference Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 --- M src/osmo-bsc/bsc_subscriber.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_subscriber.c b/src/osmo-bsc/bsc_subscriber.c index 2541883..38b532a 100644 --- a/src/osmo-bsc/bsc_subscriber.c +++ b/src/osmo-bsc/bsc_subscriber.c @@ -90,6 +90,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsc_subscr_set_imsi(bsub, imsi); return bsc_subscr_get(bsub); } @@ -102,6 +104,8 @@ if (bsub) return bsub; bsub = bsc_subscr_alloc(list); + if (!bsub) + return NULL; bsub->tmsi = tmsi; return bsc_subscr_get(bsub); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb89d566b51031c2296be0888f8b7e554aa50418 Gerrit-Change-Number: 18558 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:02:01 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:02:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 ) Change subject: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 Gerrit-Change-Number: 18562 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:02:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:02:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:02:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 ) Change subject: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 Gerrit-Change-Number: 18562 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:02:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:02:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:02:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 ) Change subject: PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests ...................................................................... PCU: revert changes to f_TC_egprs_pkt_chan_req(), fix tests I noticed that TC_egprs_pkt_chan_req_reject_exhaustion has started to fail since the refactoring change [1]. As it turned out, this test case does not init a GprsMs instance, which is needed by a function it depends on - f_TC_egprs_pkt_chan_req(). I don't really see the point of using the GprsMs abstraction for such small test cases sending just a few messages, which do not require us to keep any state. Let's just revert those changes, and keep using the low level API. [1] Ib3fee37580f0ea0530a659dec83656799bf57288 Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 17 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 061b868..5fb4b2b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1509,20 +1509,17 @@ } private function f_TC_egprs_pkt_chan_req(in EGPRSPktChRequest req, - template GsmRrMessage t_imm_ass := ?) + template GsmRrMessage t_imm_ass := ?, + PCUIF_BurstType bt := BURST_TYPE_1) runs on RAW_PCU_Test_CT { + var GsmRrMessage rr_msg; var uint16_t ra11; - var GprsMS ms; - - ms := g_ms[0]; /* We only use first MS in this test */ ra11 := enc_EGPRSPktChRequest2uint(req); - f_ms_use_ra(ms, ra11, ra_is_11bit := 1); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - f_ms_establish_ul_tbf(ms); - - if (not match(ms.ul_tbf.rr_imm_ass, t_imm_ass)) { + rr_msg := f_establish_tbf(ra := ra11, is_11bit := 1, burst_type := bt); + if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); } @@ -1535,9 +1532,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1566,9 +1560,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); @@ -1603,9 +1594,6 @@ var template IaRestOctets rest; var template EgprsUlAss ul_ass; - /* Initialize GPRS MS side */ - f_init_gprs_ms(); - /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I4f32c138e7587e68d2d35d13d13c044893fec4b2 Gerrit-Change-Number: 18562 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:02:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:02:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 ) Change subject: PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g ...................................................................... PCU: s/f_establish_tbf/f_pcuif_tx_rach_rx_imm_ass/g Fix confusion: f_ms_establish_ul_tbf() vs f_establish_tbf(). The new name precisely describes what the function does. Sending a RACH.ind and receiving a DATA.req with RR Immediate Assignment is just a part of the TBF establishment process. Change-Id: I1e22b9936bf68ebcaf70cefbc57345995ebbbaed --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 6 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 2628938..392440c 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -308,7 +308,7 @@ runs on MS_BTS_IFACE_CT { var GsmRrMessage rr_imm_ass; - rr_imm_ass := f_establish_tbf(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); + rr_imm_ass := f_pcuif_tx_rach_rx_imm_ass(ms.ra, ms.ra_is_11bit, ms.burst_type, ms.ta); ms.ul_tbf := f_ultbf_new_from_rr_imm_ass(rr_imm_ass); } @@ -523,10 +523,10 @@ const BIT8 chan_req_def := '01111000'B; /* Establish an Uplink TBF by sending RACH.ind towards the PCU */ -function f_establish_tbf(uint16_t ra := bit2int(chan_req_def), - uint8_t is_11bit := 0, - PCUIF_BurstType burst_type := BURST_TYPE_0, - TimingAdvance ta := 0) +function f_pcuif_tx_rach_rx_imm_ass(uint16_t ra := bit2int(chan_req_def), + uint8_t is_11bit := 0, + PCUIF_BurstType burst_type := BURST_TYPE_0, + TimingAdvance ta := 0) runs on MS_BTS_IFACE_CT return GsmRrMessage { var uint32_t fn; diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5fb4b2b..bdcf7c1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1518,7 +1518,7 @@ ra11 := enc_EGPRSPktChRequest2uint(req); log("Sending EGPRS Packet Channel Request (", ra11, "): ", req); - rr_msg := f_establish_tbf(ra := ra11, is_11bit := 1, burst_type := bt); + rr_msg := f_pcuif_tx_rach_rx_imm_ass(ra := ra11, is_11bit := 1, burst_type := bt); if (not match(rr_msg, t_imm_ass)) { setverdict(fail, "Immediate Assignment does not match"); f_shutdown(__BFILE__, __LINE__); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e22b9936bf68ebcaf70cefbc57345995ebbbaed Gerrit-Change-Number: 18563 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:03:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:03:16 +0000 Subject: Change in osmo-bsc[master]: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 2 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:03:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:03:26 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 29 May 2020 20:03:26 +0000 Subject: Change in osmo-bsc[master]: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18438 ) Change subject: Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. ...................................................................... Return 0 from gsm0408_rcvmsg() if SCCP link is already closed. Whether to forward the message or not to an SCCP connection is an internal question for the GSM 04.08 code. Unlike errors with the message decoding, memory allocation and other critical errors, this not an error which should be reported to the caller. abis_rsl_rx_rll() (the caller) shouldn't know about the message routing decisions and should only care about actual errors. This code path is hit in production very often because we frequently receive a Classmark Change message from a phone right after the MSC has shut the SCCP connection but before we close the lchan on the BTS. Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 586eeab..4e5a307 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -1016,7 +1016,7 @@ lchan = msg->lchan; if (!lchan_may_receive_data(lchan)) { LOG_LCHAN(msg->lchan, LOGL_INFO, "Got data in non active state, discarding.\n"); - return -1; + return 0; } if (lchan->conn) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18438 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2d430ebc894a2345bebaa1841a75e94a3b45eae2 Gerrit-Change-Number: 18438 Gerrit-PatchSet: 3 Gerrit-Owner: ipse Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:11:11 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:11:11 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... Patch Set 2: > Patch Set 2: > > So it may be helpful to keep the old wrong MI to verify that osmo-sgsn acts consistently when that is received? The aim is what, do you mean an invalid IMSI like this should still be accepted by osmo-programs? -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:11:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:12:51 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:12:51 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... Patch Set 1: Code-Review+2 combining +1s -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:12:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:13:09 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:13:09 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... Patch Set 1: Code-Review+2 combining +1s -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:13:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:13:36 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:13:36 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+2 > > RIP USSD! long live USSD over GSUP! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:16 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:16 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18501 ) Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18501/3/src/osmo-bsc/osmo_bsc_ctrl.c File src/osmo-bsc/osmo_bsc_ctrl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18501/3/src/osmo-bsc/osmo_bsc_ctrl.c at 188 PS3, Line 188: if (a_reset_conn_ready(msc)) oh shit, none of you guys spotted the reversed logic! -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:16:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:41 +0000 Subject: Change in osmo-bsc[master]: drop CC 'local-prefix' feature In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18496 ) Change subject: drop CC 'local-prefix' feature ...................................................................... drop CC 'local-prefix' feature It is not entirely clear to me what this used to do once, but I've stumbled upon this before. By now I am certain that this is a non-standard legacy feature. The BSC does *not* redirect connections during CC transactions. Along with this, a bunch of legacy utility functions can be dropped. All of this is unused code. (Preparing for MSC pooling.) Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/osmo_bsc_vty.c 5 files changed, 0 insertions(+), 180 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index c77c562..27eb75d 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -45,7 +45,6 @@ #include #include -#include #include struct osmo_bsc_rf; @@ -121,11 +120,6 @@ int allow_emerg; int type; - /* local call routing */ - char *local_pref; - regex_t local_pref_reg; - - /* Connection data */ struct osmo_plmn_id core_plmn; int core_lac; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 07a0c9d..4784935 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -2,7 +2,6 @@ #define _GSM_DATA_H #include -#include #include #include #include @@ -1362,12 +1361,6 @@ /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts); -/* - * help with parsing regexps - */ -int gsm_parse_reg(void *ctx, regex_t *reg, char **str, - int argc, const char **argv) __attribute__ ((warn_unused_result)); - static inline uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) { if (ts->tsc != -1) diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 030808b..e9918ac 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -475,96 +475,6 @@ return false; } -static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause); - -/* - * Plastic surgery... we want to give up the current connection - */ -static int move_to_msc(struct gsm_subscriber_connection *_conn, - struct msgb *msg, struct bsc_msc_data *msc) -{ - /* - * 1. Give up the old connection. - * This happens by sending a clear request to the MSC, - * it should end with the MSC releasing the connection. - */ - bsc_clear_request(_conn, 0); - - /* - * 2. Attempt to create a new connection to the local - * MSC. If it fails the caller will need to handle this - * properly. - */ - if (!complete_layer3(_conn, msg, msc)) { - /* FIXME: I have not the slightest idea what move_to_msc() intends to do; during lchan - * FSM introduction, I changed this and hope it is the appropriate action. I actually - * assume this is unused legacy code for osmo-bsc_nat?? */ - gscon_release_lchans(_conn, false); - return 1; - } - - return 2; -} - -static int handle_cc_setup(struct gsm_subscriber_connection *conn, - struct msgb *msg) -{ - struct gsm48_hdr *gh = msgb_l3(msg); - uint8_t pdisc = gsm48_hdr_pdisc(gh); - uint8_t mtype = gsm48_hdr_msg_type(gh); - - struct bsc_msc_data *msc; - struct gsm_mncc_number called; - struct tlv_parsed tp; - unsigned payload_len; - - char _dest_nr[35]; - - /* - * Do we have a setup message here? if not return fast. - */ - if (pdisc != GSM48_PDISC_CC || mtype != GSM48_MT_CC_SETUP) - return 0; - - payload_len = msgb_l3len(msg) - sizeof(*gh); - - tlv_parse(&tp, &gsm48_att_tlvdef, gh->data, payload_len, 0, 0); - if (!TLVP_PRESENT(&tp, GSM48_IE_CALLED_BCD)) { - LOGP(DMSC, LOGL_ERROR, "Called BCD not present in setup.\n"); - return -1; - } - - memset(&called, 0, sizeof(called)); - gsm48_decode_called(&called, - TLVP_VAL(&tp, GSM48_IE_CALLED_BCD) - 1); - - if (called.plan != 1 && called.plan != 0) - return 0; - - if (called.plan == 1 && called.type == 1) { - _dest_nr[0] = _dest_nr[1] = '0'; - memcpy(_dest_nr + 2, called.number, sizeof(called.number)); - } else - memcpy(_dest_nr, called.number, sizeof(called.number)); - - /* - * Check if the connection should be moved... - */ - llist_for_each_entry(msc, &conn_get_bts(conn)->network->bsc_data->mscs, entry) { - if (msc->type != MSC_CON_TYPE_LOCAL) - continue; - if (!msc->local_pref) - continue; - if (regexec(&msc->local_pref_reg, _dest_nr, 0, NULL, 0) != 0) - continue; - - return move_to_msc(conn, msg, msc); - } - - return 0; -} - - /*! MS->BSC/MSC: Um L3 message. */ void bsc_dtap(struct gsm_subscriber_connection *conn, uint8_t link_id, struct msgb *msg) { @@ -575,13 +485,6 @@ LOGP(DMSC, LOGL_INFO, "Tx MSC DTAP LINK_ID=0x%02x\n", link_id); - /* - * We might want to move this connection to a new MSC. Ask someone - * to handle it. If it was handled we will return. - */ - if (handle_cc_setup(conn, msg) >= 1) - goto done; - bsc_scan_bts_msg(conn, msg); /* Store link_id in msg->cb */ @@ -592,31 +495,6 @@ return; } -/*! BSSMAP Clear Request for legacy code paths, instead see gscon_bssmap_clear(). */ -static int bsc_clear_request(struct gsm_subscriber_connection *conn, uint32_t cause) -{ - int rc; - struct msgb *resp; - - if (!msc_connected(conn)) - return 1; - - LOGP(DMSC, LOGL_INFO, "Tx MSC CLEAR REQUEST\n"); - - resp = gsm0808_create_clear_rqst(GSM0808_CAUSE_RADIO_INTERFACE_FAILURE); - if (!resp) { - LOGP(DMSC, LOGL_ERROR, "Failed to allocate response.\n"); - return 1; - } - - rate_ctr_inc(&conn->sccp.msc->msc_ctrs->ctr[MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST]); - rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_TX_SCCP, resp); - if (rc != 0) - msgb_free(resp); - - return 1; -} - /*! BSC->MSC: Classmark Update. */ void bsc_cm_update(struct gsm_subscriber_connection *conn, const uint8_t *cm2, uint8_t cm2_len, diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index c34f06c..46e26ac 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -248,31 +248,6 @@ gsm48_encode_ra(buf, &raid); } -int gsm_parse_reg(void *ctx, regex_t *reg, char **str, int argc, const char **argv) -{ - int ret; - - ret = 0; - if (*str) { - talloc_free(*str); - *str = NULL; - } - regfree(reg); - - if (argc > 0) { - *str = talloc_strdup(ctx, argv[0]); - ret = regcomp(reg, argv[0], REG_NOSUB); - - /* handle compilation failures */ - if (ret != 0) { - talloc_free(*str); - *str = NULL; - } - } - - return ret; -} - /* Assume there are only 256 possible bts */ osmo_static_assert(sizeof(((struct gsm_bts *) 0)->nr) == 1, _bts_nr_is_256); static void depends_calc_index_bit(int bts_nr, int *idx, int *bit) diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index cf995cc..7791212 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -157,9 +157,6 @@ vty_out(vty, " allow-emergency %s%s", msc->allow_emerg ? "allow" : "deny", VTY_NEWLINE); - if (msc->local_pref) - vty_out(vty, " local-prefix %s%s", msc->local_pref, VTY_NEWLINE); - /* write amr options */ write_msc_amr_options(vty, msc); @@ -482,22 +479,6 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_msc_local_prefix, - cfg_net_msc_local_prefix_cmd, - "local-prefix REGEXP", - "Prefix for local numbers\n" "REGEXP used\n") -{ - struct bsc_msc_data *msc = bsc_msc_data(vty); - - if (gsm_parse_reg(msc, &msc->local_pref_reg, &msc->local_pref, argc, argv) != 0) { - vty_out(vty, "%%Failed to parse the regexp: '%s'%s", - argv[0], VTY_NEWLINE); - return CMD_WARNING; - } - - return CMD_SUCCESS; -} - #define AMR_CONF_STR "AMR Multirate Configuration\n" #define AMR_COMMAND(name) \ DEFUN(cfg_net_msc_amr_##name, \ @@ -961,7 +942,6 @@ install_element(MSC_NODE, &cfg_net_msc_no_grace_ussd_cmd); install_element(MSC_NODE, &cfg_net_msc_type_cmd); install_element(MSC_NODE, &cfg_net_msc_emerg_cmd); - install_element(MSC_NODE, &cfg_net_msc_local_prefix_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_12_2_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_10_2_cmd); install_element(MSC_NODE, &cfg_net_msc_amr_7_95_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id54afe8ccf0e11b9121a733224054c9565eafb58 Gerrit-Change-Number: 18496 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:41 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:41 +0000 Subject: Change in osmo-bsc[master]: code cleanup: absorb complete_layer3() into bsc_compl_l3() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18497 ) Change subject: code cleanup: absorb complete_layer3() into bsc_compl_l3() ...................................................................... code cleanup: absorb complete_layer3() into bsc_compl_l3() Tweak return code handling: also return a failure code when dispatching the GSCON_EV_A_CONN_REQ event failed. Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c --- M src/osmo-bsc/gsm_08_08.c 1 file changed, 18 insertions(+), 29 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index e9918ac..7295f0c 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -55,9 +55,6 @@ return true; } -static bool complete_layer3(struct gsm_subscriber_connection *conn, - struct msgb *msg, struct bsc_msc_data *msc); - /*! BTS->MSC: tell MSC a SAPI was not established. */ void bsc_sapi_n_reject(struct gsm_subscriber_connection *conn, int dlci) { @@ -299,25 +296,6 @@ return NULL; } -/*! MS->MSC: New MM context with L3 payload. */ -int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) -{ - struct bsc_msc_data *msc; - - LOGP(DMSC, LOGL_INFO, "Tx MSC COMPL L3\n"); - - /* find the MSC link we want to use */ - msc = bsc_find_msc(conn, msg); - if (!msc) { - LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); - bsc_send_ussd_no_srv(conn, msg, - conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); - return -1; - } - - return complete_layer3(conn, msg, msc) ? 0 : -2; -} - static int handle_page_resp(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct bsc_subscr *subscr = extract_sub(conn, msg); @@ -422,15 +400,29 @@ return 0; } -static bool complete_layer3(struct gsm_subscriber_connection *conn, - struct msgb *msg, struct bsc_msc_data *msc) +/*! MS->MSC: New MM context with L3 payload. */ +int bsc_compl_l3(struct gsm_subscriber_connection *conn, struct msgb *msg, uint16_t chosen_channel) { + struct bsc_msc_data *msc; struct msgb *resp; enum bsc_con ret; struct gsm0808_speech_codec_list scl; + int rc = -2; log_set_context(LOG_CTX_BSC_SUBSCR, conn->bsub); + LOGP(DMSC, LOGL_INFO, "Tx MSC COMPL L3\n"); + + /* find the MSC link we want to use */ + msc = bsc_find_msc(conn, msg); + if (!msc) { + LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); + bsc_send_ussd_no_srv(conn, msg, + conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); + rc = -1; + goto early_fail; + } + /* allocate resource for a new connection */ ret = osmo_bsc_sigtran_new_conn(conn, msc); @@ -464,15 +456,12 @@ resp = gsm0808_create_layer3_2(msg, cgi_for_msc(conn->sccp.msc, conn_get_bts(conn)), NULL); if (resp) - osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_REQ, resp); + rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_REQ, resp); else LOGP(DMSC, LOGL_DEBUG, "Failed to create layer3 message.\n"); - - log_set_context(LOG_CTX_BSC_SUBSCR, NULL); - return !!resp; early_fail: log_set_context(LOG_CTX_BSC_SUBSCR, NULL); - return false; + return rc; } /*! MS->BSC/MSC: Um L3 message. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I939e8a9a865250033e4837439a6b9ec251e5ce4c Gerrit-Change-Number: 18497 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:43 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:43 +0000 Subject: Change in osmo-bsc[master]: drop all BSC originated USSD notification features In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18498 ) Change subject: drop all BSC originated USSD notification features ...................................................................... drop all BSC originated USSD notification features The BSC is the wrong network component to originate USSD messaging, as can be seen in the hacks in the USSD code: for example, the BSC would send a CM Service Accept message as if an MSC had accepted the connection, dispatch a USSD and directly send some RR release message (without proper tear down messaging like the lchan_fsm does these days). This made sense in the osmo-nitb world, but by now we are aiming for solid 3GPP compliance. The BSC shall not originate USSD messages. Deprecate all VTY and CTRL commands related to USSD: VTY [no] bsc-welcome-text [no] bsc-msc-lost-text [no] bsc-grace-text [no] missing-msc-text (the commands with 'no' are ignored, without 'no' lead to an error) CTRL ussd-notify-v1 Drop (already unused) ussd.h. Drop gsm_04_80.h, gsm_04_80_utils.c, and all calling code. Drop "RF grace" notification, where osmo-bsc was able to notify active subscribers that the RF was being turned off. Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a --- M doc/manuals/chapters/control.adoc M include/osmocom/bsc/Makefile.am M include/osmocom/bsc/bsc_msc_data.h D include/osmocom/bsc/gsm_04_80.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/osmo_bsc.h D include/osmocom/bsc/ussd.h M src/osmo-bsc/Makefile.am D src/osmo-bsc/gsm_04_80_utils.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_ctrl.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/osmo_bsc_grace.c M src/osmo-bsc/osmo_bsc_sigtran.c M src/osmo-bsc/osmo_bsc_vty.c M tests/bsc/bsc_test.c M tests/codec_pref/codec_pref_test.c M tests/handover/Makefile.am M tests/vty_test_runner.py 20 files changed, 28 insertions(+), 543 deletions(-) Approvals: laforge: 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/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 327e5b4..6b1609a 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -25,7 +25,6 @@ |mcc-mnc-apply|WO|No|","|Apply new MCC/MNC values if different from currently used one. |notification|WO|Yes|Arbitrary value| See <> for details. |inform-msc-v1|WO|Yes|Arbitrary value| See <> for details. -|ussd-notify-v1|WO|No|",,"| See <> for details. |rf_locked|RW|No|"0","1"|See <> for details. |number-of-bts|RO|No|""|Get number of configured BTS. |bts.N.location-area-code|RW|No|""|Set/Get LAC (value between (0, 65535)). @@ -54,12 +53,6 @@ Setting this variable initiate TRAP "inform-msc-v1" to all connected MSCs control interfaces with the value supplied in SET operation. -[[ussdnot]] -=== ussd-notify-v1 - -Setting this variable will send USSD Notify message to subscriber specified in -command parameters with the text specified in command parameters. - [[chanlo]] === channel-load diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index 509df9a..7a296e4 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -17,7 +17,6 @@ debug.h \ e1_config.h \ gsm_04_08_rr.h \ - gsm_04_80.h \ gsm_data.h \ handover.h \ handover_cfg.h \ @@ -49,7 +48,6 @@ signal.h \ system_information.h \ timeslot_fsm.h \ - ussd.h \ vty.h \ gsm_08_08.h \ penalty_timers.h \ diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 27eb75d..b497345 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -133,17 +133,8 @@ enum bsc_lcls_mode lcls_mode; bool lcls_codec_mismatch_allow; - /* ussd welcome text */ - char *ussd_welcome_txt; - int nr; - /* ussd msc connection lost text */ - char *ussd_msc_lost_txt; - - /* ussd text when MSC has entered the grace period */ - char *ussd_grace_txt; - /* structures for keeping rate counters and gauge stats */ struct rate_ctr_group *msc_ctrs; struct osmo_stat_item_group *msc_statg; @@ -207,15 +198,11 @@ struct llist_head mscs; /* rf ctl related bits */ - char *mid_call_txt; int mid_call_timeout; char *rf_ctrl_name; struct osmo_bsc_rf *rf_ctrl; int auto_off_timeout; - /* ussd text when there is no MSC available */ - char *ussd_no_msc_txt; - struct bsc_cbc_link *cbc; }; diff --git a/include/osmocom/bsc/gsm_04_80.h b/include/osmocom/bsc/gsm_04_80.h deleted file mode 100644 index 649ffe1..0000000 --- a/include/osmocom/bsc/gsm_04_80.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -struct gsm_subscriber_connection; - -int bsc_send_ussd_notify(struct gsm_subscriber_connection *conn, int level, - const char *text); -int bsc_send_ussd_release_complete(struct gsm_subscriber_connection *conn); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4784935..d801d2c 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -260,9 +260,6 @@ /* flag to prevent multiple simultaneous ciphering commands */ int ciphering_handled; - /* state related to welcome USSD */ - uint8_t new_subscriber; - /* SCCP connection associatd with this subscriber_connection */ struct { /* for advanced ping/pong */ diff --git a/include/osmocom/bsc/osmo_bsc.h b/include/osmocom/bsc/osmo_bsc.h index 8999a2e..afc319b 100644 --- a/include/osmocom/bsc/osmo_bsc.h +++ b/include/osmocom/bsc/osmo_bsc.h @@ -2,8 +2,6 @@ #include -#define BSS_SEND_USSD 1 - enum bsc_con { BSC_CON_SUCCESS, BSC_CON_REJECT_NO_LINK, @@ -29,7 +27,6 @@ int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); -int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn); int bsc_handle_udt(struct bsc_msc_data *msc, struct msgb *msg, unsigned int length); int bsc_handle_dt(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int len); diff --git a/include/osmocom/bsc/ussd.h b/include/osmocom/bsc/ussd.h deleted file mode 100644 index 2665468..0000000 --- a/include/osmocom/bsc/ussd.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef _USSD_H -#define _USSD_H - -/* Handler function for mobile-originated USSD messages */ - -#include - -int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg); - -#endif diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 6009e1d..51e0e7f9 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -55,7 +55,6 @@ codec_pref.c \ e1_config.c \ gsm_04_08_rr.c \ - gsm_04_80_utils.c \ gsm_data.c \ handover_cfg.c \ handover_decision.c \ diff --git a/src/osmo-bsc/gsm_04_80_utils.c b/src/osmo-bsc/gsm_04_80_utils.c deleted file mode 100644 index 5ac0226..0000000 --- a/src/osmo-bsc/gsm_04_80_utils.c +++ /dev/null @@ -1,43 +0,0 @@ -/* OpenBSC utility functions for 3GPP TS 04.80 */ - -/* (C) 2016 by sysmocom s.m.f.c. GmbH - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include - -int bsc_send_ussd_notify(struct gsm_subscriber_connection *conn, int level, - const char *text) -{ - struct msgb *msg = gsm0480_create_ussd_notify(level, text); - if (!msg) - return -1; - gscon_submit_rsl_dtap(conn, msg, 0, 0); - return 0; -} - -int bsc_send_ussd_release_complete(struct gsm_subscriber_connection *conn) -{ - /* ugly: we obviously don't know if TID 0 is currently in user for the given subscriber... */ - struct msgb *msg = gsm0480_create_release_complete(0); - if (!msg) - return -1; - gscon_submit_rsl_dtap(conn, msg, 0, 0); - return 0; -} diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 7295f0c..70559c0 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -26,7 +26,6 @@ #include #include -#include #include #include @@ -106,50 +105,6 @@ return 0; } -static void bsc_send_ussd_no_srv(struct gsm_subscriber_connection *conn, - struct msgb *msg, const char *text) -{ - struct gsm48_hdr *gh; - int8_t pdisc; - uint8_t mtype; - int drop_message = 1; - - if (!text) - return; - - if (!msg || msgb_l3len(msg) < sizeof(*gh)) - return; - - gh = msgb_l3(msg); - pdisc = gsm48_hdr_pdisc(gh); - mtype = gsm48_hdr_msg_type(gh); - - /* Is CM service request? */ - if (pdisc == GSM48_PDISC_MM && mtype == GSM48_MT_MM_CM_SERV_REQ) { - struct gsm48_service_request *cm; - - cm = (struct gsm48_service_request *) &gh->data[0]; - - /* Is type SMS or call? */ - if (cm->cm_service_type == GSM48_CMSERV_SMS) - drop_message = 0; - else if (cm->cm_service_type == GSM48_CMSERV_MO_CALL_PACKET) - drop_message = 0; - } - - if (drop_message) { - LOGP(DMSC, LOGL_DEBUG, "Skipping (not sending) USSD message: '%s'\n", text); - return; - } - - LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n"); - gsm48_tx_mm_serv_ack(conn); - - LOGP(DMSC, LOGL_INFO, "Sending USSD message: '%s'\n", text); - bsc_send_ussd_notify(conn, 1, text); - bsc_send_ussd_release_complete(conn); -} - static int is_cm_service_for_emerg(struct msgb *msg) { struct gsm48_service_request *cm; @@ -319,7 +274,6 @@ { struct gsm48_hdr *gh; struct gsm48_loc_upd_req *lu; - struct gsm48_loc_area_id lai; int8_t rc8; struct gsm_bts *bts = conn_get_bts(conn); @@ -332,13 +286,6 @@ gh = msgb_l3(msg); lu = (struct gsm48_loc_upd_req *) gh->data; - gsm48_generate_lai2(&lai, bts_lai(conn_get_bts(conn))); - - if (memcmp(&lai, &lu->lai, sizeof(lai)) != 0) { - LOGP(DMSC, LOGL_DEBUG, "Marking con for welcome USSD.\n"); - conn->new_subscriber = 1; - } - rc8 = osmo_gsm48_rfpowercap2powerclass(bts->band, lu->classmark1.pwr_lev); if (rc8 < 0) { LOGP(DMSC, LOGL_NOTICE, @@ -405,7 +352,6 @@ { struct bsc_msc_data *msc; struct msgb *resp; - enum bsc_con ret; struct gsm0808_speech_codec_list scl; int rc = -2; @@ -417,25 +363,13 @@ msc = bsc_find_msc(conn, msg); if (!msc) { LOGP(DMSC, LOGL_ERROR, "Failed to find a MSC for a connection.\n"); - bsc_send_ussd_no_srv(conn, msg, - conn_get_bts(conn)->network->bsc_data->ussd_no_msc_txt); rc = -1; goto early_fail; } /* allocate resource for a new connection */ - ret = osmo_bsc_sigtran_new_conn(conn, msc); - - if (ret != BSC_CON_SUCCESS) { - /* allocation has failed */ - if (ret == BSC_CON_REJECT_NO_LINK) - bsc_send_ussd_no_srv(conn, msg, msc->ussd_msc_lost_txt); - else if (ret == BSC_CON_REJECT_RF_GRACE) - bsc_send_ussd_no_srv(conn, msg, msc->ussd_grace_txt); + if (osmo_bsc_sigtran_new_conn(conn, msc) != BSC_CON_SUCCESS) goto early_fail; - } - - /* check return value, if failed check msg for and send USSD */ bsc_scan_bts_msg(conn, msg); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 388ad14..e65d0cf 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include #include @@ -1146,21 +1145,13 @@ return ret; } -int bsc_send_welcome_ussd(struct gsm_subscriber_connection *conn) -{ - bsc_send_ussd_notify(conn, 1, conn->sccp.msc->ussd_welcome_txt); - bsc_send_ussd_release_complete(conn); - - return 0; -} - static int dtap_rcvmsg(struct gsm_subscriber_connection *conn, struct msgb *msg, unsigned int length) { struct dtap_header *header; struct msgb *gsm48; uint8_t *data; - int rc, dtap_rc; + int dtap_rc; struct rate_ctr *ctrs; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", @@ -1202,12 +1193,10 @@ memcpy(data, msg->l3h + sizeof(*header), length - sizeof(*header)); /* pass it to the filter for extra actions */ - rc = bsc_scan_msc_msg(conn, gsm48); + bsc_scan_msc_msg(conn, gsm48); /* Store link_id in msgb->cb */ OBSC_LINKID_CB(gsm48) = header->link_id; dtap_rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MT_DTAP, gsm48); - if (rc == BSS_SEND_USSD) - bsc_send_welcome_ussd(conn); return dtap_rc; } diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index afe061e..eb82a7c 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -672,70 +671,6 @@ return CTRL_CMD_HANDLED; } -CTRL_CMD_DEFINE_WO(net_ussd_notify, "ussd-notify-v1"); -static int set_net_ussd_notify(struct ctrl_cmd *cmd, void *data) -{ - struct gsm_subscriber_connection *conn; - struct gsm_network *net; - char *saveptr = NULL; - char *cic_str, *alert_str, *text_str; - int cic, alert; - - /* Verify has done the test for us */ - cic_str = strtok_r(cmd->value, ",", &saveptr); - alert_str = strtok_r(NULL, ",", &saveptr); - text_str = strtok_r(NULL, ",", &saveptr); - - if (!cic_str || !alert_str || !text_str) { - cmd->reply = "Programming issue. How did this pass verify?"; - return CTRL_CMD_ERROR; - } - - cmd->reply = "No connection found"; - - cic = atoi(cic_str); - alert = atoi(alert_str); - - net = cmd->node; - llist_for_each_entry(conn, &net->subscr_conns, entry) { - if (conn->user_plane.msc_assigned_cic != cic) - continue; - - /* - * This is a hack. My E71 does not like to immediately - * receive a release complete on a TCH. So schedule a - * release complete to clear any previous attempt. The - * right thing would be to track invokeId and only send - * the release complete when we get a returnResultLast - * for this invoke id. - */ - bsc_send_ussd_release_complete(conn); - bsc_send_ussd_notify(conn, alert, text_str); - cmd->reply = "Found a connection"; - break; - } - - return CTRL_CMD_REPLY; -} - -static int verify_net_ussd_notify(struct ctrl_cmd *cmd, const char *value, void *data) -{ - char *saveptr = NULL; - char *inp, *cic, *alert, *text; - - OSMO_ASSERT(cmd); - inp = talloc_strdup(cmd, value); - - cic = strtok_r(inp, ",", &saveptr); - alert = strtok_r(NULL, ",", &saveptr); - text = strtok_r(NULL, ",", &saveptr); - - talloc_free(inp); - if (!cic || !alert || !text) - return 1; - return 0; -} - static int msc_signal_handler(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) { @@ -791,9 +726,6 @@ rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_inform_msc); if (rc) goto end; - rc = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_net_ussd_notify); - if (rc) - goto end; rc = osmo_signal_register_handler(SS_L_INPUT, &bts_connection_status_trap_cb, net); end: diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index b4985f2..98b5148 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -21,7 +21,6 @@ #include #include -#include #include #include #include @@ -30,16 +29,6 @@ #include -static int send_welcome_ussd(struct gsm_subscriber_connection *conn) -{ - if (!conn->sccp.msc->ussd_welcome_txt) { - LOGP(DMSC, LOGL_DEBUG, "No USSD Welcome text defined.\n"); - return 0; - } - - return BSS_SEND_USSD; -} - static int bsc_patch_mm_info(struct gsm_subscriber_connection *conn, uint8_t *data, unsigned int length) { @@ -150,9 +139,6 @@ gsm48_generate_lai2(lai, bts_lai(conn_get_bts(conn))); } } - - if (conn->new_subscriber) - return send_welcome_ussd(conn); return 0; } else if (mtype == GSM48_MT_MM_INFO) { bsc_patch_mm_info(conn, &gh->data[0], length); diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c index 2cc3d1a..9ee84d4 100644 --- a/src/osmo-bsc/osmo_bsc_grace.c +++ b/src/osmo-bsc/osmo_bsc_grace.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -72,78 +71,3 @@ return paging_request_bts(bts, subscr, chan_needed, msc); return locked_paging_bts(bts, subscr, chan_needed, msc); } - -static int handle_sub(struct gsm_lchan *lchan, const char *text) -{ - struct gsm_subscriber_connection *conn; - - /* only send it to TCH */ - if (lchan->type != GSM_LCHAN_TCH_H && lchan->type != GSM_LCHAN_TCH_F) - return -1; - - /* only send on the primary channel */ - conn = lchan->conn; - if (!conn) - return -1; - - if (conn->lchan != lchan) - return -1; - - /* only when active */ - if (lchan->fi->state != LCHAN_ST_ESTABLISHED) - return -1; - - bsc_send_ussd_notify(conn, 0, text); - bsc_send_ussd_release_complete(conn); - - return 0; -} - -/* - * The place to handle the grace mode. Right now we will send - * USSD messages to the subscriber, in the future we might start - * a timer to have different modes for the grace period. - */ -static int handle_grace(struct gsm_network *network) -{ - int ts_nr, lchan_nr; - struct gsm_bts *bts; - struct gsm_bts_trx *trx; - - if (!network->bsc_data->mid_call_txt) - return 0; - - llist_for_each_entry(bts, &network->bts_list, list) { - llist_for_each_entry(trx, &bts->trx_list, list) { - for (ts_nr = 0; ts_nr < TRX_NR_TS; ++ts_nr) { - struct gsm_bts_trx_ts *ts = &trx->ts[ts_nr]; - for (lchan_nr = 0; lchan_nr < TS_MAX_LCHAN; ++lchan_nr) { - handle_sub(&ts->lchan[lchan_nr], - network->bsc_data->mid_call_txt); - } - } - } - } - return 0; -} - -static int handle_rf_signal(unsigned int subsys, unsigned int signal, - void *handler_data, void *signal_data) -{ - struct rf_signal_data *sig; - - if (subsys != SS_RF) - return -1; - - sig = signal_data; - - if (signal == S_RF_GRACE) - handle_grace(sig->net); - - return 0; -} - -static __attribute__((constructor)) void on_dso_load_grace(void) -{ - osmo_signal_register_handler(SS_RF, handle_rf_signal, NULL); -} diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index d36c85d..cbf0fec 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -426,24 +425,6 @@ return rc; } -/* Send an USSD notification in case we loose the connection to the MSC */ -static void bsc_notify_msc_lost(struct gsm_subscriber_connection *conn) -{ - /* Check if sccp conn is still present */ - if (!conn) - return; - - /* check for config string */ - if (!conn->sccp.msc->ussd_msc_lost_txt) - return; - if (conn->sccp.msc->ussd_msc_lost_txt[0] == '\0') - return; - - /* send USSD notification */ - bsc_send_ussd_notify(conn, 1, conn->sccp.msc->ussd_msc_lost_txt); - bsc_send_ussd_release_complete(conn); -} - /* Close all open sigtran connections and channels */ void osmo_bsc_sigtran_reset(const struct bsc_msc_data *msc) { @@ -456,9 +437,6 @@ /* We only may close connections which actually belong to this * MSC. All other open connections are left untouched */ if (conn->sccp.msc == msc) { - /* Notify active connection users via USSD that the MSC is down */ - bsc_notify_msc_lost(conn); - /* Take down all occopied RF channels */ /* Disconnect all Sigtran connections */ /* Delete subscriber connection */ diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 7791212..f6f512f 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -120,21 +120,6 @@ vty_out(vty, " core-cell-identity %d%s", msc->core_ci, VTY_NEWLINE); - if (msc->ussd_welcome_txt) - vty_out(vty, " bsc-welcome-text %s%s", msc->ussd_welcome_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-welcome-text%s", VTY_NEWLINE); - - if (msc->ussd_msc_lost_txt && msc->ussd_msc_lost_txt[0]) - vty_out(vty, " bsc-msc-lost-text %s%s", msc->ussd_msc_lost_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-msc-lost-text%s", VTY_NEWLINE); - - if (msc->ussd_grace_txt && msc->ussd_grace_txt[0]) - vty_out(vty, " bsc-grace-text %s%s", msc->ussd_grace_txt, VTY_NEWLINE); - else - vty_out(vty, " no bsc-grace-text%s", VTY_NEWLINE); - if (msc->audio_length != 0) { int i; @@ -210,8 +195,6 @@ struct osmo_bsc_data *bsc = osmo_bsc_data(vty); vty_out(vty, "bsc%s", VTY_NEWLINE); - if (bsc->mid_call_txt) - vty_out(vty, " mid-call-text %s%s", bsc->mid_call_txt, VTY_NEWLINE); vty_out(vty, " mid-call-timeout %d%s", bsc->mid_call_timeout, VTY_NEWLINE); if (bsc->rf_ctrl_name) vty_out(vty, " bsc-rf-socket %s%s", @@ -221,11 +204,6 @@ vty_out(vty, " bsc-auto-rf-off %d%s", bsc->auto_off_timeout, VTY_NEWLINE); - if (bsc->ussd_no_msc_txt && bsc->ussd_no_msc_txt[0]) - vty_out(vty, " missing-msc-text %s%s", bsc->ussd_no_msc_txt, VTY_NEWLINE); - else - vty_out(vty, " no missing-msc-text%s", VTY_NEWLINE); - return CMD_SUCCESS; } @@ -339,118 +317,49 @@ return CMD_ERR_INCOMPLETE; } -DEFUN(cfg_net_msc_welcome_ussd, - cfg_net_msc_welcome_ussd_cmd, - "bsc-welcome-text .TEXT", - "Set the USSD notification to be sent\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; +#define LEGACY_STR "This command has no effect, it is kept to support legacy config files\n" - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_welcome_txt, str); - talloc_free(str); - return CMD_SUCCESS; +DEFUN_DEPRECATED(deprecated_ussd_text, + cfg_net_msc_welcome_ussd_cmd, + "bsc-welcome-text .TEXT", LEGACY_STR LEGACY_STR) +{ + vty_out(vty, "%% osmo-bsc no longer supports USSD notification. These commands have no effect:%s" + "%% bsc-welcome-text, bsc-msc-lost-text, mid-call-text, bsc-grace-text, missing-msc-text%s", + VTY_NEWLINE, VTY_NEWLINE); + return CMD_WARNING; } -DEFUN(cfg_net_msc_no_welcome_ussd, +DEFUN_DEPRECATED(deprecated_no_ussd_text, cfg_net_msc_no_welcome_ussd_cmd, "no bsc-welcome-text", - NO_STR "Clear the USSD notification to be sent\n") + NO_STR LEGACY_STR) { - struct bsc_msc_data *data = bsc_msc_data(vty); - - talloc_free(data->ussd_welcome_txt); - data->ussd_welcome_txt = NULL; - return CMD_SUCCESS; } -DEFUN(cfg_net_msc_lost_ussd, +ALIAS_DEPRECATED(deprecated_ussd_text, cfg_net_msc_lost_ussd_cmd, - "bsc-msc-lost-text .TEXT", - "Set the USSD notification to be sent on MSC connection loss\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; + "bsc-msc-lost-text .TEXT", LEGACY_STR LEGACY_STR); - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_msc_lost_txt, str); - talloc_free(str); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_no_lost_ussd, +ALIAS_DEPRECATED(deprecated_no_ussd_text, cfg_net_msc_no_lost_ussd_cmd, - "no bsc-msc-lost-text", - NO_STR "Clear the USSD notification to be sent on MSC connection loss\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); + "no bsc-msc-lost-text", NO_STR LEGACY_STR); - talloc_free(data->ussd_msc_lost_txt); - data->ussd_msc_lost_txt = 0; - - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_grace_ussd, +ALIAS_DEPRECATED(deprecated_ussd_text, cfg_net_msc_grace_ussd_cmd, - "bsc-grace-text .TEXT", - "Set the USSD notification to be sent when the MSC has entered the grace period\n" "Text to be sent\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); - char *str = argv_concat(argv, argc, 0); - if (!str) - return CMD_WARNING; + "bsc-grace-text .TEXT", LEGACY_STR LEGACY_STR); - osmo_talloc_replace_string(osmo_bsc_data(vty), &data->ussd_grace_txt, str); - talloc_free(str); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_msc_no_grace_ussd, +ALIAS_DEPRECATED(deprecated_no_ussd_text, cfg_net_msc_no_grace_ussd_cmd, - "no bsc-grace-text", - NO_STR "Clear the USSD notification to be sent when the MSC has entered the grace period\n") -{ - struct bsc_msc_data *data = bsc_msc_data(vty); + "no bsc-grace-text", NO_STR LEGACY_STR); - talloc_free(data->ussd_grace_txt); - data->ussd_grace_txt = NULL; - - return CMD_SUCCESS; -} - -DEFUN(cfg_net_bsc_missing_msc_ussd, +ALIAS_DEPRECATED(deprecated_ussd_text, cfg_net_bsc_missing_msc_ussd_cmd, - "missing-msc-text .TEXT", - "Set the USSD notification to be send when a MSC has not been found.\n" "Text to be sent\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - char *txt = argv_concat(argv, argc, 0); - if (!txt) - return CMD_WARNING; + "missing-msc-text .TEXT", LEGACY_STR LEGACY_STR); - osmo_talloc_replace_string(data, &data->ussd_no_msc_txt, txt); - talloc_free(txt); - return CMD_SUCCESS; -} - -DEFUN(cfg_net_bsc_no_missing_msc_text, +ALIAS_DEPRECATED(deprecated_no_ussd_text, cfg_net_bsc_no_missing_msc_text_cmd, - "no missing-msc-text", - NO_STR "Clear the USSD notification to be send when a MSC has not been found.\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - - talloc_free(data->ussd_no_msc_txt); - data->ussd_no_msc_txt = 0; - - return CMD_SUCCESS; -} - + "no missing-msc-text", NO_STR LEGACY_STR); DEFUN(cfg_net_msc_type, cfg_net_msc_type_cmd, @@ -670,21 +579,10 @@ return CMD_SUCCESS; } -DEFUN(cfg_net_bsc_mid_call_text, +ALIAS_DEPRECATED(deprecated_ussd_text, cfg_net_bsc_mid_call_text_cmd, "mid-call-text .TEXT", - "Set the USSD notification sent to running calls when switching from Grace to Off.\n" - "Text to be sent\n") -{ - struct osmo_bsc_data *data = osmo_bsc_data(vty); - char *txt = argv_concat(argv, argc, 0); - if (!txt) - return CMD_WARNING; - - osmo_talloc_replace_string(data, &data->mid_call_txt, txt); - talloc_free(txt); - return CMD_SUCCESS; -} + LEGACY_STR LEGACY_STR); DEFUN(cfg_net_bsc_mid_call_timeout, cfg_net_bsc_mid_call_timeout_cmd, @@ -866,8 +764,6 @@ return CMD_SUCCESS; } -#define LEGACY_STR "This command has no effect, it is kept to support legacy config files\n" - DEFUN_DEPRECATED(cfg_net_msc_ping_time, cfg_net_msc_ping_time_cmd, "timeout-ping ARG", LEGACY_STR "-\n") { diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 5d87118..164f78f 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -29,7 +29,6 @@ #include #include -#include #include #include diff --git a/tests/codec_pref/codec_pref_test.c b/tests/codec_pref/codec_pref_test.c index 8bc31cd..f163f35 100644 --- a/tests/codec_pref/codec_pref_test.c +++ b/tests/codec_pref/codec_pref_test.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 901d523..84865a0 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -63,7 +63,6 @@ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ - $(top_builddir)/src/osmo-bsc/gsm_04_80_utils.o \ $(top_builddir)/src/osmo-bsc/gsm_data.o \ $(top_builddir)/src/osmo-bsc/handover_cfg.o \ $(top_builddir)/src/osmo-bsc/handover_decision.o \ diff --git a/tests/vty_test_runner.py b/tests/vty_test_runner.py index a99bf4b..c96965c 100755 --- a/tests/vty_test_runner.py +++ b/tests/vty_test_runner.py @@ -135,68 +135,6 @@ self.assertTrue(self.vty.verify("exit", [''])) self.assertTrue(self.vty.node() is None) - def testUssdNotificationsMsc(self): - self.vty.enable() - self.vty.command("configure terminal") - self.vty.command("msc") - - # Test invalid input - self.vty.verify("bsc-msc-lost-text", ['% Command incomplete.']) - self.vty.verify("bsc-welcome-text", ['% Command incomplete.']) - self.vty.verify("bsc-grace-text", ['% Command incomplete.']) - - # Enable USSD notifications - self.vty.verify("bsc-msc-lost-text MSC disconnected", ['']) - self.vty.verify("bsc-welcome-text Hello MS", ['']) - self.vty.verify("bsc-grace-text In grace period", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertTrue(res.find('bsc-msc-lost-text MSC disconnected') > 0) - self.assertEqual(res.find('no bsc-msc-lost-text'), -1) - self.assertTrue(res.find('bsc-welcome-text Hello MS') > 0) - self.assertEqual(res.find('no bsc-welcome-text'), -1) - self.assertTrue(res.find('bsc-grace-text In grace period') > 0) - self.assertEqual(res.find('no bsc-grace-text'), -1) - - # Now disable it.. - self.vty.verify("no bsc-msc-lost-text", ['']) - self.vty.verify("no bsc-welcome-text", ['']) - self.vty.verify("no bsc-grace-text", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertEqual(res.find('bsc-msc-lost-text MSC disconnected'), -1) - self.assertTrue(res.find('no bsc-msc-lost-text') > 0) - self.assertEqual(res.find('bsc-welcome-text Hello MS'), -1) - self.assertTrue(res.find('no bsc-welcome-text') > 0) - self.assertEqual(res.find('bsc-grace-text In grace period'), -1) - self.assertTrue(res.find('no bsc-grace-text') > 0) - - def testUssdNotificationsBsc(self): - self.vty.enable() - self.vty.command("configure terminal") - self.vty.command("bsc") - - # Test invalid input - self.vty.verify("missing-msc-text", ['% Command incomplete.']) - - # Enable USSD notifications - self.vty.verify("missing-msc-text No MSC found", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertTrue(res.find('missing-msc-text No MSC found') > 0) - self.assertEqual(res.find('no missing-msc-text'), -1) - - # Now disable it.. - self.vty.verify("no missing-msc-text", ['']) - - # Verify settings - res = self.vty.command("write terminal") - self.assertEqual(res.find('missing-msc-text No MSC found'), -1) - self.assertTrue(res.find('no missing-msc-text') > 0) - def testNetworkTimezone(self): self.vty.enable() self.vty.verify("configure terminal", ['']) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Iaef6f2e01b4dbf2bff0a0bb50d6851f50ae79f6a Gerrit-Change-Number: 18498 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:44 +0000 Subject: Change in osmo-bsc[master]: doc/examples: remove deprecated ussd text config In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18520 ) Change subject: doc/examples: remove deprecated ussd text config ...................................................................... doc/examples: remove deprecated ussd text config Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 --- M doc/examples/osmo-bsc/osmo-bsc.cfg 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg index f814788..57000ae 100644 --- a/doc/examples/osmo-bsc/osmo-bsc.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc.cfg @@ -72,9 +72,6 @@ phys_chan_config TCH/F hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text type normal allow-emergency allow amr-config 12_2k forbidden @@ -91,4 +88,3 @@ mgw endpoint-range 1 31 bsc mid-call-timeout 0 - no missing-msc-text -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7c0b615bbb0a5c50341968a748612448ad9d18e4 Gerrit-Change-Number: 18520 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:44 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:44 +0000 Subject: Change in osmo-bsc[master]: drop MSC types "local" vs "normal" In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18499 ) Change subject: drop MSC types "local" vs "normal" ...................................................................... drop MSC types "local" vs "normal" Another legacy feature. All that this setting effectively does is prevent MSCs from being contacted for non-emergency calls. To select which MSCs shall handle emergency calls, there is the allow_emerg flag. Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d --- M include/osmocom/bsc/bsc_msc_data.h M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_vty.c 4 files changed, 4 insertions(+), 24 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index b497345..364fa72 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -50,11 +50,6 @@ struct osmo_bsc_rf; struct gsm_network; -enum { - MSC_CON_TYPE_NORMAL, - MSC_CON_TYPE_LOCAL, -}; - /* Constants for the MSC rate counters */ enum { /* Rx message counters */ @@ -118,7 +113,6 @@ struct gsm_network *network; int allow_emerg; - int type; /* Connection data */ struct osmo_plmn_id core_plmn; diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c index 0aa8e49..73156e6 100644 --- a/src/osmo-bsc/bsc_rf_ctrl.c +++ b/src/osmo-bsc/bsc_rf_ctrl.c @@ -400,7 +400,6 @@ void *handler_data, void *signal_data) { struct gsm_network *net; - struct msc_signal_data *msc; struct osmo_bsc_rf *rf; /* check if we want to handle this signal */ @@ -408,13 +407,10 @@ return 0; net = handler_data; - msc = signal_data; /* check if we have the needed information */ if (!net->bsc_data) return 0; - if (msc->data->type != MSC_CON_TYPE_NORMAL) - return 0; rf = net->bsc_data->rf_ctrl; switch (signal) { diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 70559c0..9ccdb3b 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -197,8 +197,6 @@ round_robin: llist_for_each_entry(msc, &bsc->mscs, entry) { - if (!is_emerg && msc->type != MSC_CON_TYPE_NORMAL) - continue; if (is_emerg && !msc->allow_emerg) continue; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index f6f512f..51a660b 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -137,8 +137,6 @@ } - vty_out(vty, " type %s%s", msc->type == MSC_CON_TYPE_NORMAL ? - "normal" : "local", VTY_NEWLINE); vty_out(vty, " allow-emergency %s%s", msc->allow_emerg ? "allow" : "deny", VTY_NEWLINE); @@ -361,19 +359,13 @@ cfg_net_bsc_no_missing_msc_text_cmd, "no missing-msc-text", NO_STR LEGACY_STR); -DEFUN(cfg_net_msc_type, +DEFUN_DEPRECATED(cfg_net_msc_type, cfg_net_msc_type_cmd, "type (normal|local)", - "Select the MSC type\n" - "Plain GSM MSC\n" "Special MSC for local call routing\n") + LEGACY_STR LEGACY_STR) { - struct bsc_msc_data *data = bsc_msc_data(vty); - - if (strcmp(argv[0], "normal") == 0) - data->type = MSC_CON_TYPE_NORMAL; - else if (strcmp(argv[0], "local") == 0) - data->type = MSC_CON_TYPE_LOCAL; - + vty_out(vty, "%% 'msc' / 'type' config is deprecated and no longer has any effect%s", + VTY_NEWLINE); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7fc630d9c35be9a69a0d378d3de2b2312c69690d Gerrit-Change-Number: 18499 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:16:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:16:45 +0000 Subject: Change in osmo-bsc[master]: flatten: move network->bsc_data->* to network->* In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18500 ) Change subject: flatten: move network->bsc_data->* to network->* ...................................................................... flatten: move network->bsc_data->* to network->* The separate struct osmo_bsc_data is like another separate struct gsm_network for no reason. It is labeled "per-BSC data". These days, all of this is a single BSC and there will not be different sets of osmo_bsc_data. Drop struct osmo_bsc_data, move its members directly into gsm_network. Some places tested 'if (net->bsc_data)', which is always true. Modify those cases to rather do checks like 'if (net->rf_ctrl)', which are also always true AFAICT, to keep as much unmodified logic as possible in this patch. Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_ctrl_commands.c M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_rf_ctrl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/cbsp_link.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_ctrl.c M src/osmo-bsc/osmo_bsc_grace.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_vty.c 14 files changed, 65 insertions(+), 104 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index 364fa72..43adaec 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -181,26 +181,6 @@ } mgcp_ipa; }; -/* - * Per BSC data. - */ -struct bsc_cbc_link; -struct osmo_bsc_data { - struct gsm_network *network; - - /* msc configuration */ - struct llist_head mscs; - - /* rf ctl related bits */ - int mid_call_timeout; - char *rf_ctrl_name; - struct osmo_bsc_rf *rf_ctrl; - int auto_off_timeout; - - struct bsc_cbc_link *cbc; -}; - - int osmo_bsc_msc_init(struct bsc_msc_data *msc); int osmo_bsc_sccp_init(struct gsm_network *gsmnet); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d801d2c..42eb583 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1649,8 +1649,16 @@ /* Use a TCH for handling requests of type paging any */ int pag_any_tch; - /* MSC data in case we are a true BSC */ - struct osmo_bsc_data *bsc_data; + /* msc configuration */ + struct llist_head mscs; + + /* rf ctl related bits */ + int mid_call_timeout; + char *rf_ctrl_name; + struct osmo_bsc_rf *rf_ctrl; + int auto_off_timeout; + + struct bsc_cbc_link *cbc; /* control interface */ struct ctrl_handle *ctrl; diff --git a/src/osmo-bsc/bsc_ctrl_commands.c b/src/osmo-bsc/bsc_ctrl_commands.c index ca182d7..774ded2 100644 --- a/src/osmo-bsc/bsc_ctrl_commands.c +++ b/src/osmo-bsc/bsc_ctrl_commands.c @@ -349,7 +349,7 @@ struct gsm_bts *bts; const char *policy_name; - policy_name = osmo_bsc_rf_get_policy_name(net->bsc_data->rf_ctrl->policy); + policy_name = osmo_bsc_rf_get_policy_name(net->rf_ctrl->policy); llist_for_each_entry(bts, &net->bts_list, list) { struct gsm_bts_trx *trx; @@ -389,7 +389,7 @@ return CTRL_CMD_ERROR; } - rf = net->bsc_data->rf_ctrl; + rf = net->rf_ctrl; if (!rf) { cmd->reply = "RF Ctrl is not enabled in the BSC Configuration"; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index d08e9c8..7f145ef 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -254,21 +254,15 @@ { struct gsm_network *net = gsm_network_init(ctx); - net->bsc_data = talloc_zero(net, struct osmo_bsc_data); - if (!net->bsc_data) { - talloc_free(net); - return NULL; - } - net->bsc_data->cbc = talloc_zero(net->bsc_data, struct bsc_cbc_link); - if (!net->bsc_data->cbc) { + net->cbc = talloc_zero(net, struct bsc_cbc_link); + if (!net->cbc) { talloc_free(net); return NULL; } /* Init back pointer */ - net->bsc_data->auto_off_timeout = -1; - net->bsc_data->network = net; - INIT_LLIST_HEAD(&net->bsc_data->mscs); + net->auto_off_timeout = -1; + INIT_LLIST_HEAD(&net->mscs); net->ho = ho_cfg_init(net, NULL); net->hodec2.congestion_check_interval_s = HO_CFG_CONGESTION_CHECK_DEFAULT; @@ -298,12 +292,12 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); - net->bsc_data->cbc->net = net; + net->cbc->net = net; /* no cbc_hostname: client not started by default */ - net->bsc_data->cbc->config.cbc_port = CBSP_TCP_PORT; + net->cbc->config.cbc_port = CBSP_TCP_PORT; /* listen_port == -1: server not started by default */ - net->bsc_data->cbc->config.listen_port = -1; - net->bsc_data->cbc->config.listen_hostname = talloc_strdup(net->bsc_data->cbc, "127.0.0.1"); + net->cbc->config.listen_port = -1; + net->cbc->config.listen_hostname = talloc_strdup(net->cbc, "127.0.0.1"); return net; } diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c index 73156e6..11cd224 100644 --- a/src/osmo-bsc/bsc_rf_ctrl.c +++ b/src/osmo-bsc/bsc_rf_ctrl.c @@ -106,12 +106,12 @@ enum osmo_bsc_rf_policy osmo_bsc_rf_get_policy_by_bts(struct gsm_bts *bts) { - struct osmo_bsc_data *bsc_data = bts->network->bsc_data; + struct gsm_network *net = bts->network; - if (!bsc_data) + if (!net || !net->rf_ctrl) return OSMO_BSC_RF_POLICY_UNKNOWN; - switch (bsc_data->rf_ctrl->policy) { + switch (net->rf_ctrl->policy) { case S_RF_ON: return OSMO_BSC_RF_POLICY_ON; case S_RF_OFF: @@ -267,9 +267,9 @@ } osmo_timer_setup(&rf->grace_timeout, grace_timeout, rf); - osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->bsc_data->mid_call_timeout, 0); + osmo_timer_schedule(&rf->grace_timeout, rf->gsm_network->mid_call_timeout, 0); LOGP(DLINP, LOGL_NOTICE, "Going to switch RF off in %d seconds.\n", - rf->gsm_network->bsc_data->mid_call_timeout); + rf->gsm_network->mid_call_timeout); send_signal(rf, S_RF_GRACE); return 0; @@ -409,18 +409,18 @@ net = handler_data; /* check if we have the needed information */ - if (!net->bsc_data) + if (!net) return 0; - rf = net->bsc_data->rf_ctrl; + rf = net->rf_ctrl; switch (signal) { case S_MSC_LOST: - if (net->bsc_data->auto_off_timeout < 0) + if (net->auto_off_timeout < 0) return 0; if (osmo_timer_pending(&rf->auto_off_timer)) return 0; osmo_timer_schedule(&rf->auto_off_timer, - net->bsc_data->auto_off_timeout, 0); + net->auto_off_timeout, 0); break; case S_MSC_CONNECTED: osmo_timer_del(&rf->auto_off_timer); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c380a30..80658ec 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -253,13 +253,13 @@ dump_pchan_load_vty(vty, " ", &pl); /* show rf */ - if (net->bsc_data) + if (net->rf_ctrl) vty_out(vty, " Last RF Command: %s%s", - net->bsc_data->rf_ctrl->last_state_command, + net->rf_ctrl->last_state_command, VTY_NEWLINE); - if (net->bsc_data) + if (net->rf_ctrl) vty_out(vty, " Last RF Lock Command: %s%s", - net->bsc_data->rf_ctrl->last_rf_lock_ctrl_command, + net->rf_ctrl->last_rf_lock_ctrl_command, VTY_NEWLINE); } diff --git a/src/osmo-bsc/cbsp_link.c b/src/osmo-bsc/cbsp_link.c index 8840afa..91217ad 100644 --- a/src/osmo-bsc/cbsp_link.c +++ b/src/osmo-bsc/cbsp_link.c @@ -192,7 +192,7 @@ int bsc_cbc_link_restart(void) { - struct bsc_cbc_link *cbc = bsc_gsmnet->bsc_data->cbc; + struct bsc_cbc_link *cbc = bsc_gsmnet->cbc; /* shut down client, if no longer configured */ if (cbc->client.cli && !cbc->config.cbc_hostname) { @@ -280,7 +280,7 @@ static struct bsc_cbc_link *vty_cbc_data(struct vty *vty) { - return bsc_gsmnet->bsc_data->cbc; + return bsc_gsmnet->cbc; } /********************************************************************************* diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 9ccdb3b..7789d49 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -162,16 +162,14 @@ static struct bsc_msc_data *bsc_find_msc(struct gsm_subscriber_connection *conn, struct msgb *msg) { + struct gsm_network *net = conn->network; struct gsm48_hdr *gh; int8_t pdisc; uint8_t mtype; - struct osmo_bsc_data *bsc; struct bsc_msc_data *msc, *pag_msc; struct bsc_subscr *subscr; int is_emerg = 0; - bsc = conn->network->bsc_data; - if (msgb_l3len(msg) < sizeof(*gh)) { LOGP(DMSC, LOGL_ERROR, "There is no GSM48 header here.\n"); return NULL; @@ -196,12 +194,12 @@ goto round_robin; round_robin: - llist_for_each_entry(msc, &bsc->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { if (is_emerg && !msc->allow_emerg) continue; /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &bsc->mscs); + llist_move_tail(&msc->entry, &net->mscs); return msc; } @@ -218,7 +216,7 @@ pag_msc = paging_get_msc(conn_get_bts(conn), subscr); bsc_subscr_put(subscr); - llist_for_each_entry(msc, &bsc->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { if (msc != pag_msc) continue; @@ -228,7 +226,7 @@ */ /* force round robin by moving it to the end */ - llist_move_tail(&msc->entry, &bsc->mscs); + llist_move_tail(&msc->entry, &net->mscs); return msc; } @@ -242,7 +240,7 @@ * know the MSC which is in charge. The only meaningful option we have * is to deliver the paging response to the first configured MSC * blindly. */ - msc = llist_first_entry_or_null(&bsc->mscs, struct bsc_msc_data, entry); + msc = llist_first_entry_or_null(&net->mscs, struct bsc_msc_data, entry); if (msc) return msc; LOGP(DMSC, LOGL_ERROR, "Unable to find any suitable MSC to deliver paging response!\n"); diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index e65d0cf..864d96d 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -137,7 +137,7 @@ subscr->lac = lac; subscr->tmsi = tmsi; - ret = bsc_grace_paging_request(msc->network->bsc_data->rf_ctrl->policy, subscr, chan_needed, msc, bts); + ret = bsc_grace_paging_request(msc->network->rf_ctrl->policy, subscr, chan_needed, msc, bts); if (ret == 0) LOGP(DMSC, LOGL_INFO, "Paging request failed or repeated paging: BTS: %d IMSI: '%s' TMSI: '0x%x/%u' LAC: 0x%x\n", bts->nr, mi_string, tmsi, tmsi, lac); diff --git a/src/osmo-bsc/osmo_bsc_ctrl.c b/src/osmo-bsc/osmo_bsc_ctrl.c index eb82a7c..12b2f4d 100644 --- a/src/osmo-bsc/osmo_bsc_ctrl.c +++ b/src/osmo-bsc/osmo_bsc_ctrl.c @@ -348,7 +348,7 @@ { struct bsc_msc_data *msc; - llist_for_each_entry(msc, &bts->network->bsc_data->mscs, entry) + llist_for_each_entry(msc, &bts->network->mscs, entry) generate_location_state_trap(bts, msc); } @@ -651,7 +651,7 @@ struct bsc_msc_data *msc; net = cmd->node; - llist_for_each_entry(msc, &net->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &net->mscs, entry) { struct ctrl_cmd *trap; trap = ctrl_cmd_create(tall_bsc_ctx, CTRL_TYPE_TRAP); diff --git a/src/osmo-bsc/osmo_bsc_grace.c b/src/osmo-bsc/osmo_bsc_grace.c index 9ee84d4..56edee5 100644 --- a/src/osmo-bsc/osmo_bsc_grace.c +++ b/src/osmo-bsc/osmo_bsc_grace.c @@ -30,7 +30,7 @@ { if (bts->excl_from_rf_lock) return 1; - return network->bsc_data->rf_ctrl->policy == S_RF_ON; + return network->rf_ctrl->policy == S_RF_ON; } diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 42d05b1..9ddbe35 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -651,10 +651,6 @@ talloc_report(tall_vty_ctx, stderr); talloc_report_full(tall_bsc_ctx, stderr); break; - case SIGUSR2: - if (!bsc_gsmnet->bsc_data) - return; - break; default: break; } @@ -797,7 +793,6 @@ int main(int argc, char **argv) { struct bsc_msc_data *msc; - struct osmo_bsc_data *data; int rc; tall_bsc_ctx = talloc_named_const(NULL, 1, "osmo-bsc"); @@ -880,17 +875,16 @@ exit(1); } - data = bsc_gsmnet->bsc_data; if (rf_ctrl) - osmo_talloc_replace_string(data, &data->rf_ctrl_name, rf_ctrl); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, rf_ctrl); - data->rf_ctrl = osmo_bsc_rf_create(data->rf_ctrl_name, bsc_gsmnet); - if (!data->rf_ctrl) { + bsc_gsmnet->rf_ctrl = osmo_bsc_rf_create(bsc_gsmnet->rf_ctrl_name, bsc_gsmnet); + if (!bsc_gsmnet->rf_ctrl) { fprintf(stderr, "Failed to create the RF service.\n"); exit(1); } - rc = check_codec_pref(&bsc_gsmnet->bsc_data->mscs); + rc = check_codec_pref(&bsc_gsmnet->mscs); if (rc < 0) { LOGP(DMSC, LOGL_ERROR, "Configuration contains mutually exclusive codec settings -- check" " configuration!\n"); @@ -902,7 +896,7 @@ } } - llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) { if (osmo_bsc_msc_init(msc) != 0) { LOGP(DMSC, LOGL_ERROR, "Failed to start up. Exiting.\n"); exit(1); @@ -918,7 +912,7 @@ exit(1); } - if (osmo_bsc_sigtran_init(&bsc_gsmnet->bsc_data->mscs) != 0) { + if (osmo_bsc_sigtran_init(&bsc_gsmnet->mscs) != 0) { LOGP(DNM, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n"); exit(1); } diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index f766f75..30b54f3 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -150,7 +150,7 @@ { struct bsc_msc_data *msc_data; - llist_for_each_entry(msc_data, &net->bsc_data->mscs, entry) + llist_for_each_entry(msc_data, &net->mscs, entry) if (msc_data->nr == nr) return msc_data; return NULL; @@ -183,7 +183,7 @@ return NULL; } - llist_add_tail(&msc_data->entry, &net->bsc_data->mscs); + llist_add_tail(&msc_data->entry, &net->mscs); /* Init back pointer */ msc_data->network = net; diff --git a/src/osmo-bsc/osmo_bsc_vty.c b/src/osmo-bsc/osmo_bsc_vty.c index 51a660b..34a56de 100644 --- a/src/osmo-bsc/osmo_bsc_vty.c +++ b/src/osmo-bsc/osmo_bsc_vty.c @@ -35,11 +35,6 @@ #include -static struct osmo_bsc_data *osmo_bsc_data(struct vty *vty) -{ - return bsc_gsmnet->bsc_data; -} - static struct bsc_msc_data *bsc_msc_data(struct vty *vty) { return vty->index; @@ -180,9 +175,8 @@ static int config_write_msc(struct vty *vty) { struct bsc_msc_data *msc; - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - llist_for_each_entry(msc, &bsc->mscs, entry) + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) write_msc(vty, msc); return CMD_SUCCESS; @@ -190,17 +184,15 @@ static int config_write_bsc(struct vty *vty) { - struct osmo_bsc_data *bsc = osmo_bsc_data(vty); - vty_out(vty, "bsc%s", VTY_NEWLINE); - vty_out(vty, " mid-call-timeout %d%s", bsc->mid_call_timeout, VTY_NEWLINE); - if (bsc->rf_ctrl_name) + vty_out(vty, " mid-call-timeout %d%s", bsc_gsmnet->mid_call_timeout, VTY_NEWLINE); + if (bsc_gsmnet->rf_ctrl_name) vty_out(vty, " bsc-rf-socket %s%s", - bsc->rf_ctrl_name, VTY_NEWLINE); + bsc_gsmnet->rf_ctrl_name, VTY_NEWLINE); - if (bsc->auto_off_timeout != -1) + if (bsc_gsmnet->auto_off_timeout != -1) vty_out(vty, " bsc-auto-rf-off %d%s", - bsc->auto_off_timeout, VTY_NEWLINE); + bsc_gsmnet->auto_off_timeout, VTY_NEWLINE); return CMD_SUCCESS; } @@ -285,7 +277,7 @@ /* create a new array */ data->audio_support = - talloc_zero_array(osmo_bsc_data(vty), struct gsm_audio_support *, argc); + talloc_zero_array(bsc_gsmnet, struct gsm_audio_support *, argc); data->audio_length = argc; for (i = 0; i < argc; ++i) { @@ -581,8 +573,7 @@ "mid-call-timeout NR", "Switch from Grace to Off in NR seconds.\n" "Timeout in seconds\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->mid_call_timeout = atoi(argv[0]); + bsc_gsmnet->mid_call_timeout = atoi(argv[0]); return CMD_SUCCESS; } @@ -591,9 +582,7 @@ "bsc-rf-socket PATH", "Set the filename for the RF control interface.\n" "RF Control path\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - - osmo_talloc_replace_string(data, &data->rf_ctrl_name, argv[0]); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->rf_ctrl_name, argv[0]); return CMD_SUCCESS; } @@ -602,8 +591,7 @@ "bsc-auto-rf-off <1-65000>", "Disable RF on MSC Connection\n" "Timeout\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->auto_off_timeout = atoi(argv[0]); + bsc_gsmnet->auto_off_timeout = atoi(argv[0]); return CMD_SUCCESS; } @@ -612,8 +600,7 @@ "no bsc-auto-rf-off", NO_STR "Disable RF on MSC Connection\n") { - struct osmo_bsc_data *data = osmo_bsc_data(vty); - data->auto_off_timeout = -1; + bsc_gsmnet->auto_off_timeout = -1; return CMD_SUCCESS; } @@ -632,7 +619,7 @@ SHOW_STR "MSC Connections and State\n") { struct bsc_msc_data *msc; - llist_for_each_entry(msc, &bsc_gsmnet->bsc_data->mscs, entry) { + llist_for_each_entry(msc, &bsc_gsmnet->mscs, entry) { vty_out(vty, "%d %s %s ", msc->a.cs7_instance, osmo_ss7_asp_protocol_name(msc->a.asp_proto), -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic7ae65e3b36e6e4b279eb01ad594f1226b5929e0 Gerrit-Change-Number: 18500 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:18:15 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:18:15 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 to look at the new patch set (#4). Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 --- M src/osmo-bsc/osmo_bsc_ctrl.c 1 file changed, 2 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/01/18501/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:19:13 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:19:13 +0000 Subject: Change in osmo-bsc[master]: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18501 ) Change subject: CTRL: determine MSC connection status from RESET-ACK, not AS_ACTIVE ...................................................................... Patch Set 4: Code-Review+2 re-apply earlier +2 after fixing reversed logic -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I264ba6a72ea93297cfbc99602eccfbf4a890f703 Gerrit-Change-Number: 18501 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:19:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:30:14 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:30:14 +0000 Subject: Change in osmo-bsc[master]: create only one SCCP user per SCCP instance In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18504 ) Change subject: create only one SCCP user per SCCP instance ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c File src/osmo-bsc/osmo_bsc_sigtran.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c at 550 PS3, Line 550: /* Bind SCCP user. Bind only one user per sccp_instance. */ > Can you describe a bit better (in gerrit is fine) the situation here? So how can it happen than duri [?] I'm implementing MSC pooling, i.e. there are multiple A links to MSCs. Each MSC could technically be connected by a separate cs7 instance, but this patch is for the scenario where osmo-bsc has a single cs7 instance to connect to all of the MSCs in the pool (exactly how osmo-msc typically connects to multiple BSCs). So, the scenario is: osmo-bsc.cfg has 'msc 0', 'msc 1', 'msc 2', each with a different remote PC to reach a different MSC, but just one local PC for all of them. When 'msc 0' is set up, we do the "simple client" thing and establish AS and ASP, and also add an SCCP User with osmo-bsc's local PC. When 'msc 1' is set up, the "simple client" thing already sees things set up and skips putting up AS and ASP again. But the msc->a.sccp_user still needs to point at something to have a sender address for messages sent to this MSC. 'msc 0' has already set up an SCCP user for the local PC, and creating a second one would conflict. So, instead, first look for an already existing SCCP user, only create a local user the first time an MSC is set up on any given cs7 instance. I also thought about iterating the cs7 instances instead of the mscs, but that would be a much larger patch, and is also less flexible (for some reason I don't recall ATM). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e Gerrit-Change-Number: 18504 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:30:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:38:50 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:38:50 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 3: > Patch Set 3: > > (3 comments) > > AS I said, I'd rather implement the roundrobin by keeping a pointer to last/next msc's llisthead. Since we have and use llists here, let's use their benefits. Keeping an actual pointer has one fundamental flaw: if the MSC gets removed for any reason, the pointer points at a segmentation fault, and it is a potential source of hard to fix bugs. Of course, I think we actually have no way of removing MSCs from osmo-bsc, do we? But consider that we could at some point introduce a 'no msc 2' command to change MSC pooling in a live running BSC instance without restart. It is actually likely to be requested by a customer at some point. If I keep an msc_nr, no matter how many MSCs we add or remove, re-iterating existing MSCs will never ever end up with a segfault situation. That is why I would prefer to stay with storing MSC numbers instead of pointers. Also, we won't really save any cycles, because for NRI matching, we need to iterate all MSCs anyway. Having a direct pointer will not be more optimal. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:38:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:40:23 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:40:23 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c File src/osmo-bsc/gsm_08_08.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c at 249 PS3, Line 249: net->mscs_round_robin_next_nr = msc_target->nr + 1; > Is this number ever decreased? If the msc_round_robin_next does not yield any result, we use msc_round_robin_first. That is how the round robin wraps to the start. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:40:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:41:31 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 20:41:31 +0000 Subject: Change in osmo-sgsn[master]: gbproxy_test.c: fix mobile identity test data In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 ) Change subject: gbproxy_test.c: fix mobile identity test data ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > So it may be helpful to keep the old wrong MI to verify that osmo-sgsn acts consistently when that is received? > > The aim is what, do you mean an invalid IMSI like this should still be accepted by osmo-programs? I don't know what should be the consequence, didn't look in detail at the issue, but given the chance we have some hexstring already in there with bad MI, it may make sense to have that in a unit test to see how gbpoprxy behaves. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/18585 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia006a3da6779ad1984f642e8ea29790a4daeb8b9 Gerrit-Change-Number: 18585 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:41:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:42:45 2020 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 29 May 2020 20:42:45 +0000 Subject: Change in osmo-bsc[master]: refactor bsc_find_msc()'s round-robin In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18505 ) Change subject: refactor bsc_find_msc()'s round-robin ...................................................................... Patch Set 3: Code-Review-1 (1 comment) spotted a bug https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c File src/osmo-bsc/gsm_08_08.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18505/3/src/osmo-bsc/gsm_08_08.c at 230 PS3, Line 230: msc_round_robin_next = msc; After I wrote this patch, I noticed that MSCs actually get put in the llist in the order that they are created in the osmo-bsc.cfg file, not in the order of their msc->nr. I notice now that an unsorted llist of MSCs would yield incorrect round robin results with this algorithm, I'll add a tweak to make it work with unsorted llist as well. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Idf71f07ba5a17d5b870dc1a5a2875b6fedb61291 Gerrit-Change-Number: 18505 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:42:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 20:46:06 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 20:46:06 +0000 Subject: Change in osmo-bsc[master]: create only one SCCP user per SCCP instance In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18504 ) Change subject: create only one SCCP user per SCCP instance ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c File src/osmo-bsc/osmo_bsc_sigtran.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18504/3/src/osmo-bsc/osmo_bsc_sigtran.c at 550 PS3, Line 550: /* Bind SCCP user. Bind only one user per sccp_instance. */ > I'm implementing MSC pooling, i.e. there are multiple A links to MSCs. [?] ACK thanks. Please also make sure that there's no use-after-free if for whatever reason the "msc X" is dropped and is freed (and perhaps freeing msc->a.sccp_user?). Not saying it will happen simply to make sure this kind of stuff is fine :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e Gerrit-Change-Number: 18504 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 20:46:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: neels Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 21:04:19 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 21:04:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_vty: fix indentation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/18594 ) Change subject: mgcp_vty: fix indentation ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/18594 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I613f2ebcb06a01744d957e87e8b1215a141b43c4 Gerrit-Change-Number: 18594 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 29 May 2020 21:04:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri May 29 21:33:10 2020 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 29 May 2020 21:33:10 +0000 Subject: Change in osmo-mgw[master]: trunk: get rid of virt_trunk pointer In-Reply-To: References: Message-ID: pespin 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 4: (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_osmux.c File src/libosmo-mgcp/mgcp_osmux.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_osmux.c at 207 PS4, Line 207: for (i=0; inumber_endpoints; i++) { since you are changing the line you could fix the missing spacing too. https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_trunk.c at 34 PS4, Line 34: int mgcp_trunk_alloc(struct mgcp_config *cfg, enum mgcp_trunk_type ttype, int nr) alloc returning something than a pointer is confusing. Better return the pointer or NULL. https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_vty.c File src/libosmo-mgcp/mgcp_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/18590/4/src/libosmo-mgcp/mgcp_vty.c at 852 PS4, Line 852: * parameters, so wie restrict the access to trunks with id numbers typo we -- 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: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 29 May 2020 21:33:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:36 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO argument In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/18552 to look at the new patch set (#5). Change subject: make/Makefile: add DISTRO argument ...................................................................... make/Makefile: add DISTRO argument Prepare for distro-specific osmo-* images. While at it, put each --build-arg on a separate line for readability. Related: OS#4564 Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 --- M make/Makefile 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/52/18552/5 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:36 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support osmo-*-centos8 images In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/18553 to look at the new patch set (#5). Change subject: jenkins-common.sh: support osmo-*-centos8 images ...................................................................... jenkins-common.sh: support osmo-*-centos8 images Make it possible to call the ttcn3-*/jenkins.sh scripts with: IMAGE_SUFFIX="master-centos8" The existing docker_images_require lines of these jenkins.sh scripts will then call docker_images_require with arguments like "osmo-mgw-master-centos8". For example, from ttcn3-mgw-test/jenkins.sh: docker_images_require \ "osmo-mgw-$IMAGE_SUFFIX" \ "ttcn3-mgw-test" Let docker_images_require build the image from osmo-mgw-master/Dockerfile (-centos8 is cut off from the dirname) and with DISTRO=centos8 as argument. Collisions with the debian-stretch images are avoided by setting IMAGE to the full image name (e.g. osmo-mgw-master-centos8). Related: OS#4564 Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 --- M jenkins-common.sh 1 file changed, 34 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/53/18553/5 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:36 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:36 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/18554 to look at the new patch set (#6). Change subject: osmo-*-master: support centos8 ...................................................................... osmo-*-master: support centos8 Adjust the Dockerfiles, so 'docker_images_require osmo-mgw-master-centos8' etc. result in a centos8 based image. centos8-build already configures the Osmocom nightly repository, so we only need to configure it for debian-stretch. Related: OS#4564 Change-Id: I6579748056ce0505304378b342a698b98c77fd18 --- M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-remsim-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile 11 files changed, 421 insertions(+), 163 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/54/18554/6 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:38 +0000 Subject: Change in docker-playground[master]: docker_images_require: scope of i: local References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18601 ) Change subject: docker_images_require: scope of i: local ...................................................................... docker_images_require: scope of i: local Prepare to call docker_images_require from itself, make i a local variable. Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b --- M jenkins-common.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/01/18601/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 9fd3857..01f23d0 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -3,6 +3,7 @@ } docker_images_require() { + local i local from_line local pull_arg -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b Gerrit-Change-Number: 18601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:38 +0000 Subject: Change in docker-playground[master]: docker_images_require: build depends too References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18602 ) Change subject: docker_images_require: build depends too ...................................................................... docker_images_require: build depends too Add a function to automatically resolve the most common dependencies, osmo-* need debian-stretch-build and ttcn3-* need debian-stretch-titan. Do this in a shell function in jenkins-common.sh, so we can extend it in the next patch with distribution specific dependencies (osmo-*-centos8 needs centos8-build). Related: OS#4564 Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a --- M jenkins-common.sh 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/02/18602/1 diff --git a/jenkins-common.sh b/jenkins-common.sh index 01f23d0..ea03d52 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -2,12 +2,26 @@ test -n "$(docker images -q "$REPO_USER/$1")" } +docker_depends() { + case "$1" in + osmo-*) echo "debian-stretch-build" ;; + ttcn3-*) echo "debian-stretch-titan" ;; + esac +} + docker_images_require() { local i local from_line local pull_arg + local depends for i in $@; do + # Build dependencies first + depends="$(docker_depends "$i")" + if [ -n "$depends" ]; then + docker_images_require $depends + fi + # Trigger image build (cache will be used when up-to-date) if [ -z "$NO_DOCKER_IMAGE_BUILD" ]; then # Pull upstream base images -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a Gerrit-Change-Number: 18602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:58:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:58:38 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test: remove implicit dependencies References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18603 ) Change subject: ttcn3-*-test: remove implicit dependencies ...................................................................... ttcn3-*-test: remove implicit dependencies Don't list debian-stretch-build and debian-stretch-titan as dependencies anymore, now that docker_images_require finds them automatically. Related: OS#4564 Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f --- M README.md M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 16 files changed, 0 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/18603/1 diff --git a/README.md b/README.md index 479e045..925907e 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" ``` diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 36c79d5..7c628db 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" #Make sure NET_NAME doesn't clash with the AoIP BSC test diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 44badb5..7db65d2 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -3,11 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" mkdir $VOL_BASE_DIR/bsc-tester diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 1df1a70..4057b44 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-nitb-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bscnat-test" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 83bd165..4974a34 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -4,11 +4,9 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # NOTE: there is no osmocom-bb-host-latest, hence always use master! docker_images_require \ - "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "osmocom-bb-host-master" \ - "debian-stretch-titan" \ "ttcn3-bts-test" start_bsc() { diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index a69e640..72c25e6 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-ggsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-ggsn-test" mkdir $VOL_BASE_DIR/ggsn-tester diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 47ce5a9..74fe429 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-hlr-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-hlr-test" network_create 172.18.10.0/24 diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 4ebd235..3b6dd41 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-mgw-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-mgw-test" mkdir $VOL_BASE_DIR/mgw-tester diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 805151a..e701b0d 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-msc-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-msc-test" network_create 172.18.1.0/24 diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 06403d3..edebd0b 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-pcu-test" network_create 172.18.14.0/24 diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 271f89f..7942d1a 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-pcu-test" network_create 172.18.13.0/24 diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1c2682c..c5f8692 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -3,7 +3,6 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-remsim-$IMAGE_SUFFIX" \ "ttcn3-remsim-test" diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 242e44a..f802b2d 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -4,9 +4,7 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # Always require osmo-stp-master since is the only with sccp_demo_user installed docker_images_require \ - "debian-stretch-build" \ "osmo-stp-master" \ - "debian-stretch-titan" \ "ttcn3-sccp-test" mkdir $VOL_BASE_DIR/sccp-tester diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 9db295a..9b77abf 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-sgsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-sgsn-test" network_create 172.18.8.0/24 diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 8a1977e..702a6f5 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-sip-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-sip-test" network_create 172.18.11.0/24 diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index bc2d5af..ba00f30 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-stp-test" mkdir $VOL_BASE_DIR/stp-tester -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f Gerrit-Change-Number: 18603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 07:59:53 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 07:59:53 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... Patch Set 6: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 07:59:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:00:28 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:00:28 +0000 Subject: Change in docker-playground[master]: centos8-titan: new image In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18551 ) Change subject: centos8-titan: new image ...................................................................... Abandoned using debian-stretch-titan -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib8f97da937bfa5c3bb91f3436e5bccc5755f6104 Gerrit-Change-Number: 18551 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:13 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:13 +0000 Subject: Change in docker-playground[master]: *-sip-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18566 ) Change subject: *-sip-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18566 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I09f86fb687fa887d6a9dccb37e182149dde51879 Gerrit-Change-Number: 18566 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:19 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:19 +0000 Subject: Change in docker-playground[master]: *-ggsn-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18567 ) Change subject: *-ggsn-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18567 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7ea6a60bc53415e5b3050b4ed4d1b2d6aeeb8065 Gerrit-Change-Number: 18567 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:25 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:25 +0000 Subject: Change in docker-playground[master]: *-hlr-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18568 ) Change subject: *-hlr-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18568 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie701be46e3b7ab5ee8840060693bd3635abb940f Gerrit-Change-Number: 18568 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:30 +0000 Subject: Change in docker-playground[master]: *-pcu-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18569 ) Change subject: *-pcu-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18569 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I95d4987cefdb97295d15599f77860a766aba01f4 Gerrit-Change-Number: 18569 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:34 +0000 Subject: Change in docker-playground[master]: *-remsim-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18570 ) Change subject: *-remsim-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18570 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0eb4e3ad17eb9e7716d630eaa4ae61f860818ff6 Gerrit-Change-Number: 18570 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:38 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:38 +0000 Subject: Change in docker-playground[master]: *-stp-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18571 ) Change subject: *-stp-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18571 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ie3e3c8645be40f4291e214a6843eb6aa30e77183 Gerrit-Change-Number: 18571 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:42 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:42 +0000 Subject: Change in docker-playground[master]: *-sccp-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18572 ) Change subject: *-sccp-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18572 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I51c8f5ae6ae136a3b33aca667ed01cae15d9577a Gerrit-Change-Number: 18572 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:47 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:47 +0000 Subject: Change in docker-playground[master]: *-sgsn-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18573 ) Change subject: *-sgsn-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18573 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8c79ecc154e29a369352621f503fef5a3342ac92 Gerrit-Change-Number: 18573 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:52 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:52 +0000 Subject: Change in docker-playground[master]: *-msc-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18574 ) Change subject: *-msc-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61410bb4bda6120563a30d3997708493c4c4b01a Gerrit-Change-Number: 18574 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:01:56 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:01:56 +0000 Subject: Change in docker-playground[master]: *-bsc-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18575 ) Change subject: *-bsc-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18575 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib717975ba4689d60d2dc5cbbd4f79ed8a78b03cd Gerrit-Change-Number: 18575 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:02:00 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:02:00 +0000 Subject: Change in docker-playground[master]: *-bts-*: support centos8 In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18576 ) Change subject: *-bts-*: support centos8 ...................................................................... Abandoned simplified and squashed to https://gerrit.osmocom.org/c/docker-playground/+/18554 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18576 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I38a0b9d01cfa1112b9039682f627115ad5d3022d Gerrit-Change-Number: 18576 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:02:22 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 08:02:22 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:02:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:09:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:09:06 +0000 Subject: Change in osmo-msc[master]: add full SDP codec information to the MNCC socket In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/15953 ) Change subject: add full SDP codec information to the MNCC socket ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/15953/6//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-msc/+/15953/6//COMMIT_MSG at 39 PS6, Line 39: mnccc_release_sent ccc? ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/15953 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I8c3b2de53ffae4ec3a66b9dabf308c290a2c999f Gerrit-Change-Number: 15953 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:09:06 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:10:33 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:10:33 +0000 Subject: Change in docker-playground[master]: docker_images_require: scope of i: local In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18601 ) Change subject: docker_images_require: scope of i: local ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b Gerrit-Change-Number: 18601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:10:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:10:55 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:10:55 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:10:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:11:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:11:21 +0000 Subject: Change in docker-playground[master]: docker_images_require: build depends too In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18602 ) Change subject: docker_images_require: build depends too ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a Gerrit-Change-Number: 18602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:11:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:11:43 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:11:43 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test: remove implicit dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18603 ) Change subject: ttcn3-*-test: remove implicit dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f Gerrit-Change-Number: 18603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:11:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:12:13 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:12:13 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO argument In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO argument ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:12:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:12:50 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:12:50 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support osmo-*-centos8 images In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: support osmo-*-centos8 images ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:12:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:13:27 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:13:27 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:13:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:15:37 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:15:37 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 08:15:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:15:56 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:15:56 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: add curly braces to complex 'if' statements In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18595 ) Change subject: abis_nm: cosmetic: add curly braces to complex 'if' statements ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18595 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I74fbb46920c74a194c296feeeb1bb086fcbd572f Gerrit-Change-Number: 18595 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:15:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:16:12 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:16:12 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: use sizeof() for printing buffer size In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18596 ) Change subject: abis_nm: cosmetic: use sizeof() for printing buffer size ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18596 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I14be343578a64c1e4ce8ce4d28da9008eb309f3c Gerrit-Change-Number: 18596 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:16:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:16:39 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:16:39 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly truncate feature vector reported by BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18597 ) Change subject: abis_nm: fix: properly truncate feature vector reported by BTS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e3228022865ea73de2e4821985df3097b9448b Gerrit-Change-Number: 18597 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 30 May 2020 08:16:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:18:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:18:18 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly warn about unknown BTS features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18598 ) Change subject: abis_nm: fix: properly warn about unknown BTS features ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18598/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18598/1/src/osmo-bsc/abis_nm.c at 588 PS1, Line 588: LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: unknown feature #%d. " : "Consider upgrading your BSC/BTS to later version.\n", bts->nr, i); why upgrade the BTS? It's the BSC that is old in this case, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40925ecc02ff94e510c04b048fe1bbc2066a7776 Gerrit-Change-Number: 18598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:18:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:18:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:18:38 +0000 Subject: Change in osmo-bsc[master]: abis_nm: only warn about features not supported by the BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18599 ) Change subject: abis_nm: only warn about features not supported by the BTS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b Gerrit-Change-Number: 18599 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:18:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:19:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 30 May 2020 08:19:30 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: indicate BTS_FEAT_EGPRS support to BSC In-Reply-To: References: Message-ID: laforge 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 1: 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: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:19:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:49:50 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 08:49:50 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly warn about unknown BTS features In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18598 ) Change subject: abis_nm: fix: properly warn about unknown BTS features ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18598/1/src/osmo-bsc/abis_nm.c File src/osmo-bsc/abis_nm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18598/1/src/osmo-bsc/abis_nm.c at 588 PS1, Line 588: LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: unknown feature #%d. " : "Consider upgrading your BSC/BTS to later version.\n", bts->nr, i); > why upgrade the BTS? It's the BSC that is old in this case, right? Ah, right. I'll amend this correction in the next patch set and add a proper commit description. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40925ecc02ff94e510c04b048fe1bbc2066a7776 Gerrit-Change-Number: 18598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 08:49:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 08:56:29 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 08:56:29 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 08:56:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:00:09 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:00:09 +0000 Subject: Change in docker-playground[master]: docker_images_require: scope of i: local In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18601 ) Change subject: docker_images_require: scope of i: local ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b Gerrit-Change-Number: 18601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 09:00:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:00:59 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:00:59 +0000 Subject: Change in docker-playground[master]: docker_images_require: build depends too In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18602 ) Change subject: docker_images_require: build depends too ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a Gerrit-Change-Number: 18602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 09:00:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:02:00 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:02:00 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test: remove implicit dependencies In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18603 ) Change subject: ttcn3-*-test: remove implicit dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f Gerrit-Change-Number: 18603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 30 May 2020 09:02:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:13:26 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:13:26 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO argument In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO argument ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:13:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:19:56 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:19:56 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support osmo-*-centos8 images In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: support osmo-*-centos8 images ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:19:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:31:36 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:31:36 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... Patch Set 6: Code-Review+1 I don't really want to block this patch set, so this can be considered as an idea for further changes. What if instead of messing with different package managers in each Dockerfile (imagine we would need to add another distro some day), we could just list packages for each distribution and leave distro-specific commands (apt, dnf, ...) up to some script? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:31:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:35:22 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 09:35:22 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:35:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:35:58 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:35:58 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... Patch Set 6: > Patch Set 6: Code-Review+1 > > I don't really want to block this patch set, so this can be considered as an idea for further changes. What if instead of messing with different package managers in each Dockerfile (imagine we would need to add another distro some day), we could just list packages for each distribution and leave distro-specific commands (apt, dnf, ...) up to some script? Interesting idea, maybe we do it like that when adding a third distro some day. Thanks for all the reviews! -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:35:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:31 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:31 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:36:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:34 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:34 +0000 Subject: Change in docker-playground[master]: centos8-build: new image In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18550 ) Change subject: centos8-build: new image ...................................................................... centos8-build: new image Create centos8-build similar to debian-stretch-build, as preparation for ttcn-3 tests on centos 8. Related: OS#4564 Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad --- A centos8-build/Dockerfile A centos8-build/Makefile 2 files changed, 47 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile new file mode 100644 index 0000000..511f350 --- /dev/null +++ b/centos8-build/Dockerfile @@ -0,0 +1,46 @@ +FROM centos:centos8 + +# Let package metadata expire after 60 seconds instead of 48 hours +RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf + +# Make additional development libraries available from PowerTools and Osmocom nightly (e.g. libdbi) +RUN dnf install -y dnf-utils wget && \ + yum config-manager --set-enabled PowerTools && \ + cd /etc/yum.repos.d/ && \ + wget https://download.opensuse.org/repositories/network:osmocom:nightly/CentOS_8_Stream/network:osmocom:nightly.repo + +RUN dnf install -y \ + autoconf \ + autoconf-archive \ + autogen \ + automake \ + bison \ + c-ares-devel \ + cppcheck \ + doxygen \ + fftw-devel \ + flex \ + gawk \ + gcc \ + gcc-c++ \ + git \ + gnupg \ + gnutls-devel \ + gsm-devel \ + libdbi-dbd-sqlite \ + libdbi-devel \ + libpcap-devel \ + libsofia-sip-ua-glib3 \ + libtalloc-devel \ + libtool \ + libusb1-devel \ + lksctp-tools-devel \ + make \ + ncurses-devel \ + openssl-devel \ + ortp-devel \ + pcsc-lite-devel \ + pkg-config \ + readline-devel \ + sqlite \ + sqlite-devel diff --git a/centos8-build/Makefile b/centos8-build/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/centos8-build/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad Gerrit-Change-Number: 18550 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:37 +0000 Subject: Change in docker-playground[master]: docker_images_require: scope of i: local In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18601 ) Change subject: docker_images_require: scope of i: local ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b Gerrit-Change-Number: 18601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:36:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:41 +0000 Subject: Change in docker-playground[master]: docker_images_require: scope of i: local In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18601 ) Change subject: docker_images_require: scope of i: local ...................................................................... docker_images_require: scope of i: local Prepare to call docker_images_require from itself, make i a local variable. Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b --- M jenkins-common.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index 9fd3857..01f23d0 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -3,6 +3,7 @@ } docker_images_require() { + local i local from_line local pull_arg -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18601 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I228f54f3e7431dba9e8d2a5fab0ecba3d0e6d76b Gerrit-Change-Number: 18601 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:44 +0000 Subject: Change in docker-playground[master]: docker_images_require: build depends too In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18602 ) Change subject: docker_images_require: build depends too ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a Gerrit-Change-Number: 18602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:36:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:46 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:46 +0000 Subject: Change in docker-playground[master]: docker_images_require: build depends too In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18602 ) Change subject: docker_images_require: build depends too ...................................................................... docker_images_require: build depends too Add a function to automatically resolve the most common dependencies, osmo-* need debian-stretch-build and ttcn3-* need debian-stretch-titan. Do this in a shell function in jenkins-common.sh, so we can extend it in the next patch with distribution specific dependencies (osmo-*-centos8 needs centos8-build). Related: OS#4564 Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a --- M jenkins-common.sh 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index 01f23d0..ea03d52 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -2,12 +2,26 @@ test -n "$(docker images -q "$REPO_USER/$1")" } +docker_depends() { + case "$1" in + osmo-*) echo "debian-stretch-build" ;; + ttcn3-*) echo "debian-stretch-titan" ;; + esac +} + docker_images_require() { local i local from_line local pull_arg + local depends for i in $@; do + # Build dependencies first + depends="$(docker_depends "$i")" + if [ -n "$depends" ]; then + docker_images_require $depends + fi + # Trigger image build (cache will be used when up-to-date) if [ -z "$NO_DOCKER_IMAGE_BUILD" ]; then # Pull upstream base images -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18602 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a Gerrit-Change-Number: 18602 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:49 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:49 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test: remove implicit dependencies In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18603 ) Change subject: ttcn3-*-test: remove implicit dependencies ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f Gerrit-Change-Number: 18603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:36:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:51 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:51 +0000 Subject: Change in docker-playground[master]: ttcn3-*-test: remove implicit dependencies In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18603 ) Change subject: ttcn3-*-test: remove implicit dependencies ...................................................................... ttcn3-*-test: remove implicit dependencies Don't list debian-stretch-build and debian-stretch-titan as dependencies anymore, now that docker_images_require finds them automatically. Related: OS#4564 Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f --- M README.md M ttcn3-bsc-test/jenkins-sccplite.sh M ttcn3-bsc-test/jenkins.sh M ttcn3-bscnat-test/jenkins.sh M ttcn3-bts-test/jenkins.sh M ttcn3-ggsn-test/jenkins.sh M ttcn3-hlr-test/jenkins.sh M ttcn3-mgw-test/jenkins.sh M ttcn3-msc-test/jenkins.sh M ttcn3-pcu-test/jenkins-sns.sh M ttcn3-pcu-test/jenkins.sh M ttcn3-remsim-test/jenkins.sh M ttcn3-sccp-test/jenkins.sh M ttcn3-sgsn-test/jenkins.sh M ttcn3-sip-test/jenkins.sh M ttcn3-stp-test/jenkins.sh 16 files changed, 0 insertions(+), 31 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/README.md b/README.md index 479e045..925907e 100644 --- a/README.md +++ b/README.md @@ -50,11 +50,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" ``` diff --git a/ttcn3-bsc-test/jenkins-sccplite.sh b/ttcn3-bsc-test/jenkins-sccplite.sh index 36c79d5..7c628db 100755 --- a/ttcn3-bsc-test/jenkins-sccplite.sh +++ b/ttcn3-bsc-test/jenkins-sccplite.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" #Make sure NET_NAME doesn't clash with the AoIP BSC test diff --git a/ttcn3-bsc-test/jenkins.sh b/ttcn3-bsc-test/jenkins.sh index 44badb5..7db65d2 100755 --- a/ttcn3-bsc-test/jenkins.sh +++ b/ttcn3-bsc-test/jenkins.sh @@ -3,11 +3,9 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bsc-test" mkdir $VOL_BASE_DIR/bsc-tester diff --git a/ttcn3-bscnat-test/jenkins.sh b/ttcn3-bscnat-test/jenkins.sh index 1df1a70..4057b44 100755 --- a/ttcn3-bscnat-test/jenkins.sh +++ b/ttcn3-bscnat-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-nitb-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-bscnat-test" diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 83bd165..4974a34 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -4,11 +4,9 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # NOTE: there is no osmocom-bb-host-latest, hence always use master! docker_images_require \ - "debian-stretch-build" \ "osmo-bsc-$IMAGE_SUFFIX" \ "osmo-bts-$IMAGE_SUFFIX" \ "osmocom-bb-host-master" \ - "debian-stretch-titan" \ "ttcn3-bts-test" start_bsc() { diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh index a69e640..72c25e6 100755 --- a/ttcn3-ggsn-test/jenkins.sh +++ b/ttcn3-ggsn-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-ggsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-ggsn-test" mkdir $VOL_BASE_DIR/ggsn-tester diff --git a/ttcn3-hlr-test/jenkins.sh b/ttcn3-hlr-test/jenkins.sh index 47ce5a9..74fe429 100755 --- a/ttcn3-hlr-test/jenkins.sh +++ b/ttcn3-hlr-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-hlr-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-hlr-test" network_create 172.18.10.0/24 diff --git a/ttcn3-mgw-test/jenkins.sh b/ttcn3-mgw-test/jenkins.sh index 4ebd235..3b6dd41 100755 --- a/ttcn3-mgw-test/jenkins.sh +++ b/ttcn3-mgw-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-mgw-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-mgw-test" mkdir $VOL_BASE_DIR/mgw-tester diff --git a/ttcn3-msc-test/jenkins.sh b/ttcn3-msc-test/jenkins.sh index 805151a..e701b0d 100755 --- a/ttcn3-msc-test/jenkins.sh +++ b/ttcn3-msc-test/jenkins.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-msc-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-msc-test" network_create 172.18.1.0/24 diff --git a/ttcn3-pcu-test/jenkins-sns.sh b/ttcn3-pcu-test/jenkins-sns.sh index 06403d3..edebd0b 100755 --- a/ttcn3-pcu-test/jenkins-sns.sh +++ b/ttcn3-pcu-test/jenkins-sns.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-pcu-test" network_create 172.18.14.0/24 diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 271f89f..7942d1a 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-pcu-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-pcu-test" network_create 172.18.13.0/24 diff --git a/ttcn3-remsim-test/jenkins.sh b/ttcn3-remsim-test/jenkins.sh index 1c2682c..c5f8692 100755 --- a/ttcn3-remsim-test/jenkins.sh +++ b/ttcn3-remsim-test/jenkins.sh @@ -3,7 +3,6 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-remsim-$IMAGE_SUFFIX" \ "ttcn3-remsim-test" diff --git a/ttcn3-sccp-test/jenkins.sh b/ttcn3-sccp-test/jenkins.sh index 242e44a..f802b2d 100755 --- a/ttcn3-sccp-test/jenkins.sh +++ b/ttcn3-sccp-test/jenkins.sh @@ -4,9 +4,7 @@ IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" # Always require osmo-stp-master since is the only with sccp_demo_user installed docker_images_require \ - "debian-stretch-build" \ "osmo-stp-master" \ - "debian-stretch-titan" \ "ttcn3-sccp-test" mkdir $VOL_BASE_DIR/sccp-tester diff --git a/ttcn3-sgsn-test/jenkins.sh b/ttcn3-sgsn-test/jenkins.sh index 9db295a..9b77abf 100755 --- a/ttcn3-sgsn-test/jenkins.sh +++ b/ttcn3-sgsn-test/jenkins.sh @@ -3,10 +3,8 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ "osmo-sgsn-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-sgsn-test" network_create 172.18.8.0/24 diff --git a/ttcn3-sip-test/jenkins.sh b/ttcn3-sip-test/jenkins.sh index 8a1977e..702a6f5 100755 --- a/ttcn3-sip-test/jenkins.sh +++ b/ttcn3-sip-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-sip-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-sip-test" network_create 172.18.11.0/24 diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index bc2d5af..ba00f30 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -3,9 +3,7 @@ . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-build" \ "osmo-stp-$IMAGE_SUFFIX" \ - "debian-stretch-titan" \ "ttcn3-stp-test" mkdir $VOL_BASE_DIR/stp-tester -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18603 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f Gerrit-Change-Number: 18603 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:54 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:54 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO argument In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO argument ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:36:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:36:58 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:36:58 +0000 Subject: Change in docker-playground[master]: make/Makefile: add DISTRO argument In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18552 ) Change subject: make/Makefile: add DISTRO argument ...................................................................... make/Makefile: add DISTRO argument Prepare for distro-specific osmo-* images. While at it, put each --build-arg on a separate line for readability. Related: OS#4564 Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 --- M make/Makefile 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Verified diff --git a/make/Makefile b/make/Makefile index b10c665..0dd111c 100644 --- a/make/Makefile +++ b/make/Makefile @@ -32,6 +32,7 @@ OSMO_SIP_BRANCH?=master OSMO_STP_BRANCH?=master PULL?= +DISTRO?=debian-stretch RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) @@ -55,7 +56,10 @@ docker-build: .release - docker build --build-arg USER=$(USERNAME) --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ + docker build \ + --build-arg USER=$(USERNAME) \ + --build-arg OSMO_TTCN3_BRANCH=$(OSMO_TTCN3_BRANCH) \ + --build-arg DISTRO=$(DISTRO) \ --build-arg OSMO_BB_BRANCH=$(OSMO_BB_BRANCH) \ --build-arg OSMO_BSC_BRANCH=$(OSMO_BSC_BRANCH) \ --build-arg OSMO_BTS_BRANCH=$(OSMO_BTS_BRANCH) \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985 Gerrit-Change-Number: 18552 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:37:01 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:37:01 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support osmo-*-centos8 images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: support osmo-*-centos8 images ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:37:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:37:03 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:37:03 +0000 Subject: Change in docker-playground[master]: jenkins-common.sh: support osmo-*-centos8 images In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18553 ) Change subject: jenkins-common.sh: support osmo-*-centos8 images ...................................................................... jenkins-common.sh: support osmo-*-centos8 images Make it possible to call the ttcn3-*/jenkins.sh scripts with: IMAGE_SUFFIX="master-centos8" The existing docker_images_require lines of these jenkins.sh scripts will then call docker_images_require with arguments like "osmo-mgw-master-centos8". For example, from ttcn3-mgw-test/jenkins.sh: docker_images_require \ "osmo-mgw-$IMAGE_SUFFIX" \ "ttcn3-mgw-test" Let docker_images_require build the image from osmo-mgw-master/Dockerfile (-centos8 is cut off from the dirname) and with DISTRO=centos8 as argument. Collisions with the debian-stretch images are avoided by setting IMAGE to the full image name (e.g. osmo-mgw-master-centos8). Related: OS#4564 Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 --- M jenkins-common.sh 1 file changed, 34 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/jenkins-common.sh b/jenkins-common.sh index ea03d52..a29720c 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -4,16 +4,41 @@ docker_depends() { case "$1" in + osmo-*-centos8) echo "centos8-build" ;; osmo-*) echo "debian-stretch-build" ;; ttcn3-*) echo "debian-stretch-titan" ;; esac } +docker_distro_from_image_name() { + case "$1" in + osmo-*-centos8) echo "centos8"; ;; + *) echo "debian-stretch" ;; + esac + +} + +docker_dir_from_image_name() { + case "$1" in + osmo-*-centos8) echo "$1" | sed 's/\-centos8$//' ;; + *) echo "$1" ;; + esac +} + +# Make sure required images are available and build them if necessary. +# $*: image names (e.g. "debian-stretch-build", "osmo-mgw-master", "osmo-mgw-master-centos8") +# The images are automatically built from the Dockerfile of the subdir of the same name. If there is a +# distribution name at the end of the image name (e.g. osmo-mgw-master-centos8), it gets removed from the subdir +# where the Dockerfile is taken from (e.g. osmo-mgw-master/Dockerfile) and DISTRO is passed accordingly +# (e.g. DISTRO=centos8). This allows one Dockerfile for multiple distributions, without duplicating configs for +# each distribution. Dependencies listed in docker_depends() are built automatically too. docker_images_require() { local i local from_line local pull_arg + local distro_arg local depends + local dir for i in $@; do # Build dependencies first @@ -24,15 +49,22 @@ # Trigger image build (cache will be used when up-to-date) if [ -z "$NO_DOCKER_IMAGE_BUILD" ]; then + distro_arg="$(docker_distro_from_image_name "$i")" + dir="$(docker_dir_from_image_name "$i")" + # Pull upstream base images pull_arg="--pull" - from_line="$(grep '^FROM' ../$i/Dockerfile)" + from_line="$(grep '^FROM' ../$dir/Dockerfile)" if echo "$from_line" | grep -q '$USER'; then pull_arg="" fi echo "Building image: $i (export NO_DOCKER_IMAGE_BUILD=1 to prevent this)" - PULL="$pull_arg" make -C "../$i" || exit 1 + make -C "../$dir" \ + PULL="$pull_arg" \ + DISTRO="$distro_arg" \ + IMAGE="$REPO_USER/$i" \ + || exit 1 fi # Detect missing images (build skipped) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91 Gerrit-Change-Number: 18553 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:37:30 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:37:30 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... Patch Set 6: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:37:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:37:32 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:37:32 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 30 May 2020 09:37:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:37:37 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:37:37 +0000 Subject: Change in docker-playground[master]: osmo-*-master: support centos8 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18554 ) Change subject: osmo-*-master: support centos8 ...................................................................... osmo-*-master: support centos8 Adjust the Dockerfiles, so 'docker_images_require osmo-mgw-master-centos8' etc. result in a centos8 based image. centos8-build already configures the Osmocom nightly repository, so we only need to configure it for debian-stretch. Related: OS#4564 Change-Id: I6579748056ce0505304378b342a698b98c77fd18 --- M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile M osmo-ggsn-master/Dockerfile M osmo-hlr-master/Dockerfile M osmo-mgw-master/Dockerfile M osmo-msc-master/Dockerfile M osmo-pcu-master/Dockerfile M osmo-remsim-master/Dockerfile M osmo-sgsn-master/Dockerfile M osmo-sip-master/Dockerfile M osmo-stp-master/Dockerfile 11 files changed, 421 insertions(+), 163 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 75afbb7..57b4b04 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,22 +10,43 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmo-mgcp-client-dev \ - libgtp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmo-mgcp-client-dev \ + libgtp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmo-mgcp-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-sccp)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index b73f2ac..98b0bb0 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,21 +10,42 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev \ - libsmpp34-dev \ - libgtp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev \ + libsmpp34-dev \ + libgtp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocodec)" \ + "pkgconfig(libosmocoding)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmotrau)" \ + "pkgconfig(libosmovty)" \ + telnet \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 3802670..81444d8 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,16 +10,33 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libgtpnl)" \ + "pkgconfig(libmnl)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 3aa8468..d4727cc 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,20 +10,38 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libdbd-sqlite3 \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libdbd-sqlite3 \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + python3 \ + telnet \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index f898c7e..773c2a5 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,19 +10,37 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libosmo-sccp-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libosmo-sccp-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(libosmocoding)" \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 55e5d6e..366e77c 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,27 +10,52 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libasn1c-dev \ - libdbd-sqlite3 \ - libdbi-dev \ - libosmo-abis-dev \ - libosmo-mgcp-client-dev \ - libosmo-gsup-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - libsmpp34-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libasn1c-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libosmo-abis-dev \ + libosmo-mgcp-client-dev \ + libosmo-gsup-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + libsmpp34-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libosmo-gsup-client)" \ + "pkgconfig(libosmo-mgcp-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-ranap)" \ + "pkgconfig(libosmo-sccp)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(libsmpp34)" \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 1aed8c9..e8ce5d8 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,16 +10,32 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 0a15d93..bed7f47 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -1,17 +1,30 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte # PC/SC required for testing of bankd (with vpcd) # autoconf, automake, libtool, pkg-config, m4, help2man required for virtualsmartcard -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libpcsclite-dev \ - pcscd \ - pcsc-tools \ - autoconf automake libtool pkg-config m4 help2man ca-certificates && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libpcsclite-dev \ + pcscd \ + pcsc-tools \ + autoconf automake libtool pkg-config m4 help2man ca-certificates && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + pcsc-lite \ + help2man \ + python3 \ + ;; \ + esac # build virtualsmartcard RUN git clone https://github.com/frankmorgner/vsmartcard.git @@ -22,24 +35,46 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-simtrace2-dev \ - libosmo-abis-dev \ - libosmo-netif-dev \ - libpcsclite-dev \ - libcsv-dev \ - libjansson-dev \ - libulfius-dev \ - liborcania-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-simtrace2-dev \ + libosmo-abis-dev \ + libosmo-netif-dev \ + libpcsclite-dev \ + libcsv-dev \ + libjansson-dev \ + libulfius-dev \ + liborcania-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmosim)" \ + "pkgconfig(libpcsclite)" \ + "pkgconfig(libulfius)" \ + "pkgconfig(libusb-1.0)" \ + "pkgconfig(libosmousb)" \ + "pkgconfig(libosmo-simtrace2)" \ + ;; \ + esac #ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index 10fc92e..1121712 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,25 +10,50 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-abis-dev \ - libosmo-gsup-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libsmpp34-dev \ - libgtp-dev \ - libasn1c-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-abis-dev \ + libosmo-gsup-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libsmpp34-dev \ + libgtp-dev \ + libasn1c-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libasn1c)" \ + "pkgconfig(libcrypto)" \ + "pkgconfig(libgtp)" \ + "pkgconfig(libosmo-gsup-client)" \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmo-ranap)" \ + "pkgconfig(libosmo-sigtran)" \ + "pkgconfig(libosmoabis)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmoctrl)" \ + "pkgconfig(libosmogb)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 2407984..b15a2c9 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,26 +10,42 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libasn1c-dev \ - libdbd-sqlite3 \ - libdbi-dev \ - libosmo-abis-dev \ - libosmo-mgcp-client-dev \ - libosmo-netif-dev \ - libosmo-ranap-dev \ - libosmo-sccp-dev \ - libosmo-sigtran-dev \ - libosmocore-dev \ - libsmpp34-dev \ - telnet && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libasn1c-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libosmo-abis-dev \ + libosmo-mgcp-client-dev \ + libosmo-netif-dev \ + libosmo-ranap-dev \ + libosmo-sccp-dev \ + libosmo-sigtran-dev \ + libosmocore-dev \ + libsmpp34-dev \ + telnet && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + "pkgconfig(sofia-sip-ua-glib)" \ + telnet \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 62bcbc7..a91313f 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,5 +1,8 @@ ARG USER -FROM $USER/debian-stretch-build +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO MAINTAINER Harald Welte @@ -7,17 +10,33 @@ COPY Release.key /tmp/Release.key -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ + ;; \ + esac ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ - libosmocore-dev \ - libosmo-netif-dev && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + telnet \ + libosmocore-dev \ + libosmo-netif-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + telnet \ + "pkgconfig(libosmo-netif)" \ + "pkgconfig(libosmocore)" \ + "pkgconfig(libosmogsm)" \ + "pkgconfig(libosmovty)" \ + ;; \ + esac WORKDIR /tmp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6579748056ce0505304378b342a698b98c77fd18 Gerrit-Change-Number: 18554 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:38:26 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:38:26 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... Patch Set 6: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:38:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:38:41 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:38:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 30 May 2020 09:38:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 09:38:44 2020 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Sat, 30 May 2020 09:38:44 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites.yml: support centos8 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/18555 ) Change subject: jobs/ttcn3-testsuites.yml: support centos8 ...................................................................... jobs/ttcn3-testsuites.yml: support centos8 Related: OS#4564 Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 --- M jobs/ttcn3-testsuites.yml 1 file changed, 58 insertions(+), 19 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 89d50cf..63d478c 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -10,7 +10,7 @@ - "{job-name}" # Folders from docker-playground.git job-name: - # nightly - order by time + # debian-stretch nightly - order by time - nplab-m3ua-test: timer: 00 03 * * * - nplab-sua-test: @@ -46,41 +46,72 @@ - ttcn3-sccp-test: timer: 00 10 * * * - # latest stable + # debian-stretch latest stable - nplab-m3ua-test-latest: - blocking: "^nplab-m3ua-test.*" + blocking: "^(nplab|NPLAB-.*)-m3ua-test.*" - nplab-sua-test-latest: - blocking: "^nplab-sua-test.*" + blocking: "^(nplab|NPLAB-.*)-sua-test.*" - ttcn3-bsc-test-latest: - blocking: "^ttcn3-bsc-test.*" + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" - ttcn3-bsc-test-sccplite-latest: - blocking: "^ttcn3-bsc-test-sccplite.*" + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" - ttcn3-bts-test-latest: - blocking: "^ttcn3-bts-test.*" + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" - ttcn3-ggsn-test-latest: - blocking: "^ttcn3-ggsn-test.*" + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" - ttcn3-hlr-test-latest: - blocking: "^ttcn3-hlr-test.*" + blocking: "^(ttcn3|TTCN3-.*)-hlr-test.*" - ttcn3-mgw-test-latest: - blocking: "^ttcn3-mgw-test.*" + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" - ttcn3-msc-test-latest: - blocking: "^ttcn3-msc-test.*" + blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" - ttcn3-sgsn-test-latest: - blocking: "^ttcn3-sgsn-test.*" + blocking: "^(ttcn3|TTCN3-.*)-sgsn-test.*" - ttcn3-sip-test-latest: - blocking: "^ttcn3-sip-test.*" + blocking: "^(ttcn3|TTCN3-.*)-sip-test.*" - ttcn3-pcu-test-latest: - blocking: "^ttcn3-pcu-test.*" + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" - ttcn3-pcu-test-sns-latest: - blocking: "^ttcn3-pcu-test-sns.*" + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" - ttcn3-bscnat-test-latest: - blocking: "^ttcn3-bscnat-test.*" + blocking: "^(ttcn3|TTCN3-.*)-bscnat-test.*" - ttcn3-remsim-test-latest: - blocking: "^ttcn3-remsim-test.*" + blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" - ttcn3-stp-test-latest: - blocking: "^ttcn3-stp-test.*" + blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" #- ttcn3-sccp-test-latest: - # blocking: "^ttcn3-sccp-test.*" + # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" + + # Jobs below use uppercase TTCN3-$DISTRO, so they get listed separately from the ttcn3-* (debian-stretch) jobs + + # centos8 nightly + - TTCN3-centos-bsc-test: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + - TTCN3-centos-bsc-test-sccplite: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + - TTCN3-centos-bts-test: + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" + - TTCN3-centos-ggsn-test: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + - TTCN3-centos-hlr-test: + blocking: "^(ttcn3|TTCN3-.*)-hlr-test.*" + - TTCN3-centos-mgw-test: + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" + - TTCN3-centos-msc-test: + blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" + - TTCN3-centos-sgsn-test: + blocking: "^(ttcn3|TTCN3-.*)-sgsn-test.*" + - TTCN3-centos-sip-test: + blocking: "^(ttcn3|TTCN3-.*)-sip-test.*" + - TTCN3-centos-pcu-test: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + - TTCN3-centos-pcu-test-sns: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + - TTCN3-centos-remsim-test: + blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" + - TTCN3-centos-stp-test: + blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" + - job-template: name: '{job-name}' project-type: freestyle @@ -107,6 +138,14 @@ builders: - shell: |- case "{job-name}" in + TTCN3-centos-*-latest) + cd "$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" + IMAGE_SUFFIX="latest-centos8" ./jenkins.sh + ;; + TTCN3-centos-*) + cd "$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/)" + IMAGE_SUFFIX="master-centos8" ./jenkins.sh + ;; *-latest) cd "$(echo "{job-name}" | sed s/\-latest$//)" IMAGE_SUFFIX="latest" ./jenkins.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/18555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1 Gerrit-Change-Number: 18555 Gerrit-PatchSet: 6 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 11:10:41 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 11:10:41 +0000 Subject: Change in osmo-bsc[master]: abis_nm: properly warn about unknown / not supported features In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 to look at the new patch set (#2). Change subject: abis_nm: properly warn about unknown / not supported features ...................................................................... abis_nm: properly warn about unknown / not supported features It's normal when some BTS feature is considered as not supported by the BSC, but a BTS reports that it is. Report this as NOTICE. Vice versa, when some BTS feature is considered as supported by the BSC, but a BTS reports that it is not, is definitely a problem that requires some attention. Report this as ERROR. The reported feature vector may contain new features the BSC is not aware of. Report each of them individually as NOTICE. Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b --- M src/osmo-bsc/abis_nm.c 1 file changed, 20 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18599/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b Gerrit-Change-Number: 18599 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 11:10:43 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 11:10:43 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: use osmo_bts_feature_name() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18604 ) Change subject: abis_nm: cosmetic: use osmo_bts_feature_name() ...................................................................... abis_nm: cosmetic: use osmo_bts_feature_name() Change-Id: I15078ac030b0b824a554239b19bc501c624e2a87 --- M src/osmo-bsc/abis_nm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/18604/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index d976ea3..218c4f1 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -593,11 +593,11 @@ if (!f1 && f2) { LOGP(DNM, LOGL_ERROR, "BTS%u Get Attributes Response: reported feature '%s' " "is not supported, while we thought it is. Please fix.\n", - bts->nr, get_value_string(osmo_bts_features_descs, i)); + bts->nr, osmo_bts_feature_name(i)); } else if (f1 && !f2) { LOGP(DNM, LOGL_NOTICE, "BTS%u Get Attributes Response: reported feature '%s' " "is supported, while we thought it is not. Please fix.\n", - bts->nr, get_value_string(osmo_bts_features_descs, i)); + bts->nr, osmo_bts_feature_name(i)); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15078ac030b0b824a554239b19bc501c624e2a87 Gerrit-Change-Number: 18604 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 11:11:54 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 11:11:54 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly warn about unknown BTS features In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18598 ) Change subject: abis_nm: fix: properly warn about unknown BTS features ...................................................................... Abandoned This change has been merged into I2f925bcdb010cb10d074bf7c82619e3ae1f8818b. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18598 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I40925ecc02ff94e510c04b048fe1bbc2066a7776 Gerrit-Change-Number: 18598 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 11:14:31 2020 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 30 May 2020 11:14:31 +0000 Subject: Change in osmo-bsc[master]: abis_nm: properly warn about unknown / not supported features In-Reply-To: References: Message-ID: Hello laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 to look at the new patch set (#3). Change subject: abis_nm: properly warn about unknown / not supported features ...................................................................... abis_nm: properly warn about unknown / not supported features It's normal when some BTS feature is considered as not supported by the BSC, but a BTS reports that it is. Report this as NOTICE. Vice versa, when some BTS feature is considered as supported by the BSC, but a BTS reports that it is not, is definitely a problem that requires some attention. Report this as ERROR. The reported feature vector may contain new features the BSC is not aware of. Report each of them individually as NOTICE. Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b --- M src/osmo-bsc/abis_nm.c 1 file changed, 19 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/99/18599/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b Gerrit-Change-Number: 18599 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:34:58 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:34:58 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: regenerate the VTY reference file References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18605 ) Change subject: doc/manuals: regenerate the VTY reference file ...................................................................... doc/manuals: regenerate the VTY reference file Change-Id: I4f7bf671b7948d8c3771d33d40ab5e8cf209e2b2 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 0 insertions(+), 130 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/05/18605/1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 4e2ce46..8f3edf9 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -622,13 +622,6 @@ - - - - - - - @@ -1547,13 +1540,6 @@ - - - - - - - @@ -4778,49 +4764,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4828,12 +4771,6 @@ - - - - - - @@ -4920,18 +4857,6 @@ - - - - - - - - - - - - @@ -5103,12 +5028,6 @@ config-bsc - - - - - - @@ -5133,55 +5052,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cbc -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f7bf671b7948d8c3771d33d40ab5e8cf209e2b2 Gerrit-Change-Number: 18605 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:34:59 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:34:59 +0000 Subject: Change in osmo-bsc[master]: gsm_data: cosmetic: mark argument of is_*_bts() as const References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18606 ) Change subject: gsm_data: cosmetic: mark argument of is_*_bts() as const ...................................................................... gsm_data: cosmetic: mark argument of is_*_bts() as const Change-Id: Ifa084e34cbea006e09c83a530e1434a22895e9aa --- M include/osmocom/bsc/gsm_data.h 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/06/18606/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 42eb583..1e7e88f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1727,7 +1727,7 @@ extern void *tall_bsc_ctx; /* this actually refers to the IPA transport, not the BTS model */ -static inline int is_ipaccess_bts(struct gsm_bts *bts) +static inline int is_ipaccess_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: @@ -1739,7 +1739,7 @@ return 0; } -static inline int is_sysmobts_v2(struct gsm_bts *bts) +static inline int is_sysmobts_v2(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_OSMOBTS: @@ -1750,7 +1750,7 @@ return 0; } -static inline int is_siemens_bts(struct gsm_bts *bts) +static inline int is_siemens_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_BS11: @@ -1762,7 +1762,7 @@ return 0; } -static inline int is_nokia_bts(struct gsm_bts *bts) +static inline int is_nokia_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_NOKIA_SITE: @@ -1774,7 +1774,7 @@ return 0; } -static inline int is_ericsson_bts(struct gsm_bts *bts) +static inline int is_ericsson_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_RBS2000: @@ -1786,7 +1786,7 @@ return 0; } -static inline int is_e1_bts(struct gsm_bts *bts) +static inline int is_e1_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_BS11: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifa084e34cbea006e09c83a530e1434a22895e9aa Gerrit-Change-Number: 18606 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:35:00 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:35:00 +0000 Subject: Change in osmo-bsc[master]: bts_unknown: fix: properly initialize the feature vector References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18607 ) Change subject: bts_unknown: fix: properly initialize the feature vector ...................................................................... bts_unknown: fix: properly initialize the feature vector This is unlikely to cause any problems, but having a NULL-pointer that can potentially be dereferenced is dangerous. Fix this. Change-Id: Icf594604f69023d1483e897edb811e51774b5b8e --- M src/osmo-bsc/bts_unknown.c 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/07/18607/1 diff --git a/src/osmo-bsc/bts_unknown.c b/src/osmo-bsc/bts_unknown.c index 5ecf875..b6b56a8 100644 --- a/src/osmo-bsc/bts_unknown.c +++ b/src/osmo-bsc/bts_unknown.c @@ -36,5 +36,11 @@ int bts_model_unknown_init(void) { + /* NOTE: the buffer is zero-initialized by compiler */ + model_unknown.features = (struct bitvec) { + .data_len = sizeof(model_unknown._features_data), + .data = &model_unknown._features_data[0], + }; + return gsm_bts_model_register(&model_unknown); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icf594604f69023d1483e897edb811e51774b5b8e Gerrit-Change-Number: 18607 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:35:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:35:01 +0000 Subject: Change in osmo-bsc[master]: bts_sysmobts: fix: properly zero-initialize the feature vector References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18608 ) Change subject: bts_sysmobts: fix: properly zero-initialize the feature vector ...................................................................... bts_sysmobts: fix: properly zero-initialize the feature vector The last argument must be size of buffer, not size of size! Change-Id: I6539a3c9829d4f74a18b1cc2aa522c69ff8e638d --- M src/osmo-bsc/bts_sysmobts.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/08/18608/1 diff --git a/src/osmo-bsc/bts_sysmobts.c b/src/osmo-bsc/bts_sysmobts.c index 2537864..ad12733 100644 --- a/src/osmo-bsc/bts_sysmobts.c +++ b/src/osmo-bsc/bts_sysmobts.c @@ -54,7 +54,7 @@ model_sysmobts.features.data = &model_sysmobts._features_data[0]; model_sysmobts.features.data_len = sizeof(model_sysmobts._features_data); - memset(model_sysmobts.features.data, 0, sizeof(model_sysmobts.features.data_len)); + memset(model_sysmobts.features.data, 0, model_sysmobts.features.data_len); osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_GPRS); osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_EGPRS); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6539a3c9829d4f74a18b1cc2aa522c69ff8e638d Gerrit-Change-Number: 18608 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:35:01 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:35:01 +0000 Subject: Change in osmo-bsc[master]: bsc_bts_alloc_register(): fix possible NULL-pointer dereference References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18609 ) Change subject: bsc_bts_alloc_register(): fix possible NULL-pointer dereference ...................................................................... bsc_bts_alloc_register(): fix possible NULL-pointer dereference Change-Id: I4560a7037a0a016636c4626c9fb3ceddfe98058e --- M src/osmo-bsc/bsc_init.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/18609/1 diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 7f145ef..7333533 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -315,6 +315,7 @@ struct gsm_bts *bsc_bts_alloc_register(struct gsm_network *net, enum gsm_bts_type type, uint8_t bsic) { struct gsm_bts *bts = gsm_bts_alloc_register(net, type, bsic); + OSMO_ASSERT(bts != NULL); bts->ho = ho_cfg_init(bts, net->ho); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4560a7037a0a016636c4626c9fb3ceddfe98058e Gerrit-Change-Number: 18609 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 19:35:02 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 19:35:02 +0000 Subject: Change in osmo-bsc[master]: handover_test: use 'unknown' BTS type instead of 'sysmobts' References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18610 ) Change subject: handover_test: use 'unknown' BTS type instead of 'sysmobts' ...................................................................... handover_test: use 'unknown' BTS type instead of 'sysmobts' This unit test does not really need a BTS of such specific type. Change-Id: Id676042518d06e94a9fb20112334280e2b91074b --- M include/osmocom/bsc/bss.h M tests/handover/Makefile.am M tests/handover/handover_test.c 3 files changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/10/18610/1 diff --git a/include/osmocom/bsc/bss.h b/include/osmocom/bsc/bss.h index ecb68d6..b8945db 100644 --- a/include/osmocom/bsc/bss.h +++ b/include/osmocom/bsc/bss.h @@ -11,6 +11,7 @@ /* register all supported BTS */ extern int bts_init(void); +extern int bts_model_unknown_init(void); extern int bts_model_bs11_init(void); extern int bts_model_rbs2k_init(void); extern int bts_model_nanobts_init(void); diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 84865a0..fcd171b 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -59,7 +59,7 @@ $(top_builddir)/src/osmo-bsc/bsc_vty.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sysmobts.o \ + $(top_builddir)/src/osmo-bsc/bts_unknown.o \ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index bdc18c3..b08e2a3 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -178,7 +178,7 @@ struct e1inp_sign_link *rsl_link; int i; - bts = bsc_bts_alloc_register(bsc_gsmnet, GSM_BTS_TYPE_OSMOBTS, 0x3f); + bts = bsc_bts_alloc_register(bsc_gsmnet, GSM_BTS_TYPE_UNKNOWN, 0x3f); if (!bts) { printf("No resource for bts1\n"); return NULL; @@ -1446,7 +1446,8 @@ ho_set_hodec2_penalty_failed_ho(bsc_gsmnet->ho, 60); ho_set_hodec2_penalty_failed_as(bsc_gsmnet->ho, 60); - bts_model_sysmobts_init(); + /* We don't really need any specific model here */ + bts_model_unknown_init(); test_case = test_cases[test_case_i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id676042518d06e94a9fb20112334280e2b91074b Gerrit-Change-Number: 18610 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 20:49:09 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 20:49:09 +0000 Subject: Change in osmo-bts[master]: fix typo in osmo_bts_variant_names: s/omso/osmo/g References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18611 ) Change subject: fix typo in osmo_bts_variant_names: s/omso/osmo/g ...................................................................... fix typo in osmo_bts_variant_names: s/omso/osmo/g Accidentally noticed this typo while working on osmo-bsc: DNM ERROR abis_nm.c:525 BTS0 reported unknown variant 'omso-bts-trx' (expected 'osmo-bts-trx') Change-Id: I45b0fb7b940ee4267e6ee315d18e5b95c9231894 --- M src/common/gsm_data_shared.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/11/18611/1 diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index c4a60b5..d141282 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -76,9 +76,9 @@ { BTS_OSMO_OC2G, "osmo-bts-oc2g" }, { BTS_OSMO_OCTPHY, "osmo-bts-octphy" }, { BTS_OSMO_SYSMO, "osmo-bts-sysmo" }, - { BTS_OSMO_TRX, "omso-bts-trx" }, - { BTS_OSMO_VIRTUAL, "omso-bts-virtual" }, - { BTS_OSMO_OMLDUMMY, "omso-bts-omldummy" }, + { BTS_OSMO_TRX, "osmo-bts-trx" }, + { BTS_OSMO_VIRTUAL, "osmo-bts-virtual" }, + { BTS_OSMO_OMLDUMMY, "osmo-bts-omldummy" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I45b0fb7b940ee4267e6ee315d18e5b95c9231894 Gerrit-Change-Number: 18611 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 20:49:23 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 20:49:23 +0000 Subject: Change in osmo-bts[master]: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/18612 ) Change subject: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g ...................................................................... doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g Change-Id: I28d914f89a6de82a8e226a9772984cb0c9d8869a --- M doc/manuals/chapters/interfaces.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/12/18612/1 diff --git a/doc/manuals/chapters/interfaces.adoc b/doc/manuals/chapters/interfaces.adoc index 9fefa72..24cfdb5 100644 --- a/doc/manuals/chapters/interfaces.adoc +++ b/doc/manuals/chapters/interfaces.adoc @@ -43,7 +43,7 @@ === OsmoBTS Control Interface -The general structure of the Omsocom control interface is described in +The general structure of the Osmocom control interface is described in <>. The number of control interface commands/attributes is currently quite -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I28d914f89a6de82a8e226a9772984cb0c9d8869a Gerrit-Change-Number: 18612 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 20:51:41 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 20:51:41 +0000 Subject: Change in libosmo-sccp[master]: sccp2sua: fix typo: s/omso_sccp_addr/osmo_sccp_addr/ References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/18613 ) Change subject: sccp2sua: fix typo: s/omso_sccp_addr/osmo_sccp_addr/ ...................................................................... sccp2sua: fix typo: s/omso_sccp_addr/osmo_sccp_addr/ Change-Id: I5c37177e9f62eff69bb9d0e7289ecb3c9f9e5f44 --- M src/sccp2sua.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/13/18613/1 diff --git a/src/sccp2sua.c b/src/sccp2sua.c index f68f9a9..10b078e 100644 --- a/src/sccp2sua.c +++ b/src/sccp2sua.c @@ -109,7 +109,7 @@ return num_octets; } -/*! \brief Parse wire-encoded SCCP address into omso_sccp_addr +/*! \brief Parse wire-encoded SCCP address into osmo_sccp_addr * \param[out] out user-allocated output data structure * \param[in] addr wire-encoded SCCP address * \param[in] addrlen Size of \ref addr in bytes -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/18613 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I5c37177e9f62eff69bb9d0e7289ecb3c9f9e5f44 Gerrit-Change-Number: 18613 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 20:53:09 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 20:53:09 +0000 Subject: Change in osmo-hlr[master]: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18614 ) Change subject: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ ...................................................................... gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ Change-Id: I77eac6df9836f2361d87df7ba5ab6fc14ba06b1d --- M src/gsup_server.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/14/18614/1 diff --git a/src/gsup_server.c b/src/gsup_server.c index a5d496e..2052506 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -461,7 +461,7 @@ /** * Populate a gsup message structure with an Insert Subscriber Data Message. - * All required memory buffers for data pointed to by pointers in struct omso_gsup_message + * All required memory buffers for data pointed to by pointers in struct osmo_gsup_message * must be allocated by the caller and should have the same lifetime as the gsup parameter. * * \param[out] gsup The gsup message to populate. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I77eac6df9836f2361d87df7ba5ab6fc14ba06b1d Gerrit-Change-Number: 18614 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 20:55:07 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 20:55:07 +0000 Subject: Change in osmo-pcu[master]: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18615 ) Change subject: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g ...................................................................... doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g Change-Id: I7730e65728a3917dc4923728738253155e1e0428 --- M doc/manuals/chapters/overview.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/15/18615/1 diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 0031474..eade62b 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -57,7 +57,7 @@ set of non-standardized primitives over a unix domain socket. The default file system path for this socket is `/tmp/pcu_bts`. -The PCU socket can be changed on both OmsoBTS and OsmoPCU to a different +The PCU socket can be changed on both OsmoBTS and OsmoPCU to a different file/path name, primarily to permit running multiple independent BTS+PCU pairs on a single Linux machine without having to use filesystem namespaces or other complex configurations. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7730e65728a3917dc4923728738253155e1e0428 Gerrit-Change-Number: 18615 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 21:01:38 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 21:01:38 +0000 Subject: Change in osmo-bsc[master]: Split GSM_BTS_TYPE_OSMOBTS to individual BTS types References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18616 ) Change subject: Split GSM_BTS_TYPE_OSMOBTS to individual BTS types ...................................................................... Split GSM_BTS_TYPE_OSMOBTS to individual BTS types Change-Id: I00a815cfa6daab126742d27843e700c07c1db183 --- M doc/examples/osmo-bsc/osmo-bsc-minimal.cfg M doc/examples/osmo-bsc/osmo-bsc.cfg M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg M doc/manuals/vty/bsc_vty_reference.xml M include/osmocom/bsc/bss.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/abis_nm.c M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts_init.c A src/osmo-bsc/bts_osmobts.c D src/osmo-bsc/bts_sysmobts.c M src/osmo-bsc/e1_config.c M src/osmo-bsc/gsm_data.c M src/osmo-bsc/system_information.c M tests/neighbor_ident.vty 17 files changed, 160 insertions(+), 155 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/16/18616/1 diff --git a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg index b8cd78d..30eadcc 100644 --- a/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc-minimal.cfg @@ -2,7 +2,8 @@ network country code 901 mobile network code 70 bts 0 - type sysmobts + ! Change this to your specific model (e.g. osmo-bts-sysmo) + type osmo-bts band GSM-1800 location_area_code 23 ipa unit-id 1800 0 diff --git a/doc/examples/osmo-bsc/osmo-bsc.cfg b/doc/examples/osmo-bsc/osmo-bsc.cfg index 57000ae..7b3438a 100644 --- a/doc/examples/osmo-bsc/osmo-bsc.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc.cfg @@ -20,7 +20,8 @@ dyn_ts_allow_tch_f 0 periodic location update 30 bts 0 - type sysmobts + ! Change this to your specific model (e.g. osmo-bts-sysmo) + type osmo-bts band DCS1800 cell_identity 6969 location_area_code 1 diff --git a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg index c250fac..e6977f2 100644 --- a/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg +++ b/doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg @@ -19,7 +19,8 @@ dyn_ts_allow_tch_f 0 periodic location update 30 bts 0 - type sysmobts + ! Change this to your specific model (e.g. osmo-bts-sysmo) + type osmo-bts band DCS1800 cell_identity 0 location_area_code 1 diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 8f3edf9..f3f67c6 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -3025,7 +3025,7 @@ config-net-bts - + @@ -3033,7 +3033,11 @@ - + + + + + diff --git a/include/osmocom/bsc/bss.h b/include/osmocom/bsc/bss.h index b8945db..0de4423 100644 --- a/include/osmocom/bsc/bss.h +++ b/include/osmocom/bsc/bss.h @@ -16,5 +16,5 @@ extern int bts_model_rbs2k_init(void); extern int bts_model_nanobts_init(void); extern int bts_model_nokia_site_init(void); -extern int bts_model_sysmobts_init(void); +extern int osmo_bts_model_init(enum gsm_bts_type type); #endif diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1e7e88f..6f6c279 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -782,19 +782,14 @@ GSM_BTS_TYPE_NANOBTS, GSM_BTS_TYPE_RBS2000, GSM_BTS_TYPE_NOKIA_SITE, - GSM_BTS_TYPE_OSMOBTS, + GSM_BTS_TYPE_OSMOBTS_GENERIC, /* osmo-bts-{virtual,omldummy} */ + GSM_BTS_TYPE_OSMOBTS_LC15, + GSM_BTS_TYPE_OSMOBTS_OCTPHY, + GSM_BTS_TYPE_OSMOBTS_SYSMO, + GSM_BTS_TYPE_OSMOBTS_TRX, _NUM_GSM_BTS_TYPE }; -enum gsm_bts_type_variant { - BTS_UNKNOWN, - BTS_OSMO_LITECELL15, - BTS_OSMO_OCTPHY, - BTS_OSMO_SYSMO, - BTS_OSMO_TRX, - _NUM_BTS_VARIANT -}; - /* Used by OML layer for BTS Attribute reporting */ enum bts_attribute { BTS_TYPE_VARIANT, @@ -808,7 +803,6 @@ struct llist_head list; enum gsm_bts_type type; - enum gsm_bts_type_variant variant; const char *name; bool started; @@ -1024,7 +1018,6 @@ uint8_t bsic; /* type of BTS */ enum gsm_bts_type type; - enum gsm_bts_type_variant variant; struct gsm_bts_model *model; enum gsm_band band; char version[MAX_VERSION_LENGTH]; @@ -1309,9 +1302,6 @@ enum bts_attribute str2btsattr(const char *s); const char *btsatttr2str(enum bts_attribute v); -enum gsm_bts_type_variant str2btsvariant(const char *arg); -const char *btsvariant2str(enum gsm_bts_type_variant v); - extern const struct value_string gsm_chreq_descs[]; extern const struct value_string gsm_pchant_names[]; extern const struct value_string gsm_pchant_descs[]; @@ -1726,12 +1716,31 @@ extern void *tall_bsc_ctx; +static inline int is_osmo_bts(const struct gsm_bts *bts) +{ + switch (bts->type) { + case GSM_BTS_TYPE_OSMOBTS_GENERIC: + case GSM_BTS_TYPE_OSMOBTS_LC15: + case GSM_BTS_TYPE_OSMOBTS_OCTPHY: + case GSM_BTS_TYPE_OSMOBTS_SYSMO: + case GSM_BTS_TYPE_OSMOBTS_TRX: + return 1; + default: + break; + } + return 0; +} + /* this actually refers to the IPA transport, not the BTS model */ static inline int is_ipaccess_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + case GSM_BTS_TYPE_OSMOBTS_GENERIC: + case GSM_BTS_TYPE_OSMOBTS_LC15: + case GSM_BTS_TYPE_OSMOBTS_OCTPHY: + case GSM_BTS_TYPE_OSMOBTS_SYSMO: + case GSM_BTS_TYPE_OSMOBTS_TRX: return 1; default: break; @@ -1742,7 +1751,7 @@ static inline int is_sysmobts_v2(const struct gsm_bts *bts) { switch (bts->type) { - case GSM_BTS_TYPE_OSMOBTS: + case GSM_BTS_TYPE_OSMOBTS_SYSMO: return 1; default: break; diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index 51e0e7f9..fe9eef1 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -49,7 +49,7 @@ bts_ipaccess_nanobts_omlattr.c \ bts_nokia_site.c \ bts_siemens_bs11.c \ - bts_sysmobts.c \ + bts_osmobts.c \ bts_unknown.c \ chan_alloc.c \ codec_pref.c \ diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 4ed0602..d1c4046 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -981,19 +981,15 @@ { int rc; struct e1inp_sign_link *sign_link = mb->dst; - int bts_type = sign_link->trx->bts->type; + const struct gsm_bts *bts = sign_link->trx->bts; - switch (bts_type) { - case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + if (is_ipaccess_bts(bts)) { rc = abis_nm_rx_ipacc(mb); abis_nm_queue_send_next(sign_link->trx->bts); - break; - default: + } else { LOGP(DNM, LOGL_ERROR, "don't know how to parse OML for this " - "BTS type (%u)\n", bts_type); + "BTS type (%u)\n", bts->type); /* TODO: use btstype2str() */ rc = 0; - break; } return rc; @@ -1760,7 +1756,7 @@ struct abis_om_hdr *oh; struct msgb *msg; - if (bts->type != GSM_BTS_TYPE_OSMOBTS && bts->type != GSM_BTS_TYPE_NANOBTS) { + if (!is_osmo_bts(bts) && bts->type != GSM_BTS_TYPE_NANOBTS) { LOGPC(DNM, LOGL_NOTICE, "Getting attributes from BTS%d type %s is not supported.\n", bts->nr, btstype2str(bts->type)); return -EINVAL; @@ -1974,9 +1970,6 @@ } *reason = "Unknown combination"; return -EINVAL; - case GSM_BTS_TYPE_OSMOBTS: - /* no known restrictions */ - return 0; default: /* unknown BTS type */ return 0; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 4a1d314..c0311ff 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -313,7 +313,7 @@ msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); /* indicate MS power control to be performed by BTS: */ - if (bts->type == GSM_BTS_TYPE_OSMOBTS) + if (is_osmo_bts(bts)) msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not known if non-osmocom BTS models will support an empty IE, so let's @@ -546,7 +546,7 @@ msgb_tv_put(msg, RSL_IE_MS_POWER, lchan->ms_power); msgb_tv_put(msg, RSL_IE_TIMING_ADVANCE, ta); /* indicate MS power control to be performed by BTS: */ - if (bts->type == GSM_BTS_TYPE_OSMOBTS) + if (is_osmo_bts(bts)) msgb_tl_put(msg, RSL_IE_MS_POWER_PARAM); /* else: Since IE MS_POWER_PARAM content is operator dependent, it's not known if non-osmocom BTS models will support an empty IE, so let's diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 80658ec..eb28e48 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -970,9 +970,14 @@ bts->early_classmark_allowed ? "allowed" : "forbidden", VTY_NEWLINE); vty_out(vty, " early-classmark-sending-3g %s%s", bts->early_classmark_allowed_3g ? "allowed" : "forbidden", VTY_NEWLINE); + switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + case GSM_BTS_TYPE_OSMOBTS_GENERIC: + case GSM_BTS_TYPE_OSMOBTS_LC15: + case GSM_BTS_TYPE_OSMOBTS_OCTPHY: + case GSM_BTS_TYPE_OSMOBTS_SYSMO: + case GSM_BTS_TYPE_OSMOBTS_TRX: vty_out(vty, " ipa unit-id %u %u%s", bts->ip_access.site_id, bts->ip_access.bts_id, VTY_NEWLINE); if (bts->ip_access.rsl_ip) { @@ -2099,6 +2104,24 @@ return CMD_SUCCESS; } +DEFUN_DEPRECATED(cfg_bts_type_sysmo, + cfg_bts_type_sysmo_cmd, + "type sysmobts", + ".HIDDEN\n" "Obsolete\n") +{ + struct gsm_bts *bts = vty->index; + int rc; + + vty_out(vty, "%% Command 'type sysmobts' is deprecated, use " + "'type osmo-bts-sysmo' instead%s", VTY_NEWLINE); + + rc = gsm_set_bts_type(bts, GSM_BTS_TYPE_OSMOBTS_SYSMO); + if (rc < 0) + return CMD_WARNING; + + return CMD_SUCCESS; +} + DEFUN(cfg_bts_type, cfg_bts_type_cmd, "type TYPE", /* dynamically created */ @@ -2826,7 +2849,7 @@ { struct gsm_bts *bts = vty->index; - if (bts->type != GSM_BTS_TYPE_OSMOBTS) { + if (!is_osmo_bts(bts)) { vty_out(vty, "%% infinite radio link timeout not supported by this BTS%s", VTY_NEWLINE); return CMD_WARNING; } @@ -5404,6 +5427,7 @@ install_element(GSMNET_NODE, &cfg_bts_cmd); install_node(&bts_node, config_write_bts); install_element(BTS_NODE, &cfg_bts_type_cmd); + install_element(BTS_NODE, &cfg_bts_type_sysmo_cmd); install_element(BTS_NODE, &cfg_description_cmd); install_element(BTS_NODE, &cfg_no_description_cmd); install_element(BTS_NODE, &cfg_bts_band_cmd); diff --git a/src/osmo-bsc/bts_init.c b/src/osmo-bsc/bts_init.c index 18f1ed4..6c6a081 100644 --- a/src/osmo-bsc/bts_init.c +++ b/src/osmo-bsc/bts_init.c @@ -24,7 +24,14 @@ bts_model_rbs2k_init(); bts_model_nanobts_init(); bts_model_nokia_site_init(); - bts_model_sysmobts_init(); + + /* Osmocom family (see https://osmocom.org/projects/osmobts/wiki#Backends-Hardware-support) */ + osmo_bts_model_init(GSM_BTS_TYPE_OSMOBTS_GENERIC); + osmo_bts_model_init(GSM_BTS_TYPE_OSMOBTS_LC15); + osmo_bts_model_init(GSM_BTS_TYPE_OSMOBTS_OCTPHY); + osmo_bts_model_init(GSM_BTS_TYPE_OSMOBTS_SYSMO); + osmo_bts_model_init(GSM_BTS_TYPE_OSMOBTS_TRX); + /* Your new BTS here. */ return 0; } diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c new file mode 100644 index 0000000..5aaa1af --- /dev/null +++ b/src/osmo-bsc/bts_osmobts.c @@ -0,0 +1,56 @@ +/* Osmocom family BTS model definition */ + +/* (C) 2010-2012 by Harald Welte + * + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include +#include + +extern struct gsm_bts_model bts_model_nanobts; + +int osmo_bts_model_init(enum gsm_bts_type type) +{ + struct gsm_bts_model *model; + + /* Allocate a new BTS model on heap */ + model = talloc(tall_bsc_ctx, struct gsm_bts_model); + if (!model) + return -ENOMEM; + + /* Inherit a new model from nanoBTS */ + *model = bts_model_nanobts; + model->name = btstype2str(type); + model->type = type; + + /* Unlike nanoBTS, osmo-bts supports SI2bis and SI2ter fine */ + model->force_combined_si = false; + + /* Initialize the vector of supported features */ + memset(&model->_features_data[0], 0, sizeof(model->_features_data)); + model->features = (struct bitvec) { + .data_len = sizeof(model->_features_data), + .data = &model->_features_data[0], + }; + + /* The following features are common to all osmo-bts-* models */ + osmo_bts_set_feature(&model->features, BTS_FEAT_GPRS); + osmo_bts_set_feature(&model->features, BTS_FEAT_EGPRS); + + return gsm_bts_model_register(model); +} diff --git a/src/osmo-bsc/bts_sysmobts.c b/src/osmo-bsc/bts_sysmobts.c deleted file mode 100644 index ad12733..0000000 --- a/src/osmo-bsc/bts_sysmobts.c +++ /dev/null @@ -1,63 +0,0 @@ -/* sysmocom sysmoBTS specific code */ - -/* (C) 2010-2012 by Harald Welte - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -extern struct gsm_bts_model bts_model_nanobts; - -static struct gsm_bts_model model_sysmobts; - -int bts_model_sysmobts_init(void) -{ - model_sysmobts = bts_model_nanobts; - model_sysmobts.name = "sysmobts"; - model_sysmobts.type = GSM_BTS_TYPE_OSMOBTS; - - /* Unlike nanoBTS, sysmoBTS supports SI2bis and SI2ter fine */ - model_sysmobts.force_combined_si = false; - - model_sysmobts.features.data = &model_sysmobts._features_data[0]; - model_sysmobts.features.data_len = - sizeof(model_sysmobts._features_data); - memset(model_sysmobts.features.data, 0, model_sysmobts.features.data_len); - - osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_GPRS); - osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_EGPRS); - - return gsm_bts_model_register(&model_sysmobts); -} diff --git a/src/osmo-bsc/e1_config.c b/src/osmo-bsc/e1_config.c index 4389f66..8e90a54 100644 --- a/src/osmo-bsc/e1_config.c +++ b/src/osmo-bsc/e1_config.c @@ -174,8 +174,7 @@ bts->model->e1line_bind_ops(line); /* skip signal link initialization, this is done later for these BTS. */ - if (bts->type == GSM_BTS_TYPE_NANOBTS || - bts->type == GSM_BTS_TYPE_OSMOBTS) + if (bts->type == GSM_BTS_TYPE_NANOBTS || is_osmo_bts(bts)) return e1inp_line_update(line); /* OML link */ diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 46e26ac..08e8ccb 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -85,7 +85,11 @@ { GSM_BTS_TYPE_NANOBTS, "ip.access nanoBTS or compatible" }, { GSM_BTS_TYPE_RBS2000, "Ericsson RBS2000 Series" }, { GSM_BTS_TYPE_NOKIA_SITE, "Nokia {Metro,Ultra,In}Site" }, - { GSM_BTS_TYPE_OSMOBTS, "sysmocom sysmoBTS" }, + { GSM_BTS_TYPE_OSMOBTS_GENERIC, "Osmocom family (generic profile)" }, + { GSM_BTS_TYPE_OSMOBTS_LC15, "Osmocom family (NuRAN LiteCell15 PHY)" }, + { GSM_BTS_TYPE_OSMOBTS_OCTPHY, "Osmocom family (Octasic OCTSDR PHY)" }, + { GSM_BTS_TYPE_OSMOBTS_SYSMO, "Osmocom family (Sysmocom sysmoBTS PHY)" }, + { GSM_BTS_TYPE_OSMOBTS_TRX, "Osmocom family (OsmoTRX SDR PHY)" }, { 0, NULL } }; @@ -184,7 +188,11 @@ switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + case GSM_BTS_TYPE_OSMOBTS_GENERIC: + case GSM_BTS_TYPE_OSMOBTS_LC15: + case GSM_BTS_TYPE_OSMOBTS_OCTPHY: + case GSM_BTS_TYPE_OSMOBTS_SYSMO: + case GSM_BTS_TYPE_OSMOBTS_TRX: /* Set the default OML Stream ID to 0xff */ bts->oml_tei = 0xff; bts->c0->nominal_power = 23; @@ -413,32 +421,17 @@ return get_value_string(bts_attribute_names, v); } -const struct value_string osmo_bts_variant_names[_NUM_BTS_VARIANT + 1] = { - { BTS_UNKNOWN, "unknown" }, - { BTS_OSMO_LITECELL15, "osmo-bts-lc15" }, - { BTS_OSMO_OCTPHY, "osmo-bts-octphy" }, - { BTS_OSMO_SYSMO, "osmo-bts-sysmo" }, - { BTS_OSMO_TRX, "omso-bts-trx" }, - { 0, NULL } -}; - -enum gsm_bts_type_variant str2btsvariant(const char *arg) -{ - return get_string_value(osmo_bts_variant_names, arg); -} - -const char *btsvariant2str(enum gsm_bts_type_variant v) -{ - return get_value_string(osmo_bts_variant_names, v); -} - const struct value_string bts_type_names[_NUM_GSM_BTS_TYPE + 1] = { { GSM_BTS_TYPE_UNKNOWN, "unknown" }, { GSM_BTS_TYPE_BS11, "bs11" }, { GSM_BTS_TYPE_NANOBTS, "nanobts" }, { GSM_BTS_TYPE_RBS2000, "rbs2000" }, { GSM_BTS_TYPE_NOKIA_SITE, "nokia_site" }, - { GSM_BTS_TYPE_OSMOBTS, "sysmobts" }, + { GSM_BTS_TYPE_OSMOBTS_GENERIC, "osmo-bts" }, + { GSM_BTS_TYPE_OSMOBTS_LC15, "osmo-bts-lc15" }, + { GSM_BTS_TYPE_OSMOBTS_OCTPHY, "osmo-bts-octphy" }, + { GSM_BTS_TYPE_OSMOBTS_SYSMO, "osmo-bts-sysmo" }, + { GSM_BTS_TYPE_OSMOBTS_TRX, "osmo-bts-trx" }, { 0, NULL } }; diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index d5be3f2..4ee73fa 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -995,14 +995,9 @@ memset(output, GSM_MACBLOCK_PADDING, GSM_MACBLOCK_LEN); /* ip.access nanoBTS needs l2_plen!! */ - switch (bts->type) { - case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + if (bts->type == GSM_BTS_TYPE_NANOBTS || is_osmo_bts(bts)) { *output++ = GSM48_LEN2PLEN(l2_plen); l2_plen++; - break; - default: - break; } si5 = (struct gsm48_system_information_type_5 *) output; @@ -1031,14 +1026,9 @@ memset(output, GSM_MACBLOCK_PADDING, GSM_MACBLOCK_LEN); /* ip.access nanoBTS needs l2_plen!! */ - switch (bts->type) { - case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + if (bts->type == GSM_BTS_TYPE_NANOBTS || is_osmo_bts(bts)) { *output++ = GSM48_LEN2PLEN(l2_plen); l2_plen++; - break; - default: - break; } si5b = (struct gsm48_system_information_type_5bis *) output; @@ -1075,14 +1065,9 @@ memset(output, GSM_MACBLOCK_PADDING, GSM_MACBLOCK_LEN); /* ip.access nanoBTS needs l2_plen!! */ - switch (bts->type) { - case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + if (bts->type == GSM_BTS_TYPE_NANOBTS || is_osmo_bts(bts)) { *output++ = GSM48_LEN2PLEN(l2_plen); l2_plen++; - break; - default: - break; } si5t = (struct gsm48_system_information_type_5ter *) output; @@ -1113,14 +1098,9 @@ memset(output, GSM_MACBLOCK_PADDING, GSM_MACBLOCK_LEN); /* ip.access nanoBTS needs l2_plen!! */ - switch (bts->type) { - case GSM_BTS_TYPE_NANOBTS: - case GSM_BTS_TYPE_OSMOBTS: + if (bts->type == GSM_BTS_TYPE_NANOBTS || is_osmo_bts(bts)) { *output++ = GSM48_LEN2PLEN(l2_plen); l2_plen++; - break; - default: - break; } si6 = (struct gsm48_system_information_type_6 *) output; diff --git a/tests/neighbor_ident.vty b/tests/neighbor_ident.vty index ce414e1..250da89 100644 --- a/tests/neighbor_ident.vty +++ b/tests/neighbor_ident.vty @@ -15,7 +15,7 @@ OsmoBSC(config)# network OsmoBSC(config-net)# bts 0 -OsmoBSC(config-net-bts)# type sysmobts +OsmoBSC(config-net-bts)# type osmo-bts OsmoBSC(config-net-bts)# base_station_id_code 10 OsmoBSC(config-net-bts)# location_area_code 20 OsmoBSC(config-net-bts)# cell_identity 30 @@ -25,7 +25,7 @@ OsmoBSC(config-net-bts)# exit OsmoBSC(config-net)# bts 1 -OsmoBSC(config-net-bts)# type sysmobts +OsmoBSC(config-net-bts)# type osmo-bts OsmoBSC(config-net-bts)# base_station_id_code 11 OsmoBSC(config-net-bts)# location_area_code 21 OsmoBSC(config-net-bts)# cell_identity 31 @@ -35,7 +35,7 @@ OsmoBSC(config-net-bts)# exit OsmoBSC(config-net)# bts 2 -OsmoBSC(config-net-bts)# type sysmobts +OsmoBSC(config-net-bts)# type osmo-bts OsmoBSC(config-net-bts)# base_station_id_code 12 OsmoBSC(config-net-bts)# location_area_code 22 OsmoBSC(config-net-bts)# cell_identity 65535 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a815cfa6daab126742d27843e700c07c1db183 Gerrit-Change-Number: 18616 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 21:01:39 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 21:01:39 +0000 Subject: Change in osmo-bsc[master]: bts_osmobts: update the list of supported features References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18617 ) Change subject: bts_osmobts: update the list of supported features ...................................................................... bts_osmobts: update the list of supported features Change-Id: I431c8ab9478cbc40179903edc21043623d805da1 --- M src/osmo-bsc/bts_osmobts.c 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/18617/1 diff --git a/src/osmo-bsc/bts_osmobts.c b/src/osmo-bsc/bts_osmobts.c index 5aaa1af..9e9eabf 100644 --- a/src/osmo-bsc/bts_osmobts.c +++ b/src/osmo-bsc/bts_osmobts.c @@ -51,6 +51,14 @@ /* The following features are common to all osmo-bts-* models */ osmo_bts_set_feature(&model->features, BTS_FEAT_GPRS); osmo_bts_set_feature(&model->features, BTS_FEAT_EGPRS); + osmo_bts_set_feature(&model->features, BTS_FEAT_OML_ALERTS); + osmo_bts_set_feature(&model->features, BTS_FEAT_CBCH); + osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_V1); + osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_H_V1); + osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_EFR); + osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_AMR); + osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_H_AMR); + osmo_bts_set_feature(&model->features, BTS_FEAT_ETWS_PN); return gsm_bts_model_register(model); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I431c8ab9478cbc40179903edc21043623d805da1 Gerrit-Change-Number: 18617 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat May 30 21:01:40 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sat, 30 May 2020 21:01:40 +0000 Subject: Change in osmo-bsc[master]: abis_nm: finally handle BTS_TYPE_VARIANT, match BTS type References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18618 ) Change subject: abis_nm: finally handle BTS_TYPE_VARIANT, match BTS type ...................................................................... abis_nm: finally handle BTS_TYPE_VARIANT, match BTS type Change-Id: I344afccdb82f62a7d483b57597d08f028f88bdc9 --- M src/osmo-bsc/abis_nm.c 1 file changed, 21 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/18618/1 diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index d1c4046..95c823f 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -518,11 +518,31 @@ return res; } +static void handle_attr_variant(const struct gsm_bts *bts, const char *variant) +{ + int type = str2btstype(variant); + if (type < 0) { + LOGP(DNM, LOGL_ERROR, "BTS%u reported unknown variant '%s' " + "(expected '%s')\n", bts->nr, variant, + btstype2str(bts->type)); + return; + } + + if (type != bts->type) { + LOGP(DNM, LOGL_ERROR, "BTS%u reported unexpected variant '%s' " + "(expected '%s'), check your configuration!\n", bts->nr, + btstype2str(type), btstype2str(bts->type)); + return; + } + + LOGP(DNM, LOGL_INFO, "BTS%u reported variant '%s'\n", bts->nr, variant); +} + static inline bool handle_attr(const struct gsm_bts *bts, enum bts_attribute id, uint8_t *val, uint8_t len) { switch (id) { case BTS_TYPE_VARIANT: - LOGP(DNM, LOGL_NOTICE, "BTS%u reported variant: %s\n", bts->nr, val); + handle_attr_variant(bts, (const char *) val); break; case BTS_SUB_MODEL: LOGP(DNM, LOGL_NOTICE, "BTS%u reported submodel: %s\n", bts->nr, val); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18618 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I344afccdb82f62a7d483b57597d08f028f88bdc9 Gerrit-Change-Number: 18618 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 08:41:33 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 08:41:33 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 to look at the new patch set (#2). 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_IMPL_FLAG/g. As a bonus, let's allocate the feature vector using libosmocore's bitvec API instead of doing this manually in gsm_bts_alloc(). 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/oml.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 13 files changed, 106 insertions(+), 131 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/18591/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: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 08:47:56 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 08:47:56 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: Hello pespin, laforge, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/18591 to look at the new patch set (#3). 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_IMPL_FLAG/g. As a bonus, let's allocate the feature vector using libosmocore's bitvec API instead of doing this manually in gsm_bts_alloc(). 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/oml.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 13 files changed, 109 insertions(+), 136 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/91/18591/3 -- 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: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 09:23:59 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 09:23:59 +0000 Subject: Change in libosmocore[master]: bts_features: fix: properly check the result of bitvec_get_bit_pos() References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18619 ) Change subject: bts_features: fix: properly check the result of bitvec_get_bit_pos() ...................................................................... bts_features: fix: properly check the result of bitvec_get_bit_pos() If a feature index does not fit to the feature vector, this function would return a negative number that would be casted to true. This is wrong, we should return false instead. Change-Id: Id1ad92e7654a806bb920ae9507c88a122e8d09f0 --- M include/osmocom/gsm/bts_features.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/18619/1 diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 7ead020..6ab8f62 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -40,5 +40,5 @@ static inline bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_get_bit_pos(features, feature); + return bitvec_get_bit_pos(features, feature) == ONE; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1ad92e7654a806bb920ae9507c88a122e8d09f0 Gerrit-Change-Number: 18619 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 09:23:59 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 09:23:59 +0000 Subject: Change in libosmocore[master]: bts_features: introduce osmo_bts_unset_feature() References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/18620 ) Change subject: bts_features: introduce osmo_bts_unset_feature() ...................................................................... bts_features: introduce osmo_bts_unset_feature() This function may be useful in a case when most of the BTS models do support some feature, but just a couple models do not. It's much easier to unset that feature 2/10 times than set it 8/10 times individually for each BTS model. Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Related: I431c8ab9478cbc40179903edc21043623d805da1 --- M TODO-RELEASE M include/osmocom/gsm/bts_features.h 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/18620/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index bc95b91..a6ed730 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param sim API/ABI change new osim_file_desc_find_aid() sim API/ABI change all over the place +gsm new API new osmo_bts_unset_feature() diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 6ab8f62..27a3983 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -37,6 +37,12 @@ return bitvec_set_bit_pos(features, feature, 1); } +static inline int osmo_bts_unset_feature(struct bitvec *features, enum osmo_bts_features feature) +{ + OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); + return bitvec_set_bit_pos(features, feature, 0); +} + static inline bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Gerrit-Change-Number: 18620 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 17:59:16 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 17:59:16 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: fix echo: add -e to enable backslash escapes References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/18621 ) Change subject: gen_makefile.py: fix echo: add -e to enable backslash escapes ...................................................................... gen_makefile.py: fix echo: add -e to enable backslash escapes I guess it's enabled by default in some distributions like Debian, but at least for Arch Linux it needs to be enabled using '-e'. Change-Id: Ie9c0657c9decb83bf8531ce1a0e97c27ee7008bb --- M gen_makefile.py 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/21/18621/1 diff --git a/gen_makefile.py b/gen_makefile.py index 77af4c7..f76ebb0 100755 --- a/gen_makefile.py +++ b/gen_makefile.py @@ -171,21 +171,21 @@ {proj}_files := $(shell find {src_proj} -name "*.[hc]" -or -name "*.py" -or -name "*.cpp" -or -name "*.tpl" -or -name "*.map") .make.{proj}.clone: - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" test -d {src} || mkdir -p {src} test -d {src_proj} || ( git -C {src} clone "{url}/{proj}" "{proj}" && git -C "{src}/{proj}" remote set-url --push origin "{push_url}/{proj}" ) sync touch $@ .make.{proj}.autoconf: .make.{proj}.clone {src_proj}/configure.ac - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" -rm -f {src_proj}/.version cd {src_proj}; autoreconf -fi sync touch $@ .make.{proj}.configure: .make.{proj}.autoconf {deps_installed} $({proj}_configure_files) - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" -chmod -R ug+w {build_proj} -rm -rf {build_proj} mkdir -p {build_proj} @@ -194,13 +194,13 @@ touch $@ .make.{proj}.build: .make.{proj}.configure $({proj}_files) - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" $(MAKE) -C {build_proj} -j {jobs} {check} sync touch $@ .make.{proj}.install: .make.{proj}.build - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" {sudo_make_install}$(MAKE) -C {build_proj} install {no_ldconfig}{sudo_ldconfig}ldconfig sync @@ -215,7 +215,7 @@ .PHONY: {proj}-clean {proj}-clean: - @echo "\n\n\n===== $@\n" + @echo -e "\n\n\n===== $@\n" -chmod -R ug+w {build_proj} -rm -rf {build_proj} -rm -rf .make.{proj}.* -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/18621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ie9c0657c9decb83bf8531ce1a0e97c27ee7008bb Gerrit-Change-Number: 18621 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:19:40 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 18:19:40 +0000 Subject: Change in docker-playground[master]: osmo-{bsc, msc}.cfg: eliminate 'periodic location update 30' References: Message-ID: Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/18622 ) Change subject: osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' ...................................................................... osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' This parameter has been deprecated in both osmo-msc and osmo-bsc. Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-msc-test/osmo-msc.cfg 6 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/22/18622/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 43b7054..3bed941 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -61,8 +61,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 805508f..183c4ac 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -64,8 +64,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 83a788b..271b228 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -71,8 +71,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index abcc1f5..806ec69 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -76,8 +76,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index ca4d09b..3d025c0 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -77,7 +77,7 @@ handover1 power budget interval 6 handover1 power budget hysteresis 3 handover1 maximum distance 9999 - periodic location update 30 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index a713786..fe7b4cb 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -71,7 +71,6 @@ authentication optional rrlp mode none mm info 0 - periodic location update 30 msc assign-tmsi cs7-instance-a 0 @@ -79,6 +78,7 @@ mgw remote-ip 172.18.1.103 emergency-call route-to-msisdn 112 mncc external /data/unix/mncc + timer vlr T3212 30 mncc-int default-codec tch-f fr default-codec tch-h hr -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f Gerrit-Change-Number: 18622 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:38:36 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:38:36 +0000 Subject: Change in docker-playground[master]: osmo-{bsc, msc}.cfg: eliminate 'periodic location update 30' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18622 ) Change subject: osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f Gerrit-Change-Number: 18622 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:38:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:39:07 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:39:07 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: fix echo: add -e to enable backslash escapes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/18621 ) Change subject: gen_makefile.py: fix echo: add -e to enable backslash escapes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/18621 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ie9c0657c9decb83bf8531ce1a0e97c27ee7008bb Gerrit-Change-Number: 18621 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Assignee: neels Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Sun, 31 May 2020 18:39:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:39:52 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:39:52 +0000 Subject: Change in libosmocore[master]: bts_features: fix: properly check the result of bitvec_get_bit_pos() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18619 ) Change subject: bts_features: fix: properly check the result of bitvec_get_bit_pos() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1ad92e7654a806bb920ae9507c88a122e8d09f0 Gerrit-Change-Number: 18619 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:39:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:40:16 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:40:16 +0000 Subject: Change in libosmocore[master]: bts_features: introduce osmo_bts_unset_feature() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18620 ) Change subject: bts_features: introduce osmo_bts_unset_feature() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Gerrit-Change-Number: 18620 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:40:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:40:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:40:20 +0000 Subject: Change in libosmocore[master]: bts_features: fix: properly check the result of bitvec_get_bit_pos() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18619 ) Change subject: bts_features: fix: properly check the result of bitvec_get_bit_pos() ...................................................................... bts_features: fix: properly check the result of bitvec_get_bit_pos() If a feature index does not fit to the feature vector, this function would return a negative number that would be casted to true. This is wrong, we should return false instead. Change-Id: Id1ad92e7654a806bb920ae9507c88a122e8d09f0 --- M include/osmocom/gsm/bts_features.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 7ead020..6ab8f62 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -40,5 +40,5 @@ static inline bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); - return bitvec_get_bit_pos(features, feature); + return bitvec_get_bit_pos(features, feature) == ONE; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id1ad92e7654a806bb920ae9507c88a122e8d09f0 Gerrit-Change-Number: 18619 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:40:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:40:20 +0000 Subject: Change in libosmocore[master]: bts_features: introduce osmo_bts_unset_feature() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/18620 ) Change subject: bts_features: introduce osmo_bts_unset_feature() ...................................................................... bts_features: introduce osmo_bts_unset_feature() This function may be useful in a case when most of the BTS models do support some feature, but just a couple models do not. It's much easier to unset that feature 2/10 times than set it 8/10 times individually for each BTS model. Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Related: I431c8ab9478cbc40179903edc21043623d805da1 --- M TODO-RELEASE M include/osmocom/gsm/bts_features.h 2 files changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index bc95b91..a6ed730 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -10,3 +10,4 @@ gsm API/ABI change l1sap.h, added struct members to ph_data_param and ph_tch_param sim API/ABI change new osim_file_desc_find_aid() sim API/ABI change all over the place +gsm new API new osmo_bts_unset_feature() diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 6ab8f62..27a3983 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -37,6 +37,12 @@ return bitvec_set_bit_pos(features, feature, 1); } +static inline int osmo_bts_unset_feature(struct bitvec *features, enum osmo_bts_features feature) +{ + OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); + return bitvec_set_bit_pos(features, feature, 0); +} + static inline bool osmo_bts_has_feature(const struct bitvec *features, enum osmo_bts_features feature) { OSMO_ASSERT(_NUM_BTS_FEAT < MAX_BTS_FEATURES); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/18620 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib5fa27287be7f1ecf2f82249b1e8c848465cbac0 Gerrit-Change-Number: 18620 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:41:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:41:18 +0000 Subject: Change in osmo-bts[master]: Do not mix public and private BTS features, use libosmocore's API In-Reply-To: References: Message-ID: laforge 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 3: Code-Review+1 -- 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: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 31 May 2020 18:41:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:41:26 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 18:41:26 +0000 Subject: Change in docker-playground[master]: osmo-{bsc, msc}.cfg: eliminate 'periodic location update 30' In-Reply-To: References: Message-ID: Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18622 ) Change subject: osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' ...................................................................... Patch Set 1: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f Gerrit-Change-Number: 18622 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:41:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:41:36 2020 From: gerrit-no-reply at lists.osmocom.org (Vadim Yanitskiy) Date: Sun, 31 May 2020 18:41:36 +0000 Subject: Change in docker-playground[master]: osmo-{bsc, msc}.cfg: eliminate 'periodic location update 30' In-Reply-To: References: Message-ID: Vadim Yanitskiy has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/18622 ) Change subject: osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' ...................................................................... osmo-{bsc,msc}.cfg: eliminate 'periodic location update 30' This parameter has been deprecated in both osmo-msc and osmo-bsc. Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg M ttcn3-msc-test/osmo-msc.cfg 6 files changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved Vadim Yanitskiy: Looks good to me, but someone else must approve; Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 43b7054..3bed941 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -61,8 +61,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 805508f..183c4ac 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -64,8 +64,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index 83a788b..271b228 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -71,8 +71,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index abcc1f5..806ec69 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -76,8 +76,8 @@ handover power budget interval 6 handover power budget hysteresis 3 handover maximum distance 9999 - periodic location update 30 timer t3113 10 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index ca4d09b..3d025c0 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -77,7 +77,7 @@ handover1 power budget interval 6 handover1 power budget hysteresis 3 handover1 maximum distance 9999 - periodic location update 30 + timer t3212 30 bts 0 type sysmobts band DCS1800 diff --git a/ttcn3-msc-test/osmo-msc.cfg b/ttcn3-msc-test/osmo-msc.cfg index a713786..fe7b4cb 100644 --- a/ttcn3-msc-test/osmo-msc.cfg +++ b/ttcn3-msc-test/osmo-msc.cfg @@ -71,7 +71,6 @@ authentication optional rrlp mode none mm info 0 - periodic location update 30 msc assign-tmsi cs7-instance-a 0 @@ -79,6 +78,7 @@ mgw remote-ip 172.18.1.103 emergency-call route-to-msisdn 112 mncc external /data/unix/mncc + timer vlr T3212 30 mncc-int default-codec tch-f fr default-codec tch-h hr -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/18622 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d33c6d9c43078ee9961d3b076386188ec45be0f Gerrit-Change-Number: 18622 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:41:49 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:41:49 +0000 Subject: Change in osmo-bts[master]: oml: fix TL16V length calculation in add_bts_feat() In-Reply-To: References: Message-ID: laforge 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 4: 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: 4 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:41:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:43:09 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:43:09 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: regenerate the VTY reference file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18605 ) Change subject: doc/manuals: regenerate the VTY reference file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f7bf671b7948d8c3771d33d40ab5e8cf209e2b2 Gerrit-Change-Number: 18605 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:43:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:43:17 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:43:17 +0000 Subject: Change in osmo-bsc[master]: gsm_data: cosmetic: mark argument of is_*_bts() as const In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18606 ) Change subject: gsm_data: cosmetic: mark argument of is_*_bts() as const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifa084e34cbea006e09c83a530e1434a22895e9aa Gerrit-Change-Number: 18606 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:43:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:43:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:43:38 +0000 Subject: Change in osmo-bsc[master]: bts_unknown: fix: properly initialize the feature vector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18607 ) Change subject: bts_unknown: fix: properly initialize the feature vector ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icf594604f69023d1483e897edb811e51774b5b8e Gerrit-Change-Number: 18607 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:43:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:43:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:43:58 +0000 Subject: Change in osmo-bsc[master]: bts_sysmobts: fix: properly zero-initialize the feature vector In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18608 ) Change subject: bts_sysmobts: fix: properly zero-initialize the feature vector ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6539a3c9829d4f74a18b1cc2aa522c69ff8e638d Gerrit-Change-Number: 18608 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:43:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:06 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:06 +0000 Subject: Change in osmo-bsc[master]: bsc_bts_alloc_register(): fix possible NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18609 ) Change subject: bsc_bts_alloc_register(): fix possible NULL-pointer dereference ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4560a7037a0a016636c4626c9fb3ceddfe98058e Gerrit-Change-Number: 18609 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:44:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:19 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:19 +0000 Subject: Change in osmo-bsc[master]: handover_test: use 'unknown' BTS type instead of 'sysmobts' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18610 ) Change subject: handover_test: use 'unknown' BTS type instead of 'sysmobts' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id676042518d06e94a9fb20112334280e2b91074b Gerrit-Change-Number: 18610 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:44:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:28 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:28 +0000 Subject: Change in osmo-bsc[master]: doc/manuals: regenerate the VTY reference file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18605 ) Change subject: doc/manuals: regenerate the VTY reference file ...................................................................... doc/manuals: regenerate the VTY reference file Change-Id: I4f7bf671b7948d8c3771d33d40ab5e8cf209e2b2 --- M doc/manuals/vty/bsc_vty_reference.xml 1 file changed, 0 insertions(+), 130 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/vty/bsc_vty_reference.xml b/doc/manuals/vty/bsc_vty_reference.xml index 4e2ce46..8f3edf9 100644 --- a/doc/manuals/vty/bsc_vty_reference.xml +++ b/doc/manuals/vty/bsc_vty_reference.xml @@ -622,13 +622,6 @@ - - - - - - - @@ -1547,13 +1540,6 @@ - - - - - - - @@ -4778,49 +4764,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4828,12 +4771,6 @@ - - - - - - @@ -4920,18 +4857,6 @@ - - - - - - - - - - - - @@ -5103,12 +5028,6 @@ config-bsc - - - - - - @@ -5133,55 +5052,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-cbc -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18605 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4f7bf671b7948d8c3771d33d40ab5e8cf209e2b2 Gerrit-Change-Number: 18605 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:29 +0000 Subject: Change in osmo-bsc[master]: gsm_data: cosmetic: mark argument of is_*_bts() as const In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18606 ) Change subject: gsm_data: cosmetic: mark argument of is_*_bts() as const ...................................................................... gsm_data: cosmetic: mark argument of is_*_bts() as const Change-Id: Ifa084e34cbea006e09c83a530e1434a22895e9aa --- M include/osmocom/bsc/gsm_data.h 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 42eb583..1e7e88f 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1727,7 +1727,7 @@ extern void *tall_bsc_ctx; /* this actually refers to the IPA transport, not the BTS model */ -static inline int is_ipaccess_bts(struct gsm_bts *bts) +static inline int is_ipaccess_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_NANOBTS: @@ -1739,7 +1739,7 @@ return 0; } -static inline int is_sysmobts_v2(struct gsm_bts *bts) +static inline int is_sysmobts_v2(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_OSMOBTS: @@ -1750,7 +1750,7 @@ return 0; } -static inline int is_siemens_bts(struct gsm_bts *bts) +static inline int is_siemens_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_BS11: @@ -1762,7 +1762,7 @@ return 0; } -static inline int is_nokia_bts(struct gsm_bts *bts) +static inline int is_nokia_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_NOKIA_SITE: @@ -1774,7 +1774,7 @@ return 0; } -static inline int is_ericsson_bts(struct gsm_bts *bts) +static inline int is_ericsson_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_RBS2000: @@ -1786,7 +1786,7 @@ return 0; } -static inline int is_e1_bts(struct gsm_bts *bts) +static inline int is_e1_bts(const struct gsm_bts *bts) { switch (bts->type) { case GSM_BTS_TYPE_BS11: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18606 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ifa084e34cbea006e09c83a530e1434a22895e9aa Gerrit-Change-Number: 18606 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:29 +0000 Subject: Change in osmo-bsc[master]: bts_unknown: fix: properly initialize the feature vector In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18607 ) Change subject: bts_unknown: fix: properly initialize the feature vector ...................................................................... bts_unknown: fix: properly initialize the feature vector This is unlikely to cause any problems, but having a NULL-pointer that can potentially be dereferenced is dangerous. Fix this. Change-Id: Icf594604f69023d1483e897edb811e51774b5b8e --- M src/osmo-bsc/bts_unknown.c 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bts_unknown.c b/src/osmo-bsc/bts_unknown.c index 5ecf875..b6b56a8 100644 --- a/src/osmo-bsc/bts_unknown.c +++ b/src/osmo-bsc/bts_unknown.c @@ -36,5 +36,11 @@ int bts_model_unknown_init(void) { + /* NOTE: the buffer is zero-initialized by compiler */ + model_unknown.features = (struct bitvec) { + .data_len = sizeof(model_unknown._features_data), + .data = &model_unknown._features_data[0], + }; + return gsm_bts_model_register(&model_unknown); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18607 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icf594604f69023d1483e897edb811e51774b5b8e Gerrit-Change-Number: 18607 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:29 +0000 Subject: Change in osmo-bsc[master]: bts_sysmobts: fix: properly zero-initialize the feature vector In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18608 ) Change subject: bts_sysmobts: fix: properly zero-initialize the feature vector ...................................................................... bts_sysmobts: fix: properly zero-initialize the feature vector The last argument must be size of buffer, not size of size! Change-Id: I6539a3c9829d4f74a18b1cc2aa522c69ff8e638d --- M src/osmo-bsc/bts_sysmobts.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bts_sysmobts.c b/src/osmo-bsc/bts_sysmobts.c index 2537864..ad12733 100644 --- a/src/osmo-bsc/bts_sysmobts.c +++ b/src/osmo-bsc/bts_sysmobts.c @@ -54,7 +54,7 @@ model_sysmobts.features.data = &model_sysmobts._features_data[0]; model_sysmobts.features.data_len = sizeof(model_sysmobts._features_data); - memset(model_sysmobts.features.data, 0, sizeof(model_sysmobts.features.data_len)); + memset(model_sysmobts.features.data, 0, model_sysmobts.features.data_len); osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_GPRS); osmo_bts_set_feature(&model_sysmobts.features, BTS_FEAT_EGPRS); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18608 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6539a3c9829d4f74a18b1cc2aa522c69ff8e638d Gerrit-Change-Number: 18608 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:29 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:29 +0000 Subject: Change in osmo-bsc[master]: bsc_bts_alloc_register(): fix possible NULL-pointer dereference In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18609 ) Change subject: bsc_bts_alloc_register(): fix possible NULL-pointer dereference ...................................................................... bsc_bts_alloc_register(): fix possible NULL-pointer dereference Change-Id: I4560a7037a0a016636c4626c9fb3ceddfe98058e --- M src/osmo-bsc/bsc_init.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 7f145ef..7333533 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -315,6 +315,7 @@ struct gsm_bts *bsc_bts_alloc_register(struct gsm_network *net, enum gsm_bts_type type, uint8_t bsic) { struct gsm_bts *bts = gsm_bts_alloc_register(net, type, bsic); + OSMO_ASSERT(bts != NULL); bts->ho = ho_cfg_init(bts, net->ho); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18609 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4560a7037a0a016636c4626c9fb3ceddfe98058e Gerrit-Change-Number: 18609 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:44:30 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:44:30 +0000 Subject: Change in osmo-bsc[master]: handover_test: use 'unknown' BTS type instead of 'sysmobts' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18610 ) Change subject: handover_test: use 'unknown' BTS type instead of 'sysmobts' ...................................................................... handover_test: use 'unknown' BTS type instead of 'sysmobts' This unit test does not really need a BTS of such specific type. Change-Id: Id676042518d06e94a9fb20112334280e2b91074b --- M include/osmocom/bsc/bss.h M tests/handover/Makefile.am M tests/handover/handover_test.c 3 files changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/bss.h b/include/osmocom/bsc/bss.h index ecb68d6..b8945db 100644 --- a/include/osmocom/bsc/bss.h +++ b/include/osmocom/bsc/bss.h @@ -11,6 +11,7 @@ /* register all supported BTS */ extern int bts_init(void); +extern int bts_model_unknown_init(void); extern int bts_model_bs11_init(void); extern int bts_model_rbs2k_init(void); extern int bts_model_nanobts_init(void); diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 84865a0..fcd171b 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -59,7 +59,7 @@ $(top_builddir)/src/osmo-bsc/bsc_vty.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts.o \ $(top_builddir)/src/osmo-bsc/bts_ipaccess_nanobts_omlattr.o \ - $(top_builddir)/src/osmo-bsc/bts_sysmobts.o \ + $(top_builddir)/src/osmo-bsc/bts_unknown.o \ $(top_builddir)/src/osmo-bsc/chan_alloc.o \ $(top_builddir)/src/osmo-bsc/codec_pref.o \ $(top_builddir)/src/osmo-bsc/gsm_04_08_rr.o \ diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index bdc18c3..b08e2a3 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -178,7 +178,7 @@ struct e1inp_sign_link *rsl_link; int i; - bts = bsc_bts_alloc_register(bsc_gsmnet, GSM_BTS_TYPE_OSMOBTS, 0x3f); + bts = bsc_bts_alloc_register(bsc_gsmnet, GSM_BTS_TYPE_UNKNOWN, 0x3f); if (!bts) { printf("No resource for bts1\n"); return NULL; @@ -1446,7 +1446,8 @@ ho_set_hodec2_penalty_failed_ho(bsc_gsmnet->ho, 60); ho_set_hodec2_penalty_failed_as(bsc_gsmnet->ho, 60); - bts_model_sysmobts_init(); + /* We don't really need any specific model here */ + bts_model_unknown_init(); test_case = test_cases[test_case_i]; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18610 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Id676042518d06e94a9fb20112334280e2b91074b Gerrit-Change-Number: 18610 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:47:20 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:47:20 +0000 Subject: Change in osmo-bsc[master]: Split GSM_BTS_TYPE_OSMOBTS to individual BTS types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18616 ) Change subject: Split GSM_BTS_TYPE_OSMOBTS to individual BTS types ...................................................................... Patch Set 1: Code-Review-1 why do you want to do this? I think it just complicates things for the user. The important part is whether or not the BTS is osmo-bts on the remote end. Everything else can and should be automatically detected by menas of (extensions of) OML. So yes, we should accept 'osmo-bts' as synonym for 'sysmobts', but beyond that I'm not convinced, particularly as the commitlog doesn't give any statement why/ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18616 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I00a815cfa6daab126742d27843e700c07c1db183 Gerrit-Change-Number: 18616 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:47:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:48:21 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:48:21 +0000 Subject: Change in osmo-bsc[master]: bts_osmobts: update the list of supported features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18617 ) Change subject: bts_osmobts: update the list of supported features ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18617/1/src/osmo-bsc/bts_osmobts.c File src/osmo-bsc/bts_osmobts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/18617/1/src/osmo-bsc/bts_osmobts.c at 54 PS1, Line 54: osmo_bts_set_feature(&model->features, BTS_FEAT_OML_ALERTS); : osmo_bts_set_feature(&model->features, BTS_FEAT_CBCH); : osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_V1); : osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_H_V1); : osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_EFR); : osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_F_AMR); : osmo_bts_set_feature(&model->features, BTS_FEAT_SPEECH_H_AMR); : osmo_bts_set_feature(&model->features, BTS_FEAT_ETWS_PN); how do you know that those are supported by the (remote, possibly old) osmo-bts version? The point about auto-detecting the features at runtime is exactly so we can discover what the specific version/build of BTS supports. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18617 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I431c8ab9478cbc40179903edc21043623d805da1 Gerrit-Change-Number: 18617 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:48:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:49:32 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:49:32 +0000 Subject: Change in osmo-bsc[master]: abis_nm: fix: properly truncate feature vector reported by BTS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18597 ) Change subject: abis_nm: fix: properly truncate feature vector reported by BTS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18597 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I65e3228022865ea73de2e4821985df3097b9448b Gerrit-Change-Number: 18597 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 31 May 2020 18:49:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:49:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:49:58 +0000 Subject: Change in osmo-bsc[master]: abis_nm: cosmetic: use osmo_bts_feature_name() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18604 ) Change subject: abis_nm: cosmetic: use osmo_bts_feature_name() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18604 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I15078ac030b0b824a554239b19bc501c624e2a87 Gerrit-Change-Number: 18604 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:49:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:51:54 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:51:54 +0000 Subject: Change in osmo-bsc[master]: abis_nm: properly warn about unknown / not supported features In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18599 ) Change subject: abis_nm: properly warn about unknown / not supported features ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/18599/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/18599/3//COMMIT_MSG at 12 PS3, Line 12: Vice versa, when some BTS feature is considered as supported : by the BSC, but a BTS reports that it is not, is definitely : a problem that requires some attention. Report this as ERROR. why would the BSC make such assumptions? After all, you may just use an old osmo-bts version and hence it may have no optional supported features at all. To me, the feature discovery exists so the BSC can work with any past or present osmo-bts version that may or may not have any specific features. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/18599 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2f925bcdb010cb10d074bf7c82619e3ae1f8818b Gerrit-Change-Number: 18599 Gerrit-PatchSet: 3 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:51:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:11 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:11 +0000 Subject: Change in osmo-bts[master]: fix typo in osmo_bts_variant_names: s/omso/osmo/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18611 ) Change subject: fix typo in osmo_bts_variant_names: s/omso/osmo/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I45b0fb7b940ee4267e6ee315d18e5b95c9231894 Gerrit-Change-Number: 18611 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:52:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:18 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:18 +0000 Subject: Change in osmo-bts[master]: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18612 ) Change subject: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I28d914f89a6de82a8e226a9772984cb0c9d8869a Gerrit-Change-Number: 18612 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:52:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:23 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:23 +0000 Subject: Change in osmo-bts[master]: fix typo in osmo_bts_variant_names: s/omso/osmo/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18611 ) Change subject: fix typo in osmo_bts_variant_names: s/omso/osmo/g ...................................................................... fix typo in osmo_bts_variant_names: s/omso/osmo/g Accidentally noticed this typo while working on osmo-bsc: DNM ERROR abis_nm.c:525 BTS0 reported unknown variant 'omso-bts-trx' (expected 'osmo-bts-trx') Change-Id: I45b0fb7b940ee4267e6ee315d18e5b95c9231894 --- M src/common/gsm_data_shared.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c index c4a60b5..d141282 100644 --- a/src/common/gsm_data_shared.c +++ b/src/common/gsm_data_shared.c @@ -76,9 +76,9 @@ { BTS_OSMO_OC2G, "osmo-bts-oc2g" }, { BTS_OSMO_OCTPHY, "osmo-bts-octphy" }, { BTS_OSMO_SYSMO, "osmo-bts-sysmo" }, - { BTS_OSMO_TRX, "omso-bts-trx" }, - { BTS_OSMO_VIRTUAL, "omso-bts-virtual" }, - { BTS_OSMO_OMLDUMMY, "omso-bts-omldummy" }, + { BTS_OSMO_TRX, "osmo-bts-trx" }, + { BTS_OSMO_VIRTUAL, "osmo-bts-virtual" }, + { BTS_OSMO_OMLDUMMY, "osmo-bts-omldummy" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18611 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I45b0fb7b940ee4267e6ee315d18e5b95c9231894 Gerrit-Change-Number: 18611 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:24 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:24 +0000 Subject: Change in osmo-bts[master]: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/18612 ) Change subject: doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g ...................................................................... doc/manuals: fix typo in interfaces.adoc: s/Omsocom/Osmocom/g Change-Id: I28d914f89a6de82a8e226a9772984cb0c9d8869a --- M doc/manuals/chapters/interfaces.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/interfaces.adoc b/doc/manuals/chapters/interfaces.adoc index 9fefa72..24cfdb5 100644 --- a/doc/manuals/chapters/interfaces.adoc +++ b/doc/manuals/chapters/interfaces.adoc @@ -43,7 +43,7 @@ === OsmoBTS Control Interface -The general structure of the Omsocom control interface is described in +The general structure of the Osmocom control interface is described in <>. The number of control interface commands/attributes is currently quite -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/18612 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I28d914f89a6de82a8e226a9772984cb0c9d8869a Gerrit-Change-Number: 18612 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:34 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:34 +0000 Subject: Change in osmo-hlr[master]: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18614 ) Change subject: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I77eac6df9836f2361d87df7ba5ab6fc14ba06b1d Gerrit-Change-Number: 18614 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:52:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:38 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:38 +0000 Subject: Change in osmo-hlr[master]: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/18614 ) Change subject: gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ ...................................................................... gsup_server: fix typo: s/omso_gsup_message/osmo_gsup_message/ Change-Id: I77eac6df9836f2361d87df7ba5ab6fc14ba06b1d --- M src/gsup_server.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gsup_server.c b/src/gsup_server.c index 888507c..830a5a7 100644 --- a/src/gsup_server.c +++ b/src/gsup_server.c @@ -461,7 +461,7 @@ /** * Populate a gsup message structure with an Insert Subscriber Data Message. - * All required memory buffers for data pointed to by pointers in struct omso_gsup_message + * All required memory buffers for data pointed to by pointers in struct osmo_gsup_message * must be allocated by the caller and should have the same lifetime as the gsup parameter. * * \param[out] gsup The gsup message to populate. -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/18614 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: I77eac6df9836f2361d87df7ba5ab6fc14ba06b1d Gerrit-Change-Number: 18614 Gerrit-PatchSet: 2 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:52:58 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:52:58 +0000 Subject: Change in osmo-pcu[master]: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18615 ) Change subject: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7730e65728a3917dc4923728738253155e1e0428 Gerrit-Change-Number: 18615 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 31 May 2020 18:52:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun May 31 18:53:00 2020 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 31 May 2020 18:53:00 +0000 Subject: Change in osmo-pcu[master]: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18615 ) Change subject: doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g ...................................................................... doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g Change-Id: I7730e65728a3917dc4923728738253155e1e0428 --- M doc/manuals/chapters/overview.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc index 0031474..eade62b 100644 --- a/doc/manuals/chapters/overview.adoc +++ b/doc/manuals/chapters/overview.adoc @@ -57,7 +57,7 @@ set of non-standardized primitives over a unix domain socket. The default file system path for this socket is `/tmp/pcu_bts`. -The PCU socket can be changed on both OmsoBTS and OsmoPCU to a different +The PCU socket can be changed on both OsmoBTS and OsmoPCU to a different file/path name, primarily to permit running multiple independent BTS+PCU pairs on a single Linux machine without having to use filesystem namespaces or other complex configurations. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18615 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7730e65728a3917dc4923728738253155e1e0428 Gerrit-Change-Number: 18615 Gerrit-PatchSet: 1 Gerrit-Owner: Vadim Yanitskiy Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: